commit a7bcf2036b34d5043dbc33fee7d98bae5859c4d3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 11 11:31:48 2022 +0100

    release: bump version to 1.18.6

 configure.ac | 2 +-
 meson.build  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 3eb3e3d63710087836848de5278496826ab940dc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 11 11:31:14 2022 +0100

    NEWS: update for 1.18.6

 NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

commit be9b04a03382dc78ba927899eab700e8476e8723
Author: Xeonacid <h.dwwwwww@gmail.com>
Date:   Wed Dec 22 12:17:22 2021 +0000

    build,meson: Remove incorrect args for i18n.merge_file

    `i18n.merge_file` has been ignoring positional arguments for a time
    and explicitly rejects with error since meson 0.60.0.

    (cherry picked from commit 922bc2df5f9242c8052abbab08ceddeef9e20de9)

 data/meson.build | 1 -
 1 file changed, 1 deletion(-)

commit 030372d990d103ae12e8fda1562290693ee9138d
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sun Feb 6 18:49:16 2022 +0100

    quectel: add name to device IDs

    fwupd expects device IDs which are unique for each device and its
    variants. However, Quectel re-uses the same USB VID & PID among
    different variants such as EG25, EC25, EC20, etc. Moreover, each
    variant may have subvariants such as EG25GGB, EG25GGC, EG25AFF,
    EG25AFX, etc.

    Add the name of the modem to the device IDs to build more unique
    device
    IDs such as USB\VID_2C7C&PID_0125&REV_0001&NAME_EC25GGB.

    (cherry picked from commit b70fd64417d8fbed10aa1eb5e5c720fcf1074782)

 plugins/quectel/mm-shared-quectel.c | 87
 +++++++++++++++++++++++++++++++------
 1 file changed, 74 insertions(+), 13 deletions(-)

commit 1a9b7d2ee0a7902715c6db95dd9892647a5c6784
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sun Feb 6 18:47:24 2022 +0100

    iface-modem-firmware: expose device id builder

    Expose the generic device id method as a public API for plugins.
    Plugins can call this method first and then add their own device
    ids on
    top in case the generic ones aren't specific enough like in the
    case of
    Quectel modems.

    (cherry picked from commit 90397fa1bbae2297aca169f8fbfa981fa0f5d4e6)

 src/mm-iface-modem-firmware.c | 39
 +++++++++++++++++++++------------------
 src/mm-iface-modem-firmware.h |  4 ++++
 2 files changed, 25 insertions(+), 18 deletions(-)

commit 8b901058dd5723d54d2b045ae672e1c6dd24e47e
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sun Feb 6 18:44:12 2022 +0100

    libmm-glib,firmware-update-settings: setter for method

    Allow to set the firmware update method even after
    initialization of the MMFirmwareUpdateSettings object.

    (cherry picked from commit bdf4d898f6a490ce2c1c9dc41871c4baced1e37b)

 docs/reference/libmm-glib/libmm-glib-sections.txt |  1 +
 libmm-glib/mm-firmware-update-settings.c          | 12 ++++++++++++
 libmm-glib/mm-firmware-update-settings.h          | 10 ++++++----
 3 files changed, 19 insertions(+), 4 deletions(-)

commit 4805251f2d374f54f18c73b3526ee29342a0d03e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jan 31 23:11:11 2022 +0100

    broadband-modem-mbim: minor alignment fix

    (cherry picked from commit 8ae31be1beffec3c7642dfa4bad5fbb447c763b8)

 src/mm-broadband-modem-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3265f184bcd05c5ceb79573a64592a2bd290dbd0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jan 31 22:42:48 2022 +0100

    shared-qmi: filter out modes not currently available

    Do not build the mask of "all" modes based only on the supported radio
    interfaces, also filter out those modes that would not be available
    based on the current capabilities enabled.

    (cherry picked from commit 9c08e54fb9d2f0b9341c2c98291551d8c9917c78)

 src/mm-shared-qmi.c                | 8 ++++++++
 src/tests/test-modem-helpers-qmi.c | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

commit 7d5a8db27339bff91b5f0b0320ae714c890c6344
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jan 31 22:34:56 2022 +0100

    modem-helpers-qmi: multimode devices shouldn't always have 4G/5G
    only modes

    In GSM/UMTS+CDMA/EVDO multimode devices, the 4G and 5G mode switching
    operations are exclusively limited to the capability selection that
    has LTE+5GNR exclusively.

    We cannot allow switching to 4G-only, 5G-only or 4G+5G if the current
    capabilities have GSM/UMTS or CDMA/EVDO.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/503

    (cherry picked from commit c7ff014e07ee5bfcfa4ba7e235c1c234ad77245a)

 src/mm-modem-helpers-qmi.c         | 65
 +++++++++++++++++++-------------------
 src/mm-modem-helpers-qmi.h         |  8 +++++
 src/mm-shared-qmi.c                |  9 ++++++
 src/tests/test-modem-helpers-qmi.c | 51 ++++++++++++++++++++++++++++++
 4 files changed, 101 insertions(+), 32 deletions(-)

commit 0b0362054a004e6313bdbdd4a544b5004275d336
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 30 23:04:15 2022 +0100

    tests,modem-helpers-qmi: add tests for supported modes loading

    (cherry picked from commit ccf0b7eba2bf2abc2c81e5d68dc5872a15b515c2)

 src/tests/test-modem-helpers-qmi.c | 473
 +++++++++++++++++++++++++++++++++++++
 1 file changed, 473 insertions(+)

commit 53b0095cbfd96131e706365465804eb0bf7b56b0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 30 21:33:38 2022 +0100

    modem-helpers-qmi: new helper to build array of supported modes

    (cherry picked from commit b323a731370be607f2529b1df976ec64a4f7c2e8)

 src/mm-modem-helpers-qmi.c |  96 +++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.h |  17 +++++++
 src/mm-shared-qmi.c        | 110
 +++++----------------------------------------
 3 files changed, 125 insertions(+), 98 deletions(-)

commit 8270de785debce715e194cfe41df4e66618cf8be
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 30 17:48:50 2022 +0100

    tests,modem-helpers-qmi: add additional tests for supported
    capabilities loading

    Including tests for 5G-only and non-multimode 5G+4G and 5G+4G+3G
    devices.

    (cherry picked from commit 6efde107142692996a5b9f44f323710baa8f40bc)

 src/tests/test-modem-helpers-qmi.c | 270
 ++++++++++++++++++++++++++++++++++---
 1 file changed, 250 insertions(+), 20 deletions(-)

commit 888da10d8f0ba5b0d58c4ab4966d1e7be828a1a4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 30 17:43:34 2022 +0100

    tests,modem-helpers-qmi: add tests for supported capabilities loading

    (cherry picked from commit ff51fe637d8a87b265f9cf4558987d2e698e9e62)

 src/tests/test-modem-helpers-qmi.c | 217
 +++++++++++++++++++++++++++++++++++--
 1 file changed, 207 insertions(+), 10 deletions(-)

commit 680edfa2253c92d46f24455f741ee20fe8b2a931
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 30 17:11:31 2022 +0100

    modem-helpers-qmi: new helper to build array of supported capabilities

    (cherry picked from commit d0c87c5877b247ee34fb133604904404581e7814)

 src/mm-modem-helpers-qmi.c | 45
 +++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-helpers-qmi.h | 15 ++++++++++++++
 src/mm-shared-qmi.c        | 49
 +++++++++++-----------------------------------
 3 files changed, 70 insertions(+), 39 deletions(-)

commit dcd0b5826add3f0086ce2cbb9e944cce4ee0a7d4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 30 16:51:07 2022 +0100

    modem-helpers-qmi: refer explicitly to current capabilities in
    helper method

    The helper method for which we have unit tests available refers
    exclusively to the current capabilities loading, so rename it to
    clarify that.

    (cherry picked from commit f370c096ec53c35e9b28a4ba966eade42c07f375)

 src/mm-modem-helpers-qmi.c         |   4 +-
 src/mm-modem-helpers-qmi.h         |   6 +-
 src/mm-shared-qmi.c                |  10 +--
 src/tests/test-modem-helpers-qmi.c | 179
 ++++++++++++++++++-------------------
 4 files changed, 98 insertions(+), 101 deletions(-)

commit 5aed9da9858bc6b78170df5d00ecc310801944a8
Author: Prakash Pabba <quic_ppabba@quicinc.com>
Date:   Fri Jan 21 16:45:14 2022 +0530

    test-modem-helpers-qmi: add unit test for generic 5g modem

    (cherry picked from commit 23229888553fd453797da89c12605aa40f3ba378)

 src/tests/test-modem-helpers-qmi.c | 135
 ++++++++++++++++++++++++++++++++++---
 1 file changed, 126 insertions(+), 9 deletions(-)

commit 39a527f9912af7bfa47b2e63d1b2cc4a38295296
Author: Prakash Pabba <quic_ppabba@quicinc.com>
Date:   Thu Dec 16 14:02:01 2021 +0530

    test-modem-helpers-qmi: Fix tests for UML290

    Change due to update in current capabilities loading logic.

    (cherry picked from commit 3a1390f1dda4acf73dc8bec8d2ccf9dcddfcf5c4)

 src/tests/test-modem-helpers-qmi.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit 2ca9c262c746bfa83e9086b69045d190c21d637c
Author: Prakash Pabba <quic_ppabba@quicinc.com>
Date:   Tue Dec 14 14:25:45 2021 +0530

    mm-shared-qmi,mm-modem-helpers: Fix supported capabilities and modes
    for multimode device

    We use capability switching logic exclusively for configuring
    GSM/UMTS+CDMA/EVDO devices
    (regardless of whether it has LTE/5GNR or not) to add or remove the
    GSM/UMTS and CDMA/EVDO
    capabilities.

    Based on the same logic, we will allow 4 combinations for
    GSM/UMTS+CDMA/EVDO+LTE+5GNR device:
    "GSM/UMTS+CDMA/EVDO+LTE+5GNR", "GSM/UMTS+LTE+5GNR",
    "CDMA/EVDO+LTE+5GNR" and "LTE+5GNR"

    Similarly, we will allow 4 combinations for GSM/UMTS+CDMA/EVDO+LTE
    device:
    "GSM/UMTS+CDMA/EVDO+LTE", "GSM/UMTS+LTE", "CDMA/EVDO+LTE" and "LTE"

    And, we will allow 3 combinations for GSM/UMTS+CDMA/EVDO device:
    "GSM/UMTS+CDMA/EVDO", "GSM/UMTS" and "CDMA/EVDO"

    Also, supported combination modes should be based on current
    capabilities and not entirely
    upon supported radio interfaces.

    1) If current capability has "gsm-umts" or "cdma-evdo" or both, do not
       support 4G only, 5G only, or 4G+5G combination modes
    2) If current capability neither has "gsm-umts" nor "cdma-evdo",
    only support
       combination modes involving 4G and 5G.

    (cherry picked from commit 38f067c4e44d7f994c3fd75e29d36ee199002ff4)

 src/mm-modem-helpers.c | 10 +-----
 src/mm-shared-qmi.c    | 84
 ++++++++++++++++++++++++--------------------------
 2 files changed, 41 insertions(+), 53 deletions(-)

commit 8d737cc6482a9d6e409d9d80936b448dd1af0b7b
Author: Prakash Pabba <quic_ppabba@quicinc.com>
Date:   Thu Dec 9 16:54:54 2021 +0530

    mm-modem-helpers-qmi: Fix current capabilities for multimode device

    Keep LTE or 5GNR always in current capabilities if supported by
    device.

    Since capability switching logic is exclusively used for configuring
    GSM/UMTS+CDMA/EVDO devices, decide if to have GSM/UMTS or CDMA/EVDO
    or both
    or none when loading current capabilities.

    (cherry picked from commit f05258e757558b93559b4d36087e89ec926c5423)

 src/mm-modem-helpers-qmi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit ec3eb3283541ad73cd0f99c29c451911399a360e
Author: Michal Mazur <mkm@semihalf.com>
Date:   Thu Jan 27 16:07:07 2022 +0100

    iface-modem: make update_unlock_retries method static

    (cherry picked from commit 9843546a490c34bf0f8adb1bcce9503eccbb3115)

 src/mm-iface-modem.c | 8 ++++----
 src/mm-iface-modem.h | 3 ---
 2 files changed, 4 insertions(+), 7 deletions(-)

commit cf7533caa854b1ff12226261f64e2fb27206edfb
Author: Michal Mazur <mkm@semihalf.com>
Date:   Wed Dec 15 16:07:36 2021 +0100

    sim-mbim,broadband-modem-mbim: store number of remaining attempts

    On MBIM modems the type of PIN cannot be specified in MBIM_CID_PIN
    query
    command and the modem responds only remaining attempts for the
    currently
    active lock.
    If PIN1 is unlocked and user tries to disable (or enable) it, MM won't
    get an update of remaining attempts in response to PIN Query. This
    value
    is returned only after the Set command and MM need to store it in
    all (pin/puk)_set_(enter/enable/change)_ready functions.

    Previous solution was to call the mm_iface_modem_update_unlock_retries
    directly from these functions but it caused the notification to
    be send
    too early and invalid number was displayed to user sometimes.
    Instead of this MM will store numbers of remaining attempts and send
    them in a single notification from modem_load_unlock_retries.

    (cherry picked from commit 5d4957935ba17c7c24ae92b82fc3fb90851f3235)

 src/mm-broadband-modem-mbim.c | 67
 +++++++++++++++++--------------------------
 src/mm-broadband-modem-mbim.h |  4 +++
 src/mm-sim-mbim.c             | 11 ++-----
 3 files changed, 33 insertions(+), 49 deletions(-)

commit 5788f52e50fd2325e072717bd63b063f156b19f2
Author: Michal Mazur <mkm@semihalf.com>
Date:   Thu Dec 16 14:11:23 2021 +0100

    Revert "mm-sim-mbim: Remove update of remaining attempts"

    This reverts commit 46c5cd8b7279e6139466664f87d744a0553fa1c3.

    (cherry picked from commit ee87a6853228e0b4b5e6c132f0c90e8d094af441)

 src/mm-sim-mbim.c | 53
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

commit 08ad95ce9872957a9e4c0956ff2f756d963f4018
Author: Nagi Marupaka <nmarupaka@google.com>
Date:   Tue Jan 25 17:32:48 2022 +0000

    mm-kernel-device-helpers: fix memory leak

    Newly refactored string manipulation function is leaking memory as per
    our tests. This submission fixes that memory leak.

    (cherry picked from commit 73e3da3a1035deb8a748d162c52281f94a537904)

 src/kerneldevice/mm-kernel-device-helpers.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 85becf883be55639c8725d29095269f9cfbd96d4
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Wed Jan 26 16:37:57 2022 +0100

    build,meson: Fix gdbus code generation

    Changes on meson 0.61 makes the build to fail due to empty
    annotations in some gdbus code generation[0].

    Taking advantage of `kwargs` support, it has been changed to avoid
    the issue.

    Fixes #499

    [0]
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/499

    (cherry picked from commit 0ab9fc343fdc21235bc24c80c78a13b1ea078208)

 libmm-glib/generated/meson.build | 24 +++++++++++-------------
 1 file changed, 11 insertions(+), 13 deletions(-)

commit 259f2eedd62a6895f5282b3e1666ca8480a38c7c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 22 14:38:22 2022 +0100

    plugin-manager: longer extra probing time when not using udev

    When using udev, we rely on the kernel to timely report port additions
    in the same device.

    When not using udev, e.g. when using hotplug scripts in openwrt, we
    use mmcli --report-kernel-event operations to report the port
    additions, which may end up requiring much more time to process,
    especially during bootup as we would be reporting a lot of port
    addition events one after the other.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/493

    (cherry picked from commit 86496bd326f2ec139101049fb19a10b255ee8ad5)

 src/mm-plugin-manager.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 5d28712d2cc5c17d784f658cdfad73490ff818da
Author: Daniele <dnlplm@gmail.com>
Date:   Fri Jan 21 17:52:38 2022 +0100

    telit: add port hints for Telit LE910C1-EUX

    (cherry picked from commit 9bc084c94a797bf9fd364087cf8d2b838120cd18)

 plugins/telit/77-mm-telit-port-types.rules | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 279d41f7459d4eae51284b090b2728082f8d5a26
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 20 13:46:23 2022 +0100

    foxconn: firmware info loading only if MBIM-QMUX enabled in libqmi

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/477

    (cherry picked from commit 6ec97a29ae79636f3bf63e616e0b3904befa1dbd)

 plugins/foxconn/mm-broadband-modem-mbim-foxconn.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit c40382dbe238e73452abf78581783e662c71afcf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 18 10:29:45 2022 +0100

    quectel: fix reference cycle

    The 'update_settings' object must be referenced before the task
    is completed.

    (cherry picked from commit c9ffa2c9e5bb1168210f9b6b1acdace778ee175a)

 plugins/quectel/mm-shared-quectel.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 2bea70a78c54a616072dd637e42f17dfe1f9b159
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Mon Dec 27 17:59:53 2021 +0100

    plugins/quectel/mm-shared-quectel: use QGMR to set version

    Quectel modems report only their major firmware version through
    AT+GMR, use AT+QGMR instead to report the full firmware version.

    (cherry picked from commit 07d7f596d381ae1bc823c1a3b3b2707d17a0ad61)

 plugins/quectel/mm-shared-quectel.c | 31 +++++++++++++++++++++++++++++--
 1 file changed, 29 insertions(+), 2 deletions(-)

commit 59c46dcc92666e556e71bb62552bbaadd1cc2eb1
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sun Dec 26 11:35:55 2021 +0100

    plugins/quectel/mm-broadband-modem-qmi-quectel: ignore carrier
    revision

    Quectel EG25-G QMI modem firmware revisions are not matched with
    carrier configs.
    Different VoLTE profiles might be selected by the user causing
    the carrier config revision to change.

    Since fwupd uses this string for firmware updates, it gets confused
    and
    thinks the user has an update available.

    (cherry picked from commit 3f76b3b7d1abe10d2809c80891789cde81de5fa2)

 plugins/quectel/mm-broadband-modem-qmi-quectel.c | 2 ++
 1 file changed, 2 insertions(+)

commit c4a18113027b69ca31ea611105b479c798309653
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 7 21:30:57 2022 +0100

    libmm-glib,modem-3gpp: fix leak when processing scan results

    (cherry picked from commit 4515b00020bdf173ca3ae7434a3abc0d287f93d6)

 libmm-glib/mm-modem-3gpp.c | 2 ++
 1 file changed, 2 insertions(+)

commit d177d54d5d579a960abd66c03f64fc17483483a7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 7 16:26:27 2022 +0100

    iface-modem-3gpp: fix variant ref handling in scan output

    (cherry picked from commit fb0dfb875172225d3bb82906a49118ceb7f938ba)

 src/mm-iface-modem-3gpp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 714ce29110a478806cc9ba18ec81a2b67f53d3f6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 3 14:02:33 2021 +0100

    docs,libmm-glib: add missing references to
    object_{peek|get}_modem_ssr()

    (cherry picked from commit 61266a4e848d2ac0acd170b3756aced44a26af1b)

 docs/reference/libmm-glib/libmm-glib-sections.txt | 2 ++
 1 file changed, 2 insertions(+)

commit c143f8eefc3049d5420cf6752d2d4fc9f553ef93
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Dec 17 10:08:07 2021 +0100

    iface-modem: minor coding style changes

    (cherry picked from commit 59c79b07ae602d3664fb5098cc42f998bc644193)

 src/mm-iface-modem.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit d872ddc92f9d544b5ffb04dcb1bf431ce3ef7d00
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Dec 17 11:20:57 2021 +0100

    cli: fix 3GPP location mcc/mnc field names

    (cherry picked from commit 791fb38417566b3cbde2450000049bd62c356305)

 cli/mmcli-output.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 3a505f802fd314510fc2b5a97844dd879d09e6d4
Author: Jakob Hauser <jahau@rocketmail.com>
Date:   Mon Dec 20 05:10:14 2021 +0100

    broadband-modem-qmi: Introduce udev flag for reduced facility
    lock query

    The udev flag "ID_MM_QMI_FACILITY_LOCK_QUERY_REDUCED" allows to skip
    facility lock state query "get_ck_status" on the DMS path for devices
    where this isn't implemented properly.

    On devices that have enabled "device locks", this flag won't work
    well.
    Skipping the query doesn't disable the locks.

    Fixes #448

    (cherry picked from commit db228b28597c002174145c4a06b94a24f5dbdf9b)

 src/mm-broadband-modem-qmi.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

commit 508495966068b02daec93d8191f6f7469619b7a2
Author: Mingjie Zhang <superzmj@fibocom.com>
Date:   Thu Dec 9 20:48:50 2021 +0800

    fibocom: update FM101 port type hints to final layout

    The port type hints for the FM101 were updated to be in line with
    the final product layout,
    where USB interface #2 is now used as an AT port (not ignored)
    and USB interface #4 is now
    used as debug port. USB interface #6 is removed as it no longer
    exists.

    (cherry picked from commit 2bad8f5a0dc56b82cacc0982a15c2a32016f7975)

 plugins/fibocom/77-mm-fibocom-port-types.rules | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

commit a470b02f12f95679705eec28f2d7d5f0e2224f35
Author: ZhangMingjie <superzmj@fibocom.com>
Date:   Wed Nov 10 20:19:47 2021 +0800

    plugins: add fibocom FM101 to fibocom port types rules file

    This patch add fibocom FM101 to 77-mm-fibocom-port-types.rules file.
    which contains two sets of vid and pid pairs, "2cb7:01a2" and
    "2cb7:01a4".

    (cherry picked from commit 3a880fd832a2826f812aef451e40c8f1241dccff)

 plugins/fibocom/77-mm-fibocom-port-types.rules | 24
 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

commit 3e28b6829d3860f24f3acdc498e3670a47af8076
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 8 14:30:08 2021 +0100

    filter: allow 'option' string in the TTY driver filter list

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/475

    (cherry picked from commit 559df16debd03d0ba00a68633f43cbda32f4aa8a)

 src/mm-filter.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 74f0caaaec000860d7c7ce1e795da67441ee6009
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 1 21:40:00 2021 +0100

    udev: avoid [0-9]* as shell globbing patterns

    The udev rules expect matches based on shell globbing pattern, not
    based on regex. This means that "[0-9]*" doesn't mean "zero or more
    digits", it actually means "one digit and zero or more other
    characters".

    So, avoid the regex like match, even if it worked for us, because it
    didn't mean what we thought it meant, plus, it breaks our custom udev
    rules processing logic, in which we convert the input patterns into
    real regex expressions.

    See https://bbs.archlinux.org/viewtopic.php?pid=1415916#p1415916

    While at it, also make sure that the wildcard matching is done
    exclusively for prefix and suffix matches, never in the middle of
    a string, or our custom rules parser would not match correctly.

    (cherry picked from commit e9f254ba3f923248efffe4fd458dc5e5469e0f73)

 plugins/qcom-soc/77-mm-qcom-soc.rules | 8 ++++----
 src/80-mm-candidate.rules             | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

commit 2a6b6b22bfc351479e4692508924dcee3a9c0a23
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 26 10:43:38 2021 +0100

    build: post-release version bump to 1.18.5

 configure.ac | 2 +-
 meson.build  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit ac6d31e463168e894269d2a7c949de4577026eea
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 26 10:17:53 2021 +0100

    release: bump version to 1.18.4

 configure.ac | 2 +-
 meson.build  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 941b9c1d185df8753b5950ea593d9b5fa9eac1e7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 26 10:17:26 2021 +0100

    NEWS: update for 1.18.4

 NEWS | 82
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 82 insertions(+)

commit 80d62f2f68bff8b55026fc7e815603394ad729ec
Author: Matthew Via <via@matthewvia.info>
Date:   Sat Oct 23 18:23:32 2021 -0400

    sms-part-cdma: merge WDP multipart CDMA WAP messages.

    CDMA WAPs have multipart message information in a 3 byte header
    in-band
    with the user data, as described in WAP-259-WDP-20010614-a.  Set the
    message concat parameters and use the message-id as the reference.

    (cherry picked from commit 6db9a48c343690c808aea92e29daf13e021d3fc8)

 src/mm-sms-part-cdma.c | 30 ++++++++++++++++++++++++++++++
 src/mm-sms-part.c      |  3 +++
 src/mm-sms-part.h      |  4 ++++
 3 files changed, 37 insertions(+)

commit 7a90b42035d3b11d9da6fee8f3edd2c3749cd617
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 22 14:03:48 2021 +0100

    libmm-glib,modem: fix warning when loading SIM slots

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/465

    (cherry picked from commit d2b620c5fa2b9d389b0d543be1f10860d4404612)

 libmm-glib/mm-modem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 9900187976bb6b7d32f17c8e336ba26ad2abec1c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 21 15:04:55 2021 +0100

    bearer-mbim: fix error handling in connection status reload

    We should not set the GError as autoptr(), as we're returning it as
    part of the GTask.

    (cherry picked from commit afb213ac05aa72db010e17e0326408bf655f66fd)

 src/mm-bearer-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7d79e3f67dc34a72b321660f02ec535299f972be
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 21 14:50:07 2021 +0100

    bearer-mbim: plug leak when checking if already disconnected fails

    If the modem reports any error during the connection status check,
    we're creating a GError but never disposing it. We don't need that
    GError for anything, so just discard it.

    (cherry picked from commit 647a438b435e9dc21c123602b4be758515c51c57)

 src/mm-bearer-mbim.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit 3a1d578c4d0f1be4658b5657999fc40f68931b65
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 26 01:06:10 2021 +0200

    data,fcc-unlock: add example unlock scripts

    Added scripts for Foxconn SDX55, Quectel EM120, and several old Sierra
    Wireless manufactured devices:
     * Installed but not used by default, the user needs to setup manual
       links from ${pkgdatadir}/fcc-unlock.available.d, to
       ${pkgsysconfdir}/fcc-unlock.d in order to enable them.
     * Installed with rights only for the owner, so that the dispatcher in
       ModemManager can validate them.
     * They rely on $PATH to find the qmicli/mbimcli tools.

    In addition to these scripts, per-vid:pid links are created in the
    same ${pkgdatadir}/fcc-unlock.available.d directory, specifying which
    are the specific devices that require the FCC unlock operation.

    This patch also creates the ${pkgsysconfdir}/fcc-unlock.d and
    ${pkglibdir}/fcc-unlock.d directories where ModemManager looks for the
    enabled tools.

    Note that the meson setup doesn't support creating/deleting links
    officially yet, so we use a workaround using meson.add_install_script
    that is not perfect (i.e. doesn't handle the symlink removal during
    uninstall). See https://github.com/mesonbuild/meson/issues/1602

    (cherry picked from commit e7a6bb7504403b60d098ef8dde39b036c8c31f8d)

 configure.ac                |  2 ++
 data/Makefile.am            |  2 +-
 data/fcc-unlock/105b        | 34 ++++++++++++++++++++++++++++++++++
 data/fcc-unlock/1199        | 33 +++++++++++++++++++++++++++++++++
 data/fcc-unlock/1eac        | 34 ++++++++++++++++++++++++++++++++++
 data/fcc-unlock/Makefile.am | 32 ++++++++++++++++++++++++++++++++
 data/fcc-unlock/meson.build | 41
 +++++++++++++++++++++++++++++++++++++++++
 meson.build                 |  1 +
 8 files changed, 178 insertions(+), 1 deletion(-)

commit f47905440dbd2102850bfb30ad059e05310ba526
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 25 21:39:46 2021 +0200

    iface-modem: use external dispatcher to attempt FCC unlock

    We remove the built-in FCC unlock procedures from the ModemManager, we
    will no longer run them automatically, and instead rely on external
    scripts/programs to do that.

    Packages providing the external FCC unlock tools can install them in
    ${pkglibdir}/fcc-unlock.d.

    Users manually enabling external FCC unlock tools can install them in
    ${pkgsysconfdir}/fcc-unlock.d.

    The user-enabled path takes precedence over the package-enabled one.

    (cherry picked from commit 81302efa661f848455a1bfe44b27608b11d6d49b)

 configure.ac                                      |   5 +
 meson.build                                       |   2 +
 plugins/foxconn/mm-broadband-modem-mbim-foxconn.c |  62 -----
 src/Makefile.am                                   |   4 +
 src/meson.build                                   |   3 +
 src/mm-broadband-modem-mbim.c                     |   2 -
 src/mm-broadband-modem-qmi.c                      |   2 -
 src/mm-fcc-unlock-dispatcher.c                    | 319
 ++++++++++++++++++++++
 src/mm-fcc-unlock-dispatcher.h                    |  47 ++++
 src/mm-iface-modem.c                              |  68 ++++-
 src/mm-iface-modem.h                              |   8 -
 src/mm-shared-qmi.c                               |  50 ----
 src/mm-shared-qmi.h                               |   6 -
 13 files changed, 439 insertions(+), 139 deletions(-)

commit 6b1db4b4f99e490adf306bab4ff60319d8e80df2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 16 17:53:22 2021 +0100

    libmm-glib: fix license in sources

    The libmm-glib library is LGPLv2+, not GPLv2+.

    (cherry picked from commit 21c775703c9e3852fdda206a9658cb236613ef85)

 libmm-glib/libmm-glib.h                           |  2 +-
 libmm-glib/mm-3gpp-profile.c                      | 21
 ++++++++++++++-------
 libmm-glib/mm-3gpp-profile.h                      | 21
 ++++++++++++++-------
 libmm-glib/mm-bearer-ip-config.c                  | 21
 ++++++++++++++-------
 libmm-glib/mm-bearer-ip-config.h                  | 21
 ++++++++++++++-------
 libmm-glib/mm-bearer-properties.c                 | 21
 ++++++++++++++-------
 libmm-glib/mm-bearer-properties.h                 | 21
 ++++++++++++++-------
 libmm-glib/mm-bearer-stats.c                      | 21
 ++++++++++++++-------
 libmm-glib/mm-bearer-stats.h                      | 21
 ++++++++++++++-------
 libmm-glib/mm-bearer.c                            |  2 +-
 libmm-glib/mm-bearer.h                            |  2 +-
 libmm-glib/mm-call-audio-format.c                 | 21
 ++++++++++++++-------
 libmm-glib/mm-call-audio-format.h                 | 21
 ++++++++++++++-------
 libmm-glib/mm-call-properties.c                   | 21
 ++++++++++++++-------
 libmm-glib/mm-call-properties.h                   | 21
 ++++++++++++++-------
 libmm-glib/mm-call.c                              | 21
 +++++++++++++--------
 libmm-glib/mm-call.h                              | 21
 +++++++++++++--------
 libmm-glib/mm-cdma-manual-activation-properties.c | 21
 ++++++++++++++-------
 libmm-glib/mm-cdma-manual-activation-properties.h | 21
 ++++++++++++++-------
 libmm-glib/mm-common-helpers.c                    | 21
 ++++++++++++++-------
 libmm-glib/mm-common-helpers.h                    | 21
 ++++++++++++++-------
 libmm-glib/mm-compat.c                            |  2 +-
 libmm-glib/mm-compat.h                            |  2 +-
 libmm-glib/mm-firmware-properties.c               | 21
 ++++++++++++++-------
 libmm-glib/mm-firmware-properties.h               | 21
 ++++++++++++++-------
 libmm-glib/mm-firmware-update-settings.c          | 21
 ++++++++++++++-------
 libmm-glib/mm-firmware-update-settings.h          | 21
 ++++++++++++++-------
 libmm-glib/mm-helper-types.c                      |  2 +-
 libmm-glib/mm-helper-types.h                      |  2 +-
 libmm-glib/mm-helpers.h                           |  2 +-
 libmm-glib/mm-kernel-event-properties.c           | 21
 ++++++++++++++-------
 libmm-glib/mm-kernel-event-properties.h           | 21
 ++++++++++++++-------
 libmm-glib/mm-location-3gpp.c                     | 21
 ++++++++++++++-------
 libmm-glib/mm-location-3gpp.h                     | 21
 ++++++++++++++-------
 libmm-glib/mm-location-cdma-bs.c                  | 21
 ++++++++++++++-------
 libmm-glib/mm-location-cdma-bs.h                  | 21
 ++++++++++++++-------
 libmm-glib/mm-location-common.h                   | 21
 ++++++++++++++-------
 libmm-glib/mm-location-gps-nmea.c                 | 21
 ++++++++++++++-------
 libmm-glib/mm-location-gps-nmea.h                 | 21
 ++++++++++++++-------
 libmm-glib/mm-location-gps-raw.c                  | 21
 ++++++++++++++-------
 libmm-glib/mm-location-gps-raw.h                  | 21
 ++++++++++++++-------
 libmm-glib/mm-manager.c                           |  2 +-
 libmm-glib/mm-manager.h                           |  2 +-
 libmm-glib/mm-modem-3gpp-profile-manager.c        |  2 +-
 libmm-glib/mm-modem-3gpp-profile-manager.h        |  2 +-
 libmm-glib/mm-modem-3gpp-ussd.c                   |  2 +-
 libmm-glib/mm-modem-3gpp-ussd.h                   |  2 +-
 libmm-glib/mm-modem-3gpp.c                        |  2 +-
 libmm-glib/mm-modem-3gpp.h                        |  2 +-
 libmm-glib/mm-modem-cdma.c                        |  2 +-
 libmm-glib/mm-modem-cdma.h                        |  2 +-
 libmm-glib/mm-modem-firmware.c                    |  2 +-
 libmm-glib/mm-modem-firmware.h                    |  2 +-
 libmm-glib/mm-modem-location.c                    |  2 +-
 libmm-glib/mm-modem-location.h                    |  2 +-
 libmm-glib/mm-modem-messaging.c                   |  2 +-
 libmm-glib/mm-modem-messaging.h                   |  2 +-
 libmm-glib/mm-modem-oma.c                         |  2 +-
 libmm-glib/mm-modem-oma.h                         |  2 +-
 libmm-glib/mm-modem-signal.c                      |  2 +-
 libmm-glib/mm-modem-signal.h                      |  2 +-
 libmm-glib/mm-modem-simple.c                      |  2 +-
 libmm-glib/mm-modem-simple.h                      |  2 +-
 libmm-glib/mm-modem-time.c                        |  2 +-
 libmm-glib/mm-modem-time.h                        |  2 +-
 libmm-glib/mm-modem-voice.c                       |  2 +-
 libmm-glib/mm-modem-voice.h                       |  2 +-
 libmm-glib/mm-modem.c                             |  2 +-
 libmm-glib/mm-modem.h                             |  2 +-
 libmm-glib/mm-network-timezone.c                  | 21
 ++++++++++++++-------
 libmm-glib/mm-network-timezone.h                  | 21
 ++++++++++++++-------
 libmm-glib/mm-object.c                            |  2 +-
 libmm-glib/mm-object.h                            |  2 +-
 libmm-glib/mm-pco.c                               | 21
 ++++++++++++++-------
 libmm-glib/mm-pco.h                               | 21
 ++++++++++++++-------
 libmm-glib/mm-signal.c                            | 21
 ++++++++++++++-------
 libmm-glib/mm-signal.h                            | 21
 ++++++++++++++-------
 libmm-glib/mm-sim-preferred-network.c             | 21
 ++++++++++++++-------
 libmm-glib/mm-sim-preferred-network.h             | 21
 ++++++++++++++-------
 libmm-glib/mm-sim.c                               |  2 +-
 libmm-glib/mm-sim.h                               |  2 +-
 libmm-glib/mm-simple-connect-properties.c         | 21
 ++++++++++++++-------
 libmm-glib/mm-simple-connect-properties.h         | 21
 ++++++++++++++-------
 libmm-glib/mm-simple-status.c                     | 21
 ++++++++++++++-------
 libmm-glib/mm-simple-status.h                     | 21
 ++++++++++++++-------
 libmm-glib/mm-sms-properties.c                    | 21
 ++++++++++++++-------
 libmm-glib/mm-sms-properties.h                    | 21
 ++++++++++++++-------
 libmm-glib/mm-sms.c                               |  2 +-
 libmm-glib/mm-sms.h                               |  2 +-
 libmm-glib/mm-unlock-retries.c                    | 21
 ++++++++++++++-------
 libmm-glib/mm-unlock-retries.h                    | 21
 ++++++++++++++-------
 91 files changed, 726 insertions(+), 387 deletions(-)

commit 2beae71a60a1881bb5513b01143f1b394c51d07a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 9 10:49:20 2021 +0100

    kerneldevice,generic: simplify DEVPATH matching logic

    Use autoptr to avoid the embedded goto.

    (cherry picked from commit 59ad8409a6088b3592b537122b39d4d609ee829a)

 src/kerneldevice/mm-kernel-device-generic.c | 30
 ++++++++---------------------
 1 file changed, 8 insertions(+), 22 deletions(-)

commit 1bd70df8a0c97991c4fa785ba7c0b4a6af7895b0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 9 10:43:58 2021 +0100

    kerneldevice,generic: input pattern to string match is not regex

    The input pattern given to the string_match() method is not a regex
    pattern and we cannot use it as that, because all the special
    characters (e.g. '.') would not be treated correctly.

    Also, the prefix matching with the wildcard at the end of the string
    needs to be converted to a proper regex wildcard, i.e. '.*'.

    This logic also adds support for suffix matching, with a wildcard at
    the beginning of the string, e.g. as the ones used for the wwan kernel
    device name matching rules (i.e. '*MBIM').

    Unit tests are added to cover all cases, most of these tests were
    failing without the fixes implemented here.

    (cherry picked from commit 03fce4775e5a1cf2fa8859a5074ea5bd37e1828a)

 src/kerneldevice/mm-kernel-device-generic.c |  27 -------
 src/kerneldevice/mm-kernel-device-helpers.c |  66 ++++++++++++++--
 src/tests/Makefile.am                       |   1 +
 src/tests/meson.build                       |   1 +
 src/tests/test-kernel-device-helpers.c      | 118
 ++++++++++++++++++++++++++++
 5 files changed, 179 insertions(+), 34 deletions(-)

commit a013ea79caa8abb4daf4d451ea4d6edd62329cc0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 8 23:22:48 2021 +0100

    kerneldevice,generic: move string match method to helpers

    So that we can propertly unit-test it.

    (cherry picked from commit 73b44ea51b84e8c8259e07a64fbb9f22a599b774)

 src/kerneldevice/mm-kernel-device-generic.c | 10 ++++-----
 src/kerneldevice/mm-kernel-device-helpers.c | 32
 +++++++++++++++++++++++++++++
 src/kerneldevice/mm-kernel-device-helpers.h |  7 ++++++-
 3 files changed, 43 insertions(+), 6 deletions(-)

commit 5d26ab9f802602603175ea171c0e327667dd5908
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Fri Nov 5 12:45:56 2021 +0100

    build,meson: Make feature options boolean

    Different options are set as `feature`, also every possible plugin,
    but this may cause confusion.

    All options set as `feature` but plugins have been made `boolean` to
    avoid further confusions.

    `help2man` is also installed in the CI image because is required to
    build different libraries.

    (cherry picked from commit ec2e5403f14892047f391f63982bf5e4b30438c2)

 .gitlab-ci.yml      | 36 ++++++++++++++++++------------------
 cli/meson.build     |  9 +++++----
 meson.build         | 33 ++++++++++++++++++++++-----------
 meson_options.txt   | 10 +++++-----
 plugins/meson.build | 14 +++++++++-----
 src/meson.build     | 20 ++++++++++----------
 test/meson.build    |  2 +-
 7 files changed, 70 insertions(+), 54 deletions(-)

commit ee2dc47de72488b2b3cc746247b6da8665853e6e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 14 13:03:11 2021 +0200

    cli,signal: fix error message without EOL

    (cherry picked from commit a1e6f911dd20eeca91a864e42d3458549c4cc36a)

 cli/mmcli-modem-signal.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 81a0f845acb96b667b38035c56d9af73c947018c
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Mon Oct 25 10:49:30 2021 +0200

    telit: allow unlock retries loading for unknown error csim reply

    When trying to lock the modem LE910S1 replies:

    'AT+CSIM=1<CR>'
    '<CR><LF>ERROR<CR><LF>'

    but the modem actually supports CSIM unlock retries reporting.

    (cherry picked from commit 2b196d897b5bcfb04072df16c1bf5c025239eba6)

 plugins/telit/mm-broadband-modem-telit.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit f17f5c16ae26b14ba24a4aeb877f7989695f723c
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Mon Oct 25 09:34:04 2021 +0200

    telit: avoid sim hot swap procedure if #QSS is not supported

    (cherry picked from commit 1058c1c69dba15bd9fc7cf3da2c191cc29aa1ddb)

 plugins/telit/mm-broadband-modem-telit.c | 30
 ++++++++++++++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)

commit 55b0bead2c633590f357386d2dfab21595eb185f
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Mon Oct 25 09:13:43 2021 +0200

    telit: add port type hints for LE910S1 0x7010, 0x7011 compositions

    (cherry picked from commit 3a02c3187bd0842e7d5ff74509d2051894146b56)

 plugins/telit/77-mm-telit-port-types.rules | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 41655f416a61264406991b1dc4cff28832d7a6c1
Author: Frederic Martinsons <frederic.martinsons@sigfox.com>
Date:   Sat Oct 23 10:57:26 2021 +0200

    iface-modem-firmware: Initialize context to null

    Without setting memory to NULL it is possible that ctx->list
    point to an unitialized pointer and trig a segfault when we
    free it (for example when the firmware list is not supported)

    Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>
    (cherry picked from commit 2ae5f3cc27425a2b53872bb7c783aa032ac6aa6b)

 src/mm-iface-modem-firmware.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d377c10599c4a57150bdf39d033a82e14e50f1d0
Author: Michal Mazur <mkm@semihalf.com>
Date:   Fri Oct 22 15:37:25 2021 +0200

    libmm-glib: add documentation for disable_facility_lock

    (cherry picked from commit c487ca1b36dd1aa14cb45e4555fbf3235b7ca784)

 libmm-glib/mm-modem-3gpp.c | 51
 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

commit 876bfd229f1a8323d9e333f6b86a15fb2ea08283
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 17 21:29:05 2021 +0200

    modem-helpers: remove unexistent method header

    (cherry picked from commit e1bc4b0999aa268358d2ab2c3182e87119cd255f)

 src/mm-modem-helpers.h | 3 ---
 1 file changed, 3 deletions(-)

commit eb795223a9131e0c633ad9ca8ff800e7133d3bc1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Oct 15 23:35:20 2021 +0200

    introspection,signal: minor doc fix in 5G RSRP

    (cherry picked from commit 5f043e47bfb133da7738202bb5248cc9dcda7f86)

 introspection/org.freedesktop.ModemManager1.Modem.Signal.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 136904fa1c6571eb210472c4171de22d3b26cc34
Author: Freedom Liu <tianyu28658@gmail.com>
Date:   Fri Oct 15 11:50:52 2021 +0800

    foxconn: add T99W265 modules, support for QDU.

    (cherry picked from commit f5ab3c4678247e8eade0e8ff0a812d6b1e1c569d)

 plugins/foxconn/mm-broadband-modem-mbim-foxconn.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

commit 9bde138095159aa27a917b4e8d9163fd0c13b182
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 13 13:36:24 2021 +0200

    qcom-soc: require udev tag for ports

    Since the 'wwan' subsystem addition to the qcom-soc plugin, the rules
    to say a modem is handled by this plugin are too broad, and the plugin
    attempts to support any kind of device exposed by the WWAN subsystem,
    not just those from Qualcomm SoCs.

    Update the plugin to require a new ID_MM_QCOM_SOC udev tag that is set
    in the plugin udev rules, given that these rules already check for the
    expected SoC drivers (bam-dmux, ipa, qcom-q6v5-mss).

    (cherry picked from commit c06ca6df3f096a53665611b26b4add933317e873)

 plugins/qcom-soc/77-mm-qcom-soc.rules    | 5 ++++-
 plugins/qcom-soc/mm-plugin-qcom-soc.c    | 5 +++++
 src/kerneldevice/mm-kernel-device-qrtr.c | 3 ++-
 3 files changed, 11 insertions(+), 2 deletions(-)

commit fa9157895de2e572f7edf01759afc6b18868d8c5
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Mon Oct 18 09:26:59 2021 +0200

    build,meson: Allow plugins to depend on build options

    At the moment plugins might depend only on shared plugins. However,
    plugins may depend also in different build options. For example,
    `qcom-soc` plugin needs `qmi` option to be enabled.

    Plugins build check has been changed to allow to depend on different
    build options.

    Fixes #447

    (cherry picked from commit 7663a2e6c383bb68f31c91ca51ba2801ee990c6e)

 meson.build | 83
 +++++++++++++++++++++++++++++++------------------------------
 1 file changed, 42 insertions(+), 41 deletions(-)

commit a0cdc8648d5d719f98e6c49448236453e39fb8fe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 14 10:13:36 2021 +0200

    ci: switch single plugins build to use meson

    (cherry picked from commit a5f2f84f44f2265739bc96d152128a107e9cebed)

 .gitlab-ci.yml | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

commit 94c5e58c055783877ca88555e9dd0ee840288cd0
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Thu Sep 16 22:30:50 2021 +0200

    build,meson: Add an empty line to split includes and dependencies

    (cherry picked from commit 86fcf2592fa33d034ee02c6dd8dd4a3527126210)

 plugins/meson.build | 1 +
 1 file changed, 1 insertion(+)

commit 8699d0665a66f386aca8bde273fe0401e91c3e2f
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Thu Sep 16 22:28:58 2021 +0200

    build,meson: Remove unnecessary empty line

    (cherry picked from commit 803ce03d6a657f5d7c96ebfb2c36d4e65dd28e4f)

 src/meson.build | 1 -
 1 file changed, 1 deletion(-)

commit 380c8efe56cf4d12d65c7fe707bb64bfc857d2d9
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Thu Sep 16 22:20:34 2021 +0200

    build,meson: Make use of _opt suffix for option variables

    To make option names consistent, an `_opt` suffix has been added.

    This was not applied to `polkit` option at the time and this is
    fixed now.

    (cherry picked from commit 7c4f8f6cc50054e1818c1f8e03cb2fa08218aa77)

 meson.build | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 43445df7494523c72e58b3514218ba512955a8e9
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Thu Sep 16 22:15:39 2021 +0200

    build,meson: Make use of partial_dependency for generated dependency

    The generated objects in `libmm-glib` are include in
    `libmm_glib_dep` one by one to avoid the link to the generated
    library that is included as a whole in `libmm-glib`.

    meson includes a way to include partial objects of a dependency by
    using the `partial_dependency` method, so by taking advantage of it
    almost all objects are included.

    (cherry picked from commit b3b16b3dc2608242a2e88d6b2870c403fb5a5d9c)

 libmm-glib/meson.build | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 82480238a93065e8c6985d1dc2f5b6d353dfee96
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Thu Sep 16 21:50:58 2021 +0200

    build,meson: Sort files alphabetically

    (cherry picked from commit 3974b8b98f1c402865b06598d1f26f7db5824d50)

 examples/sms-c/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2c5a6dc659d023f832604bd0fd19f18d373e70fb
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Thu Sep 16 10:04:51 2021 +0200

    build,meson: Remove unused option

    (cherry picked from commit c3b6a2876eb5f884e195832cdc195353ba8cf59b)

 meson_options.txt | 2 --
 1 file changed, 2 deletions(-)

commit f6c24a955d4a74cf5b6b39a742b18d8c0d9d5dc2
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Wed Sep 8 14:42:08 2021 +0200

    build,meson: Improve plugins option set

    Improved the way the plugins are set to allow a smaller summary.

    (cherry picked from commit bbc157688d9ff82e548a155be1a54a8220fb0f09)

 meson.build         | 97
 ++++++++++++++++-------------------------------------
 meson_options.txt   | 82 ++++++++++++++++++++++----------------------
 plugins/meson.build | 92
 +++++++++++++++++++++++++-------------------------
 3 files changed, 114 insertions(+), 157 deletions(-)

commit aaadae356ec22c064725ebe9bfee7df77cf49449
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 13 22:13:40 2021 +0200

    ci: use libmbim and libqmi stable branches

    We keep libqrtr-glib git master just because it builds with meson.

 .gitlab-ci.yml | 31 +++++++++++++++++--------------
 1 file changed, 17 insertions(+), 14 deletions(-)

commit 58327cbebcc7f8fae8ae9d4c0b685c103735c518
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 13 22:05:27 2021 +0200

    broadband-modem-qmi: fix non-initialized GError

    (cherry picked from commit 85a99ae028f42d5b35ffb42888a5c2201fd0e91d)

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 86b52c27f86ea928197db42524515461bf852b2e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 13 22:04:53 2021 +0200

    quectel: fix non-initialized GError

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/442

    (cherry picked from commit 8852cef8175bb5421cd14986ac3803985d5e6eae)

 plugins/quectel/mm-shared-quectel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ddee7b840a0441e1d25bba1e4889ed0574eb8625
Author: Amol Lad <amol.lad@4rf.com>
Date:   Mon Oct 4 14:48:05 2021 +0530

    mm-bearer-mbim: unref not needed and it is causing crash

    (cherry picked from commit 11b83e4cb8d310fc88a4e0152e625b7eafefe516)

 src/mm-bearer-mbim.c | 1 -
 1 file changed, 1 deletion(-)

commit a34535e305424da4d9797c029f7c56ab3b5ec2d9
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Fri Oct 1 16:13:42 2021 +0200

    iface-modem-3gpp-profile-manager: correct a GError instance ownership

    The call to g_task_return_error() takes ownership of the GError passed
    to it; we must not free it ourselves upon automatic pointer cleanup.

    Otherwise a crash can be triggered in the error handling path:

      ModemManager[259816]: <debug> [1633088468.157848] [modem0/modemu/at]
      <-- '<CR><LF>OK<CR><LF>'
      ModemManager[259816]: <debug> [1633088468.159832] [modem0] stored
      profile with id '1'
      ModemManager[259816]: <debug> [1633088468.160501] [modem0] set
      profile state (7/8): list after
      ModemManager[259816]: <debug> [1633088468.161686] [modem0/modemu/at]
      device open count is 3 (open)
      ModemManager[259816]: <debug> [1633088468.162320] [modem0/modemu/at]
      device open count is 2 (close)
      ModemManager[259816]: <debug> [1633088468.162746] [modem0/modemu/at]
      --> 'AT+CGDCONT?<CR>'
      ModemManager[259816]: <debug> [1633088468.177437] [modem0/modemu/at]
      <-- '<CR><LF>ERROR<CR><LF>'
      ModemManager[259816]: <debug> [1633088468.178011] [modem0/modemu/at]
      operation failure: 100 (Unknown error)
      ModemManager[259816]: <warn>  [1633088468.182420] [modem0/bearer0]
      connection attempt #1 failed: Couldn't validate update of profile
      '1': Unknown error
      ModemManager[259816]: <info>  [1633088468.193156] [modem0/bearer0]
      connection #1 finished: duration 0s, tx: 0 bytes, rx: 0 bytes
      ModemManager[259816]: <debug> [1633088468.194280] [modem0]
      couldn't connect bearer: Couldn't validate update of profile '1':
      Unknown error
      ==259816== Invalid read of size 4
      ==259816==    at 0x4FF66CF: UnknownInlinedFun (gerror.c:535)
      ==259816==    by 0x4FF66CF: g_error_free (gerror.c:832)
      ==259816==    by 0x1A7F49: UnknownInlinedFun
      (glib-autocleanups.h:52)
      ==259816==    by 0x1A7F49: UnknownInlinedFun
      (glib-autocleanups.h:52)
      ==259816==    by 0x1A7F49: profile_manager_get_profile_after_ready
      (mm-iface-modem-3gpp-profile-manager.c:140)
      ==259816==    by 0x4E342C9: g_task_return_now (gtask.c:1219)
      ==259816==    by 0x4E344CA: UnknownInlinedFun (gtask.c:1289)
      ==259816==    by 0x4E344CA: g_task_return (gtask.c:1245)
      ==259816==    by 0x1A867C: get_profile_list_ready
      (mm-iface-modem-3gpp-profile-manager.c:680)
      ==259816==    by 0x4E342C9: g_task_return_now (gtask.c:1219)
      ==259816==    by 0x4E344CA: UnknownInlinedFun (gtask.c:1289)
      ==259816==    by 0x4E344CA: g_task_return (gtask.c:1245)
      ==259816==    by 0x1A3DB5: internal_list_profiles_ready
      (mm-iface-modem-3gpp-profile-manager.c:774)
      ==259816==    by 0x4E342C9: g_task_return_now (gtask.c:1219)
      ==259816==    by 0x4E344CA: UnknownInlinedFun (gtask.c:1289)
      ==259816==    by 0x4E344CA: g_task_return (gtask.c:1245)
      ==259816==    by 0x1D7B8B: profile_manager_cgdcont_query_ready
      (mm-broadband-modem.c:10240)
      ==259816==    by 0x4E1DB61: g_simple_async_result_complete
      (gsimpleasyncresult.c:802)
      ==259816==  Address 0x9286da0 is 0 bytes inside a block of size
      16 free'd
      ==259816==    at 0x48440E4: free (vg_replace_malloc.c:755)
      ==259816==    by 0x500FD1C: g_free (gmem.c:199)
      ==259816==    by 0x502A22F: g_slice_free1 (gslice.c:1180)
      ==259816==    by 0x4FF6780: g_error_free (gerror.c:864)
      ==259816==    by 0x1B22D2: connect_bearer_ready
      (mm-iface-modem-simple.c:286)
      ==259816==    by 0x4E342C9: g_task_return_now (gtask.c:1219)
      ==259816==    by 0x4E344CA: UnknownInlinedFun (gtask.c:1289)
      ==259816==    by 0x4E344CA: g_task_return (gtask.c:1245)
      ==259816==    by 0x18031A: connect_ready (mm-base-bearer.c:917)
      ==259816==    by 0x4E342C9: g_task_return_now (gtask.c:1219)
      ==259816==    by 0x4E344CA: UnknownInlinedFun (gtask.c:1289)
      ==259816==    by 0x4E344CA: g_task_return (gtask.c:1245)
      ==259816==    by 0x18329B: connect_3gpp_ready
      (mm-broadband-bearer.c:918)
      ==259816==    by 0x4E342C9: g_task_return_now (gtask.c:1219)
      ==259816==  Block was alloc'd at
      ==259816==    at 0x484186F: malloc (vg_replace_malloc.c:380)
      ==259816==    by 0x5013408: g_malloc (gmem.c:106)
      ==259816==    by 0x502ACB4: g_slice_alloc (gslice.c:1069)
      ==259816==    by 0x502B33D: g_slice_alloc0 (gslice.c:1095)
      ==259816==    by 0x4FF64E6: g_error_allocate (gerror.c:702)
      ==259816==    by 0x4FF6F03: UnknownInlinedFun (gerror.c:716)
      ==259816==    by 0x4FF6F03: g_error_copy (gerror.c:886)
      ==259816==    by 0x4E1D0A0: g_simple_async_result_set_from_error
      (gsimpleasyncresult.c:676)
      ==259816==    by 0x236AAB: port_serial_got_response
      (mm-port-serial.c:744)
      ==259816==    by 0x23B0F1: UnknownInlinedFun (mm-port-serial.c:934)
      ==259816==    by 0x23B0F1: common_input_available
      (mm-port-serial.c:1035)
      ==259816==    by 0x500AF9E: UnknownInlinedFun (gmain.c:3337)
      ==259816==    by 0x500AF9E: g_main_context_dispatch (gmain.c:4055)
      ==259816==    by 0x505F607: g_main_context_iterate.constprop.0
      (gmain.c:4131)
      ==259816==    by 0x500A562: g_main_loop_run (gmain.c:4329)

    (cherry picked from commit 90ea3ef5db2bc5846dcb3382a15ec95ce366e04a)

 src/mm-iface-modem-3gpp-profile-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ace5d2db5cba2ce84ff27b0e17ee6d834c09ff0b
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Fri Oct 1 16:13:48 2021 +0200

    broadband-modem: ensure mm_broadband_modem_create_device_identifier()
    sets an error on all bad returns

    modem_load_device_identifier_finish() expect it to do so and trips an
    assertion failure in g_propagate_error():

      ModemManager[256038]: <warn>  [1633083601.491190] [modem0] couldn't
      load equipment identifier: Unknown error
      ModemManager[256038]: <debug> [1633083601.491204] [modem0] loading
      device identifier...
      ModemManager[256038]: <debug> [1633083601.491215] [modem0/modemu/at]
      device open count is 3 (open)
      ModemManager[256038]: <debug> [1633083601.491231] [modem0/modemu/at]
      device open count is 2 (close)
      ModemManager[256038]: <debug> [1633083601.491254] [modem0/modemu/at]
      --> 'ATI<CR>'
      ModemManager[256038]: <debug> [1633083601.494616] [modem0/modemu/at]
      <-- '<CR><LF>ERROR<CR><LF>'
      ModemManager[256038]: <debug> [1633083601.494643] [modem0/modemu/at]
      operation failure: 100 (Unknown error)

      (ModemManager:256038): GLib-CRITICAL **: 06:20:01.494:
      g_propagate_error: assertion 'src != NULL' failed

      Thread 1 "ModemManager" received signal SIGTRAP, Trace/breakpoint
      trap.
      g_logv (log_domain=0x7ffff77d1071 "GLib",
      log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>,
      args=<optimized out>) at ../glib/gmessages.c:1413
      1413            g_private_set (&g_log_depth, GUINT_TO_POINTER
      (depth));
      Missing separate debuginfos, use: dnf debuginfo-install
      libmbim-1.26.0-2.el9.x86_64 libqmi-1.30.2-1.el9.x86_64
      (gdb) bt
      #0  g_logv (log_domain=0x7ffff77d1071 "GLib",
      log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>,
      args=<optimized out>) at ../glib/gmessages.c:1413
      #1  0x00007ffff77813d3 in g_log (log_domain=<optimized
      out>, log_level=<optimized out>, format=<optimized out>) at
      ../glib/gmessages.c:1451
      #2  0x000055555561122d in modem_load_device_identifier_finish
      (self=0x5555557e62d0, res=<optimized out>, error=0x7fffffffd320)
          at
          /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-broadband-modem.c:1168
      #3  0x00005555555ea69a in load_device_identifier_ready
      (self=0x5555557e62d0, res=0x5555557ea6b0,
      task=task@entry=0x7fffe8011e20 [GTask])
          at
          /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-iface-modem.c:4727
      #4  0x00007ffff7951b62 in g_simple_async_result_complete
      (simple=0x5555557ea6b0 [GSimpleAsyncResult]) at
      ../gio/gsimpleasyncresult.c:802
      #5  0x00005555555d1b0a in at_sequence_parse_response
      (port=<optimized out>, res=<optimized out>,
      ctx=ctx@entry=0x5555557ed7f0)
          at
          /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-base-modem-at.c:250
      #6  0x00007ffff7951b62 in g_simple_async_result_complete
      (simple=0x5555557e5440 [GSimpleAsyncResult]) at
      ../gio/gsimpleasyncresult.c:802
      #7  0x00005555556805dc in serial_command_ready (port=<optimized
      out>, res=<optimized out>, simple=simple@entry=0x5555557e5440
      [GSimpleAsyncResult])
          at
          /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial-at.c:378
      #8  0x00007ffff7951b62 in g_simple_async_result_complete
      (simple=0x5555557d6730 [GSimpleAsyncResult]) at
      ../gio/gsimpleasyncresult.c:802
      #9  0x000055555567fb35 in command_context_complete_and_free
      (ctx=ctx@entry=0x7fffe800c200, idle=idle@entry=0) at
      /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial.c:141
      #10 0x0000555555682a96 in port_serial_got_response
      (self=0x5555557dd4e0 [MMPortSerialAt], parsed_response=0x0,
      error=0x5555557d5040)
          at
          /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial.c:755
      #11 0x00005555556870d2 in parse_response_buffer
      (self=<optimized out>) at
      /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial.c:934
      #12 common_input_available (self=0x5555557dd4e0
      [MMPortSerialAt], condition=(G_IO_NVAL | unknown: 0xf762a5c0)) at
      /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/mm-port-serial.c:1035
      #13 0x00007ffff7778f9f in g_main_dispatch (context=0x5555557527c0)
      at ../glib/gmain.c:3337
      #14 g_main_context_dispatch (context=0x5555557527c0) at
      ../glib/gmain.c:4055
      #15 0x00007ffff77cd608 in g_main_context_iterate.constprop.0
      (context=0x5555557527c0, block=block@entry=1,
      dispatch=dispatch@entry=1, self=<optimized out>) at
      ../glib/gmain.c:4131
      #16 0x00007ffff7778563 in g_main_loop_run (loop=0x55555576da60)
      at ../glib/gmain.c:4329
      #17 0x00005555555b7b60 in main
      (argc=<optimized out>, argv=<optimized out>) at
      /usr/src/debug/ModemManager-1.18.2-1.el9.x86_64/src/main.c:216

    (cherry picked from commit e3d108de0f3f5d2ac32b3ad09ec0dae8fb5fc2e5)

 src/mm-broadband-modem.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

commit 24639d890d958ff5110e2c9c25fa0375fc5c23f1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 3 14:35:06 2021 +0200

    ci: bump image template to refresh CA certificates

    At the end of September 2021, Let's Encrypt's DST Root CA X3
    certificate expired, and the new ISRG Root X1 took over.
    Update the CI template so that the new certificate is available and we
    can keep on cloning the libmbim/libqmi/libqrtr-glib repos without
    failures.

    (cherry picked from commit 7c30471d9469d54607fba376df772fff3c823a33)

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9e296220c8d1e4f68b3cc3e46227e29392deb792
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Wed Sep 29 16:13:45 2021 +0200

    telit: fix g_object_unref failed assertion

    Fix the following g_object_unref failed assertion:

    ModemManager[385967]: <debug> [1632924639.132023] [modem0/ttyUSB2/at]
    --> 'AT+CSIM=1<CR>'
    ModemManager[385967]: <debug> [1632924639.144892] [modem0/ttyUSB2/at]
    <-- '<CR><LF>ERROR<CR><LF>'
    ModemManager[385967]: <debug> [1632924639.145021] [modem0/ttyUSB2/at]
    operation failure: 100 (Unknown error)
    (ModemManager:385967): GLib-GObject-CRITICAL **: 16:10:39.145:
    g_object_unref: assertion 'G_IS_OBJECT (object)' failed

    (cherry picked from commit 9c47c54f067f15afea7ff1e9c89d1ab41fe3e4bb)

 plugins/telit/mm-broadband-modem-telit.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 5a68b53a6084a52e36f0d2d0bd34e5a65409dbf4
Author: Benoît Monin <benoit.monin@gmx.fr>
Date:   Thu Sep 23 11:48:35 2021 +0200

    sms: increase send timeout to 5 minutes

    The timeout for sms send operation can exceed the current value, so
    increase it to 5 minutes. Timeouts up to 4 minutes have been observed
    in the following test scenario:
    * Power up the modem and wait for registration.
    * Right when the modem is registered, attenuate the rf signal
      or remove the antenna.
    * Immediately try to send an sms.

    Increasing the timeout cover this corner case.

    (cherry picked from commit 8755e85d13b1170882cd5108cf20a63d94573155)

 src/mm-base-sms.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 864ed4f805f1941fe4fefa170c5b84f9ce209256
Author: Yegor Yefremov <yegorslists@googlemail.com>
Date:   Sat Sep 18 22:32:42 2021 +0200

    Fix -Wmaybe-uninitialized warning

    Initialize the scheme variable to
    QMI_VOICE_USS_DATA_CODING_SCHEME_UNKNOWN
    to avoid the warning.

    (cherry picked from commit 8b80da152b3dd5f6d20a4f08cce1f7eaa2bbf730)

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a40807720551824a68e08172abdc8a1b617fd9bb
Author: Yegor Yefremov <yegorslists@googlemail.com>
Date:   Fri Sep 17 11:14:31 2021 +0200

    Tests: fix -Wformat compiler warning

    Use G_GUINT64_FORMAT to properly format a guint64 type.

    (cherry picked from commit 4875817f19d035694e234dd26448d43d92422468)

 test/lsudev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3f99eb377274dbd5da998769f82652a7d016075a
Author: Shawn Guo <shawn.guo@linaro.org>
Date:   Fri Sep 17 03:59:38 2021 -0400

    build: enable qcom-soc plugin by default

    As people are running distros like Debian, Archlinux, Fedora, etc., on
    laptops powered by Qualcomm Snapdragon SoCs, e.g. Lenovo Yoga C630, it
    makes sense to enable qcom-soc plugin by default, so that MM aarch64
    package can be built by those distros more easily.

    Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
    (cherry picked from commit 57eb2390896ec4b8f310ac77a0a71344caa6596e)

 configure.ac      | 2 +-
 meson_options.txt | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 262847d97dd6e749aee77d5fc0b84b1731926aea
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 16 12:41:05 2021 +0200

    build: post-release version bump to 1.18.3

 configure.ac | 2 +-
 meson.build  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 5a2c9229411fa6c5905b61e777122a9b49809134
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 16 12:31:32 2021 +0200

    release: bump version to 1.18.2

 configure.ac | 2 +-
 meson.build  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 01ba9040159aedd38eab247e86dca8c484ddcf52
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 16 12:30:46 2021 +0200

    NEWS: update for 1.18.2

 NEWS | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit fffb184b9520bea9b35f8209f5506ca99e2325a6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 15 13:56:16 2021 +0200

    novatel: avoid returning a NULL timezone without error set

    Reported and fix suggested by:
    Frederic Martinsons <frederic.martinsons@sigfox.com>

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/438

    (cherry picked from commit 20b8d7931894a648114142e48b3a108135520a87)

 plugins/novatel/mm-broadband-modem-novatel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f7f0d9246e69ca5765511ea16b73b7cb8afbd31b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 15 14:06:08 2021 +0200

    ci: add meson build test

    The system template is updated to add new packages required at build
    time:

     * libdbus-1-dev is added so that we can autodetect the service
       directory path via the installed pkg-config file.
     * udev is added so that we can autodetect the udev rules directory
       path via the installed pkg-config file.
     * policykit-1 is added so that the i18n operation merging policy
       files is able to use the installed ITS files.
     * bash-completion is added to enable the feature in the meson build.

    The 'dist' step in the test is fully skipped for now, as the meson
    port doesn't fully support running all unit tests successfully.

    (cherry picked from commit 727410048f7993b58973b9b1e0c6d89190440cec)

 .gitlab-ci.yml | 37 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

commit ca4bd30577552935b8478504c866013da0ff0cf2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 15 22:03:13 2021 +0200

    build,meson: simplify build of daemon enums sources

    (cherry picked from commit aee12967ee263bea514ecf30fed4c331b6454080)

 src/meson.build | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

commit ca22ac4e1c8ea3978732c463bd499bb6b92c3d57
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 15 14:09:30 2021 +0200

    build,meson: introspection is setup as a feature

    (cherry picked from commit d5a992d30fc7a0b496401c3a89ca98ddf6e9114a)

 meson_options.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2d8b6ca04a9b16d158d25d50104e6baa930d6900
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 15 13:45:16 2021 +0200

    Revert "build,meson: Improve plugins option set"

    This reverts commit 09a5052a777c858b83baf9444306775ed5c50300.

    This commit breaks the default disabling of the qcom-soc plugin.

    (cherry picked from commit b75d1d50d76ff55959d9ca3cb038faad1d07159a)

 meson.build         | 164
 ++++++++++++++++++++++++++++++++--------------------
 plugins/meson.build |  92 ++++++++++++++---------------
 2 files changed, 147 insertions(+), 109 deletions(-)

commit 6c73daf32aca014a1881a19d2fbeb15f4e10abfe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 15 12:46:28 2021 +0200

    meson,build: don't include daemon enum sources in plugins

    We will end up exporting what we shouldn't:

      $ abidiff /tmp/autotools/lib/ModemManager/libmm-shared-icera.so
      /tmp/meson/lib/ModemManager/libmm-shared-icera.so
      Functions changes summary: 0 Removed, 0 Changed (3 filtered out),
      8 Added functions
      Variables changes summary: 0 Removed, 0 Changed, 0 Added variable

      8 Added functions:

        [A] 'function const gchar*
        mm_bearer_connection_status_get_string(MMBearerConnectionStatus)'
        {mm_bearer_connection_status_get_string}
        [A] 'function GType mm_bearer_connection_status_get_type()'
        {mm_bearer_connection_status_get_type}
        [A] 'function const gchar*
        mm_bearer_status_get_string(MMBearerStatus)'
        {mm_bearer_status_get_string}
        [A] 'function GType mm_bearer_status_get_type()'
        {mm_bearer_status_get_type}
        [A] 'function gchar*
        mm_filter_rule_build_string_from_mask(MMFilterRule)'
        {mm_filter_rule_build_string_from_mask}
        [A] 'function GType mm_filter_rule_get_type()'
        {mm_filter_rule_get_type}
        [A] 'function gchar*
        mm_port_probe_flag_build_string_from_mask(MMPortProbeFlag)'
        {mm_port_probe_flag_build_string_from_mask}
        [A] 'function GType mm_port_probe_flag_get_type()'
        {mm_port_probe_flag_get_type}

    (cherry picked from commit 101ed5671145e195010b6ae1dc2ae4a697b57975)

 plugins/meson.build | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit dfc42d5c3c09b00e14ad801a020dbb1ab9cf6ed6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 15 11:42:47 2021 +0200

    build,meson: fix building shared utils and plugins

    When building shared utils modules or plugins, we should not link with
    the static libraries built under src/, because that would mean we're
    including their symbols as exported by the modules, and it'll break in
    runtime.

    Instead, just define the correct set of 'include_directories' to be
    used in each plugin.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/436

    (cherry picked from commit 8167bc89e9fa3c78d25477adc0b2dc19875e7cef)

 plugins/meson.build | 149
 +++++++++++++++++++++++++++-------------------------
 1 file changed, 78 insertions(+), 71 deletions(-)

commit 353ddb9bdf5dc2a742cba50ab953cc2c7dc68335
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 15 11:38:57 2021 +0200

    build,meson: rename plugin helpers library variable

    So that we don't confuse the plugin-specific libhelpers with the core
    libhelpers built in src/.

    (cherry picked from commit 81b6c1b33303a7b73da761b30431dbdc260d94a9)

 plugins/meson.build | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit afb473baf169f7f3886bb2cef4d916791d6da833
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 13 13:13:09 2021 +0200

    ci: Use feature values for libqmi, libmbim and libqrtr-glib

    `libmbim`, `libqmi` and `libqrtr-glib` have started using `feature`
    options in their meson builds.

    (cherry picked from commit c753f857f9762e2eaf5fbc4bf5d94e05493b519e)

 .gitlab-ci.yml | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit f65ea4a881987ada2bb9d083f80e1e3c5deb3e2a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 15 05:26:27 2021 +0200

    build,meson: make PLUGINDIR an absolute path

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/433

    (cherry picked from commit 986fbd5093725af782dbeed4ccae6cf82c022c9b)

 src/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 33401f9b43631eb1ee54ff3867e4fbf35dba9e71
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Thu Sep 9 14:40:58 2021 +0200

    build,meson: Improve plugins helper library building

    To avoid those cases where a plugin does not need a helper library
    an empty array is created.

    However, when a helper library has to be built, it is not necessary
    to include the created static library in an array.

    (cherry picked from commit 80f274b37159777a462d7584fb4fc82876229ac2)

 plugins/meson.build | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

commit 68132e1f492723f0fe6ab28b59814e1199b15626
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Thu Sep 9 14:30:13 2021 +0200

    build,meson: Fix libmm-test-common name and dependencies

    `libmm-test-common` is created using underscores. It also uses
    `gio-unix-2.0` as a public dependency but actually it should be
    private.

    Both issues have been fixed.

    (cherry picked from commit db2d2c0cebd40c8979cdec46ac70249047f6ba6a)

 plugins/meson.build | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 794b20ffa08b4fa8be82db8230689fc39fa9d836
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Thu Sep 9 14:16:43 2021 +0200

    build,meson: Fix suspend/resume option

    The suspend/resume option does not build properly if journal option
    is disabled. This is beacause the journal option is check to add
    suspend/resume code.

    It has been fixed by replacing journal option check by the
    suspend/resume option.

    (cherry picked from commit ab805e09148ce41f5004d2552b263e41ae34735f)

 src/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fc67cf5c7523289e0f60f88e9472f59e0f99ea5b
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Thu Sep 9 10:34:20 2021 +0200

    build,meson: Fix libsystemd check

    At the moment `libsystemd` is check even if `suspend/resume` and
    systemd support are not enabled.

    This has been changed so `libsystemd` is checked only if any or both
    options are enabled.

    (cherry picked from commit 39912daa11491167cca9298a170210980626cd34)

 meson.build | 25 ++++++++++++++-----------
 1 file changed, 14 insertions(+), 11 deletions(-)

commit 58b35c0d835ffd2bce12dc5481a22dc2aff91b1a
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Thu Sep 9 09:31:54 2021 +0200

    build,meson: Improve libqcdm build

    `libqcdm`'s meson build files have been improved slightly by
    removing unnecessary variables shortening their contents.

    (cherry picked from commit 93a1d7a60de147a61f0e343a6d8069ceb2a30ded)

 libqcdm/src/meson.build   | 6 +-----
 libqcdm/tests/meson.build | 7 +------
 2 files changed, 2 insertions(+), 11 deletions(-)

commit d22c2c90b8d633ecf9fa4ec332f16df4111d5591
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Thu Sep 9 00:04:54 2021 +0200

    build,meson: Make use of feature option for introspection

    (cherry picked from commit fe53de8bdddb9c86e5b341811872a19e16225838)

 meson.build | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

commit 3828db5ab149feb0c5a62a2d96ccf1a65dd17d04
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Wed Sep 8 23:50:20 2021 +0200

    build,meson: Remove unnecessary variables

    (cherry picked from commit 190bf5b3510d055d30c358427bcbcf2ee573442b)

 meson.build | 3 ---
 1 file changed, 3 deletions(-)

commit bff8fd5684d83d5bb2af78af82aa30af9fa677a0
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Wed Sep 8 14:42:08 2021 +0200

    build,meson: Improve plugins option set

    Improved the way the plugins are set to allow a smaller summary.

    (cherry picked from commit 09a5052a777c858b83baf9444306775ed5c50300)

 meson.build         | 164
 ++++++++++++++++++++--------------------------------
 plugins/meson.build |  92 ++++++++++++++---------------
 2 files changed, 109 insertions(+), 147 deletions(-)

commit f13b544e00d5280d45f46ec6f90aa47a9ba38ba0
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Wed Sep 8 13:51:08 2021 +0200

    build,meson: Make use of the summary function

    Since meson 0.53 it has added a new function to summarize the build
    configuration[0].

    We changed the summary to make use of it.

    [0]
    https://mesonbuild.com/Release-notes-for-0-53-0.html#add-a-new-summary-function

    (cherry picked from commit e075512fc1b7b0a0eb75975e0d6f02973f2daed7)

 meson.build | 159
 ++++++++++++++++++++++++++++++++----------------------------
 1 file changed, 84 insertions(+), 75 deletions(-)

commit cb14070d65b5873a3e3b82b0c67819a5cd3500f3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 10 10:36:19 2021 +0200

    core: remove execution bit from file modes in source files

    (cherry picked from commit 15671dc137d9644795e35cb1ea986bfeb2b4f79c)

 src/mm-broadband-modem-mbim.c | 0
 src/mm-sim-mbim.c             | 0
 src/mm-sim-mbim.h             | 0
 3 files changed, 0 insertions(+), 0 deletions(-)

commit 2deeef477b7eb7644644ff89612ce918022bb413
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 9 11:23:20 2021 +0200

    build: post-release version bump to 1.18.1

 configure.ac | 2 +-
 meson.build  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 4ccbfcd0167b5e6134eba5da34c33b8b0b5b1619
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 8 11:56:38 2021 +0200

    release: bump to 1.18.0

 configure.ac | 8 ++++----
 meson.build  | 6 +++---
 2 files changed, 7 insertions(+), 7 deletions(-)

commit ddaa4967a0dfc781044ece179a66aeef89f619e7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 8 11:54:37 2021 +0200

    NEWS: update for 1.18 with changes since rc1

 NEWS | 25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

commit 64f18f036bda8b47f5224e79b7a922de3fcafde9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 8 11:46:55 2021 +0200

    build: require libqmi 1.30.2

    We need the new "Get All Call Info" request support.

 NEWS         | 2 +-
 configure.ac | 2 +-
 meson.build  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit 2e44a5921b8b25e1ba6be391de5df2eeb846cd8e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 8 11:37:46 2021 +0200

    build,meson: add sms-c examples to build

 examples/sms-c/meson.build | 16 ++++++++++++++++
 meson.build                |  2 ++
 2 files changed, 18 insertions(+)

commit 86421f06bd28fb9613f3995984d798827174fb25
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 30 15:42:51 2021 +0200

    examples: new SMS sending example in C using the async API

 .gitignore                   |   3 +-
 examples/sms-c/Makefile.am   |  26 +++++-
 examples/sms-c/sms-c-async.c | 197
 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 224 insertions(+), 2 deletions(-)

commit ccc7989324aec454cc0267cd133638569d28061b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 30 14:56:58 2021 +0200

    examples: new SMS sending example in C using the sync API

 .gitignore                  |   4 +-
 configure.ac                |   1 +
 examples/Makefile.am        |   8 ++-
 examples/sms-c/Makefile.am  |  25 ++++++++
 examples/sms-c/sms-c-sync.c | 143
 ++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 179 insertions(+), 2 deletions(-)

commit 34e671f41cf9bb964b92ca555c71bcaa15c90893
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 8 10:26:04 2021 +0200

    broadband-modem-qmi: don't error out on empty call list

    Only error out if the required TLVs are missing.

 src/mm-broadband-modem-qmi.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit f2901446e0ef1f82c8ae27edc69d681a2a542957
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 8 10:14:26 2021 +0200

    iface-modem-voice: avoid warning with -Wincompatible-pointer-types

      ../src/mm-iface-modem-voice.c: In function
      ‘mm_iface_modem_voice_reload_all_calls’:
      ../src/mm-iface-modem-voice.c:2549:64: warning:
      passing argument 2 of ‘((MMIfaceModemVoice
      *)g_type_interface_peek((void *)((GTypeInstance *)self)->g_class,
      mm_iface_modem_voice_get_type()))->load_call_list’ from
      incompatible pointer type [-Wincompatible-pointer-types]
       2549 |
       reload_all_calls_ready,
            |
            ^~~~~~~~~~~~~~~~~~~~~~
            |
            |
            |
            void (*)(MMIfaceModemVoice *, GAsyncResult *, GTask *) {aka
            void (*)(struct _MMIfaceModemVoice *, struct _GAsyncResult *,
            struct _GTask *)}
      ../src/mm-iface-modem-voice.c:2549:64: note: expected
      ‘GAsyncReadyCallback’ {aka ‘void (*)(struct _GObject *,
      struct _GAsyncResult *, void *)’} but argument is of type ‘void
      (*)(MMIfaceModemVoice *, GAsyncResult *, GTask *)’ {aka ‘void
      (*)(struct _MMIfaceModemVoice *, struct _GAsyncResult *, struct
      _GTask *)’}

 src/mm-iface-modem-voice.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 03b75c85d0a4abe8c1595d9b23d3ae4cb320e2d8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 8 10:12:20 2021 +0200

    broadband-modem-qmi: refactor process_get_all_call_info() to avoid
    handling the GTask

    The process_get_all_call_info() was not completing the input GTask on
    every possible code path (e.g. when remote party number or call info
    wasn't available).

    The method is now updated to avoid processing the GTask itself,
    instead it will attempt to build the call list and return a GError on
    any kind of failure.

 src/mm-broadband-modem-qmi.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

commit 15d66197b369384c72675b71ce83758289a87dc4
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sun Aug 15 16:53:18 2021 +0200

    mm-broadband-modem-qmi: add AT URCs fall back for calls

    Enable AT URCs for calls on top of QMI Voice indications
    for AT+QMI devices only. Some AT+QMI devices send unreliable
    QMI indications when the host is resuming. In such cases,
    AT URCs can be used as a fall back to make calls reliable.

    While AT+QMI devices relied before on AT commands to load
    call list information and handle AT URCs for async updates,
    this is now handled through QMI by forcefully reloading the
    call list instead of processing the AT URCs.
    This approach is disabled by default through the
    MM_IFACE_MODEM_VOICE_INDICATION_CALL_LIST_RELOAD_ENABLED property.
    This property is set to true in case of QMI modems.

 src/mm-broadband-modem-qmi.c | 233
 ++++++++++++++++++++++++++++++++++++++++++-
 src/mm-broadband-modem.c     |  57 +++++++++++
 src/mm-iface-modem-voice.c   |  56 +++++++++++
 src/mm-iface-modem-voice.h   |  15 ++-
 4 files changed, 356 insertions(+), 5 deletions(-)

commit 92ad38432c2a14d1ac310b58fde7d9336a45aff9
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Tue Aug 31 17:01:45 2021 +0200

    mm-modem-helpers: only parse calls in voice mode

    Calls in a CLCC response in data-only or fax-only mode
    do not count as actuall calls.

 src/mm-modem-helpers.c         | 23 +++++++++++++++++++++++
 src/tests/test-modem-helpers.c | 26 ++++++++++++++++++++++++++
 2 files changed, 49 insertions(+)

commit 97d15c49a3c74ff5b006f1f59dfae9d76a955d20
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 7 11:36:05 2021 +0200

    build,meson: add missing Call object support in introspection

 libmm-glib/generated/meson.build | 18 ++++++------------
 libmm-glib/meson.build           |  4 +---
 2 files changed, 7 insertions(+), 15 deletions(-)

commit b72069395ba53c8a3f45b357c257a7416e6e2179
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 7 11:29:26 2021 +0200

    build,autotools: add missing Call object support in introspection

 libmm-glib/Makefile.am | 2 ++
 1 file changed, 2 insertions(+)

commit 145bbb40102f5d44db2877b7379f08a0993c7b57
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 7 11:24:16 2021 +0200

    test,lsudev: add attribute format to println()

      ../test/lsudev.c: In function ‘println’:
      ../test/lsudev.c:68:5: warning: function ‘println’
      might be a candidate for ‘gnu_printf’ format attribute
      [-Wsuggest-attribute=format]
         68 |     g_string_append_vprintf (output, fmt, args);
            |     ^~~~~~~~~~~~~~~~~~~~~~~

 test/lsudev.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit ba5ad78ed981c873592ac529978f4c77a7e6ee1a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 7 11:17:57 2021 +0200

    libmm-glib,location-3gpp: remove unused variable

      ../libmm-glib/mm-location-3gpp.c: In function
      ‘mm_location_3gpp_new_from_string_variant’:
      ../libmm-glib/mm-location-3gpp.c:400:16: warning: unused variable
      ‘operator_code’ [-Wunused-variable]
        400 |         gchar *operator_code;
            |                ^~~~~~~~~~~~~

 libmm-glib/mm-location-3gpp.c | 1 -
 1 file changed, 1 deletion(-)

commit f8bf6673dbff37156447c0f6d072da784031b11c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 7 11:16:29 2021 +0200

    libmm-glib,3gpp-profile: fix profile comparison logic

    Conveniently warned by the compiler...

      ../libmm-glib/mm-3gpp-profile.c: In function
      ‘mm_3gpp_profile_cmp’:
      ../libmm-glib/mm-3gpp-profile.c:98:1: warning: control reaches
      end of non-void function [-Wreturn-type]
         98 | }
            | ^

 libmm-glib/mm-3gpp-profile.c | 2 ++
 1 file changed, 2 insertions(+)

commit 12ada441567a48f0aacf4c0d3d42e46fbf956917
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 7 11:14:32 2021 +0200

    libmm-glib,simple-status: avoid shadowing 'properties' variable

      ../libmm-glib/mm-simple-status.c: In function
      ‘mm_simple_status_new_from_dictionary’:
      ../libmm-glib/mm-simple-status.c:426:21: warning: declaration of
      ‘properties’ shadows a global declaration [-Wshadow]
        426 |     MMSimpleStatus *properties;
            |                     ^~~~~~~~~~
      ../libmm-glib/mm-simple-status.c:55:20: note: shadowed declaration
      is here
         55 | static GParamSpec *properties[PROP_LAST];
            |                    ^~~~~~~~~~

 libmm-glib/mm-simple-status.c | 30 ++++++++++++++----------------
 1 file changed, 14 insertions(+), 16 deletions(-)

commit 93a0476b4d401117b879ee78236eb06ccb8b5813
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 7 11:11:01 2021 +0200

    libmm-glib,manager: fix warning with -Wdiscarded-qualifiers

      In file included from /usr/include/glib-2.0/glib.h:50,
                       from ../libmm-glib/mm-common-helpers.h:18,
                       from ../libmm-glib/mm-manager.c:27:
      /usr/include/glib-2.0/glib/ghash.h:68:61: note: expected
      ‘gpointer’ {aka ‘void *’} but argument is of type ‘const
      char *’
         68 |                                             gpointer
         key,
            |
            ~~~~~~~~~~~~~~~~^~~
      ../libmm-glib/mm-manager.c:81:43: warning: passing argument 2
      of ‘g_hash_table_insert’ discards ‘const’ qualifier from
      pointer target type [-Wdiscarded-qualifiers]
         81 |         g_hash_table_insert (lookup_hash,
         "org.freedesktop.ModemManager1.Modem.Simple",
         GSIZE_TO_POINTER (MM_TYPE_MODEM_SIMPLE));
            |
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /usr/include/glib-2.0/glib.h:50,
                       from ../libmm-glib/mm-common-helpers.h:18,
                       from ../libmm-glib/mm-manager.c:27:

 libmm-glib/mm-manager.c | 27 +++++++++++++--------------
 1 file changed, 13 insertions(+), 14 deletions(-)

commit 5fc5c8ba18e620a251888f19f797e8a7380a809f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 7 11:04:30 2021 +0200

    build,meson: fix wrong install of simtech port types on thuraya plugin

 plugins/meson.build | 2 --
 1 file changed, 2 deletions(-)

commit 7060962c0a75c8abb7f525f06d71b780f98f4b28
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 7 10:57:10 2021 +0200

    build,meson: ignore warnings for missing field initializers

    We would usually explicitly skip initializing fields that are going to
    be zero-ed anyway.

 meson.build | 2 ++
 1 file changed, 2 insertions(+)

commit 2c8cab3670b6dfe4591ac0a4dbb3c9e30ed33356
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 7 10:46:08 2021 +0200

    build,meson: disable float comparison warnings

    We have several symbols defined as floating point numbers that
    identify "unknown" values, e.g. MM_LOCATION_LONGITUDE_UNKNOWN. We want
    to be able to compare with those values directly, even if they're
    floats.

 meson.build | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 2bb699fc96e80bc2f98d88369718d2b768a53c8f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 31 14:38:20 2021 +0200

    meson: introspection support enabled by default

 meson.build       | 5 ++++-
 meson_options.txt | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

commit 77d1c243614d385027ca11f75aa5d688b01c2969
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Thu Jul 29 23:27:11 2021 +0200

    build: Port to meson

    meson is a build system focused on speed an ease of use, which
    helps speeding up the software development. This patch adds meson
    support along autotools.

 build-aux/mm-daemon-enums-types.c.template |   1 +
 build-aux/mm-daemon-enums-types.h.template |   1 +
 build-aux/mm-helper-enums-types.c.template |   1 +
 build-aux/mm-helper-enums-types.h.template |   1 +
 build-aux/mm-huawei-enums-types.c.template |   1 +
 build-aux/mm-huawei-enums-types.h.template |   1 +
 build-aux/mm-port-enums-types.c.template   |   1 +
 build-aux/mm-port-enums-types.h.template   |   1 +
 build-aux/mm-telit-enums-types.c.template  |   1 +
 build-aux/mm-telit-enums-types.h.template  |   1 +
 build-aux/mm-ublox-enums-types.c.template  |   1 +
 build-aux/mm-ublox-enums-types.h.template  |   1 +
 cli/meson.build                            |  47 ++
 data/meson.build                           |  74 +++
 docs/man/meson.build                       |   9 +
 docs/reference/api/meson.build             |  57 ++
 docs/reference/libmm-glib/meson.build      |  52 ++
 include/meson.build                        |  41 ++
 introspection/meson.build                  |  35 +
 libmm-glib/generated/meson.build           | 135 ++++
 libmm-glib/generated/tests/meson.build     |  26 +
 libmm-glib/meson.build                     | 179 ++++++
 libmm-glib/tests/meson.build               |  21 +
 libqcdm/src/meson.build                    |  33 +
 libqcdm/tests/meson.build                  |  42 ++
 meson.build                                | 445 +++++++++++++
 meson_options.txt                          |  99 +++
 plugins/meson.build                        | 989
 +++++++++++++++++++++++++++++
 plugins/symbol.map                         |   8 +
 po/meson.build                             |   4 +
 src/meson.build                            | 319 ++++++++++
 src/tests/meson.build                      |  38 ++
 test/meson.build                           |  22 +
 tools/tests/meson.build                    |  30 +
 tools/tests/services/meson.build           |   8 +
 35 files changed, 2725 insertions(+)

commit fa19b2b9b1412d3eeb515afe41c55ac414acc982
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date:   Thu Aug 26 17:02:10 2021 +0300

    cli, location: Fix multi-sentence NMEA message output

    Multi-sentence NMEA messages were printed as is, that is with
    linebreaks, which made mmcli --location-get output look broken.

    Split NMEA sentences with linebreaks to separate output list items, so
    that they line up correctly.

 cli/mmcli-modem-location.c |  2 +-
 cli/mmcli-output.c         | 36 ++++++++++++++++++++++++++++++++++++
 cli/mmcli-output.h         |  2 ++
 3 files changed, 39 insertions(+), 1 deletion(-)

commit 7177eeea990f92dacebb967a5d418f3a372e5951
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 31 15:30:59 2021 +0200

    build: use WITH_QRTR exclusively to check for QRTR support

    The user may request to disable QRTR support using `--without-qrtr`
    even if libqmi has QRTR support.

 src/mm-base-modem.c | 2 +-
 src/mm-port-qmi.h   | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

commit d6dafe5cb4096cb2d664d3b6dcfcd7bd2269d79e
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date:   Tue Aug 24 18:33:51 2021 +0300

    location-gps-nmea: Fix handling of multi-sentence NMEA messages

    Fixes the regexp in check_append_or_replace() to accept

     1. more multi-sentence NMEA messages (ALM, GSV, RTE, SFI)
     2. multi-sentence NMEA messages from all talkers, not just GPS
        (i.e. GPGSV, GLGSV, GAGSV etc.)

 libmm-glib/mm-location-gps-nmea.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5af93dbfeeb7336934f9713243ebf0ec28c2fd32
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Fri Aug 27 09:42:15 2021 -0700

    broadband-modem-mbim: Fix password on initial EPS bearer settings

    Currently, we are sending the username twice instead of username and
    password. Fix the password value.

 src/mm-broadband-modem-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a20f2c052329a0d32ea3fee08e13d92b951f84fc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 10 00:01:01 2021 +0200

    AUTHORS: update for 1.18.0

 AUTHORS | 62
 +++++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 51 insertions(+), 11 deletions(-)

commit a41d6f6b15e7d8ac3702f84a816d6af22e243f1e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 9 23:52:36 2021 +0200

    NEWS: fix required libmbim version in 1.18

 NEWS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c04b43a67e0d4260ba62d45dd41578aae86b4106
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 9 23:04:05 2021 +0200

    build: bump version to 1.17.900 (1.18-rc1)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2a59ba7b1a95e03c2c3ad70110c550069e4e6e7e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 9 22:46:34 2021 +0200

    NEWS: update for 1.18.0

 NEWS | 200
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 200 insertions(+)

commit 686e37ff84daca6096fe18781ad9ba6f29cd4063
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 9 23:02:13 2021 +0200

    api: remove Modem.Sar interface

    There is no real implementation for it yet, so let's recover these
    changes once 1.18 has been released.

 docs/reference/api/Makefile.am                     |   1 -
 docs/reference/api/ModemManager-dbus-reference.xml |   1 -
 docs/reference/libmm-glib/libmm-glib-docs.xml      |   4 -
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  74 ---------------
 introspection/Makefile.am                          |   1 -
 introspection/all.xml                              |   1 -
 .../org.freedesktop.ModemManager1.Modem.Sar.xml    | 102
 ---------------------
 libmm-glib/generated/Makefile.am                   |   3 -
 8 files changed, 187 deletions(-)

commit 30e94927e797e0fd2f51b913f7e17cce10d102e6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 9 22:47:11 2021 +0200

    build: require libqmi 1.30.0

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 55fd225be8896619cb450af72ab48e451e38e3e5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 9 22:47:02 2021 +0200

    build: require libmbim 1.26.0

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 965c43fec7b5ca25483b1d73f0bdec339636f996
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 31 23:45:26 2021 +0200

    port-qmi: limit MTU to max RMNET packet size

    The maximum MTU that the master interface can support should be less
    or equal than RMNET_MAX_PACKET_SIZE, as defined in the
    `rmnet_private.h` file in the linux sources (not a public header).

    Only applicable to RMNET link management (i.e. not to qmi_wwan
    add_mux/del_mux).

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/issues/71

 src/mm-port-qmi.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit 5adc469701abc6b08432cb0f59294cb52755354b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 6 09:20:53 2021 +0200

    port-qmi: only consider port setup not needed if data modes match

    When not requesting multiplexing support, only assume we don't need
    any additional setup if multiplexing is disabled AND if the data modes
    match between kernel and device.

    This fixes the connection setup in MSM8916 (rpmsg+bam/dmux).

 src/mm-port-qmi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 185e492c0a0e633ed92f8ffdb1c426d0e4300ae1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 29 00:07:27 2021 +0200

    core: new '--test-multiplex-requested' option

    The new option will change the default setting in MBIM and QMI bearers
    to "request" when no explicit "multiplex" configuration is given by
    the user.

    This option will help test the multiplexing support in the modems
    before it's made a default in a future release.

 src/mm-bearer-mbim.c |  9 +++++++--
 src/mm-bearer-qmi.c  |  5 ++++-
 src/mm-context.c     | 13 +++++++++++++
 src/mm-context.h     |  3 ++-
 4 files changed, 26 insertions(+), 4 deletions(-)

commit c49f3f5f46e6f1a27108e9826c32af776ec111f9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 28 23:55:04 2021 +0200

    bearer-qmi: don't enable multiplexing by default unless in IPA

    The next 1.18 release will have multiplexing support, but not enabled
    by default, to avoid breaking setups that don't expect the new virtual
    net interfaces for the multiplexed sessions.

    The exception is Qualcomm SoCs using the IPA driver, where
    multiplexing is fully required.

 src/mm-bearer-qmi.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

commit 062851423945126bb3b419571bbcf8996b086cde
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 28 23:47:41 2021 +0200

    bearer-mbim: don't enable multiplexing by default

    The next 1.18 release will have multiplexing support, but not enabled
    by default, to avoid breaking setups that don't expect the new virtual
    net interfaces for the multiplexed sessions.

 src/mm-bearer-mbim.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 168ec6ba096809ceae8d7b58e875aeba88eb5d1e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 28 23:46:33 2021 +0200

    broadband-bearer: default to 'none' if no multiplexing config provided

 src/mm-broadband-bearer.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 8d019a399ca8dd29f959477e2be36b252497a90b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 28 23:42:56 2021 +0200

    base-bearer: remove default multiplex support symbol

    Using "requested" as a common default for every possible
    implementation works, because it can handle setups without
    multiplexing capabilities (e.g. plain AT+PPP modems) and also setups
    without non-multiplexing capabilities (e.g. IPA based SoCs).

    But if we don't want "requested" as default, then there will be
    failing cases; e.g. we cannot use "none" as default for all as it
    would break IPA, and we cannot use "required" as default for all as it
    would break AT+PPP setups.

    So, remove the common default, it's not flexible enough.

 src/mm-base-bearer.h      | 5 -----
 src/mm-bearer-mbim.c      | 4 ++--
 src/mm-bearer-qmi.c       | 4 ++--
 src/mm-broadband-bearer.c | 4 ++--
 4 files changed, 6 insertions(+), 11 deletions(-)

commit 4a07ab39f14d3879c9168e5d7da3b8a0a32bfb61
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 22 13:18:57 2021 +0200

    broadband-modem-qmi: fix max bearers computation in IPA based setups

    In IPA based setups, there are only multiplexed bearers supported,
    there is no way to not enable multiplexing.

    We change the logic that computes the maximum number of multiplexed
    and non-multiplexed bearers, so that we check which are the current
    kernel data modes before computing them.

 src/mm-broadband-modem-qmi.c | 37 ++++++++++++++++++++++++-------------
 1 file changed, 24 insertions(+), 13 deletions(-)

commit 04dba846c9659f7066d44acd6ecddbe76b2fc880
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 22 13:18:29 2021 +0200

    bearer-list: if non-multiplexing not supported, 0 max non-multiplexed
    bearers

 src/mm-bearer-list.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 9d2782cc5a7f63f88e8909abc7246e0cc853f059
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 22 13:03:40 2021 +0200

    bearer-list: if multiplexing not supported, 0 max multiplexed bearers

    Fixes warnings on AT+PPP based devices:

       ModemManager[602870]: <debug> [1626948725.168355] [modem0]
       allowed up to 1 active bearers

       (ModemManager:602870): GLib-GObject-WARNING **: 12:12:05.185:
       value "0" of type 'guint' is invalid or out of range for property
       'max-active-multiplexed-bearers' of type 'guint'

 src/mm-bearer-list.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit f72046701659073fbfa97516e155865647acb154
Author: Freedom Liu <tianyu28658@gmail.com>
Date:   Mon Aug 9 15:45:59 2021 +0800

    foxconn: add T99W175 carrier mapping table

 plugins/Makefile.am                                |   8 +-
 plugins/foxconn/mm-broadband-modem-mbim-foxconn.c  |  12 +-
 .../mm-foxconn-t99w175-carrier-mapping.conf        | 344
 +++++++++++++++++++++
 plugins/tests/test-keyfiles.c                      |   7 +
 4 files changed, 368 insertions(+), 3 deletions(-)

commit 10521ce248bf29cd37c3db4a41b865bd1e6de7ae
Author: Freedom Liu <tianyu28658@gmail.com>
Date:   Mon Aug 9 15:40:03 2021 +0800

    foxconn: update T77W968 carrier mapping table

 .../foxconn/mm-foxconn-t77w968-carrier-mapping.conf    | 18
 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit 33e2b023ef01bea9da37ae2beb192f7d92bce47a
Author: Freedom Liu <tianyu28658@gmail.com>
Date:   Wed Aug 4 15:45:49 2021 +0800

    foxconn: Rename carrier-mapping to t77w968-carrier-mapping

 plugins/Makefile.am                                                 |
 4 ++--
 plugins/foxconn/mm-broadband-modem-mbim-foxconn.c                   |
 2 +-
 ...carrier-mapping.conf => mm-foxconn-t77w968-carrier-mapping.conf} | 0
 plugins/tests/test-keyfiles.c                                       |
 6 +++---
 4 files changed, 6 insertions(+), 6 deletions(-)

commit 180bd633810d7107b9041441dc768bda72c83c72
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 6 10:18:46 2021 +0200

    ci: switch to build libqrtr-glib from git using meson

 .gitlab-ci.yml | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

commit 7eb6495c485e107b5867840c8e89ac6504cbb7c1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 6 10:15:01 2021 +0200

    ci: switch to build libqmi from git using meson

 .gitlab-ci.yml | 35 +++++++++++++++--------------------
 1 file changed, 15 insertions(+), 20 deletions(-)

commit b77c15f8b54c061b3429b762a5e8aaafe274e8b2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 4 11:17:54 2021 +0200

    broadband-modem-mbim: minor rework in SIM event related comments

 src/mm-broadband-modem-mbim.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit bcf5f2bc8b1e5ed2f2ef5fed083f80ea6f05a996
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 4 11:12:59 2021 +0200

    broadband-modem-mbim: also report as available not fully ready SIMs

    If a SIM card is not fully ready or in a failed state in the
    non-active slot, we should still report them as available.

 src/mm-broadband-modem-mbim.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 3004e99fcb0ea396b25c31aacaac0b377996f689
Author: ZhangMingjie <superzmj@fibocom.com>
Date:   Mon Jul 26 20:10:45 2021 +0800

    broadband-modem-mbim: deal with the slot info status notification
    event for DSSA

 src/mm-broadband-modem-mbim.c | 93
 +++++++++++++++++++++++++++++++++++++++----
 1 file changed, 85 insertions(+), 8 deletions(-)

commit 9e5e699227f43e3dd64933dc96508b88b1a76bba
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Tue Aug 3 18:05:18 2021 +0200

    kernel-device-generic: Fix ptr_array_add_sysfs_attribute_link_basename

    A pointer can not be used anymore after its ownership has been
    transfered
    using the g_steal_pointer function (pointer is nullified).

    In this function, g_steal_pointer() is used when inserting 'value'
    inside
    the array but can also be subsequently used when dumping 'value' to
    'out_value' via g_strdup().

    Fix that with simple reordering.

    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>

 src/kerneldevice/mm-kernel-device-generic.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit b91bf1e3a648080b00d6a2fde2b5798a658027eb
Author: Joel Selvaraj <jo@jsfamily.in>
Date:   Sun Jul 18 10:13:25 2021 +0530

    modem-qmi: implement multiparty functionalities

    The following functionalities are implemented:
    1. Hold all and accept
    2. Hangup all and accept
    3. Hangup all
    4. Join multiparty
    5. Leave multiparty
    6. Call transfer

 src/mm-broadband-modem-qmi.c | 246
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 246 insertions(+)

commit 691cb9b694a109fd917754f99bc94d4e86a9a157
Author: Joel Selvaraj <jo@jsfamily.in>
Date:   Sun Jul 18 09:33:46 2021 +0530

    modem-qmi: implement call waiting setup and query

 src/mm-broadband-modem-qmi.c | 168
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 168 insertions(+)

commit 1894dd77679b2a24abce08c72f3da54d1332ba2d
Author: Joel Selvaraj <jo@jsfamily.in>
Date:   Sun Jul 18 03:12:12 2021 +0530

    modem-qmi: implement setup in call unsolicited events

    Handle supplementary service notification indication.
    Useful to know when existing call is on hold, unheld and waiting.

 src/mm-broadband-modem-qmi.c | 124
 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 123 insertions(+), 1 deletion(-)

commit 82054410e2f1668e9418616c24f35a5b3c6826fe
Author: Joel Selvaraj <jo@jsfamily.in>
Date:   Sun Jul 18 02:07:04 2021 +0530

    call-list: allow getting call object by index

 src/mm-call-list.c | 20 ++++++++++++++++++++
 src/mm-call-list.h |  3 +++
 2 files changed, 23 insertions(+)

commit 99ba7ee266965c1986b63a1083deaac23b220c33
Author: Joel Selvaraj <jo@jsfamily.in>
Date:   Mon Jul 26 15:10:34 2021 +0530

    build: bump libqmi requirement to support voice supplementary services

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0610267fa812d3a8c2c4777a06f0f5c7f4345ac6
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Mon Aug 2 12:42:13 2021 +0300

    test,modem-helpers: add test case of AT+CPOL? response parsing

 src/tests/test-modem-helpers.c | 78
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

commit 948099bff0b2add3b788da48e89dbb0bb406db93
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Mon Aug 2 12:39:38 2021 +0300

    modem-helpers: allow unquoted operator code in AT+CPOL? response

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/409

 src/mm-modem-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f9d2168c523716a306da5f8a13e13732a6fae6ca
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 1 14:37:17 2021 +0200

    telit: disable +CPOL based features in the LN930

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/414

 plugins/telit/77-mm-telit-port-types.rules | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

commit 999df00d58df4ea088e19ea9f9dd73a8bb077fb5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 30 16:43:08 2021 +0200

    fibocom: fix QMI device allowance

    E.g. for a FM150:

       [1627656003.230873] [cdc-wdm0] port contents loaded:
       [1627656003.231069] [cdc-wdm0]   bus: usb
       [1627656003.231179] [cdc-wdm0]   interface:
       /sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.4/1-11.4.4:1.4
       [1627656003.231272] [cdc-wdm0]   device:
       /sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.4
       [1627656003.231364] [cdc-wdm0]   driver: qmi_wwan
       [1627656003.231450] [cdc-wdm0]   vendor: 2cb7
       [1627656003.231536] [cdc-wdm0]   product: 0104
       [1627656003.231626] [cdc-wdm0]   revision: 0414
       [1627656003.231722] [base-manager]
       adding port cdc-wdm0 at sysfs path:
       /sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.4/1-11.4.4:1.4/usbmisc/cdc-wdm0
       ...
       [1627656004.333874] [plugin/fibocom] port cdc-wdm0 filtered by
       implicit QMI driver

 plugins/fibocom/mm-plugin-fibocom.c | 1 +
 1 file changed, 1 insertion(+)

commit c4130dcf8307fb13b4f6e87fd468bde9c89f37bb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 29 16:59:52 2021 +0200

    huawei: disable CPOL based features in the R215

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/411

 plugins/huawei/77-mm-huawei-net-port-types.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 13d82c1de205e9eaafc21c17858ff6ed03543b03
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 29 16:57:30 2021 +0200

    huawei: ignore ^LWURC URCs

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/412

 plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit b0248e471ced05dfd5fa1cebe732722d10738add
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Fri Jul 30 15:34:17 2021 +0200

    kernel-device: generic: Support ATTR condition

    Only the plural ATTRS form was checked but we also need to support
    the single ATTR for matching device's attribute only.

    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>

 src/kerneldevice/mm-kernel-device-generic.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 7c4db66eb34eebecc6b17fe86375e081b49bff00
Author: Iñigo Martínez <inigomartinez@gmail.com>
Date:   Thu Jul 29 23:45:52 2021 +0200

    build: Rename template files

    The template files in the `build-aux` directory used in enums sources
    and headers generation use the `{$name}-template.[ch]` pattern.
    However, the examples in the official guide[0] and usually GNOME and
    Freedesktop packages use the `{$name}.[ch].template` pattern.

    Due to this, the name of the template files and build commands have
    been changed.

    [0] https://developer.gnome.org/gobject/stable/glib-mkenums.html

 build-aux/Makefile.am                              | 10 ++++-----
 ...-enums-template.c => mm-enums-types.c.template} |  0
 ...-enums-template.h => mm-enums-types.h.template} |  0
 ...arks-template.c => mm-errors-quarks.c.template} |  0
 ...rrors-template.c => mm-errors-types.c.template} |  0
 ...rrors-template.h => mm-errors-types.h.template} |  0
 libmm-glib/generated/Makefile.am                   | 20
 +++++++++---------
 plugins/Makefile.am                                | 24
 +++++++++++-----------
 src/Makefile.am                                    | 24
 +++++++++++-----------
 9 files changed, 39 insertions(+), 39 deletions(-)

commit b935782010edabff0b37a4256235e63bc6f946ec
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 29 12:54:21 2021 +0200

    cinterion: increase ^SCFG? timeout to 120s

    The timeout in this command is extremely large, because there are some
    modules like the EGS5 that build the response based on the current
    network registration, and that implies the module needs to be
    registered. If for any reason there is no serving network where to
    register, the response comes after a very long time, up to 100s.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/408

 plugins/cinterion/mm-broadband-modem-cinterion.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 2590c4f0d71a1c4e68d550ef0f68091951af8606
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 28 15:04:41 2021 +0200

    ci: switch to build libmbim from git using meson

 .gitlab-ci.yml | 27 ++++++++++++---------------
 1 file changed, 12 insertions(+), 15 deletions(-)

commit 15f53851c82f05a1456fd5adba5aec765236d0bc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 27 15:51:10 2021 +0200

    port-mbim: increase timeout of first command after port open

    The port open operation may be happening very early after the device
    has booted, so let's give the module some more time to reply the very
    first MBIM query we do. The original 10s seems to be a bit tight in
    some cases.

    See
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/405#note_1006746

 src/mm-port-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit bcf11c0e50e4d37334777a1d34b950dc10af5b76
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 22 16:43:39 2021 +0200

    port-qmi: open without data format explicitly if requested by user

    Regardless of whether WDA is supported or not.

 src/mm-port-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ee0f473233f3836e2b8c28bc35b41c2ac0806722
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 22 16:29:35 2021 +0200

    port-qmi: early check if WDA is supported

    We should check if WDA is supported before running any other logic
    that may change the state of the kernel or the modem. E.g. if we don't
    do this as the first step, the loading of the supported kernel data
    modes may end up changing the expected kernel data mode to raw-ip.

 src/mm-port-qmi.c | 80
 ++++++++++++++++++++++++++-----------------------------
 1 file changed, 38 insertions(+), 42 deletions(-)

commit ae09baf61b208bb155ace947b128abefb00b8e4d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 22 16:06:01 2021 +0200

    port-qmi: cleanly close device if an open operation failed

       ModemManager[703345]: <debug> [1626962477.971869] [modem0] couldn't
       open QMI port with data format update: Unexpected kernel data mode:
       cannot setup using CTL
       ModemManager[703345]: <debug> [1626962477.972197] [cdc-wdm0/qmi]
       Opening QMI device...
       ModemManager[703345]: <debug> [1626962477.972310] [cdc-wdm0/qmi]
       Checking if QMI device already opening...
       ModemManager[703345]: <warn>  [1626962477.975182] [modem0] couldn't
       start initialization: QMI device open/close operation in progress

 src/mm-port-qmi.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 9be34affe25d317c4391be38d2a1887ac785d76a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 22 15:59:18 2021 +0200

    port-qmi: support devices that only run in 802.3 mode

    E.g. the ZTE MF190 has a very old QMI firmware that is not able to run
    CTL Set Data Format (raw-ip).

       ModemManager[666366]: [/dev/cdc-wdm0] QMI Device supports
       4 services:
       ModemManager[666366]: [/dev/cdc-wdm0]    ctl (1.2)
       ModemManager[666366]: [/dev/cdc-wdm0]    wds (1.3)
       ModemManager[666366]: [/dev/cdc-wdm0]    dms (1.2)
       ModemManager[666366]: [/dev/cdc-wdm0]    nas (1.0)
       ModemManager[666366]: [/dev/cdc-wdm0] Setting network port data
       format...
       ModemManager[666366]: [/dev/cdc-wdm0] Sent message...
       <<<<<< RAW:
       <<<<<<   length = 21
       <<<<<<   data   =
       01:14:00:00:00:00:00:03:26:00:09:00:10:02:00:02:00:01:01:00:00
       ModemManager[666366]: [/dev/cdc-wdm0] Sent generic request
       (translated)...
       <<<<<< QMUX:
       <<<<<<   length  = 20
       <<<<<<   flags   = 0x00
       <<<<<<   service = "ctl"
       <<<<<<   client  = 0
       <<<<<< QMI:
       <<<<<<   flags       = "none"
       <<<<<<   transaction = 3
       <<<<<<   tlv_length  = 9
       <<<<<<   message     = "Set Data Format" (0x0026)
       <<<<<< TLV:
       <<<<<<   type       = "Protocol" (0x10)
       <<<<<<   length     = 2
       <<<<<<   value      = 02:00
       <<<<<<   translated = raw-ip
       <<<<<< TLV:
       <<<<<<   type       = "Format" (0x01)
       <<<<<<   length     = 1
       <<<<<<   value      = 00
       <<<<<<   translated = absent
       ModemManager[666366]: [/dev/cdc-wdm0] Received message...
       <<<<<< RAW:
       <<<<<<   length = 19
       <<<<<<   data   =
       01:12:00:80:00:00:01:03:26:00:07:00:02:04:00:01:00:2D:00
       ModemManager[666366]: [/dev/cdc-wdm0] Received generic response
       (translated)...
       <<<<<< QMUX:
       <<<<<<   length  = 18
       <<<<<<   flags   = 0x80
       <<<<<<   service = "ctl"
       <<<<<<   client  = 0
       <<<<<< QMI:
       <<<<<<   flags       = "response"
       <<<<<<   transaction = 3
       <<<<<<   tlv_length  = 7
       <<<<<<   message     = "Set Data Format" (0x0026)
       <<<<<< TLV:
       <<<<<<   type       = "Result" (0x02)
       <<<<<<   length     = 4
       <<<<<<   value      = 01:00:2D:00
       <<<<<<   translated = FAILURE: InvalidDataFormat
       ModemManager[666366]: <debug> [1626961628.001354] [cdc-wdm0/qmi]
       QMI port open operation failed: QMI protocol error (45):
       'InvalidDataFormat'
       ModemManager[666366]: <warn>  [1626961628.002563] [modem0] couldn't
       start initialization: QMI protocol error (45): 'InvalidDataFormat'
       ModemManager[666366]: <warn>  [1626961628.004181] [modem0]
       couldn't initialize: 'Modem is unusable, cannot fully initialize'

 src/mm-port-qmi.c | 27 ++++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

commit 939cf166dd43a3cebd17b1a29b52cdc300f8f7e9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 27 00:37:33 2021 +0200

    broadband-modem-qmi: remove trailing whitespaces

 src/mm-broadband-modem-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c43ab6d3308c09b73243d837889bb0c3489bd3fb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 27 00:11:56 2021 +0200

    ci: remove autoconf-archive from template

 .gitlab-ci.yml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit e4d4bbbb722e9214b3ba896be6243a7228f7aba7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 26 23:53:11 2021 +0200

    huawei: plug memleak when processing GETPORTMODE hints

       ==99766== 96 (24 direct, 72 indirect) bytes in 1 blocks are
       definitely lost in loss record 3,791 of 4,243
       ==99766==    at 0x483E7C5: malloc (vg_replace_malloc.c:380)
       ==99766==    by 0x50DCAC9: g_malloc (gmem.c:106)
       ==99766==    by 0x50F46D6: g_slice_alloc (gslice.c:1069)
       ==99766==    by 0x50CE9F2: g_list_insert_sorted_real (glist.c:1109)
       ==99766==    by 0x753DE92: ???
       ==99766==    by 0x753E6D4: ???
       ==99766==    by 0x753E897: ???
       ==99766==    by 0x1F059D: mm_plugin_create_modem (mm-plugin.c:922)
       ==99766==    by 0x166693: mm_device_create_modem (mm-device.c:481)
       ==99766==    by 0x161547: device_support_check_ready
       (mm-base-manager.c:219)
       ==99766==    by 0x4F03533: g_task_return_now (gtask.c:1219)
       ==99766==    by 0x4F07078: UnknownInlinedFun (gtask.c:1289)
       ==99766==    by 0x4F07078: g_task_return (gtask.c:1245)

 plugins/huawei/mm-plugin-huawei.c | 2 ++
 1 file changed, 2 insertions(+)

commit 0d1952c489c93513836385ae9c72c5e272630990
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 23 01:01:53 2021 +0200

    option: disable preferred networks management in custom SIM object

    It's been observed that running CPOL? would completely break the AT
    port of the modules like the GIO225.

    Fully disable this feature in the whole option and option-hso plugins,
    by creating a new custom SIM object with the features disabled
    completely, and setup as a new shared interface object.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/404

 plugins/Makefile.am                        |  4 ++
 plugins/option/mm-broadband-modem-hso.c    | 10 ++++
 plugins/option/mm-broadband-modem-option.c | 10 ++++
 plugins/option/mm-shared-option.c          | 77
 +++++++++++++++++++++++++++
 plugins/option/mm-shared-option.h          | 49 +++++++++++++++++
 plugins/option/mm-sim-option.c             | 84
 ++++++++++++++++++++++++++++++
 plugins/option/mm-sim-option.h             | 51 ++++++++++++++++++
 7 files changed, 285 insertions(+)

commit af0fba05856f76e2bfd31b597f647f7955e2611a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 23 01:00:47 2021 +0200

    iridium: disable preferred networks management in SIM object

    It's not applicable to Iridium modems, which only work with one single
    operator.

 plugins/iridium/mm-sim-iridium.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 689769467a31ef5cbcc7b5abfc7a0a48eeaf41be
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 22 23:50:58 2021 +0200

    libqcdm: plug leak in qcdm_cdm_log_config_new()

       ==748616== 37 bytes in 1 blocks are definitely lost in loss record
       2,850 of 4,938
       ==748616==    at 0x48435FF: calloc (vg_replace_malloc.c:1117)
       ==748616==    by 0x249CCF: qcdm_cmd_log_config_new
       (commands.c:1742)
       ==748616==    by 0x24A321: qcdm_cmd_log_config_set_mask_new
       (commands.c:1901)
       ==748616==    by 0x1DAE12:
       modem_cdma_setup_cleanup_unsolicited_events
       (mm-broadband-modem.c:8643)
       ==748616==    by 0x1DAF21: modem_cdma_setup_unsolicited_events
       (mm-broadband-modem.c:8671)
       ==748616==    by 0x1AE49F: interface_enabling_step
       (mm-iface-modem-cdma.c:1627)
       ==748616==    by 0x1AE680: mm_iface_modem_cdma_enable
       (mm-iface-modem-cdma.c:1693)
       ==748616==    by 0x1E2DF6: enabling_step
       (mm-broadband-modem.c:11756)
       ==748616==    by 0x1E204E: iface_modem_3gpp_ussd_enable_ready
       (mm-broadband-modem.c:11606)
       ==748616==    by 0x4F03533: g_task_return_now (gtask.c:1219)
       ==748616==    by 0x4F07078: UnknownInlinedFun (gtask.c:1289)
       ==748616==    by 0x4F07078: g_task_return (gtask.c:1245)
       ==748616==    by 0x1AA323: interface_enabling_step
       (mm-iface-modem-3gpp-ussd.c:702)

 libqcdm/src/commands.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 4bd8845f50755faf3279954c716b0476fbd0dc86
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 22 14:44:02 2021 +0200

    build: import used AX_ macros from autoconf-archive

    This allows us to build from git without build-depending on
    autoconf-archive, which is not always available as a package.

 m4/ax_append_compile_flags.m4   |  46 ++++++++++++
 m4/ax_append_flag.m4            |  50 +++++++++++++
 m4/ax_append_link_flags.m4      |  44 +++++++++++
 m4/ax_check_compile_flag.m4     |  53 +++++++++++++
 m4/ax_check_link_flag.m4        |  53 +++++++++++++
 m4/ax_compiler_flags.m4         | 158
 +++++++++++++++++++++++++++++++++++++++
 m4/ax_compiler_flags_cflags.m4  | 161
 ++++++++++++++++++++++++++++++++++++++++
 m4/ax_compiler_flags_gir.m4     |  60 +++++++++++++++
 m4/ax_compiler_flags_ldflags.m4 | 111 +++++++++++++++++++++++++++
 m4/ax_is_release.m4             |  80 ++++++++++++++++++++
 m4/ax_require_defined.m4        |  37 +++++++++
 11 files changed, 853 insertions(+)

commit bdd340455a7c29f9d1280161919a6b15c645b6c9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 22 14:43:02 2021 +0200

    build: update introspection.m4

    In sync with gobject-introspection 1.68.0

 m4/introspection.m4 | 58
 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 52 insertions(+), 6 deletions(-)

commit 064624c69dd25a888996dfc40f16f823daf5ba16
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Mon Jul 26 16:10:25 2021 +0200

    bearer-mbim: Disable multiplex support for wwan devices

    WWAN network devices expose link management over netlink (wwan type),
    but it is not yet supported by libmbim.

    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>

 src/mm-bearer-mbim.c | 3 +++
 1 file changed, 3 insertions(+)

commit 2f38ea0155d7e9dde8b7ed7f04a89e5945c4fca6
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Mon Jul 26 16:08:40 2021 +0200

    kernel-device: Add get_wwandev_sysfs_path

    The wwan subsystem is a new bus agnostic framework exposing wwan
    device and its components (ports, netdev...). It can be useful to
    get the wwan device a device belongs to

    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>

 src/kerneldevice/mm-kernel-device-generic.c | 34
 +++++++++++++++++++++++++++++
 src/kerneldevice/mm-kernel-device-udev.c    | 22 +++++++++++++++++++
 src/kerneldevice/mm-kernel-device.c         |  8 +++++++
 src/kerneldevice/mm-kernel-device.h         |  4 ++++
 4 files changed, 68 insertions(+)

commit 97ab5173482d0c6f37029191796c545c99d01fe5
Author: Pavan Holla <pholla@chromium.org>
Date:   Fri Jul 23 03:04:34 2021 +0000

    mm-sim-mbim: Remove trailing F in ICCID

    QMI modems remove trailing F in 19 digit ICCID. Do the same on
    MBIM modems for consistency.

 src/mm-sim-mbim.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit 0faf969e306b6e2f15f840692d30722c88560e13
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sun Jul 25 16:17:56 2021 +0200

    introspection: signal quality signature is (ub)

    Signal quality property signature of the Modem Simple interface
    is not an unsigned integer, but a struct containing
    an unsigned integer indicating the strength and
    a boolean to indicate if the value was recently taken.

 introspection/org.freedesktop.ModemManager1.Modem.Simple.xml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 95f4a232cefe76b4bfc664f8dc37e68471c4a77a
Author: Joel Selvaraj <jo@jsfamily.in>
Date:   Wed Jul 21 12:55:48 2021 +0530

    port-qmi: open dpm port automatically in case of IPA net driver

    Requires IPA kernel driver to expose the TX and RX endpoint IDs
    through sysfs.
    Available from linux 5.14 onwards.

 src/mm-port-qmi.c | 142
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 142 insertions(+)

commit 3b79f7379fa71286ac77f7f0be1025129bb9e0dd
Author: Joel Selvaraj <jo@jsfamily.in>
Date:   Wed Jul 21 12:41:57 2021 +0530

    base-modem: set net sysfs path

    Required by MMPortQmi for fetching the TX and RX endpoint IDs
    through sysfs from linux 5.14 onwards

 src/mm-base-modem.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 43c9c47b04750c1d7c8d3b7c9d9d1d79490e2da4
Author: Joel Selvaraj <jo@jsfamily.in>
Date:   Wed Jul 21 12:40:31 2021 +0530

    port-qmi: allow MMPortQmi to get the net sysfs path

    Will be set by base modem when organizing ports, similar to
    net driver name. Required for fetching the TX and RX endpoint IDs
    through sysfs from linux 5.14 onwards.

 src/mm-port-qmi.c | 13 +++++++++++++
 src/mm-port-qmi.h |  3 +++
 2 files changed, 16 insertions(+)

commit 1d4caa929f8766cb926dc2578e29d389fe186d41
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 13 11:26:32 2021 +0200

    broadband-modem-mbim: fix passing new slots array in the set operation

 src/mm-broadband-modem-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1830801f0f3302ffa038c93fc0749911080693b9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 13 11:07:50 2021 +0200

    broadband-modem-mbim: slot index in MM starts at 1

    When querying the slots using "Slot info status", the modem expects
    the slot index passed in the [0,number_slots-1] range.

    But for the ModemManager API, the slot indices start at 1; i.e. they
    are in the [1,number_of_slots] range.

    Consider that wen reporting the current slot index using MBIM.

 src/mm-broadband-modem-mbim.c | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

commit 48261375d3899938171d03f9ee164443644593ba
Author: ZhangMingjie <superzmj@fibocom.com>
Date:   Fri Jul 9 10:59:43 2021 +0800

    mm-broadband-modem-mbim: implement the set_primary_sim_slot() method
    for DSSA

 src/mm-broadband-modem-mbim.c | 184
 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 180 insertions(+), 4 deletions(-)

commit b151740d1598ab456d5bd2293babefe1cc2964f6
Author: ZhangMingjie <superzmj@fibocom.com>
Date:   Fri Jun 25 12:05:52 2021 +0800

    mm-broadband-modem-mbim: implement the load_sim_slots() method
    for DSSA

 src/mm-broadband-modem-mbim.c | 352
 +++++++++++++++++++++++++++++++++++++++++-
 src/mm-broadband-modem-mbim.h |   1 -
 src/mm-sim-mbim.c             |  28 ++++
 src/mm-sim-mbim.h             |  10 +-
 4 files changed, 387 insertions(+), 4 deletions(-)

commit 9d31113edb8125db0d01a36d024c089f0ce98aa1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 14 15:13:06 2021 +0200

    build: bump libmbim requirement to support DSSA operations

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c750339d5025b70e1f0750eb8504d6e2ee2d6ad8
Author: Joel Selvaraj <jo@jsfamily.in>
Date:   Wed Jul 14 03:41:42 2021 +0530

    modem-qmi: disable call list check in case of QMI

    Fixes AT load call list function messing up with the call list
    in case of both AT+QMI is available for a given modem.

 src/mm-broadband-modem-qmi.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 5db3e330b92b1854fc1156ff1fd2c0d03072da45
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 14 00:22:48 2021 +0200

    hso: query profile id from hso bearer during connecting phase

    As the profile id is not really set in the base bearer object until
    after connected.

 plugins/option/mm-broadband-bearer-hso.c | 19 +++++++++++++++++++
 plugins/option/mm-broadband-bearer-hso.h |  2 ++
 plugins/option/mm-broadband-modem-hso.c  | 14 +++++++++++++-
 3 files changed, 34 insertions(+), 1 deletion(-)

commit cadce188655c685614340073c469f4fb800f74f7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 14 00:10:38 2021 +0200

    icera: fix segfault during connection reset logic

        ==252789== Process terminating with default action of signal 11
        (SIGSEGV): dumping core
        ==252789==  Access not within mapped region at address 0x28
        ==252789==    at 0x7D17D22: connect_reset_ready
        (mm-broadband-bearer-icera.c:419)
        ==252789==    by 0x4EEC242: g_simple_async_result_complete
        (gsimpleasyncresult.c:802)
        ==252789==    by 0x17EFC6: at_command_ready
        (mm-base-modem-at.c:538)
        ==252789==    by 0x4EEC242: g_simple_async_result_complete
        (gsimpleasyncresult.c:802)
        ==252789==    by 0x259423: serial_command_ready
        (mm-port-serial-at.c:393)
        ==252789==    by 0x4EEC242: g_simple_async_result_complete
        (gsimpleasyncresult.c:802)
        ==252789==    by 0x252B9B: command_context_complete_and_free
        (mm-port-serial.c:141)
        ==252789==    by 0x254542: port_serial_got_response
        (mm-port-serial.c:755)
        ==252789==    by 0x254A78: parse_response_buffer
        (mm-port-serial.c:926)
        ==252789==    by 0x254FFE: common_input_available
        (mm-port-serial.c:1035)
        ==252789==    by 0x2550DE: iochannel_input_available
        (mm-port-serial.c:1058)
        ==252789==    by 0x50D3F84: UnknownInlinedFun (gmain.c:3344)
        ==252789==    by 0x50D3F84: g_main_context_dispatch (gmain.c:4062)

 plugins/icera/mm-broadband-bearer-icera.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f72fe9577c411bdd8e4ee2b316ed6c621722a259
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 14 00:08:48 2021 +0200

    icera: query profile id from icera bearer during connecting phase

    As the profile id is not really set in the base bearer object until
    after connected.

 plugins/icera/mm-broadband-bearer-icera.c | 19 +++++++++++++++++++
 plugins/icera/mm-broadband-bearer-icera.h |  2 ++
 plugins/icera/mm-broadband-modem-icera.c  | 13 +++++++++++--
 3 files changed, 32 insertions(+), 2 deletions(-)

commit fc512c711fbc6a1b66bc3f0b56ec650603bd9b7f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 13 23:30:23 2021 +0200

    simtech: disable CPOL? checks in SIM7070

    The whole device breaks when the CPOL? query is sent; happening
    consistently all the time:

        <debug> [1626211395.825257] [modem4/ttyUSB3/at] -->
        'AT+CPOL=,2<CR>'
        <debug> [1626211395.842156] [modem4/ttyUSB3/at] <--
        '<CR><LF>OK<CR><LF>'
        <debug> [1626211395.843227] [modem4/sim4] loading preferred
        networks...
        <debug> [1626211395.845289] [modem4/ttyUSB3/at] --> 'AT+CPOL?<CR>'
        <debug> [1626211401.110974] [modem4/ttyUSB3/at] unexpected
        port hangup!
        <debug> [1626211401.111586] [modem4/ttyUSB3/at] forced to
        close port
        <debug> [1626211401.112331] [modem4/ttyUSB3/at] closing serial
        port...
        <debug> [1626211401.112771] [modem4/ttyUSB3/at] serial port closed

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/401

 plugins/simtech/77-mm-simtech-port-types.rules | 5 +++++
 1 file changed, 5 insertions(+)

commit 06682e2806d2bceef8c8f63b49e84989465a2d33
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 13 16:45:16 2021 +0200

    bearer-mbim: never update bearer properties sent by the user

    We should never run any mm_bearer_properties_set_X() operations
    ourselves for the properties received by the user, or otherwise the
    logic comparing the bearers will fail and we may end up creating one
    bearer per connection attempt.

 src/mm-bearer-mbim.c | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

commit daf72fe169f40bcb637a0a4db1a763bd54909d20
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 13 15:47:38 2021 +0200

    base-bearer: setup common default for unknown multiplex fallback

    If the user doesn't provide a specific multiplex setting, we'll
    fallback to a predefined default.

    For now, the default is REQUESTED.

 src/mm-base-bearer.h      | 5 +++++
 src/mm-bearer-mbim.c      | 8 +++++---
 src/mm-bearer-qmi.c       | 4 ++--
 src/mm-broadband-bearer.c | 6 +++++-
 4 files changed, 17 insertions(+), 6 deletions(-)

commit c4b5879e45cce3eed6136131cefcdfd3f9590916
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 13 15:46:28 2021 +0200

    broadband-bearer: multiplexing is not supported in generic AT
    based bearer

 src/mm-broadband-bearer.c | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

commit 3e037dc158c6beb8372dc0027943e5c391cf0196
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 13 10:52:00 2021 +0200

    plugins: AT/QCDM/GPS port type hints only applicable to TTY ports

    There are modems out there, that reuse the same vid:pid for multiple
    USB layouts, so there may be port type hints that are not really
    applicable in all layouts.

    E.g. the EM7565 in MBIM layout uses interface #0 for the MBIM port,
    while in QMI layout it uses interface #0 for the QCDM port (which is
    what the port type hint included in MM states). With these rules, if
    we don't bind the port type hint to TTY ports only, we would be
    wrongly flagging the MBIM port as possible QCDM port:

        <debug> [plugin/sierra] probes required for port cdc-wdm0: 'mbim'
        <debug> [cdc-wdm0/probe] no AT/QMI/MBIM probing in possible
        QCDM port
        <debug> [cdc-wdm0/probe] port is not AT-capable
        <debug> [cdc-wdm0/probe] port is not QMI-capable
        <debug> [cdc-wdm0/probe] port is not MBIM-capable
        <debug> [cdc-wdm0/probe] port probing finished: no more probings
        needed

    Avoid this, by making sure all port type hints are added exclusively
    to TTY ports. It's not a perfect solution, but it's enough for the
    known cases.

 plugins/broadmobi/77-mm-broadmobi-port-types.rules |   8 +-
 plugins/cinterion/77-mm-cinterion-port-types.rules |  32 +--
 plugins/dell/77-mm-dell-port-types.rules           |  16 +-
 plugins/dlink/77-mm-dlink-port-types.rules         |   4 +-
 plugins/fibocom/77-mm-fibocom-port-types.rules     |  10 +-
 plugins/foxconn/77-mm-foxconn-port-types.rules     |  16 +-
 plugins/gosuncn/77-mm-gosuncn-port-types.rules     |   4 +-
 plugins/haier/77-mm-haier-port-types.rules         |   2 +-
 plugins/huawei/77-mm-huawei-net-port-types.rules   |  14 +-
 plugins/longcheer/77-mm-longcheer-port-types.rules | 166 +++++++-------
 plugins/mbm/77-mm-ericsson-mbm.rules               |  38 ++--
 plugins/mtk/77-mm-mtk-port-types.rules             |  28 +--
 plugins/nokia/77-mm-nokia-port-types.rules         |  26 +--
 plugins/quectel/77-mm-quectel-port-types.rules     |  48 ++--
 plugins/sierra/77-mm-sierra.rules                  |  12 +-
 plugins/simtech/77-mm-simtech-port-types.rules     |  40 ++--
 plugins/telit/77-mm-telit-port-types.rules         |  58 ++---
 plugins/tplink/77-mm-tplink-port-types.rules       |   2 +-
 plugins/x22x/77-mm-x22x-port-types.rules           |  44 ++--
 plugins/zte/77-mm-zte-port-types.rules             | 248
 ++++++++++-----------
 20 files changed, 408 insertions(+), 408 deletions(-)

commit 3ffa6b8960ba2178390dbbfff795cbe1cd6b9d47
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 12 22:10:41 2021 +0200

    shared-qmi: fix use of uninitialized memory

        ==636642== Syscall param socketcall.sendto(msg) points to
        uninitialised byte(s)
        ==636642==    at 0x5282BAC: send (in /usr/lib/libpthread-2.33.so)
        ==636642==    by 0x4EF20AF: UnknownInlinedFun (gsocket.c:3426)
        ==636642==    by 0x4EF20AF: g_socket_send_with_blocking
        (gsocket.c:3529)
        ==636642==    by 0x4EDF176: g_output_stream_write
        (goutputstream.c:242)
        ==636642==    by 0x4EDF2D4: g_output_stream_write_all
        (goutputstream.c:301)
        ==636642==    by 0x4A5CDAC: endpoint_send
        (qmi-endpoint-qmux.c:409)
        ==636642==    by 0x4A5B963: qmi_endpoint_send (qmi-endpoint.c:225)
        ==636642==    by 0x4A55408: qmi_device_command_abortable
        (qmi-device.c:2897)
        ==636642==    by 0x4A554C3: qmi_device_command_full
        (qmi-device.c:2923)
        ==636642==    by 0x4B52664:
        qmi_client_nas_set_system_selection_preference (qmi-nas.c:61099)
        ==636642==    by 0x1F6FDC: register_in_network_sssp
        (mm-shared-qmi.c:455)
        ==636642==    by 0x1F71E6: mm_shared_qmi_3gpp_register_in_network
        (mm-shared-qmi.c:505)
        ==636642==    by 0x19FCF0: mm_iface_modem_3gpp_register_in_network
        (mm-iface-modem-3gpp.c:484)
        ==636642==  Address 0x880a3b3 is 19 bytes inside a block of size
        32 alloc'd
        ==636642==    at 0x484383F: realloc (vg_replace_malloc.c:1192)
        ==636642==    by 0x50DC130: g_realloc (gmem.c:171)
        ==636642==    by 0x50A067C: g_array_maybe_expand (garray.c:1009)
        ==636642==    by 0x50A0A0C: UnknownInlinedFun (garray.c:520)
        ==636642==    by 0x50A0A0C: g_array_append_vals (garray.c:509)
        ==636642==    by 0x50A0A9E: g_byte_array_append (garray.c:2430)
        ==636642==    by 0x4A4B70D: qmi_message_tlv_write_guint8
        (qmi-message.c:686)
        ==636642==    by 0x4B14CA8:
        __qmi_message_nas_set_system_selection_preference_request_create
        (qmi-nas.c:33477)
        ==636642==    by 0x4B525B6:
        qmi_client_nas_set_system_selection_preference (qmi-nas.c:61087)
        ==636642==    by 0x1F6FDC: register_in_network_sssp
        (mm-shared-qmi.c:455)
        ==636642==    by 0x1F71E6: mm_shared_qmi_3gpp_register_in_network
        (mm-shared-qmi.c:505)
        ==636642==    by 0x19FCF0: mm_iface_modem_3gpp_register_in_network
        (mm-iface-modem-3gpp.c:484)
        ==636642==    by 0x1B0BD4: check_next_registration
        (mm-iface-modem-simple.c:154)

 src/mm-shared-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a61422761f52cc359303ec92c2cae122bdf16b4b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 12 21:51:24 2021 +0200

    iface-modem: ignore warning when trying to disconnect signal handler

    The signal handler may have been already removed during dispose of the
    modem object, which is run manually through g_object_run_dispose().

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/399

 src/mm-iface-modem.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit b983deaa40b9b68c1a6684df416e38fff2328e28
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 12 15:41:21 2021 +0200

    iface-modem: refactor new SIM slots array creation

 src/mm-iface-modem.c | 64
 ++++++++++++++++++++++++----------------------------
 1 file changed, 29 insertions(+), 35 deletions(-)

commit 503e886c02e074b4cd334476569f42ee5c27e255
Author: Pavan Holla <pholla@chromium.org>
Date:   Sat May 22 19:33:19 2021 +0000

    shared-qmi,iface-modem : Do not reprobe on hotswap in inactive slot

    Prior to this change, a hotswap on the inactive slot would result
    in reprobe of the modem. With this change, the sim object would be
    updated, but no reprobe will be performed. The advantage is
    1) we do not drop connections on the active slot
    2) Slot status on the inactive slot is susceptible to firmware bugs.
       We have seen scenarios where the inactive slot is reported as
       absent/ iccid={0}, followed by a correction. We should not
       reprobe the modem if our active slot hasn't changed.

 src/mm-iface-modem.c |  72 +++++++++++++++++++++++
 src/mm-iface-modem.h |   4 ++
 src/mm-shared-qmi.c  | 160
 +++++++++++++++++++++++++++++++++++++++++++++++----
 3 files changed, 225 insertions(+), 11 deletions(-)

commit 4102cbc700a0489e5d398bb93f47c151783dbea9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 11 15:30:02 2021 +0200

    cinterion: ignore Intel Firmware Update service completely

 plugins/cinterion/mm-broadband-modem-mbim-cinterion.c | 1 +
 1 file changed, 1 insertion(+)

commit 5cc5bfbb97d0e8c4a70fe18ffbc68db9d5704ddb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 11 15:24:33 2021 +0200

    broadband-modem-mbim: allow disabling the use of the Intel Firmware
    Update service

    Not all manufacturers expect this service to be used for the simple
    purpose of reseting the modem.

    It works with Sierra Wireless devices (e.g. EM7345,
    XMM7160_V1.1_MODEM_01.1349.12), but it doesn't work with Cinterion
    devices (e.g. mPLS62-w, XMM7160_V1.1_MBIM_NAND_ADAPT_R).

    So allow plugins to disable its use entirely.

 src/mm-broadband-modem-mbim.c | 33 +++++++++++++++++++++++++++------
 src/mm-broadband-modem-mbim.h |  1 +
 2 files changed, 28 insertions(+), 6 deletions(-)

commit dc09d3350c5a21750c6609d14681d458098c737a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 11 15:16:25 2021 +0200

    cinterion,shared: add missing interface prerequisites

 plugins/cinterion/mm-shared-cinterion.c | 3 +++
 1 file changed, 3 insertions(+)

commit b126e84b56dfe52b91e882ef25ecdeb7341324b3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 10 17:18:25 2021 +0200

    cinterion: implement custom shared reset operation

    Implemented for all QMI, MBIM and AT based modems. The parent reset
    operation always takes priority if available.

 plugins/cinterion/mm-broadband-modem-cinterion.c   | 35 +++------
 .../cinterion/mm-broadband-modem-mbim-cinterion.c  | 20 +++++
 .../cinterion/mm-broadband-modem-qmi-cinterion.c   | 20 +++++
 plugins/cinterion/mm-shared-cinterion.c            | 87
 +++++++++++++++++++++-
 plugins/cinterion/mm-shared-cinterion.h            | 13 ++++
 5 files changed, 148 insertions(+), 27 deletions(-)

commit 3dd3d6faf6df1666d59b24c5329ed1da40d01112
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 10 16:59:20 2021 +0200

    cinterion: new custom MBIM modem object

 plugins/Makefile.am                                |   6 +
 .../cinterion/mm-broadband-modem-mbim-cinterion.c  | 147
 +++++++++++++++++++++
 .../cinterion/mm-broadband-modem-mbim-cinterion.h  |  47 +++++++
 plugins/cinterion/mm-plugin-cinterion.c            |  12 +-
 4 files changed, 206 insertions(+), 6 deletions(-)

commit 17876994c473ee244df17dec42c1a79e08407e2c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 9 12:05:38 2021 +0200

    utils: remove custom g_ptr_array_find_with_equal_func()

    This was required when building with GLib < 2.54, but we now require
    2.56 as minimum, so it is no longer needed.

 src/Makefile.am |  2 +-
 src/mm-utils.c  | 47 -----------------------------------------------
 src/mm-utils.h  | 12 ------------
 3 files changed, 1 insertion(+), 60 deletions(-)

commit dc66ee2aaadefd56f17681e95454748a958d96f3
Author: Benoît Monin <benoit.monin-ext@alstomgroup.com>
Date:   Fri Jul 9 11:37:20 2021 +0200

    libmm-glib,common-helpers: fix build with glib 2.56

    The support of autoptr for GEnumClass and GFlagsClass was introduced
    in
    glib 2.58. To keep compatibility with glib 2.56, declare the autoptr
    cleanup functions.

    Fixes #397

 libmm-glib/mm-common-helpers.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 63f3dcb2fe3dee42fe223751c5394a751e7ecc42
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 9 10:45:09 2021 +0200

    iface-modem: don't fail enabling if modem_power_up() isn't implemented

    There are modems (e.g. Nokia, Thuraya, Iridium) which don't require or
    don't support power management, and therefore there is no way to
    either load or update the power status.

    In those modems we just assume ON is the current and only value (set
    in the skeleton during initialization) and so when we attempt to
    update the power state to ON during enabling, the logic should not
    break.

    Fix the logic by making sure the requested_power_setup() function
    pointers are only checked for validity after ensuring we're not
    already in the desired power state.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/398

 src/mm-iface-modem.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

commit 681d5d29d577ab4d2d822bb42ccbb74ac7d73b95
Author: Stephan Gerhold <stephan@gerhold.net>
Date:   Sat Jun 5 16:31:33 2021 +0200

    qcom-soc: Add support for WWAN subsystem instead of RPMSG

    Recent Linux kernel versions have introduced a generic WWAN subsystem
    that provides various char devices for QMI, AT etc, similar to the
    subsystem-specific char devices for USB or RPMSG.

    The RPMSG char device for Qualcomm SoCs (e.g. MSM8916/MSM8974)
    are particularly complicated to work with because they need to be
    explicitly created from userspace with rpmsgexport and don't show up
    automatically.

    However, it turns out it's fairly simple to wrap the RPMSG subsystem
    in a simple driver for the WWAN subsystem. This has several
    advantages:

      - We can drop support for the special RPMSG char devices entirely
        at some point.
      - The WWAN char devices show up automatically, without having
      to export
        them explicitly, making ModemManager work out of the box on
        these devices.

    For now, just support using the WWAN subsystem alternatively for the
    qcom-soc plugin. Later we can consider dropping the old RPMSG code.

 plugins/qcom-soc/77-mm-qcom-soc.rules              | 3 ++-
 plugins/qcom-soc/mm-broadband-modem-qmi-qcom-soc.c | 2 +-
 plugins/qcom-soc/mm-plugin-qcom-soc.c              | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

commit ea645522faf4a0c65ed16fdd91a81f4a99f6c8ad
Author: Joel Selvaraj <jo@jsfamily.in>
Date:   Mon Jul 5 14:33:30 2021 +0530

    modem-qmi: implement voice unsolicited events and process
    all_call_status indication

 src/mm-broadband-modem-qmi.c | 271
 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 267 insertions(+), 4 deletions(-)

commit a0ef2f403f4d53e12b4aae7e76f84fe53d941630
Author: Joel Selvaraj <jo@jsfamily.in>
Date:   Mon Jul 5 14:31:26 2021 +0530

    modem-qmi: implement voice check support and create call functionality

 src/mm-broadband-modem-qmi.c | 60
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

commit 630f96f4a47d943614a641f0aba741186dff213a
Author: Joel Selvaraj <jo@jsfamily.in>
Date:   Mon Jul 5 14:03:38 2021 +0530

    call-qmi: implement call start, hangup and accept

 src/mm-call-qmi.c | 305
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 305 insertions(+)

commit 788442c6d5c50dfd3e014bf91bf8906cd0469574
Author: Joel Selvaraj <jo@jsfamily.in>
Date:   Mon Jul 5 13:41:37 2021 +0530

    call-qmi: new `MMCallQmi' object

 src/Makefile.am   |  2 ++
 src/mm-call-qmi.c | 60
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-call-qmi.h | 52 +++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 114 insertions(+)

commit 266e98e0204bf170fb497d07323e377aeb005631
Author: Alexander Dahl <ada@thorsis.com>
Date:   Wed Jul 7 14:50:53 2021 +0200

    ublox: Mark ubandsel as unsupported on SARA-R4 and -N4

    See log from a SARA-R410M-02B-01 before the change:

        Feb 01 05:40:01 unit ModemManager[304]: <debug>
        [1612158001.012330] [modem0/ttymxc4/at] --> 'AT+UBANDSEL?<CR>'
        Feb 01 05:40:01 unit ModemManager[304]: <debug>
        [1612158001.026831] [modem0/ttymxc4/at] <--
        '<CR><LF>ERROR<CR><LF>'
        Feb 01 05:40:01 unit ModemManager[304]: <debug>
        [1612158001.027113] [modem0/ttymxc4/at] operation failure: 100
        (Unknown error)
        Feb 01 05:40:01 unit ModemManager[304]: <warn>
        [1612158001.027298] [modem0] couldn't load current bands:
        Unknown error

    Backed by SARA-R4 series AT commands manual, no reference to +UBANDSEL
    in the manual at all.

    Log after the change:

        Feb 01 06:58:25 unit ModemManager[329]: <debug>
        [1612162705.500845] [modem0] (u-blox) support configuration
        found for 'SARA-R410M-02B'
        Feb 01 06:58:25 unit ModemManager[329]: <debug>
        [1612162705.500961] [modem0] (u-blox)   band update requires
        explicit unregistration
        Feb 01 06:58:25 unit ModemManager[329]: <debug>
        [1612162705.501052] [modem0] (u-blox)   UACT based band
        configuration unsupported
        Feb 01 06:58:25 unit ModemManager[329]: <debug>
        [1612162705.501141] [modem0] (u-blox)   UBANDSEL based band
        configuration unsupported

    Fixes: 437fb830c807 ("ublox,helpers: assume all SARA/LARA devices
    require COPS")
    Signed-off-by: Alexander Dahl <ada@thorsis.com>

 plugins/ublox/mm-modem-helpers-ublox.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 7c9d1e45be41cda914ac52e15de6755cc817008e
Author: Alexander Dahl <ada@thorsis.com>
Date:   Wed Jul 7 14:27:54 2021 +0200

    ublox: Add more values to URAT combinations

    The SARA-R410M-02B-01 only supports values 7 and 8, log excerpt:

        Feb 01 05:40:00 unit ModemManager[304]: <debug>
        [1612158000.826046] [modem0/ttymxc4/at] --> 'AT+URAT=?<CR>'
        Feb 01 05:40:00 unit ModemManager[304]: <debug>
        [1612158000.833596] [modem0/ttymxc4/at] <-- '<CR><LF>+URAT:
        (7-8),(7-8)(7-8)<CR><LF><CR><LF>OK<CR><LF>'
        Feb 01 05:40:00 unit ModemManager[304]: <warn>
        [1612158000.833992] [modem0] (u-blox) unexpected AcT value: 7
        Feb 01 05:40:00 unit ModemManager[304]: <warn>
        [1612158000.834096] [modem0] (u-blox) unexpected AcT value: 8
        Feb 01 05:40:00 unit ModemManager[304]: <warn>
        [1612158000.834193] [modem0] couldn't load supported modes:
        No combinations built from +URAT=? response

    The SARA-R4 series AT commands manual (and also the SARA-R5 AT
    commands
    manual) lists them like this:

    - 7: LTE Cat M1
    - 8: LTE Cat NB1

    After the change, log looks like this:

        Feb 01 06:58:25 unit ModemManager[329]: <debug>
        [1612162705.490627] [modem0/ttymxc4/at] --> 'AT+URAT?<CR>'
        Feb 01 06:58:25 unit ModemManager[329]: <debug>
        [1612162705.499994] [modem0/ttymxc4/at] <-- '<CR><LF>+URAT:
        7,8<CR><LF><CR><LF>OK<CR><LF>'
        Feb 01 06:58:25 unit ModemManager[329]: <debug>
        [1612162705.500433] [modem0] (u-blox) current allowed modes
        retrieved: 4g
        Feb 01 06:58:25 unit ModemManager[329]: <debug>
        [1612162705.500561] [modem0] (u-blox) current preferred modes
        retrieved: 4g

    Signed-off-by: Alexander Dahl <ada@thorsis.com>

 plugins/ublox/mm-modem-helpers-ublox.c | 2 ++
 1 file changed, 2 insertions(+)

commit 052eb267c87e5fd8fb60f12922f9af31834ad49c
Author: Nicholas Smith <nicholas@nbembedded.com>
Date:   Sat Jul 3 16:20:39 2021 +1000

    docs: add --output-json documentation

    Signed-off-by: Nicholas Smith <nicholas@nbembedded.com>

 docs/man/mmcli.1 | 4 ++++
 1 file changed, 4 insertions(+)

commit 46c5cd8b7279e6139466664f87d744a0553fa1c3
Author: Michal Mazur <mkm@semihalf.com>
Date:   Fri Jun 25 15:29:41 2021 +0200

    mm-sim-mbim: Remove update of remaining attempts

    Calling the mm_iface_modem_update_unlock_retries function directly
    from
    pin_set_enter_ready caused a notification to be send too early with
    invalid number of attempts to unlock on MBIM modems.
    The mm_iface_modem_update_unlock_retries is already called for all
    modems from send_pin_ready (mm-base-sim.c).

 src/mm-sim-mbim.c | 53
 -----------------------------------------------------
 1 file changed, 53 deletions(-)

commit bf9005df071841361041b271609f608b185bc3ce
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 3 22:48:08 2021 +0200

    api,location: update TAC documentation to allow 3-byte values in 5GNR

 introspection/org.freedesktop.ModemManager1.Modem.Location.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 132fc268b8a17bfdec787f131491ed7fb7862fe7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 1 22:42:45 2021 +0200

    libmm-glib,call: use helper macros to manage the monitored properties

 libmm-glib/mm-call.c | 91
 +++++-----------------------------------------------
 1 file changed, 8 insertions(+), 83 deletions(-)

commit 19b3a552308443e691f6120b07d4ba06086b887a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 1 22:31:12 2021 +0200

    libmm-glib,bearer: use helper macros to manage the monitored
    properties

 libmm-glib/mm-bearer.c | 452
 +++++--------------------------------------------
 1 file changed, 42 insertions(+), 410 deletions(-)

commit 5012c1a3f3cb6f7d5f78f83bfbf72796758a2492
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 1 23:37:45 2021 +0200

    libmm-glib,modem-signal: use helper macros to manage the monitored
    properties

 libmm-glib/mm-modem-signal.c | 323
 ++++++++-----------------------------------
 1 file changed, 60 insertions(+), 263 deletions(-)

commit b8e939ceaca15d3f8bf1f153f93187f2e4f42ae4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 1 23:28:30 2021 +0200

    libmm-glib,modem-location: use helper macros to manage the monitored
    properties

 libmm-glib/mm-modem-location.c | 188
 +++++++++--------------------------------
 1 file changed, 42 insertions(+), 146 deletions(-)

commit 6372d97e878f1d18cbbb62a809c78e44ee957814
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 1 22:47:43 2021 +0200

    libmm-glib,modem-firmware: use helper macros to manage the monitored
    properties

 libmm-glib/mm-modem-firmware.c | 88
 ++++--------------------------------------
 1 file changed, 8 insertions(+), 80 deletions(-)

commit 1ecbc5e025e2af0b4986c90a7a463f9a82a5360e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 1 22:52:31 2021 +0200

    libmm-glib,modem-time: use helper macros to manage the monitored
    properties

 libmm-glib/mm-modem-time.c | 77
 +++++-----------------------------------------
 1 file changed, 8 insertions(+), 69 deletions(-)

commit f72a6377f3994c398b39134b1a62ea2a6e0ce998
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 1 15:21:28 2021 +0200

    libmm-glib,modem-oma: use helper macros to manage the monitored
    properties

 libmm-glib/mm-modem-oma.c | 104
 ++++------------------------------------------
 1 file changed, 8 insertions(+), 96 deletions(-)

commit 434d7be3f27d04437a357f0a79aeaddc4ad39f24
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 1 23:03:36 2021 +0200

    libmm-glib,modem-messaging: use helper macros to manage the monitored
    properties

 libmm-glib/mm-modem-messaging.c | 105
 +++-------------------------------------
 1 file changed, 8 insertions(+), 97 deletions(-)

commit ccefbbc0c67bd3a2a1538ced6b2ce84a742b9877
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 1 23:00:06 2021 +0200

    libmm-glib,modem-3gpp: use helper macros to manage the monitored
    properties

 libmm-glib/mm-modem-3gpp.c | 94
 ++++++----------------------------------------
 1 file changed, 12 insertions(+), 82 deletions(-)

commit d7acc276e520add0c1a4751824b86f904a8a46ad
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 1 21:50:11 2021 +0200

    libmm-glib,modem: use helper macros to manage the monitored properties

 libmm-glib/mm-common-helpers.c |  27 ++
 libmm-glib/mm-common-helpers.h |   3 +
 libmm-glib/mm-modem.c          | 611
 +++--------------------------------------
 3 files changed, 74 insertions(+), 567 deletions(-)

commit 22396a7d1d7e845771cd1063c66dd0a7127d4eb1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 1 00:04:44 2021 +0200

    libmm-glib,helpers: new helper macros to define common property
    management

 libmm-glib/mm-helpers.h | 289
 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 288 insertions(+), 1 deletion(-)

commit afc7e5f9022ecec2e1ec388c9f8c48fb7c16a2b9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 1 15:01:11 2021 +0200

    libmm-glib: use single mutex in each type to sync access

    There is truly no need for a per-property mutex, using a global one
    for the whole object is equally fine.

 libmm-glib/mm-bearer.c          |  77 +++++++++++-------------------
 libmm-glib/mm-call.c            |  32 +++++--------
 libmm-glib/mm-modem-3gpp.c      |  28 ++++-------
 libmm-glib/mm-modem-firmware.c  |  28 ++++-------
 libmm-glib/mm-modem-location.c  |  28 ++++-------
 libmm-glib/mm-modem-messaging.c |  25 +++++-----
 libmm-glib/mm-modem-oma.c       |  25 +++++-----
 libmm-glib/mm-modem-signal.c    |  37 +++++----------
 libmm-glib/mm-modem-time.c      |  35 +++++---------
 libmm-glib/mm-modem.c           | 102
 ++++++++++++++--------------------------
 10 files changed, 149 insertions(+), 268 deletions(-)

commit 30c9fc65dacd2fb5df3913032a420e750a6ae054
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 1 14:47:53 2021 +0200

    libmm-glib,common-helpers: refactor helper methods

    Remove unused methods, like all the variant_to_array() ones, and
    reorder some others so that both header and source file have the same
    order always.

 libmm-glib/mm-common-helpers.c | 1483
 +++++++++++++++++++---------------------
 libmm-glib/mm-common-helpers.h |  266 +++----
 2 files changed, 845 insertions(+), 904 deletions(-)

commit c9ca1ab97b14ca988989976e97e1d302dd2c0f2e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 24 10:46:02 2021 +0200

    cli,location: new '--location-monitor' action

    This action allows us to monitor location updates as signaled via the
    'Location' property, only available if location signaling has been
    explicitly enabled (e.g. with --location-set-enable-signal)

 cli/mmcli-modem-location.c | 54
 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 53 insertions(+), 1 deletion(-)

commit 6364c9818c46d5455c4fd4edc747156e9f49a775
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 24 11:00:35 2021 +0200

    iface-modem-location: print 0-prefixed LAC/TAC/CID values in log

    Each with its expected corresponding length.

 src/mm-iface-modem-location.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit b385fc20b01ac971080a20b36d2e81f26f051370
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 24 10:31:53 2021 +0200

    cli,location: TAC is 3 bytes in 5GNR

    TAC is 3 bytes for NG-RAN as specified in 3GPP TS 38.413 clause
    9.3.3.10 and in 3GPP TS 24.501 clause 9.10.3.8.

    We'll always print it as 3 bytes in the cli output, as that's also
    backwards compatible with the original 2 byte TAC in LTE.

 cli/mmcli-modem-location.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f226b6330115c39c3b209f84452729a0e412da24
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 24 10:14:17 2021 +0200

    libmm-glib,location: new signaled location API support

    We allow clients to receive asynchronous updates of location
    information, e.g. if "location signaling" is explicitly enabled (with
    the setup() method).

    But if so, we should also allow clients to easily process those
    asynchronous updates in the libmm-glib library, instead of requiring
    them to run explicit DBus queries to refresh the location information.

    These new signaled location APIs allow clients to do so; they can
    enable location signaling, and then just wait for the updates to
    arrive.

 docs/reference/libmm-glib/libmm-glib-sections.txt |   9 +
 libmm-glib/mm-modem-location.c                    | 387
 ++++++++++++++++++++++
 libmm-glib/mm-modem-location.h                    |  14 +-
 3 files changed, 408 insertions(+), 2 deletions(-)

commit 4e4cb6d66acaec56960948ad3adfe7df359d2807
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 24 10:44:50 2021 +0200

    libmm-glib,location: build_locations() doesn't own the dictionary

    Rework the build_locations() method so that it doesn't take ownership
    of the input dictionary. This allows us reusing this method with
    dictionaries for which ownership cannot be transferred.

 libmm-glib/mm-modem-location.c | 31 +++++++++++++------------------
 1 file changed, 13 insertions(+), 18 deletions(-)

commit e1fbc1ccb74ba9c788d88c5f19fb89200a6478f6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 30 22:31:17 2021 +0200

    cinterion: fix double free when loading initial EPS context

    The properties object stored in the context is being returned as task
    result; so we should make sure that object is no longer left in the
    context so that it's not freed twice.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/395

 plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 12613eac8791fb70b9fe45eb07440c559cc1e198
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 25 18:48:52 2021 +0200

    libmm-glib,modem: move deprecated methods to compat source

 libmm-glib/mm-compat.c | 10 ++++++++++
 libmm-glib/mm-compat.h | 29 +++++++++++++++++++++++++++++
 libmm-glib/mm-modem.c  | 37 -------------------------------------
 libmm-glib/mm-modem.h  |  5 -----
 4 files changed, 39 insertions(+), 42 deletions(-)

commit 4bf7657086e6ede28cfc2974c499cbe900a59152
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 25 18:43:06 2021 +0200

    libmm-glib,location-3gpp: move deprecated methods to compat source

 libmm-glib/mm-compat.c        | 15 +++++++++++++++
 libmm-glib/mm-compat.h        | 22 ++++++++++++++++++++++
 libmm-glib/mm-location-3gpp.c | 33 ---------------------------------
 libmm-glib/mm-location-3gpp.h |  5 -----
 4 files changed, 37 insertions(+), 38 deletions(-)

commit 219700ba6d9df49427320eb2cbfd8eae850b8921
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 25 18:37:28 2021 +0200

    libmm-glib,simple-status: move deprecated methods to compat source

 docs/reference/libmm-glib/libmm-glib-sections.txt |  3 ++-
 libmm-glib/mm-compat.c                            |  8 ++++++++
 libmm-glib/mm-compat.h                            | 18 ++++++++++++++++
 libmm-glib/mm-simple-status.c                     | 25
 -----------------------
 libmm-glib/mm-simple-status.h                     |  4 ----
 5 files changed, 28 insertions(+), 30 deletions(-)

commit a09b13de86fd62c9b5144ada2c23c6062e873ec1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 25 11:31:53 2021 +0200

    libmm-glib,pco: move deprecated methods to compat source

 docs/reference/libmm-glib/libmm-glib-sections.txt |  4 ++--
 libmm-glib/mm-compat.c                            |  8 ++++++++
 libmm-glib/mm-compat.h                            | 17 +++++++++++++++++
 libmm-glib/mm-pco.c                               | 21
 ---------------------
 libmm-glib/mm-pco.h                               |  7 -------
 5 files changed, 27 insertions(+), 30 deletions(-)

commit 27a192c1ef063f7c29668cf61739335dc02ecf87
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 25 11:28:55 2021 +0200

    libmm-glib,modem-3gpp: move deprecated methods to compat source

 docs/reference/libmm-glib/libmm-glib-sections.txt |  3 ++-
 libmm-glib/mm-compat.c                            |  8 ++++++
 libmm-glib/mm-compat.h                            | 25 ++++++++++++++++++
 libmm-glib/mm-modem-3gpp.c                        | 31
 -----------------------
 libmm-glib/mm-modem-3gpp.h                        |  7 -----
 5 files changed, 35 insertions(+), 39 deletions(-)

commit 6363add86a3a848be08def62f5c14f683fb0de34
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 25 11:24:20 2021 +0200

    libmm-glib,location-gps-nmea: move deprecated methods to compat source

 docs/reference/libmm-glib/libmm-glib-sections.txt |  3 +-
 libmm-glib/mm-compat.c                            | 11 ++++++
 libmm-glib/mm-compat.h                            | 20 +++++++++++
 libmm-glib/mm-location-gps-nmea.c                 | 43
 -----------------------
 libmm-glib/mm-location-gps-nmea.h                 |  5 ---
 5 files changed, 33 insertions(+), 49 deletions(-)

commit b38586a12cd1aca12ebdfa363f2c48773a7ca13b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 25 11:16:30 2021 +0200

    libmm-glib,simple-connect-properties: move deprecated methods to
    compat source

 docs/reference/libmm-glib/libmm-glib-sections.txt |  5 ++-
 libmm-glib/mm-compat.c                            | 16 ++++++++
 libmm-glib/mm-compat.h                            | 34 ++++++++++++++++
 libmm-glib/mm-simple-connect-properties.c         | 48
 -----------------------
 libmm-glib/mm-simple-connect-properties.h         |  8 ----
 5 files changed, 53 insertions(+), 58 deletions(-)

commit febd5778e732d8f7fb5634c6557424578dfd75fa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 25 11:10:21 2021 +0200

    libmm-glib,bearer-properties: move deprecated methods to compat source

 docs/reference/libmm-glib/libmm-glib-sections.txt |  5 ++-
 libmm-glib/mm-bearer-properties.c                 | 48
 -----------------------
 libmm-glib/mm-bearer-properties.h                 |  8 ----
 libmm-glib/mm-compat.c                            | 16 ++++++++
 libmm-glib/mm-compat.h                            | 34 ++++++++++++++++
 5 files changed, 53 insertions(+), 58 deletions(-)

commit c1fae670b77b0cac7f82ee540348f161f49d2fa3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 25 11:05:33 2021 +0200

    libmm-glib,call-properties: move deprecated methods to compat source

 docs/reference/libmm-glib/libmm-glib-sections.txt |  14 ++-
 libmm-glib/mm-call-properties.c                   | 127
 ----------------------
 libmm-glib/mm-call-properties.h                   |  18 ---
 libmm-glib/mm-compat.c                            |  48 ++++++++
 libmm-glib/mm-compat.h                            | 101 +++++++++++++++++
 5 files changed, 157 insertions(+), 151 deletions(-)

commit 49f52d918240ef2e5d1c6b0af5d2013dab39f592
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 25 11:22:55 2021 +0200

    libmm-glib,location-gps-nmea: add missing type check in get_traces()

 libmm-glib/mm-location-gps-nmea.c | 2 ++
 1 file changed, 2 insertions(+)

commit c368a63e01dba01c966eac15c07486b82a15c14d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 25 10:56:38 2021 +0200

    libmm-glib,oma: deprecate method names without the mm_modem_oma prefix

 cli/mmcli-modem-oma.c                             |  2 +-
 docs/reference/libmm-glib/libmm-glib-docs.xml     |  5 ++
 docs/reference/libmm-glib/libmm-glib-sections.txt | 11 ++-
 libmm-glib/Makefile.am                            |  3 +
 libmm-glib/libmm-glib.h                           |  1 +
 libmm-glib/mm-compat.c                            | 45 ++++++++++++
 libmm-glib/mm-compat.h                            | 85
 +++++++++++++++++++++++
 libmm-glib/mm-modem-oma.c                         | 20 +++---
 libmm-glib/mm-modem-oma.h                         | 12 ++--
 9 files changed, 165 insertions(+), 19 deletions(-)

commit fefd59e3ce26f8248f94d40f2fb1f68085ca36ee
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 25 10:36:25 2021 +0200

    libmm-glib,3gpp: fix initial-eps-bearer-settings property updates

 libmm-glib/mm-modem-3gpp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ce50d9c483639d7a7e62addab3eecba177c80a6a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 24 15:53:50 2021 +0200

    mmcli,messaging: fix leak when printing supported storages

 cli/mmcli-modem-messaging.c | 1 +
 1 file changed, 1 insertion(+)

commit dfeaec99ceb3ec5b6fd6ec7add1ce81978d68cfb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 24 15:40:21 2021 +0200

    libmm-glib,messaging: avoid array cleanup in get_supported_storages()

    If we return a reference to the internal array in
    ensure_internal_supported_storages() and then we free the array
    unconditionally in the caller, the next time we call it, the array
    would be valid, but it would be fully empty.

 libmm-glib/mm-modem-messaging.c | 44
 ++++++++++++++++++++++++-----------------
 1 file changed, 26 insertions(+), 18 deletions(-)

commit 059f13ffd33d6cf8c981119dd40e63e7abc2fe59
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 24 15:39:50 2021 +0200

    libmm-glib,modem: add missing input argument checks

 libmm-glib/mm-modem.c | 2 ++
 1 file changed, 2 insertions(+)

commit b0f40cf966e546a4173fdd4f8deb0f24eb7eb179
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Tue Jun 22 14:43:59 2021 -0700

    port-qmi: Increase the reference counter of the QrtrNode

    Currently, we are not increasing the reference counter of the QrtrNode
    when creating a PortQmi for a QRTR port, and we are clearing the
    object
    when disposing the port.

 src/mm-port-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 6175cf562f3225ef7eed4a4f5a314d1322fb571f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 21 11:22:29 2021 +0200

    examples,modem-watcher-python: also monitor modem state updates

      $ sudo ./modem-watcher-python
      [ModemWatcher] ModemManager 1.16.6 service is available in bus
      [ModemWatcher] /org/freedesktop/ModemManager1/Modem/0: modem managed
      by ModemManager [015805000283080]: foxconn (MBIM [105B:E0AB])
      [ModemWatcher] /org/freedesktop/ModemManager1/Modem/0: modem state
      updated: disabled -> enabling (user-requested)
      [ModemWatcher] /org/freedesktop/ModemManager1/Modem/0: modem state
      updated: enabling -> enabled (user-requested)
      [ModemWatcher] /org/freedesktop/ModemManager1/Modem/0: modem state
      updated: enabled -> registered (unknown)

 examples/modem-watcher-python/ModemWatcher.py | 24
 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

commit a357777d39c87da89c285d496a48b53f294f1e4b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 16 12:27:47 2021 +0200

    port-qmi: apply master MTU handling to all multiplexing types
    in qmi_wwan

    If using rmnet and IP passthrough setting in qmi_wwan, also configure
    the master interface with an MTU equal to the maximum data aggregation
    size.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/367

 src/mm-port-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit a8f086bfb3be65de133365b55595a9800ecaa681
Author: Alyssa Ross <hi@alyssa.is>
Date:   Thu Jun 17 15:06:41 2021 +0000

    tools: fix signal type in service test

    The signal definition is:

        <signal name="StateChanged">
          <arg name="old" type="i" />
          <arg name="new" type="i" />
          <arg name="reason" type="u" />
        </signal>

    So the first two arguments need to be adjusted.

    Without this change, the test was failing for me:

        (/build/source/tools/tests/.libs/lt-test-stub:77030):
        GLib-GObject-CRITICAL **: 15:05:35.276: ../gobject/gsignal.c:3167:
        value for 'gint' parameter 0 for signal "state-changed" is of type
        'guint'

 tools/test-modemmanager-service.py | 4 ++--
 tools/tests/test-stub.c            | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

commit b100189f4991215594bfd2d136cff218d9baa22d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 17 15:56:41 2021 +0200

    broadband-modem: plug memleak when listing profiles

      ==4263== 747 (72 direct, 675 indirect) bytes in 3 blocks are
      definitely lost in loss record 5,739 of 5,787
      ==4263==    at 0x4842839: malloc (in
      /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==4263==    by 0x50C6DE8: g_malloc (in
      /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6800.1)
      ==4263==    by 0x50DDFF1: g_slice_alloc (in
      /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6800.1)
      ==4263==    by 0x50B8EB9: g_list_prepend (in
      /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6800.1)
      ==4263==    by 0x27CE4C: mm_3gpp_parse_cgdcont_read_response
      (mm-modem-helpers.c:1845)
      ==4263==    by 0x1E5485: profile_manager_cgdcont_query_ready
      (mm-broadband-modem.c:10200)
      ==4263==    by 0x4ED54A1: g_simple_async_result_complete (in
      /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.6800.1)
      ==4263==    by 0x18605E: at_command_ready (mm-base-modem-at.c:538)
      ==4263==    by 0x4ED54A1: g_simple_async_result_complete (in
      /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.6800.1)
      ==4263==    by 0x25ADFA: serial_command_ready
      (mm-port-serial-at.c:393)
      ==4263==    by 0x4ED54A1: g_simple_async_result_complete (in
      /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.6800.1)
      ==4263==    by 0x254752: command_context_complete_and_free
      (mm-port-serial.c:141)

 src/mm-broadband-modem.c | 1 +
 1 file changed, 1 insertion(+)

commit 4c5733e49b0f57e97a7799e8e372003ebd461fef
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 16 21:23:27 2021 +0200

    build: version bump to flag existence of new API (firehose fw update)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f9231bad34c6d61928ccf08dae8e36eab7e26cc9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 16 11:57:10 2021 +0200

    base-manager: skip using g_warning() in
    process_initial_kernel_events()

    Use mm_obj_warn() instead.

 src/mm-base-manager.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 4cf12bb8bc874d38d1ed5f67a77ad87c8cbb728d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 16 11:54:33 2021 +0200

    helpers: skip g_warning() in mm_3gpp_parse_ws46_test_response()

    Use mm_obj_warn() instead.

 plugins/telit/mm-broadband-modem-mbim-telit.c | 2 +-
 src/mm-broadband-modem.c                      | 4 ++--
 src/mm-modem-helpers.c                        | 3 ++-
 src/mm-modem-helpers.h                        | 1 +
 src/tests/test-modem-helpers.c                | 2 +-
 5 files changed, 7 insertions(+), 5 deletions(-)

commit 89bbc2ccb83c608dc95df7f073024f679b73786a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 16 11:52:18 2021 +0200

    core: dump fatal initialization errors to stderr

 src/main.c       | 2 +-
 src/mm-context.c | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 8905cf4670c260c332b1b8b84cc8cdb972937957
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 16 10:21:17 2021 +0200

    filter: trivial: reorder WWAN rule before the TTY ones

 docs/reference/api/ModemManager-overview.xml | 22 +++++++++++-----------
 src/mm-filter.h                              | 18 +++++++++---------
 2 files changed, 20 insertions(+), 20 deletions(-)

commit 9639e52726854782508e35a75c6abf874bd9e608
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 16 10:18:33 2021 +0200

    filter: remove support for TTY blacklist, TTY greylist and TTY
    default allowed

    These lists were used in the corresponding TTY_BLACKLIST and
    TTY_MANUAL_SCAN_ONLY filter rules, in the LEGACY and PARANOID filter
    types, which are no longer supported.

    The DEFAULT_ALLOWED filter rule made sense only in the LEGACY filter
    type, and therefore it is also now removed, leaving the
    DEFAULT_FORBIDDEN fallback rule exclusively. In other words, there is
    now no way to ask ModemManager to implicitly allow TTY ports; the only
    way to do that is by explicit making the TTY ports fall in one filter
    rule that would allow them.

 docs/reference/api/ModemManager-overview.xml |  52 +++----
 docs/reference/api/ModemManager-sections.txt |   5 +-
 src/77-mm-pcmcia-device-blacklist.rules      |   9 --
 src/77-mm-usb-device-blacklist.rules         | 213
 ---------------------------
 src/77-mm-usb-serial-adapters-greylist.rules |  50 -------
 src/Makefile.am                              |   3 -
 src/mm-filter.c                              |  36 +----
 src/mm-filter.h                              |  38 ++---
 8 files changed, 41 insertions(+), 365 deletions(-)

commit 00c1bbfd570492ff6661cfdda8d8a0dcb0e087a4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 16 10:06:43 2021 +0200

    filter: remove LEGACY and PARANOID filter types

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/390

 src/mm-context.c | 12 +-----------
 src/mm-filter.h  | 37 -------------------------------------
 2 files changed, 1 insertion(+), 48 deletions(-)

commit a02cd5ee934726d332fda39d76ba3dc4130a56b6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 16 10:01:56 2021 +0200

    docs: add missing references for several filter rules

 docs/reference/api/ModemManager-overview.xml | 44
 ++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

commit 756f9c5e7572422148ebfa26a9cde0e507acc6ef
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 16 09:49:13 2021 +0200

    docs: remove LEGACY(DEFAULT) and PARANOID filter policy documentation

 docs/man/ModemManager.8                      |  8 +---
 docs/reference/api/ModemManager-overview.xml | 68
 ++--------------------------
 2 files changed, 6 insertions(+), 70 deletions(-)

commit 172b350871a93487fc80aafe0e5488c150dc806d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 15 21:56:32 2021 +0200

    api,tags: deprecate tags used in LEGACY and PARANOID filter types

 include/ModemManager-tags.h | 82
 ++++++++++++++++++++++++---------------------
 1 file changed, 43 insertions(+), 39 deletions(-)

commit 83ac82470589a3672092a0ba0be855093b1cf5e2
Author: Ivan Mikhanchuk <ivan.mikhanchuk@quectel.com>
Date:   Fri May 28 13:49:52 2021 -0700

    quectel: add support for EM120/160 PCIe modules

 plugins/Makefile.am                               |   6 +
 plugins/quectel/mm-broadband-modem-mbim-quectel.c | 132
 ++++++++++++++++++++++
 plugins/quectel/mm-broadband-modem-mbim-quectel.h |  48 ++++++++
 plugins/quectel/mm-plugin-quectel.c               |  29 +++--
 4 files changed, 207 insertions(+), 8 deletions(-)

commit 4165052e8ff8606e04b16ac3e81b93aca5de831d
Author: Ivan Mikhanchuk <ivan.mikhanchuk@quectel.com>
Date:   Fri May 28 14:37:42 2021 -0700

    api: add Firehose firmware update method

 include/ModemManager-enums.h | 2 ++
 1 file changed, 2 insertions(+)

commit 4b4ce6c44573ed72841d5f9c1c154e941bd900b6
Author: Ivan Mikhanchuk <ivanmikh@pm.me>
Date:   Tue Apr 27 21:33:12 2021 -0700

    port-serial: do not call config_fd on wwan qcdm port

    wwan qcdm port is not a serial port, calling config_fd on it
    will always fail, i.e.:
    ModemManager[124587]: <debug> [1619584182.125262] [wwan0p1QCDM/probe]
    probing QCDM...
    ModemManager[124587]: <debug> [1619584182.125398] [wwan0p1QCDM/qcdm]
    opening serial port...
    ModemManager[124587]: <debug> [1619584182.151759] [wwan0p1QCDM/qcdm]
    failed to configure serial device
    ModemManager[124587]: <warn>  [1619584182.151836] [wwan0p1QCDM/qcdm]
    failed to open serial device
    ModemManager[124587]: <warn>  [1619584182.170152] [plugin-manager]
    task 1,wwan0p1QCDM: error when checking support with plugin 'generic':
    (wwan/wwan0p1QCDM) Failed to open QCDM port: Failed to open QCDM
    port: -2

 src/mm-port-serial.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 611d59883606e30a226dd9066b503c3b857edd39
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Wed Jun 9 11:14:56 2021 -0700

    mm-sim-qmi: parse ICCID as hex instead of BCD

 src/mm-sim-qmi.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit 43d705ab933ee021ff1c4c0ea5075db205be7a40
Author: Stephan Gerhold <stephan@gerhold.net>
Date:   Wed Jun 9 14:51:18 2021 +0200

    udev: Ignore WWAN "FIREHOSE" ports

    FIREHOSE ports are used for firmware updates which are done
    independently from ModemManager, so we should ignore those ports.

    A similar change was originally made by Loic Poulain here:
    https://gitlab.freedesktop.org/loicpoulain/ModemManager/-/commit/32b0eb79cdbb37afe33abb72fd948be3cbaf6a2d

 src/80-mm-candidate.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 4282c8d843a144f20f0e1bd9f632751af7a5ff70
Author: Stephan Gerhold <stephan@gerhold.net>
Date:   Wed Jun 9 13:49:08 2021 +0200

    udev: Match WWAN "type" attribute instead of device name

    Recent changes in the WWAN framework in the kernel changed the WWAN
    port names from e.g. "wwan0p1AT" and "wwan0p2QMI" to "wwan0at0" and
    "wwan0qmi0" [1, 2]. This means that the udev rules no longer match
    since AT/QMI are now lower-case and no longer at the end of the name.

    However, recently additionally a "type" sysfs attribute was added
    for all WWAN ports [3], which makes it much more reliable to match
    the WWAN port names without relying on their exact device name.

    Add some additional udev rules to apply the port hints based on the
    "type" sysfs attributes. This fixes the port enumeration on newer
    Linux kernels that include the aforementioned commits.

    Note that we still need to keep the old udev rules for now since
    Linux 5.13 does not have the "type" attribute yet.

    [1]:
    https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=392c26f7f133b9f09e5f58db1ce6ef4b3b4df49f
    [2]:
    https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=f458709ff40b0d992fec496952f79c7820dd3fde
    [3]:
    https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=b3e22e10fdda8e7be3830289a4a63ae8b88d450c

 src/80-mm-candidate.rules | 6 ++++++
 1 file changed, 6 insertions(+)

commit ac18b5ac5bf841cd3a619a9e07137c332558d6c4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 6 14:45:27 2021 +0200

    udev: only flag as candidates the wwan ports, not the full device

    Explicitly ignore the "wwan_dev" device as it is not associated with
    separate ports (which is what MM needs), but with the whole device
    instead.

    See
    https://lists.freedesktop.org/archives/modemmanager-devel/2021-May/008629.html

 src/80-mm-candidate.rules | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 40c647ce3e88e646e00a0990340278b941aec242
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 6 12:15:56 2021 +0200

    Revert "api: QDU update method defined in MM 1.16.6 already"

    This reverts commit 6ffe84a122b9a79a8f0951af5ee5075f16726bdd.

 include/ModemManager-enums.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 464c0d464c758387ac3d35f4e148db2c4368edba
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 6 12:11:08 2021 +0200

    core: skip suggesting FCC unlock may be needed

    This message is too specific, and there are a lot of cases where it
    wouldn't apply.

    E.g. when a MBIM module is stuck in low power mode due to some other
    reason (like hardware rfkill), this message would pop up to the users
    and completely confuse them.

 src/mm-broadband-modem-mbim.c | 3 +--
 src/mm-broadband-modem-qmi.c  | 2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

commit eefcf9204f2de801092b1d14d86c7012420e97af
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 2 09:56:00 2021 +0200

    shared-qmi: add missing g_autoptr() NULL initializer

 src/mm-shared-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c00eff43ac6eda070645d77edc8da71facd972a3
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Mon May 31 16:56:30 2021 +0200

    quectel: ignore QLWURC

    QLWURCs are not ignored and causes calls to be rejected in some cases

 plugins/quectel/mm-shared-quectel.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit e25a585c9fd8c3f58ec01723843fe3c08c30c1ad
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 1 09:36:53 2021 +0200

    broadband-modem-mbim: skip switch() when selecting MBIM services

    Having a switch() for the MBIM services when processing indications
    forces us to update it on every new MBIM service added to libmbim,
    because we build with -Wswitch-enum by default.

    This warning type is extremely useful, and we should not stop using
    it, so let's simplify a bit the indication handling code and skip
    using a switch().

    There are right now only 4 different service indications expected, so
    it shouldn't be a big deal.

 src/mm-broadband-modem-mbim.c | 30 ++++--------------------------
 1 file changed, 4 insertions(+), 26 deletions(-)

commit 52bf2c641171ded9e617022f40497c8984520371
Author: Jarvis-Jiang-G <83380603+Jarvis-Jiang-G@users.noreply.github.com>
Date:   Mon May 31 17:19:50 2021 +0800

    mbim: Increase mbim_device_open_full timeout

    After fwupd upgrade with mbim-qdu method, MM sometimes generate
    plugin failed with the regenerated MHI driver.
    This patch increases the mbim_device_open_full timeout from 30
    seconds to 45 seconds to prevent such issue.
    Signed-off-by: Jarvis Jiang <jarvis.w.jiang@gmail.com>

 src/mm-port-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0b8607bc5dc4cce16ebb7c6a7bd71dfb3032d978
Author: Felipe Borges <felipeborges@gnome.org>
Date:   Thu May 27 15:05:55 2021 +0200

    cinterion: avoid maybe-uninitialized warning by GCC 10

    Reported at
    https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1371

 plugins/cinterion/mm-modem-helpers-cinterion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 695e9932db9cdf9351021ca4c6067de5712cdceb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 24 00:08:07 2021 +0200

    bearer-mbim: implement reload_connection_status()

    Implement connection status reloading for MBIM based bearers.

    Based on a patch by Dylan Van Assche <me@dylanvanassche.be>

 src/mm-bearer-mbim.c | 115
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 115 insertions(+)

commit a97bc9912fd20046da3987eec9a041985a8fc4f8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 23:39:18 2021 +0200

    bearer-qmi: implement reload_connection_status() for the sync
    operation

    The original load_connection_status() method would return an
    UNSUPPORTED error if connection monitoring wasn't required (which is
    the default in most QMI modems).

    The new reload_connection_status() method requires the check to always
    be done unconditionally.

    We take most of the original logic in the load_connection_status() for
    the new reload_connection_status(), and we add the UNSUPPORTED error
    logic exclusively in the new load_connection_status().

 src/mm-bearer-qmi.c | 91
 +++++++++++++++++++++++++++++++++++++++++------------
 1 file changed, 71 insertions(+), 20 deletions(-)

commit 6fae479bd76db6c8cc69b3db2da3ef9707a3484c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 22:21:54 2021 +0200

    plugins: ignore reload_connection_status() where not supported

    Some of the AT-based connection methods don't have any way to query
    connection status, or we don't have a proper implementation for those
    yet. Ignore the reload operation in all those.

 plugins/altair/mm-broadband-bearer-altair-lte.c | 4 ++++
 plugins/huawei/mm-broadband-bearer-huawei.c     | 4 ++++
 plugins/icera/mm-broadband-bearer-icera.c       | 4 ++++
 plugins/iridium/mm-bearer-iridium.c             | 4 ++++
 plugins/mbm/mm-broadband-bearer-mbm.c           | 4 ++++
 plugins/option/mm-broadband-bearer-hso.c        | 4 ++++
 6 files changed, 24 insertions(+)

commit 4038c243f9c73292bc0807a17158409fd947da9d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 22:19:40 2021 +0200

    cinterion: reuse the same method for load and reload

    The load_() method is used for connection monitoring; while the
    reload_() method is used to sync connection status after a
    suspend/resume operation. The same method can be used for both things
    in the Cinterion plugin.

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 4 ++++
 1 file changed, 4 insertions(+)

commit c188ba3c159309d4ab1b3715d83a1624426a2c5a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 22:17:25 2021 +0200

    sierra: reuse the same method for load and reload

    The load_() method is used for connection monitoring; while the
    reload_() method is used to sync connection status after a
    suspend/resume operation. The same method can be used for both things
    in the Sierra plugin.

 plugins/sierra/mm-broadband-bearer-sierra.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 205f46620e305d4ff1d2e52ca9ad0d76f27bc2bc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 22:14:49 2021 +0200

    novatel-lte: reuse the same method for load and reload

    The load_() method is used for connection monitoring; while the
    reload_() method is used to sync connection status after a
    suspend/resume operation. The same method can be used for both things
    in the Novatel LTE plugin.

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 2466ddbdaf402be0f7fccca589d8df0931c56322
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 22:11:08 2021 +0200

    broadband-bearer: reuse the same method for load and reload

    The load_() method is used for connection monitoring; while the
    reload_() method is used to sync connection status after a
    suspend/resume operation. The same method can be used for both things
    in the case of AT+CGACT? based modems.

 src/mm-broadband-bearer.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 6c1d4808b1b331dd39039a12b157a3b544bcbec7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 21:46:34 2021 +0200

    base-bearer: ignore cancellation during sync()

    There is no input cancellable in the method, so the GTask will never
    get cancelled from the outside.

 src/mm-base-bearer.c | 6 ------
 1 file changed, 6 deletions(-)

commit e096b50208cfceb0c3e7156db344f6b19485f13a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 21:40:20 2021 +0200

    iface-modem,bearer-list: sync all bearers one after the other

    Do not launch N checks for N bearers and ignore their result. Instead,
    go one by one, and report errors one by one.

 src/mm-bearer-list.c | 86
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-bearer-list.h | 11 +++++++
 src/mm-iface-modem.c | 49 ++++++++++++++++++++++++------
 3 files changed, 136 insertions(+), 10 deletions(-)

commit e4f7da5624dc1dfc20373bf77bfc4f3309bacb61
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 21:17:42 2021 +0200

    base-bearer: propagate the new connection status after reload

    Just triggering a connection status reload won't change the actual
    bearer object state.

    We change the signature of the reload_connection_status_finish()
    method so that it returns the actual reloaded bearer connection
    status, and so both the load_ and reload_ methods can be implemented
    with exactly the same method, something that was not possible before.

    Once we get the new connection status reloaded, we apply it in the
    bearer object only if it's DISCONNECTED (and it wasn't DISCONNECTED
    before). This should cover the true real case we're interested in, and
    nothing else (i.e. we won't overcomplicate the logic attempting to
    handle disconnected->connected transitions detected in the sync()
    operation).

 src/mm-base-bearer.c | 29 +++++++++++++++++++++++------
 src/mm-base-bearer.h |  6 +++---
 2 files changed, 26 insertions(+), 9 deletions(-)

commit 8cfc2a237af78734b4e4f1d7d89f4782dacf9bcd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 15:51:51 2021 +0200

    base-bearer: fix connection reload completion

    If we called the class reload_connection_status() method, we should
    call the class reload_connection_status_finish() as well.

 src/mm-base-bearer.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

commit 29a1c24538444eba275ac53ff7b84c71c443fb43
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 20:58:40 2021 +0200

    base-bearer: improve comments of the load/reload_connection_status()
    methods

 src/mm-base-bearer.h | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

commit 8913bab1c5f085e3fcb5d7838617b7386ac35681
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sat Mar 20 16:23:14 2021 +0100

    base-bearer: synchronize state when resuming

    Refresh connection status on resume to confirm
    that the connection bearers are still valid.

 src/mm-base-bearer.c | 124
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-base-bearer.h |  24 ++++++++++
 src/mm-iface-modem.c |  25 +++++++++++
 3 files changed, 173 insertions(+)

commit 0a99cca2777d858250c9edeb6931a9edb1b75676
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 15:43:52 2021 +0200

    iface-modem: ignore cancellation during sync()

    There is no input cancellable in the method, so the GTask will never
    get cancelled from the outside.

 src/mm-iface-modem.c | 6 ------
 1 file changed, 6 deletions(-)

commit 8a70dbe34b9c16844f465427cb6a19665aab3364
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 15:40:36 2021 +0200

    iface-modem: remove the signal quality enforced refresh during sync()

    when mm_iface_modem_refresh_signal() is called, we'll restart the
    signal quality refresh logic already, there is no need to request
    an enforced start.

    The enforced start was also modifying ctx->enabled unconditionally,
    which is really not ok. This logic would be enabled only when we're
    registered, and that logic is fine, no need to change that.

 src/mm-iface-modem-3gpp.c |  2 +-
 src/mm-iface-modem.c      | 29 +++++++----------------------
 src/mm-iface-modem.h      |  2 +-
 3 files changed, 9 insertions(+), 24 deletions(-)

commit 7156d5ee50edbb3a14ed93865294637aae4c1f9b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 14:44:44 2021 +0200

    broadband-modem: abort sync if locked SIM card found

    We made sure that the after resume synchronization was only started on
    modems that had been enabled (and so unlocked). If we detect a locked
    SIM card during the sync operation, it's either because the SIM card
    was swapped, or because the modem was fully shutdown during the
    suspension (and so the SIM requires SIM-PIN again).

    Either way, we cannot sync the state cleanly at this point, we must
    trigger a full modem reprobe in order to move back the modem state to
    Locked.

 src/mm-broadband-modem.c | 26 +++++++++++++++-----------
 1 file changed, 15 insertions(+), 11 deletions(-)

commit 8a6b18198dd4f42b30233ae25017b57e63ab7e47
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 14:44:09 2021 +0200

    broadband-modem: fix state machine logic when synchronizing modem
    interface

 src/mm-broadband-modem.c | 1 +
 1 file changed, 1 insertion(+)

commit 14325d85a83f3a299d13c1eae00da9c01178cc85
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 14:34:35 2021 +0200

    broadband-modem: fail synchronization if no modem exported in DBus

 src/mm-broadband-modem.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 0e47ba404174fcebedf4a349971d1eb07f2d714b
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sun Mar 14 09:53:49 2021 +0100

    iface-modem: synchronize state when resuming

    Refresh signal strength and access technologies,
    check for SIM swaps, and check if the SIM is locked.
    The modem may have switched to a different
    access technologies or have a different signal strength
    when resuming. Moreover, the user may swap or remove
    the SIM when suspended.

 src/mm-broadband-modem.c  |  44 ++++++++++++
 src/mm-iface-modem-3gpp.c |   2 +-
 src/mm-iface-modem.c      | 177
 ++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-iface-modem.h      |  13 +++-
 4 files changed, 228 insertions(+), 8 deletions(-)

commit 3afa8e6f3b241bb6858d8062d643761542a87976
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 14:32:20 2021 +0200

    broadband-modem: skip 3GPP interface sync if no 3GPP support

 src/mm-broadband-modem.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit 890694e0c38b9f36985f1bc4b54916078f0bb82f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 14:26:12 2021 +0200

    broadband-modem: fix type in the ready() for iface_modem_3gpp_sync()

    When calling an async method ona given type, the convention is to use
    the same type in the corresponding ready() method, so that we can use
    it without additional casts on the finish().

 src/mm-broadband-modem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e716a306b1a6cc654523f6b911f15213d85acc85
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 15:44:22 2021 +0200

    iface-modem-3gpp: ignore cancellation during sync()

    There is no input cancellable in the method, so the GTask will never
    get cancelled from the outside.

 src/mm-iface-modem-3gpp.c | 6 ------
 1 file changed, 6 deletions(-)

commit e46e36b36ef798d4fa2669f211ab6213bf35c672
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 14:17:57 2021 +0200

    iface-modem-3gpp: remove redundant log message

    It doesn't give us any valuable information, so just remove it.

 src/mm-iface-modem-3gpp.c | 1 -
 1 file changed, 1 deletion(-)

commit 7c5e27caf96b777c8fd5f8bfdd612346ef1957b4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 14:15:30 2021 +0200

    iface-modem-3gpp: fix double GError free on registration sync failure

 src/mm-iface-modem-3gpp.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

commit 5b3709e61ed12cef6763b87f1eed4936dee89931
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 14:14:27 2021 +0200

    iface-modem-3gpp: use g_autoptr() for the MMBearerProperties
    during sync

 src/mm-iface-modem-3gpp.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

commit 84aa134ad9c94ed42cdc1f8387e8fbf227ee4103
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sat Mar 13 19:28:19 2021 +0100

    iface-modem-3gpp: synchronize state when resuming

    On resume, refresh the EPS bearers and 3GPP registration
    as the registration and bearers may expired during suspend.

 src/mm-broadband-modem.c  |  31 ++++++++
 src/mm-iface-modem-3gpp.c | 177
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h |  12 ++++
 3 files changed, 220 insertions(+)

commit a9868638a7fe7eca953902743fc569ec12e1483d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 15:44:45 2021 +0200

    iface-modem-time: ignore cancellation during sync()

    There is no input cancellable in the method, so the GTask will never
    get cancelled from the outside.

 src/mm-iface-modem-time.c | 6 ------
 1 file changed, 6 deletions(-)

commit ac1ff45f44615d7f9bd5f8cbd758be32fb96f705
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 14:31:13 2021 +0200

    broadband-modem: skip time interface sync if no time support

 src/mm-broadband-modem.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit 41db2e5e820f222ce36b6fd228054642edfb4746
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sat May 1 15:53:55 2021 +0200

    iface-modem-time: synchronize state when resuming

    On resume, fetch the current network time as
    the network time may be changed when suspended.

 src/mm-broadband-modem.c  | 30 +++++++++++++++++
 src/mm-iface-modem-time.c | 84
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-time.h | 12 +++++++
 3 files changed, 126 insertions(+)

commit e58d525826c7693a6c2cf3a31485b62d870e59d2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 12:35:07 2021 +0200

    broadband-modem: skip synchronization after resume if not needed

    The synchronization after resume should only be needed on enabled
    modems, as otherwise there is really no chance that the state of the
    modem may have changed during suspend.

    E.g. if a modem is failed because it doesn't have a SIM card, or if
    the SIM-PIN is locked, or if the modem has never been enabled, there
    is no point in attempting to synchronize the runtime state of the
    modem.

 src/mm-broadband-modem.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

commit 42bc953749fc4f38aeb6430704a7f6571fbf1b23
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 12:28:02 2021 +0200

    broadband-modem: ignore cancellation during sync()

    There is no input cancellable in the method, so the GTask will never
    get cancelled from the outside.

 src/mm-broadband-modem.c | 6 ------
 1 file changed, 6 deletions(-)

commit eaf14b8d79a61937a3b2fdac3e862629a737f1a7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 26 10:36:47 2021 +0200

    base-modem: make sync() available only if suspend-resume enabled

 src/mm-base-modem.c | 4 ++++
 src/mm-base-modem.h | 6 ++++++
 2 files changed, 10 insertions(+)

commit eb5ae16ac4f3f65d698bdc378ce903ed60952689
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 12:23:59 2021 +0200

    base-modem: don't fail if sync() isn't implemented

 src/mm-base-modem.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit 728e6cd39810a75af4907e19fb2bd5ca6b211b00
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 12:19:06 2021 +0200

    base-modem: fix modem_sync() operation handling

    The mm_base_modem_sync() method is an asynchronous method that
    receives a callback and user data, and therefore we MUST always
    complete the async method calling that callback. Set that up with a
    GTask as usual.

    Also, the mm_base_modem_sync_finish() method should be implemented
    along with mm_base_modem_sync(), not in the source file of the
    caller of the async method. The finish() always depends on how the
    async method was implemented, in our case using a GTask.

 src/mm-base-manager.c |  7 -------
 src/mm-base-modem.c   | 34 +++++++++++++++++++++++++---------
 2 files changed, 25 insertions(+), 16 deletions(-)

commit 6397aacfdbd8cd69524f3fc8adb722509a0cc05a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 12:18:42 2021 +0200

    base-manager: avoid using the `mm_` prefix for static private methods

 src/mm-base-manager.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 8f48ba21af64a20fa7ae42169fb794e30f91e8fc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 12:17:40 2021 +0200

    base-manager: don't assume a MMDevice always holds a MMModem

    There are cases, e.g. during modem object disposal, where this is not
    true.

 src/mm-base-manager.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 01223b2d4dd61d3a3801543981791927b0746a66
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 12:16:55 2021 +0200

    base-manager: make sure g_autoptr() variables are initialized to NULL

    Otherwise, we may have memory issues if the variable isn't initialized
    and the method exits.

 src/mm-base-manager.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 38740e9d11a52f91e41349a62caf35f8e1a67f48
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sat May 1 15:50:47 2021 +0200

    base-manager: add quick suspend/resume base

    Quick suspend/resume infrastructure for
    synchronizing the interfaces when resuming.

 src/main.c               | 14 ++++++++-
 src/mm-base-manager.c    | 48 ++++++++++++++++++++++++++++
 src/mm-base-manager.h    |  4 +++
 src/mm-base-modem.c      | 25 +++++++++++++++
 src/mm-base-modem.h      | 17 ++++++++++
 src/mm-broadband-modem.c | 81
 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-context.c         | 11 +++++++
 src/mm-context.h         |  1 +
 8 files changed, 200 insertions(+), 1 deletion(-)

commit 940063419a1c2eb9f6e197d60b4c7cb42702de8d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 25 15:42:11 2021 +0200

    base-manager: ensure all GUdevDevices have subsystem and name set

    Under certain rare conditions (e.g. race between querying devices of a
    given subsystem and the kernel tearing those devices down), the
    subsystem reported for a GUdevDevice seems to be NULL.

    So, ensure both subsystem and name are set on the GUdevDevice
    before we
    process them.

    The issue has been observed on GUdevDevices listed by
    g_udev_client_query_by_subsystem(), not on the ones asynchronously
    reported via uevents, but we add the validity check on both places for
    consistency.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/343

 src/mm-base-manager.c | 30 +++++++++++++++++++++++++-----
 1 file changed, 25 insertions(+), 5 deletions(-)

commit 10651ba93f89ed1320b5a88ae11679230bcac4fc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 25 00:26:25 2021 +0100

    quectel: the generic AT based modem supports SIM hot swap

 plugins/quectel/mm-broadband-modem-quectel.c | 2 ++
 1 file changed, 2 insertions(+)

commit e4f106f311c106fb375dbfda7690ae5d67e68193
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 25 00:25:44 2021 +0100

    broadband-modem-qmi: assume all QMI based modems support SIM hot swap

    As we have a generic SIM hot swap implementation in the QMI broadband
    modem object.

 plugins/cinterion/mm-broadband-modem-qmi-cinterion.c | 2 ++
 plugins/qcom-soc/mm-broadband-modem-qmi-qcom-soc.c   | 3 +++
 plugins/quectel/mm-broadband-modem-qmi-quectel.c     | 2 ++
 plugins/simtech/mm-broadband-modem-qmi-simtech.c     | 2 ++
 src/mm-broadband-modem-qmi.c                         | 2 ++
 5 files changed, 11 insertions(+)

commit 58f28c2a45f1e2c290a6c2d9fd78fc742c702486
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 26 12:28:50 2021 +0200

    ci: build with artifacts only in master and tags

 .gitlab-ci.yml | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

commit 342b0ba6488f053ea62f57243373756ad6c1c117
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 26 12:27:04 2021 +0200

    ci: don't trigger build on branches or pushes

    We rely on merge requests to merge new changes, so let's free a bit
    the number of pipelines we launch, and avoid doing it on every branch
    update.

 .gitlab-ci.yml | 2 --
 1 file changed, 2 deletions(-)

commit 3da3623e11f90e45951118119da6f842053fd133
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 00:38:09 2021 +0200

    broadband-modem: check if skeleton exists when creating device id

    The logic that creates the device identifier uses some fields that are
    exposed in DBus (e.g. model, manufacturer...).

    We should not attempt to load any of that info if the DBus skeleton
    for the Modem interface is no longer available, as e.g. the device may
    have gone away already.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/374

 src/mm-broadband-modem-mbim.c | 16 ++++++++++------
 src/mm-broadband-modem-qmi.c  | 16 ++++++++++------
 src/mm-broadband-modem.c      | 36 +++++++++++++++++++++++++-----------
 src/mm-broadband-modem.h      |  7 ++++---
 4 files changed, 49 insertions(+), 26 deletions(-)

commit 1f10b3ff7f2e9cf8a72859fc7340bc60bb189c2e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 00:31:04 2021 +0200

    broadband-modem: trivial coding style fix

 src/mm-broadband-modem.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 4d095ae05bc41a4a03d66749507b20e9934700ca
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Fri Mar 12 20:31:53 2021 +0100

    mm-iface-modem: fix typo in step function

 src/mm-iface-modem.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 9695f23faf1a85b9dd7e40700cd22aa6de0b146d
Author: Michal Mazur <mkm@semihalf.com>
Date:   Wed May 5 18:51:33 2021 +0200

    iface-modem-3gpp: skip initialization in LOCKED state

 src/mm-iface-modem-3gpp.c | 51
 ++++++++++++++++++++++++++++++++++-------------
 1 file changed, 37 insertions(+), 14 deletions(-)

commit 83e7600a67d1c5952d0fada07ebe70dfef3492f6
Author: Michal Mazur <mkm@semihalf.com>
Date:   Tue Apr 20 11:31:23 2021 +0200

    broadband-modem: allow 3GPP initialization before fallback

    To enable call to disable-facility-lock in LOCKED state,
    3gpp interface needs to be initialized before going to fallback step.

 src/mm-broadband-modem.c | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

commit d76c5c9bcd7b94b89f26a434235dd25297f5159b
Author: Michal Mazur <mkm@semihalf.com>
Date:   Tue Apr 20 11:33:57 2021 +0200

    modem-qmi: detect personalization locks in LOCKED state

 src/mm-broadband-modem-qmi.c | 80
 ++++++++++++++++++++++++++++++++++++++++++--
 src/mm-modem-helpers-qmi.c   | 54 ++++++++++++++++++++++++++++++
 2 files changed, 132 insertions(+), 2 deletions(-)

commit c6b5045105a12098ddd8177f8a3c43d73e3f6680
Author: Michal Mazur <mkm@semihalf.com>
Date:   Tue Apr 20 11:31:39 2021 +0200

    base-sim: ignore personalization locks after SIM unlock

 src/mm-base-sim.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

commit db5837d9b47f4de09f79f71bd5778874be81f58c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 01:18:30 2021 +0200

    docs,libmm-glib: add missing reference for DisableFacilityLock()
    support

 docs/reference/libmm-glib/libmm-glib-sections.txt | 7 +++++++
 1 file changed, 7 insertions(+)

commit 6c66152d1af648714e7859a4883537404f729cbe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 23 01:16:53 2021 +0200

    docs,libmm-glib: add missing non-API methods to Private sections

 docs/reference/libmm-glib/libmm-glib-sections.txt | 4 ++++
 1 file changed, 4 insertions(+)

commit 6a56c5678c863a689468ae074527a3f411fee9ae
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 18 21:56:33 2021 +0200

    bearer-mbim: network error 0 is actually a valid error (unknown)

 src/mm-bearer-mbim.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

commit e233d033fc09e2a84f0fb47eb64d0fda6de4151e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 18 20:33:42 2021 +0200

    broadband-modem-mbim: detailed connection error on disconnection
    reports

    When we receive an indication reporting a network-initiated
    disconnection, convert the MBIM network error into a
    MMMobileEquipmentError, and publish it in the new 'ConnectionError'
    property.

 src/mm-broadband-modem-mbim.c | 37 +++++++++++++++++++++----------------
 1 file changed, 21 insertions(+), 16 deletions(-)

commit 59ffa01bb05dab5ef3678377e8480fd8e500e61d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 18 20:45:34 2021 +0200

    bearer-qmi: detailed connection error on disconnection reports

    When we receive an indication reporting a network-initiated
    disconnection, convert the QMI call end reason into a
    MMMobileEquipmentError, and publish it in the new 'ConnectionError'
    property.

 src/mm-bearer-qmi.c | 82
 +++++++++++++++++++++++++++++++++--------------------
 1 file changed, 52 insertions(+), 30 deletions(-)

commit 32995c8392f151157a0ce1b3c7f90fdb88222f60
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 18 23:13:24 2021 +0200

    base-bearer: never overwrite a connection error that is already set

 src/mm-base-bearer.c | 5 +++++
 1 file changed, 5 insertions(+)

commit ba53b6a64fe08401f0d2da3bd73c2fa34cbdc6f5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 18 21:30:38 2021 +0200

    base-bearer: limit the type of errors we can set as 'ConnectionError'

 src/mm-base-bearer.c | 43 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 41 insertions(+), 2 deletions(-)

commit a837ef4d81bb2eb359b47235625508a67cb8ca25
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 18 22:48:50 2021 +0200

    base-bearer: clear connection error on every new attempt

 src/mm-base-bearer.c | 3 +++
 1 file changed, 3 insertions(+)

commit 43db860c444da19d1a40df7d32903751e1d12638
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 18 18:29:21 2021 +0200

    base-bearer: report connection error on network initiated
    disconnections

    By default, fallback to "unknown" mobile equipment error when the
    modem gets disconnected by the network and we don't have any way to
    know a more detailed reason.

 plugins/huawei/mm-broadband-bearer-huawei.c |  8 ++++---
 plugins/icera/mm-broadband-bearer-icera.c   |  6 +++--
 plugins/mbm/mm-broadband-bearer-mbm.c       |  6 +++--
 plugins/option/mm-broadband-bearer-hso.c    |  7 +++---
 src/mm-base-bearer.c                        | 37
 +++++++++++++++++++++--------
 src/mm-base-bearer.h                        | 13 ++++++----
 src/mm-bearer-mbim.c                        |  7 +++---
 src/mm-bearer-qmi.c                         |  5 ++--
 src/mm-broadband-bearer.c                   |  8 ++++---
 9 files changed, 64 insertions(+), 33 deletions(-)

commit 7e8885d569d20259d1ae9f3c8c890ae9d4a2cd4d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 18 16:00:35 2021 +0200

    base-bearer: report connection error on failed connection attempts

    When a user-requested connection attempt fails, we not only return the
    connection error to the user that requested it, we also publish the
    specific connection error in DBus for others to check why the failure
    happened.

 src/mm-base-bearer.c | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

commit de6b1324cb80413e552806f75c70be72cc41e933
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 17 21:33:32 2021 +0200

    api,bearer: new 'ConnectionError' property

    This new property will provide detailed information about the failed
    connection attempt, or about the network initiated disconnection. The
    property will be cleared only if a new connection attempt is
    triggered, and so it can be used to investigate why a given attempt
    failed without needing to be the one who triggered the attempt (e.g.
    so that failures in NetworkManager-triggered connection attempts can
    be investigated looking at the DBus API).

    The property is built as a (ss) tuple, but the libmm-glib interface
    provides methods to read this property as a GError.

 cli/mmcli-bearer.c                                 |  45 ++-
 cli/mmcli-output.c                                 | 380
 +++++++++++----------
 cli/mmcli-output.h                                 |   2 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   5 +
 .../org.freedesktop.ModemManager1.Bearer.xml       |  14 +
 libmm-glib/mm-bearer.c                             | 119 +++++++
 libmm-glib/mm-bearer.h                             |   3 +
 libmm-glib/mm-common-helpers.c                     |  50 +++
 libmm-glib/mm-common-helpers.h                     |   5 +-
 9 files changed, 410 insertions(+), 213 deletions(-)

commit ff45d292ee75b0e49c3de3677211218445659884
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 18 10:41:55 2021 +0200

    libmm-glib: setup common helper to register DBus errors

 libmm-glib/mm-common-helpers.c | 22 ++++++++++++++++++++++
 libmm-glib/mm-common-helpers.h |  3 +++
 libmm-glib/mm-manager.c        | 20 ++------------------
 src/main.c                     | 25 ++++++++-----------------
 4 files changed, 35 insertions(+), 35 deletions(-)

commit 34a50edde100436a1bbb5249b8bbb812c4fde7c2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 17 22:46:15 2021 +0200

    api,errors: document all DBus error name prefixes

    Since ModemManager 1.0 we were publishing symbols to identify all the
    possible DBus error name prefixes, but these were never documented,
    they were explicitly ignored in gtk-doc.

    Let's provide proper documentation for them and make them first-class
    API symbols.

 docs/reference/api/ModemManager-sections.txt | 17 ++++-----
 include/ModemManager-errors.h                | 57
 +++++++++++++++++++++++++---
 2 files changed, 60 insertions(+), 14 deletions(-)

commit 6c56ea3b97a8e4afc568316753c0c48b3aeeacb6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 17 23:09:04 2021 +0200

    docs,api: add index for 1.14

    Some of the newly deprecated enum values were introduced in 1.14.

 docs/reference/api/ModemManager-docs.xml | 4 ++++
 1 file changed, 4 insertions(+)

commit b9c66e92ea71f6f46519975bda5a01ebf58fb80d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 17 00:04:45 2021 +0200

    bearer-qmi: rework connection failure error reporting

    On a failed QMI modem connection, we won't return the generic
    "CallFailed" error, we'll try to convert the 3GPP verbose call end
    reason to a MMMobileEquipmentError.

    And if we cannot find a mapping, or if the reported error is not a
    3GPP verbose call end reason, we'll return a Unknown
    MMMobileEquipmentError with a string message providing detailed error
    information.

 src/mm-bearer-qmi.c        | 86
 +++++++++++++++++++++++++++++-----------------
 src/mm-modem-helpers-qmi.c | 73 +++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.h |  3 ++
 3 files changed, 131 insertions(+), 31 deletions(-)

commit a878cfa0036f6c0608c3e17697edff08ccd9fab1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 16 23:23:30 2021 +0200

    modem-helpers-mbim: rework nw error code mapping

    Instead of having a switch with a lot of cases, provide a one to one
    mapping for the MbimNwError and MMMobileEquipmentError codes in an
    array, and make use of the mm_mobile_equipment_error_for_code() helper
    to build the actual GError.

 src/mm-bearer-mbim.c          |   6 +-
 src/mm-broadband-modem-mbim.c |   9 +-
 src/mm-modem-helpers-mbim.c   | 255
 +++++++++++-------------------------------
 src/mm-modem-helpers-mbim.h   |   3 +-
 4 files changed, 79 insertions(+), 194 deletions(-)

commit 8da8fd0248fa619709aa2a17b1717e7981b641d0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 11 23:12:57 2021 +0200

    api: update MMMobileEquipmentError enum values

    Update the list of mobile equipment error codes according to v17.1.0
    of 3GPP TS 27.007 (March 2021).

    A lot of the enum values that were prefixed with the 'GPRS_' keyword
    have now been flagged as deprecated, and a new enum name given to the
    corresponding value.

    The deprecated symbol names are kept in the compat support to avoid
    breaking API/ABI.

 docs/reference/api/ModemManager-sections.txt |  43 +++
 include/ModemManager-compat.h                | 340 ++++++++++++++++++++++
 include/ModemManager-errors.h                | 417
 ++++++++++++++++++---------
 plugins/icera/mm-broadband-bearer-icera.c    |   2 +-
 plugins/ublox/mm-broadband-bearer-ublox.c    |   4 +-
 src/mm-error-helpers.c                       | 246 ++++++++++------
 src/mm-modem-helpers-mbim.c                  | 124 +++++---
 src/tests/test-error-helpers.c               |   4 +-
 8 files changed, 925 insertions(+), 255 deletions(-)

commit d1bd0a297103b426e3ec3afe310f1471c6c6dbae
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 16 22:03:10 2021 +0200

    core: improve error helpers

    First, simplify the logic that attempts to find the correct error code
    associated to an error text string. This logic is very flaky, as it
    relies on knowing what the modems report as text string for the
    different error codes, and obviously that is not always the same.
    Instead of supporting all error codes in this logic, we now limit them
    to a small subset with common error codes and hopefully common error
    strings.

    Second, in order to quickly get the error description string for a
    given error code, we rework the array of supported errors so that
    the index of the array is the error code itself. For mobile equipment
    errors the logic is straightforward, as they're always in the [0,255]
    range, but for the message errors we create an array where the index
    of the array is equal to the code plus 300 as they're always in the
    [300,500] range. By doing this, we avoid having an array with 300 NULL
    items before the actual values we want to support.

 src/mm-error-helpers.c         | 500
 ++++++++++++++++++++++-------------------
 src/tests/test-error-helpers.c |  85 +++++++
 2 files changed, 356 insertions(+), 229 deletions(-)

commit 9fdbbc6929cb61d4168e1696a94e5b2f07bc578e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 19 15:37:47 2021 +0200

    foxconn: setup FCC unlock step

    Use the new "DMS Foxconn Set FCC authentication" command to request
    the modem unlock during a power up operation.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/373

 configure.ac                                      |  2 +-
 plugins/foxconn/mm-broadband-modem-mbim-foxconn.c | 67
 ++++++++++++++++++++++-
 2 files changed, 66 insertions(+), 3 deletions(-)

commit 76f24256174039a75926cdc0ce3a6b1f03ea10ee
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri May 21 15:48:31 2021 +0200

    broadband-modem-mbim: setup FCC unlock step

    Use the new generic FCC unlock step instead of implementing it within
    the power up setup logic.

 src/mm-broadband-modem-mbim.c | 219
 ++++++------------------------------------
 1 file changed, 30 insertions(+), 189 deletions(-)

commit b9596c81879b8eeae3f2e1bab5c31007e5824c1f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 19 15:12:17 2021 +0200

    broadband-modem-qmi: setup FCC unlock step

    Use the new generic FCC unlock step instead of implementing it within
    the operating mode setup logic.

    The operation is implemented in the MMSharedQmi interface as it will
    also be used by the MBIM modem object.

 src/mm-broadband-modem-qmi.c | 240
 ++++++++++---------------------------------
 src/mm-shared-qmi.c          |  50 +++++++++
 src/mm-shared-qmi.h          |   6 ++
 3 files changed, 112 insertions(+), 184 deletions(-)

commit 6ca75c76db277b89325e1888ac445cbfebe33039
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 19 13:02:42 2021 +0200

    iface-modem: new optional FCC unlock step in the power state update

    There are devices that come locked before they can be put online.
    Until now we had a specific implementation for this in the generic QMI
    modem, but we should have it in a more generic way for any kind of
    modem.

 src/mm-iface-modem.c | 352
 +++++++++++++++++++++++++--------------------------
 src/mm-iface-modem.h |   8 ++
 2 files changed, 180 insertions(+), 180 deletions(-)

commit ec8bf7f0e39435f98d322d09a36b0d3e171a9ae7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 22 00:46:55 2021 +0200

    shared-qmi: trivial coding style update

 src/mm-shared-qmi.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 6ffe84a122b9a79a8f0951af5ee5075f16726bdd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri May 21 23:46:28 2021 +0200

    api: QDU update method defined in MM 1.16.6 already

    (cherry picked from commit 2cb38c568ff1fb26b23bad5e8a2851547448c30e)

 include/ModemManager-enums.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d5c16382c5fac93464f8a68e5f65b255933c4c72
Author: Arnaud Ferraris <arnaud.ferraris@collabora.com>
Date:   Fri May 21 14:50:07 2021 +0200

    service: add QIPCRTR address family

    With the recently added support for modems using QRTR, ModemManager
    needs to have access to the corresponding address family so it can
    interact with the modem.

    Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>

 data/ModemManager.service.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a38162230407cb4a8ae28a062cb3c0438b12977c
Author: Undef <gitlab@undef.tools>
Date:   Thu May 20 10:12:47 2021 +0000

    service: Fix Mobile Data on EG25

    This allows mobile data to work on the EG25 (and probably other
    modems).

 data/ModemManager.service.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 18fe7856afd40640628f73491d2cb2d0faf2d844
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 18 21:59:16 2021 +0200

    base-bearer: trivial fix printing stats reports

 src/mm-base-bearer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d661d822f7fc2b31884eb10a586501765250ec2e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 18 14:29:41 2021 +0200

    libmm-glib,common-helpers: avoid signed vs unsigned comparisons

      mm-common-helpers.c: In function 'mm_get_int_from_str':
      mm-common-helpers.c:1349:13: warning: comparison between signed
      and unsigned integer expressions [-Wsign-compare]
           if (eol == num)
                   ^~
      mm-common-helpers.c: In function 'mm_utils_hexstr2bin':
      mm-common-helpers.c:1718:19: warning: comparison between signed
      and unsigned integer expressions [-Wsign-compare]
           for (i = 0; i < len; i += 2) {
                         ^

 libmm-glib/mm-common-helpers.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

commit 21ff48ed7d56837567aff3e396acf3bfd24cbc02
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 18 12:24:39 2021 +0200

    libmm-glib: drop default timeout checks in Command()

    The g_dbus_proxy_get_default_timeout() is by default -1 unless
    explicitly updated, so the check doesn't make any sense really. We
    didn't see any warning produced because mmcli provides an explicit
    timeout of 30s, so it was never the default -1.

 libmm-glib/mm-modem.c | 5 -----
 1 file changed, 5 deletions(-)

commit a325acd6b1ae3376bb0f9f3eb83ce44617115a55
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 18 12:07:45 2021 +0200

    libmm-glib: remove unused cmp_allow_roaming() method

      mm-bearer-properties.c:725:1: warning: 'cmp_allow_roaming' defined
      but not used [-Wunused-function]
       cmp_allow_roaming (gboolean                   a,
       ^~~~~~~~~~~~~~~~~

 libmm-glib/mm-bearer-properties.c | 19 -------------------
 1 file changed, 19 deletions(-)

commit 268cab885b62526bb97794cb6b9e8b0f97084841
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 18 11:28:18 2021 +0200

    core: drop "volatile" for g_once_init_enter locations

    This fixes a few (fatal in gcc 11) warnings.

    See https://gitlab.gnome.org/GNOME/glib/-/issues/600

 build-aux/mm-enums-template.c  |  8 +++----
 build-aux/mm-errors-template.c |  8 +++----
 src/mm-log.c                   |  2 +-
 src/mm-private-boxed-types.c   | 48
 +++++++++++++++++++++---------------------
 4 files changed, 33 insertions(+), 33 deletions(-)

commit 0ea6e01c9b26f89d7f1ffecfd2ad2e9b30a0824d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 17 14:29:35 2021 +0200

    libmm-glib,location-3gpp: fix string overflow

      mm-location-3gpp.c: In function
      ‘mm_location_3gpp_get_mobile_country_code’:
      mm-location-3gpp.c:139:12: warning: writing 1 byte into a region
      of size 0 [-Wstringop-overflow=]
        139 |     mcc[4] = '\0';
            |     ~~~~~~~^~~~~~
      mm-location-3gpp.c:132:11: note: at offset 4 to object ‘mcc’
      with size 4 declared here
        132 |     gchar mcc[4];
            |           ^~~

 libmm-glib/mm-location-3gpp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5e629b8ea77d3af1aaedeaca7d1489cb68f6da27
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Thu May 6 15:13:46 2021 +0300

    broadband-modem-qmi: set MNC PCS digit in
    modem_3gpp_load_operator_name()

    If the network has three digit MNC and MNC < 100, set the PCS
    digit status
    field in the QMI request.

 src/mm-broadband-modem-qmi.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 1147d376cd4d575eb7178f7b47a3fc10efe0f72b
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Thu May 6 15:11:37 2021 +0300

    shared-qmi: set MNC PCS digit for manual network registration

    Set the MNC PCS digit status when attempting to register to a network
    with 3 digit MNC and MNC < 100.

 configure.ac        |  2 +-
 src/mm-shared-qmi.c | 26 +++++++++++++++++++++-----
 2 files changed, 22 insertions(+), 6 deletions(-)

commit 2471b950b0771d680020ef8debf108d7fbd6e3f2
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Thu May 6 15:09:23 2021 +0300

    sim-qmi: use mm_3gpp_parse_operator_id() for preferred PLMN MNC digits

    MNC PCS digit status is now available from
    mm_3gpp_parse_operator_id(),
    so use it.

 src/mm-sim-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 44671ced03c422347d2cc6912b7b3a7136eb5d40
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Thu May 6 14:42:47 2021 +0300

    cli,location: use mm_location_3gpp_get_operator_code() in location
    output

 cli/mmcli-modem-location.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 879ec1a5d4418ae1dfc137844fd2c06a35ffeabf
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Thu May 6 14:35:41 2021 +0300

    libmm-glib,iface-modem-location: add MMLocation3gpp 3 digit MNC
    support

    MMLocation3gpp provides MCC/MNC information as integers, so it can not
    make distinction between operator codes such as XXX01 and XXX001.

    This commit deprecates mm_location_3gpp_get_mobile_network_code() and
    implements a new function mm_location_3gpp_get_operator_code() which
    provides the MCC+MNC in string format.

    The mm_location_3gpp_get_mobile_country_code() is still available as
    returning the MCC as an integer does not have ambiguity issues.

 docs/reference/libmm-glib/libmm-glib-sections.txt |   4 +-
 libmm-glib/mm-location-3gpp.c                     | 284
 +++++++++++++---------
 libmm-glib/mm-location-3gpp.h                     |  35 +--
 src/mm-iface-modem-3gpp.c                         |  12 +-
 src/mm-iface-modem-location.c                     |  19 +-
 src/mm-iface-modem-location.h                     |   5 +-
 6 files changed, 204 insertions(+), 155 deletions(-)

commit 14c4f27ae4a0ccdfec29090b9abd77112fec1516
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Thu May 6 14:48:18 2021 +0300

    modem-helpers: add 3 digit MNC output to mm_3gpp_parse_operator_id()

    MNC digit count information is lost on conversion to integers. Make it
    possible for the caller to get this information through a separate
    boolean.

 src/mm-broadband-modem-qmi.c   |  2 +-
 src/mm-iface-modem-3gpp.c      |  4 ++--
 src/mm-modem-helpers.c         |  4 ++++
 src/mm-modem-helpers.h         |  1 +
 src/mm-shared-qmi.c            |  2 +-
 src/mm-sim-qmi.c               |  2 +-
 src/tests/test-modem-helpers.c | 37 ++++++++++++++++++++-----------------
 7 files changed, 30 insertions(+), 22 deletions(-)

commit 98fbd5a156a09d3dc46dbc52946a80450df13abb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 15 23:40:20 2021 +0200

    iface-modem-3gpp: don't assume operator code implies we're registered

    The modem may be camping in a forbidden network just for emergency
    services, and we'll be able to have a MCCMNC reported in that case,
    but this does not mean the modem is registered.

    So, don't consider that a valid registration flag during the new
    network registration request.

 src/mm-iface-modem-3gpp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit af756a1bf7d8005f7bb4d7bfcccf5133ce57b54d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 15 22:56:12 2021 +0200

    port-qmi: avoid running install_properties() without properties
    defined

    We'll setup the properties only if QRTR support is being built,
    otherwise we fully skip all property related setup.

      (ModemManager:480463): GLib-GObject-CRITICAL **: 22:48:14.264:
      g_object_class_install_properties: assertion 'n_pspecs > 1' failed

      Thread 1 "ModemManager" received signal SIGTRAP, Trace/breakpoint
      trap.
      0x00007ffff76e3295 in ?? () from
      /lib/x86_64-linux-gnu/libglib-2.0.so.0
      (gdb) bt
      #0  0x00007ffff76e3295 in  () at
      /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #1  0x00007ffff76e4579 in g_logv () at
      /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #2  0x00007ffff76e4743 in g_log () at
      /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #3  0x00005555556af70c in mm_port_qmi_class_init
      (klass=0x5555557fae20) at mm-port-qmi.c:2619
      #4  0x00005555556a94c3 in mm_port_qmi_class_intern_init
      (klass=0x5555557fae20) at mm-port-qmi.c:34
      #5  0x00007ffff77ed1d1 in g_type_class_ref () at
      /lib/x86_64-linux-gnu/libgobject-2.0.so.0
      #6  0x00007ffff77d05e1 in g_object_new_valist () at
      /lib/x86_64-linux-gnu/libgobject-2.0.so.0
      #7  0x00007ffff77d06cd in g_object_new () at
      /lib/x86_64-linux-gnu/libgobject-2.0.so.0
      #8  0x00005555556af25a in mm_port_qmi_new (name=0x5555557e54e0
      "cdc-wdm0", subsys=MM_PORT_SUBSYS_USBMISC) at mm-port-qmi.c:2481
      #9  0x000055555563c8d7 in wdm_probe_qmi (self=0x5555557de1b0)
      at mm-port-probe.c:517
      #10 0x000055555563cc70 in wdm_probe (self=0x5555557de1b0) at
      mm-port-probe.c:623
      #11 0x00007ffff76dd04e in g_main_context_dispatch () at
      /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #12 0x00007ffff76dd400 in  () at
      /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #13 0x00007ffff76dd6f3 in g_main_loop_run () at
      /lib/x86_64-linux-gnu/libglib-2.0.so.0
      #14 0x00005555555b1ae4 in main (argc=1, argv=0x7fffffffe558)
      at main.c:213

 src/mm-port-qmi.c | 33 ++++++++++++++++-----------------
 1 file changed, 16 insertions(+), 17 deletions(-)

commit 7711e84af9354d1dfee64674a3e928d13586d5b1
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Sat May 15 05:47:22 2021 -0700

    iface-modem-3gpp: Add verbose logging for initial eps bearer

    Print a debug message when the user provides initial eps bearer
    settings
    that match the ones being used. This will save time to whomever is
    experimenting with initial eps bearer settings.

 src/mm-iface-modem-3gpp.c | 1 +
 1 file changed, 1 insertion(+)

commit c39d1d2fbc62dca759efcf8dc5b80c69a45269de
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Wed May 12 13:18:00 2021 +0200

    udev: Do not consider USB WWAN ports as valid candidates

    For now WWAN subsystem support has only been validated for PCI/MHI
    based devices and extra patches for USB based devices (qmi_wwan,
    cdc-mbim...) may be required, so do not consider WWAN ports being
    on USB bus.

    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>

 src/80-mm-candidate.rules | 4 ++++
 1 file changed, 4 insertions(+)

commit 76e700f4fd703f952208993330ab098305c13d6b
Author: Freedom Liu <tianyu28658@gmail.com>
Date:   Tue May 4 14:49:25 2021 +0800

    broadband-modem-mbim: get model through QMI-over-MBIM

    move the modem_load_model() async method from mm-broadband-modem-qmi.c
    to mm-shared-qmi.c, and then make use of the method from both the QMI
    and MBIM implementations.

 src/mm-broadband-modem-mbim.c | 45 +++++++++++++++++++++++++++---
 src/mm-broadband-modem-qmi.c  | 64
 ++-----------------------------------------
 src/mm-shared-qmi.c           | 60
 ++++++++++++++++++++++++++++++++++++++++
 src/mm-shared-qmi.h           |  6 ++++
 4 files changed, 109 insertions(+), 66 deletions(-)

commit bb928dbf7409b445e6aaab994c571fb7d504a8d7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 12 22:11:50 2021 +0200

    iface-modem: fix segfault if attempting to switch slot and slots
    unsupported

    Reported and fix suggested by Maxim Anisimov

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/368

 src/mm-iface-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f916d075a78ddacd25e2db9c4eebb99b490482ff
Author: goapunk <goapunk@riseup.net>
Date:   Sat May 8 13:23:56 2021 +0200

    modem-helpers-qmi: fix auth validation always returning error

 src/mm-modem-helpers-qmi.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

commit ba0701b67d3fc2e6936477bd08440ff36a3878aa
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Tue May 4 13:38:57 2021 -0700

    mm-shared-qmi: parse ICCID as hex instead of BCD

    Fixes issue 364.

 src/mm-shared-qmi.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 27c43075f9ee30ac2cdbeb4e166e8dcf02b09e79
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Tue May 4 13:45:10 2021 -0700

    bearer-mbim: Fix double free in ip_configuration_query_ready

 src/mm-bearer-mbim.c | 1 -
 1 file changed, 1 deletion(-)

commit d77d8dff420dc70d6191b67e172e1df5c4e009bf
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Tue May 4 14:14:15 2021 +0300

    libmm-glib,simple: fix docs: g_object_ref -> g_object_unref

 libmm-glib/mm-modem-simple.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 973b1bdec876180792d50cb9704eae23c11a6221
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 4 00:22:42 2021 +0200

    broadband-modem-mbim: use the new 'LTE attach info' message name

    The older 'LTE attach status' message name is deprecated.

 configure.ac                  |   2 +-
 src/mm-broadband-modem-mbim.c | 180
 +++++++++++++++++++++++++-----------------
 2 files changed, 109 insertions(+), 73 deletions(-)

commit e1567c30df5a0bf320b654cd85942bdff5db6144
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 3 00:10:00 2021 +0200

    foxconn: don't assume parent location is available

    If ModemManager is not built with QMI support, the generic MBIM modem
    object will not have any location support, so we cannot assume that
    iface_modem_location_parent will be valid and that it will have all
    load_location_capabilities(), enable_location_gathering() and
    disable_location_gathering() implemented.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/362

 plugins/foxconn/mm-broadband-modem-mbim-foxconn.c | 113
 +++++++++++++++-------
 1 file changed, 79 insertions(+), 34 deletions(-)

commit 9e2c9cce975907c9da5c092645adbe60f4ce28a1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 30 11:53:27 2021 +0200

    iface-modem-3gpp: delete unused
    mm_iface_modem_3gpp_disable_facility_lock()

    The action of disabling facility locks is user-triggered, so there is
    no need to have an internal method to run the logic without user
    interaction.

 src/mm-iface-modem-3gpp.c | 50
 -----------------------------------------------
 src/mm-iface-modem-3gpp.h | 11 -----------
 2 files changed, 61 deletions(-)

commit d47babd5b7e792f60a63ec50f1154cc6b1658cb1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 30 11:46:42 2021 +0200

    api,introspection: fix DisableFacilityLock() documentation

      make[4]: Entering directory
      '/home/aleksander/Development/foss/ModemManager/docs/reference/api'
        DOC   Preparing build
        DOC   Building XML
        DOC   Scanning header files
        DOC   Introspecting gobjects
        DOC   Building XML
        DOC   Building HTML
      ../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml:181:
      parser error : Opening and ending tag mismatch: variablelist line
      165 and para
      </para>
             ^

 introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 1 +
 1 file changed, 1 insertion(+)

commit 77fd343bb620765b541776652b239027b7f041f0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 30 11:44:06 2021 +0200

    mmcli,3gpp: common method to parse --disable-facility-lock input
    string

 cli/mmcli-modem-3gpp.c | 58
 +++++++++++++++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 22 deletions(-)

commit c070ca82f8d29f0fc5cbb1048d238e312b242827
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 30 11:22:02 2021 +0200

    modem-helpers: improve logging on unhandled features when parsing
    UIM Get Configuration

 src/mm-modem-helpers-qmi.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 7f425d9b150f584de1e7d06a5f52a554caf78c6a
Author: Michal Mazur <mkm@semihalf.com>
Date:   Fri Feb 26 22:58:26 2021 +0100

    broadband-modem: support disabling facility lock on MBIM and QMI
    modems

 src/mm-broadband-modem-mbim.c | 95
 +++++++++++++++++++++++++++++++++++++++++++
 src/mm-broadband-modem-qmi.c  | 85 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 180 insertions(+)

commit e8edcedc9e80332a8dc862113acb05f8ed57b987
Author: Michal Mazur <mkm@semihalf.com>
Date:   Fri Feb 26 22:57:04 2021 +0100

    modem-helpers: introduce functions to convert MMModem3gppFacility

 src/mm-modem-helpers-mbim.c | 28 ++++++++++++++++++++++++++++
 src/mm-modem-helpers-mbim.h |  2 ++
 src/mm-modem-helpers-qmi.c  | 25 +++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.h  |  2 ++
 4 files changed, 57 insertions(+)

commit dfc04cbc2ede5e8c5a007fb79d0a2428c5648be4
Author: Michal Mazur <mkm@semihalf.com>
Date:   Tue Jan 26 18:08:12 2021 +0100

    iface-modem-3gpp: define new API to disable facility locks

 data/org.freedesktop.ModemManager1.conf.polkit |   4 +
 src/mm-iface-modem-3gpp.c                      | 209
 +++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h                      |  22 +++
 3 files changed, 235 insertions(+)

commit 25ffe4211afa37a68274535d64a12670fd5ceebc
Author: Michal Mazur <mkm@semihalf.com>
Date:   Fri Dec 11 14:15:11 2020 +0100

    api,libmm-glib,cli: add command to disable facility lock

 cli/mmcli-completion                               |   4 +
 cli/mmcli-modem-3gpp.c                             | 100
 ++++++++++++++++++++-
 docs/man/mmcli.1                                   |  17 ++++
 ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml |  27 ++++++
 libmm-glib/mm-modem-3gpp.c                         |  50 +++++++++++
 libmm-glib/mm-modem-3gpp.h                         |  15 ++++
 6 files changed, 211 insertions(+), 2 deletions(-)

commit b1dde0aec39089161268452b54ea92737ae00aa5
Author: Michal Mazur <mkm@semihalf.com>
Date:   Thu Mar 4 15:03:50 2021 +0100

    libmm-glib: add helper to get 3gpp facility from string

 libmm-glib/mm-common-helpers.c | 10 ++++++++++
 libmm-glib/mm-common-helpers.h |  3 +++
 2 files changed, 13 insertions(+)

commit 2a2ae2819ceeb866eab587673f55cdae79b9f9d3
Author: Michal Mazur <mkm@semihalf.com>
Date:   Tue Feb 16 21:31:02 2021 +0100

    broadband-modem-qmi: use UIM Get Configuration to probe all facility
    locks

 src/mm-broadband-modem-qmi.c | 66
 ++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 61 insertions(+), 5 deletions(-)

commit ab60f884038d0ecf43696bd39f4567d83c6652e5
Author: Michal Mazur <mkm@semihalf.com>
Date:   Tue Feb 16 21:19:43 2021 +0100

    modem-helpers-qmi: introduce parser for Get Configuration message

 src/mm-modem-helpers-qmi.c | 53
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.h |  8 +++++++
 2 files changed, 61 insertions(+)

commit 0a7bfcfb423f4202b910af7f67563552160edcb4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 29 20:54:13 2021 +0200

    build: require glib 2.56

    When using glib < 2.55.1 there was a bug in GLib triggering a huge
    amount of memory leaks in the normal ModemManager runtime. This has
    caused multiple issues in multiple setups, and so the best way to make
    sure it no longer happens is to require 2.56.

    The 2.56.0 glib version is also the one provided by Ubuntu 18.04 LTS,
    and so we can now say that this LTS release is the last one we support
    in newer MM releases. The previous Ubuntu 16.04 LTS is already out of
    the standard 5-year support.

 configure.ac | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

commit 25a1b28fbfb398c3981cd1bb7305907119ff351c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 30 12:26:25 2021 +0200

    core: strict return type in g_object_ref()

    This is now a requirement when using glib 2.56.

 plugins/cinterion/mm-broadband-bearer-cinterion.c |  6 ++---
 plugins/huawei/mm-broadband-bearer-huawei.c       |  2 +-
 plugins/mbm/mm-broadband-bearer-mbm.c             |  2 +-
 plugins/option/mm-broadband-bearer-hso.c          |  2 +-
 src/mm-base-manager.c                             |  8 +++----
 src/mm-bearer-mbim.c                              |  2 +-
 src/mm-broadband-modem-qmi.c                      | 26
 ++++++++++-----------
 src/mm-broadband-modem.c                          | 18 +++++++--------
 src/mm-device.c                                   |  4 ++--
 src/mm-shared-qmi.c                               | 28
 +++++++++++------------
 src/mm-sms-qmi.c                                  |  6 ++---
 11 files changed, 52 insertions(+), 52 deletions(-)

commit edee1e3f84b34b6a4bd6f230371a36ea03539af7
Author: Vincent Palatin <vpalatin@chromium.org>
Date:   Thu Apr 29 17:34:54 2021 +0200

    broadband-modem-qmi: ensure we do not re-use old EPS registration
    state

    When updating the registration state, in the case where LTE is
    not ready,
    ensure we reset the EPS registration state rather than leaving its old
    value.
    Else when the consolidated registration is built, it can wrongly think
    we are registered, e.g. the following case was happening:
    [modem0] consolidated registration state: cs 'home', ps 'home', eps
    'home', 5gs 'unknown' --> 'home'
    a bit later
    [modem0] consolidated registration state: cs 'unknown', ps 'unknown',
    eps 'home', 5gs 'unknown' --> 'home'
    then it wrongly tries immediatly to connect
    and fails due to 'no-service'

    On Qualcomm SC7180, running the following sequence would often
    reproduce
    it:
    <stop higher level network manager>
    mmcli -m 0 -d
    mmcli -m 0 --set-power-state-low
    sleep 10
    mmcli -m 0 -e
    mmcli -m 0 --simple-connect="apn=broadband"

 src/mm-broadband-modem-qmi.c | 2 ++
 1 file changed, 2 insertions(+)

commit c330d44343e9a34816732341642088b70d49ba78
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 30 10:45:14 2021 +0200

    build: version bump to flag existence of new API (QDU fw update)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 35b1672b85d23e0961c33fc7aebc17d0e2d26c81
Author: Freedom Liu <tianyu28658@gmail.com>
Date:   Fri Apr 30 01:52:12 2021 +0000

    foxconn: add new MBIM QDU firmware update method support

    Based on the QDU service newly added in libmbim,
    T99W175 module (vid: 0x105b) supports MBIM QDU based update.

 include/ModemManager-enums.h                      |  2 ++
 plugins/foxconn/mm-broadband-modem-mbim-foxconn.c | 17 +++++++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

commit d5041cc814934595c7ec3f30e9f0168b191dcea2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 8 22:47:17 2021 +0200

    iface-modem-3gpp: ignore 'profile-id' and 'apn-type' matching initial
    EPS settings

    We should not try to match the 'profile-id', as that setting is not
    available in the input bearer settings provided by the user.

    And we should not try to match the 'apn-type', as not all
    implementations support it and it's not really necessary for this
    purpose anyway.

 src/mm-iface-modem-3gpp.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

commit 55f8e3b9a715f8122eb51ca8cb8a772552c604ef
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 8 12:41:58 2021 +0200

    broadband-modem-qmi: switch initial EPS bearer settings to use
    profile management

    The operation required to load/update the initial EPS bearer settings
    are completely the same as for profile management, because at the end
    the settings are bound to a specific profile id.

 src/mm-broadband-modem-qmi.c | 205
 +++++++++++--------------------------------
 1 file changed, 52 insertions(+), 153 deletions(-)

commit 0d60b9497bffa72bff9d4dba56574adf48113e71
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 8 11:58:52 2021 +0200

    bearer-qmi: implement connection logic using existing profiles

 src/mm-bearer-qmi.c | 166
 ++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 123 insertions(+), 43 deletions(-)

commit ce383abfe1997d74df25a7dfded4cc8875e79223
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 8 11:28:02 2021 +0200

    bearer-qmi: refactor connection context setup logic

    Place all the logic in a separate load_settings_from_bearer() method
    that takes care of propagating all bearer settings to the connect
    context.

 src/mm-bearer-qmi.c | 322
 +++++++++++++++++++++++-----------------------------
 1 file changed, 145 insertions(+), 177 deletions(-)

commit fffe49d03e650239390e0f65cc969b9713183488
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 8 11:15:21 2021 +0200

    modem-helpers-qmi: perform validation in
    allowed_auth_to_qmi_authentication()

    If we find that none of the requested auth settings are supported, we
    should fail and return an error.

    Also, make sure we set the CHAP fallback default only if either user
    or password are given.

 src/mm-bearer-qmi.c          | 29 +++++++++--------------------
 src/mm-broadband-modem-qmi.c | 14 +++++++++++---
 src/mm-modem-helpers-qmi.c   | 21 +++++++++++++++++++--
 src/mm-modem-helpers-qmi.h   |  4 +++-
 4 files changed, 42 insertions(+), 26 deletions(-)

commit 865014510a976fdccb1c59d5bcf41bd8cbfc46d1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 6 23:39:38 2021 +0200

    broadband-modem-qmi: implement profile management support

 configure.ac                 |   2 +-
 src/mm-broadband-modem-qmi.c | 640
 +++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.c   |  46 ++++
 src/mm-modem-helpers-qmi.h   |   3 +
 4 files changed, 690 insertions(+), 1 deletion(-)

commit 5d2db5de9823301ad49abe2406351889bef3bf92
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 6 16:07:09 2021 +0200

    bearer-mbim: implement connection logic using existing profiles

    Unlike other implementations, with MBIM we cannot tell the modem to
    connect a given profile by its profile number, which is a bit strange,
    but it looks like there is no way to do that. So, if the user requests
    to connect a given profile, what we do is load the profile settings by
    querying the modem, and use those settings in the connect request.

 src/mm-bearer-mbim.c | 372
 +++++++++++++++++++++++++++++----------------------
 1 file changed, 215 insertions(+), 157 deletions(-)

commit 72879e4095bde2ee354a61f475ebc8bc847541c5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Apr 5 00:07:01 2021 +0200

    broadband-modem-mbim: implement profile management support

    We use the "Provisioned Contexts" message support to add and edit
    profiles.

    We also use the same message, with context-type set to "none" to
    attempt deleting it, although that doesn't seem to be fully supported
    by all modems. E.g. the EM7345 (FIH7160_V1.1_MODEM_01.1349.12) will
    still report contexts 'deleted' in this way, with the context-type set
    to "none".º

 src/mm-broadband-modem-mbim.c | 535
 +++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-helpers-mbim.c   |  64 +++++
 src/mm-modem-helpers-mbim.h   |   4 +
 3 files changed, 590 insertions(+), 13 deletions(-)

commit 49b63cc62b46777c419b6a8e63629d228953fe95
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Apr 4 23:27:50 2021 +0200

    icera: implement profile management support

    Using AT%IPDPCFG for authentication related profile settings
    management (querying, updating), and relying on the parent
    implementation for the remaining ones.

    And using AT%IPDPACT for activation status management (deactivate),
    while relying on the parent implementation for the activated check.

 plugins/icera/mm-broadband-bearer-icera.c      | 202 ++---------
 plugins/icera/mm-broadband-modem-icera.c       | 450
 ++++++++++++++++++++++++-
 plugins/icera/mm-modem-helpers-icera.c         | 103 ++++++
 plugins/icera/mm-modem-helpers-icera.h         |   6 +
 plugins/icera/tests/test-modem-helpers-icera.c |  75 +++++
 5 files changed, 649 insertions(+), 187 deletions(-)

commit 887358663de820078f5632180cba53975809ebcf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Apr 4 23:57:41 2021 +0200

    broadband-bearer: rely on profile management for the cid selection

    There is no longer need to perform all the CID selection logic in the
    broadband bearer connection procedure, we can rely on the new profile
    management operations to do the same thing.

    We can do this because we're sure that all the MMBroadbandModem
    objects implement the MMModem3gppProfileManager interface.

    Additionally, given that we now provide the profile ID value as part
    of the MMBearerConnectResult, we no longer need a custom
    mm_broadband_bearer_get_3gpp_cid() as we can use the generic
    mm_base_bearer_get_profile_id() for the same purpose.

 plugins/cinterion/mm-broadband-bearer-cinterion.c |  20 +-
 plugins/icera/mm-broadband-modem-icera.c          |   2 +-
 plugins/option/mm-broadband-modem-hso.c           |  12 +-
 plugins/sierra/mm-broadband-bearer-sierra.c       |  10 +-
 plugins/ublox/mm-broadband-bearer-ublox.c         |  21 +-
 src/mm-broadband-bearer.c                         | 576
 ++++++----------------
 src/mm-broadband-bearer.h                         |   2 -
 src/mm-broadband-modem.c                          |  35 +-
 src/mm-modem-helpers.c                            | 111 -----
 src/mm-modem-helpers.h                            |   9 -
 10 files changed, 192 insertions(+), 606 deletions(-)

commit 4b2e63aa86fc463fb1622bbc32dcfa90bee060e8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Apr 4 23:07:02 2021 +0200

    broadband-modem: implement profile management support

    Using AT+CGDCONT for profile settings management (querying, updating,
    reseting), AT+CGDEL for profile deletion, and AT+CGACT for activation
    status management (check, deactivate).

 src/mm-broadband-modem.c | 568
 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 565 insertions(+), 3 deletions(-)

commit 10aa516f075ef8ea08cd045cc397379b50c8782a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 24 12:03:30 2021 +0100

    iface-modem-3gpp-profile-manager: new interface for profile management

    This interface will provide support for the profile management
    operations in different modem types.

    This initial commit introduces support for the interface and provides
    handlers for the methods that may be called in the interface.

 data/org.freedesktop.ModemManager1.conf.polkit |   15 +
 src/Makefile.am                                |    2 +
 src/mm-broadband-modem.c                       |  132 +-
 src/mm-iface-modem-3gpp-profile-manager.c      | 1673
 ++++++++++++++++++++++++
 src/mm-iface-modem-3gpp-profile-manager.h      |  248 ++++
 5 files changed, 2040 insertions(+), 30 deletions(-)

commit 62cbf7fa86a3f4773184186b7f937a7bee8b0e5a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Apr 4 10:36:04 2021 +0200

    modem-helpers: new profile list helpers

    The new helpers allow converting a PDP context list returned from the
    +CGDCONT? parser to a list of 3GPP profile objects.

    The new mm_3gpp_profile_list_find_best() method is equivalent to the
    mm_3gpp_select_best_cid() one, but using profile objects as
    input/output instead of specific settings.

    The unit tests that were testing mm_3gpp_select_best_cid() are also
    converted to use mm_3gpp_profile_list_find_best().

 src/mm-modem-helpers.c         | 197
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |  25 ++++++
 src/tests/test-modem-helpers.c | 123 ++++++++++++++-----------
 3 files changed, 293 insertions(+), 52 deletions(-)

commit dd7938b3e48bf9726146ab5c4b941c056b9cbce9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 3 22:23:34 2021 +0200

    bearer-list: allow lookup by connected profile id

    Some of the operations performed by the profile management interface
    will require checking whether the operation is attempted on a profile
    for which there is a known connected bearer object.

    We introduce a new method to lookup a bearer in the bearer list by its
    connected profile id.

 src/mm-base-bearer.c |  6 ++++++
 src/mm-base-bearer.h |  9 +++++----
 src/mm-bearer-list.c | 16 ++++++++++++++++
 src/mm-bearer-list.h |  8 +++++---
 4 files changed, 32 insertions(+), 7 deletions(-)

commit e4ef8319ec71b673b322279081636c70835f700b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 3 21:58:55 2021 +0200

    base-bearer: propagate connected profile id value in the connect
    result

    Implementations that support profile management will provide the
    connected profile id value in the MMBearerConnectResult returned to
    the base bearer object during the connection attempt.

 src/mm-base-bearer.c | 20 ++++++++++++++++++++
 src/mm-base-bearer.h |  5 +++++
 2 files changed, 25 insertions(+)

commit 9fd5aced67d9a5e548f706e62990fa24abda65d5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 3 21:58:25 2021 +0200

    api,bearer: new 'ProfileId' property

    To report which is the currently active profile with this bearer, if
    known. If the modem doesn't support profiles, or if the bearer is
    disconnected, -1 (MM_3GPP_PROFILE_ID_UNKNOWN) will be reported.

    It is guaranteed that no two connected bearers will have the same
    ProfileId property value.

 cli/mmcli-bearer.c                                 |  6 ++++++
 cli/mmcli-output.c                                 |  1 +
 cli/mmcli-output.h                                 |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  3 +++
 .../org.freedesktop.ModemManager1.Bearer.xml       | 14 ++++++++++++++
 libmm-glib/mm-bearer.c                             | 22
 ++++++++++++++++++++++
 libmm-glib/mm-bearer.h                             |  2 ++
 7 files changed, 49 insertions(+)

commit 2d43ea48e1d2bae37f9d0594c385451739287bef
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 3 21:19:54 2021 +0200

    api,modem: new Modem3gpp.ProfileManager interface

    This new interface allows modems to expose the list of available
    connection profiles stored in the device and edit or delete them; as
    long as the underlying device/protocol allows it.

 cli/Makefile.am                                    |   1 +
 cli/mmcli-modem-3gpp-profile-manager.c             | 373 +++++++++++++
 cli/mmcli-output.c                                 | 617
 +++++++++++++--------
 cli/mmcli-output.h                                 |   6 +
 cli/mmcli.c                                        |  11 +
 cli/mmcli.h                                        |   8 +
 docs/reference/api/Makefile.am                     |   1 +
 docs/reference/api/ModemManager-dbus-reference.xml |   1 +
 docs/reference/libmm-glib/libmm-glib-docs.xml      |   5 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  | 104 ++++
 introspection/Makefile.am                          |   1 +
 introspection/all.xml                              |   1 +
 ...odemManager1.Modem.Modem3gpp.ProfileManager.xml | 146 +++++
 libmm-glib/Makefile.am                             |   3 +
 libmm-glib/generated/Makefile.am                   |   4 +
 libmm-glib/libmm-glib.h                            |   1 +
 libmm-glib/mm-manager.c                            |  27 +-
 libmm-glib/mm-modem-3gpp-profile-manager.c         | 489 ++++++++++++++++
 libmm-glib/mm-modem-3gpp-profile-manager.h         | 112 ++++
 libmm-glib/mm-object.c                             |  46 ++
 libmm-glib/mm-object.h                             |  51 +-
 21 files changed, 1736 insertions(+), 272 deletions(-)

commit 793370f2f8efc6472d7265892013f6615188344e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Apr 4 13:31:28 2021 +0200

    api,bearer: new 'profile-id' setting

    We define a new 'profile-id' setting in the bearer properties that
    users will use to specify which connection profile of the ones
    available in the device should be connected.

    When the 'profile-id' is given, the associated bearer object will be
    bound to the 'profile-id', and the user is able to provide additional
    settings to apply on top (e.g. if the profile storage doesn't allow
    some of the settings we support, like 'apn-type', or if the setting is
    completely unrelated to profiles, like 'multiplex').

    After introducing the 'profile-id' as a valid setting in the bearer
    properties, we also reimplement the properties object internals to
    make use a 3GPP profile for the subset of common settings between both
    objects.

 cli/mmcli-bearer.c                                 |  14 +-
 cli/mmcli-output.c                                 |   1 +
 cli/mmcli-output.h                                 |   1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   4 +
 .../org.freedesktop.ModemManager1.Bearer.xml       |  12 +
 libmm-glib/mm-bearer-properties.c                  | 380
 ++++++++++-----------
 libmm-glib/mm-bearer-properties.h                  |  10 +-
 libmm-glib/mm-simple-connect-properties.c          |  39 +++
 libmm-glib/mm-simple-connect-properties.h          |   3 +
 src/mm-iface-modem-simple.c                        |   7 +
 10 files changed, 261 insertions(+), 210 deletions(-)

commit e2789b18a1847eecd90fe76902300d99c4ebade3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Apr 4 13:30:53 2021 +0200

    libmm-glib,3gpp-profile: new 3GPP profile helper object

    Define a new helper object which we're going to use to implement the
    new profile management interface.

    The 3GPP profile object provides the list of settings that modems may
    be able to store in their profile list, e.g. "apn", "ip-type" and so
    on. Not all modems will be able to support all the settings defined in
    the profile object, and therefore, when looking for a specific 3GPP
    profile object with a given set of settings, we must make sure we only
    compare those settings that are supported by the modem.

    The profile management implementation will be able to load during
    runtime a set of "compare flags", specifying which settings should not
    be checked during the comparison. E.g. a generic AT-based modem that
    supports only "apn" and "ip-type" will be compared with the
    NO_APN_TYPE and NO_AUTH flags; and an AT/Icera-based modem (which
    supports auth settings) will use only NO_APN_TYPE.

    The settings in the 3GPP profile should be considered a subset of the
    bearer properties.

 docs/reference/libmm-glib/libmm-glib-docs.xml     |   4 +
 docs/reference/libmm-glib/libmm-glib-sections.txt |  39 ++
 libmm-glib/Makefile.am                            |   3 +
 libmm-glib/libmm-glib.h                           |   1 +
 libmm-glib/mm-3gpp-profile.c                      | 693
 ++++++++++++++++++++++
 libmm-glib/mm-3gpp-profile.h                      | 131 ++++
 6 files changed, 871 insertions(+)

commit ff8e21b535bc43d0ecfb135628711b3c32c47de8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 23 10:16:42 2021 +0100

    api,bearer: new 'apn-type' setting

    This new setting allows the user setting up the connection to specify
    the purpose of the connection being brought up.

    Until now, we would always assume that connections are exclusively
    brought up for connecting to the Internet, also limited by the
    inability to connect to multiple different APNs at the same time.

    But that may really not be true as there may be additional services
    that may be accessed through other APNs, like MMS services or even
    private networks for companies that have their own APNs on a given
    operator (e.g. not that uncommon with banks and connected cars).

    The new APN type setting will not change the way the bearer is
    connected, but will allow the connection manager to decide what kind
    of networking setup the specific connection needs.

    This new setting can be provided by the user itself, or implicitly
    read from the device if the device stores this information.

 cli/mmcli-bearer.c                                 |  3 +
 cli/mmcli-output.c                                 |  1 +
 cli/mmcli-output.h                                 |  1 +
 docs/reference/api/ModemManager-sections.txt       |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  8 +++
 include/ModemManager-enums.h                       | 51 +++++++++++++
 .../org.freedesktop.ModemManager1.Bearer.xml       |  7 ++
 libmm-glib/mm-bearer-properties.c                  | 84
 +++++++++++++++++++++-
 libmm-glib/mm-bearer-properties.h                  |  4 ++
 libmm-glib/mm-common-helpers.c                     | 10 +++
 libmm-glib/mm-common-helpers.h                     |  3 +
 libmm-glib/mm-simple-connect-properties.c          | 38 ++++++++++
 libmm-glib/mm-simple-connect-properties.h          |  3 +
 src/mm-iface-modem-simple.c                        |  9 +++
 14 files changed, 222 insertions(+), 1 deletion(-)

commit 21ae558fe3600c84b3ca7dcd9bf50a3ba576c7c9
Author: Freedom Liu <tianyu28658@gmail.com>
Date:   Wed Apr 28 09:25:50 2021 +0800

    mmcli,manager: add 'wwan' subsystem to kernel event auto scan report

 cli/mmcli-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 47ea5c98f4d05a2113b7533fec86ac6003171c85
Author: Freedom Liu <tianyu28658@gmail.com>
Date:   Mon Apr 26 15:29:36 2021 +0800

    foxconn: add support for the T99W175 module

    0x0489 is the vendor ID of T77W968, 0x105b is the vendor ID of
    T99W175.
    {0x105b, 0xe0b0},{0x105b, 0xe0b1} is T99W175 PCI device, used by Dell.
    {0x105b, 0xe0ab} is T99W175 PCI device, used by Lenovo.

    If the modem has an mbim port, create a MbimFoxconn object, regardless
    of what the product ID is.

    The firmware version format in the T99W175 was selected to have
    firmware version + carrier config version + apps version.

 plugins/foxconn/mm-broadband-modem-mbim-foxconn.c | 15 ++++++++----
 plugins/foxconn/mm-plugin-foxconn.c               | 29
 +++++++++--------------
 2 files changed, 22 insertions(+), 22 deletions(-)

commit c31488608a331f4d16dacb923a5611c52f57f1cb
Author: Freedom Liu <tianyu28658@gmail.com>
Date:   Mon Apr 26 15:19:37 2021 +0800

    foxconn: change modem-foxconn-t77w968 to modem-mbim-foxconn

    Named the object in a more generic way.

 plugins/Makefile.am                                |  8 ++--
 plugins/dell/mm-plugin-dell.c                      | 12 +++---
 .../foxconn/mm-broadband-modem-foxconn-t77w968.h   | 49
 ----------------------
 ...t77w968.c => mm-broadband-modem-mbim-foxconn.c} | 46
 ++++++++++----------
 plugins/foxconn/mm-broadband-modem-mbim-foxconn.h  | 49
 ++++++++++++++++++++++
 ...apping.conf => mm-foxconn-carrier-mapping.conf} |  0
 plugins/foxconn/mm-plugin-foxconn.c                | 12 +++---
 plugins/tests/test-keyfiles.c                      |  6 +--
 8 files changed, 91 insertions(+), 91 deletions(-)

commit 7b7bbdd999d00446966f100212bc469970e769a3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 28 22:41:06 2021 +0200

    tools: disable stub tester if no introspection enabled

      TEST: test-stub...
        /MM/stub/modem/interface: dbus-daemon[48020]: [session uid=0
        pid=48020] Activating service name='org.freedesktop.ModemManager1'
        requested by ':1.0' (uid=0 pid=48005
        comm="/builds/mobile-broadband/ModemManager/tools/tests/")
      Traceback (most recent call last):
        File
        "/builds/mobile-broadband/ModemManager/tools/test-modemmanager-service.py",
        line 7, in <module>
          gi.require_version('ModemManager', '1.0')
        File "/usr/lib/python3/dist-packages/gi/__init__.py", line 129,
        in require_version
          raise ValueError('Namespace %s not available' % namespace)
      ValueError: Namespace ModemManager not available
      dbus-daemon[48020]: [session uid=0 pid=48020] Activated
      service 'org.freedesktop.ModemManager1' failed: Process
      org.freedesktop.ModemManager1 exited with status 1

 tools/tests/Makefile.am | 3 +++
 1 file changed, 3 insertions(+)

commit 4593eec17385c190747df48155f95d71c591102e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 28 21:27:22 2021 +0200

    ci: disable introspection and gtk-doc in all tests that don't need it

    The template image we're using already contains all the necessary
    build deps to enable introspection and gtk-doc, so we need to
    explicitly disable them where we don't need them, or otherwise they'll
    be automatically enabled as the deps are found.

 .gitlab-ci.yml | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)

commit d9072562cd8d03dc72f072a78e73c24fe4193b8a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 28 21:21:34 2021 +0200

    ci: use latest ubuntu LTS by default

 .gitlab-ci.yml | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

commit 1051dd162c0b70074b71517282f142833d2b7422
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 28 21:56:25 2021 +0200

    build: require libmbim 1.25.3

    Including the latest QDU service enum value.

 configure.ac                  | 2 +-
 src/mm-broadband-modem-mbim.c | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

commit 26243e7ed78820d5f0ce95098e7dfeaa1b29baf3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 23 22:26:45 2021 +0200

    bearer-qmi: reorder methods in connection state machine

    The "ready" methods for each step in the state machine must be ordered
    from bottom to top, so that the readers can read the methods in that
    order when following the logic.

 src/mm-bearer-qmi.c | 367
 ++++++++++++++++++++++++++--------------------------
 1 file changed, 183 insertions(+), 184 deletions(-)

commit e7c1eb8287b724cca1663d58e45ca985cc1dfa15
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 23 22:11:42 2021 +0200

    port-qmi: WDS clients also mux-id specific

    In addition to differentiating between IPv4 and IPv6 clients, we also
    need to explicitly allocate different clients in different bearer
    objects when in multiplexing.

 src/mm-bearer-qmi.c | 26 ++++++++++++++------------
 src/mm-port-qmi.c   | 38 +++++++++++++++++++-------------------
 src/mm-port-qmi.h   | 49
 +++++++++++++++++++++++++++----------------------
 3 files changed, 60 insertions(+), 53 deletions(-)

commit 1c6258056eb6933c0f6ba8c064d83e72011e508f
Author: Bjørn Mork <bjorn@mork.no>
Date:   Fri Apr 23 19:37:13 2021 +0200

    bearer-qmi: fix dual-stack connections

    Connecting the second family of a dual stack connections fails with
    'PolicyMismatch' when muxing is setup after family selection.

    Switching the order of the family selection and muxing setup to
    fix the problem. Looks like family selection must be the very last
    WDS request before connecting the client.

    Signed-off-by: Bjørn Mork <bjorn@mork.no>

 src/mm-bearer-qmi.c | 82
 ++++++++++++++++++++++++++---------------------------
 1 file changed, 41 insertions(+), 41 deletions(-)

commit f170950451879b075a187a7be7c307b1f7cc739a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 22 10:06:29 2021 +0200

    port-qmi: fix WITH_QRTR check

 src/mm-port-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 26533c84b8e4d2a451a55120b087e66f13b97571
Author: Bjørn Mork <bjorn@mork.no>
Date:   Thu Apr 22 08:47:07 2021 +0200

    port-qmi: fix crash when QRTR is disabled

    Fix typo causing crash when WITH_QRTR is undefined:

     [6596]: <debug> [1619029470.854688] [cdc-wdm0/probe] probing QMI...

     Thread 1 "ModemManager" received signal SIGSEGV, Segmentation fault.
     0x77a7310f in install_property_internal () from
     /usr/lib/libgobject-2.0.so.0
     (gdb) bt
     #0  0x77a7310f in install_property_internal () from
     /usr/lib/libgobject-2.0.so.0
     #1  0x77a731db in validate_and_install_class_property () from
     /usr/lib/libgobject-2.0.so.0
     Backtrace stopped: frame did not save the PC

    Fixes: ec375bd959f0 ("port-qmi: add support for QRTR")
    Signed-off-by: Bjørn Mork <bjorn@mork.no>

 src/mm-port-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e57c59bf88615129efc0241957749102ea8af90d
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Tue Apr 20 15:04:11 2021 +0200

    qmi: Increase qmi_device_open timeout

    SDX55 modem can take slighlty more than 25 seconds to start all
    its services from cold boot/reset (including QMI services), causing
    QMI port opening timeout error. This patch increases the
    qmi_device_open
    timeout from 25 seconds to 45 seconds to prevent such issue.

    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>

 src/mm-port-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 05b005951710c8810538ec448e89e32f28c3d592
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Tue Apr 20 12:04:24 2021 +0200

    bearer: mbim: Check for multiplex support

    If multiplexing is not supported by the network driver, do not enable
    it by default and fail in case it is required.

    This is the case for mhi_net driver, that do no implement multi MBIM
    session (only session 0 is supported).

    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>

 src/mm-bearer-mbim.c | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

commit fefbf4d3029ce8e1f2ed9db2bc8288e13989b05a
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Wed Dec 16 17:07:31 2020 +0100

    plugins: generic: Add 'wwan' subsystem support

    wwan is a new subsystem for WWAN devices, allowing to expose the
    WWAN device and its ports in a generic way.

    The sysfs hierarchy for such device is

    /sys/class/wwanX
    /sys/class/wwanX/wwanXpYP

    Where X is the WWAN device index, Y the port index and P the
    control protocol name (QMI, MBIM...). A control port is also
    exposed as character device in /dev.

    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>

 plugins/generic/mm-plugin-generic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 441902470a8c0a00f892165a046e99ccac616fa4
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Thu Jan 28 15:28:48 2021 +0100

    broadband-modem-mbim: Add MHI MBIM port peek support

    For MHI data port (mhi-net), simply return the primary MBIM port.

    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>

 src/mm-broadband-modem-mbim.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 6895ca836b29dba55f5afd46925967e7795fd43b
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Wed Dec 16 15:49:42 2020 +0100

    broadband-modem-qmi: Add MHI QMI port peek support

    For MHI data port (mhi-net), simply return the primary QMI port.

    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>

 src/mm-broadband-modem-qmi.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 6db2e8f04da458488c374f1a6f6979ce7fe9b67d
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Wed Dec 16 15:11:48 2020 +0100

    base: Add support for wwan subsystem

    Add support for the Linux wwan subsystem that started to expose
    control channel as character devices (e.g. /dev/wwan0p1MBIM...).

    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>

 src/mm-base-modem.c        | 26 ++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.c |  7 +++++++
 src/mm-plugin.c            |  9 +++++++++
 src/mm-port-probe.c        |  9 ++++++++-
 src/mm-port.h              |  3 ++-
 5 files changed, 52 insertions(+), 2 deletions(-)

commit b1db6527cf9d4801e48dfe6e9fe8124532269159
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Wed Dec 16 14:01:53 2020 +0100

    filter: Add wwan port devices

    Allow WWAN control ports.

    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>

 src/mm-filter.c |  8 ++++++++
 src/mm-filter.h | 13 +++++++++----
 2 files changed, 17 insertions(+), 4 deletions(-)

commit aaf8c17e3592cf401913543452002e1e227a8d05
Author: Loic Poulain <loic.poulain@linaro.org>
Date:   Wed Dec 16 13:59:27 2020 +0100

    udev: add wwan port devices as valid candidates

    The new Linux WWAN subsystem exposes the various WWAN control ports
    as character devices. WWAN port device naming follows the following
    convention: wwanXpYP, where X is the wwan device index, Y the port
    index and P the port type/protocol.

    Signed-off-by: Loic Poulain <loic.poulain@linaro.org>

 src/80-mm-candidate.rules | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 4ae623c37b5eb395c79b49a044958c09fd6d23a7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 21 11:33:53 2021 +0200

    build: disable gtkdocize in autoreconf

    We have a custom modified gtk-doc.make file in our sources, which
    disables the gtkdoc-rebase on local install step, so we don't want
    autoreconf to copy a different one when we're bootstrapping.

 autogen.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 43c39d5226484eba99211b2fa1add2ae5b398ebf
Author: Clayton Craft <clayton@craftyguy.net>
Date:   Fri Apr 16 20:42:15 2021 -0700

    sms-part-3gpp: add flag for indicating PDU is transfer-route message

    When the message is a transfer-route MT, there is no SMSC address to
    parse out. This flag allows indicating when the PDU is one such
    message.

 src/mm-broadband-modem-mbim.c |  1 +
 src/mm-broadband-modem-qmi.c  |  5 +++++
 src/mm-sms-part-3gpp.c        | 42
 +++++++++++++++++++++++-------------------
 src/mm-sms-part-3gpp.h        |  1 +
 4 files changed, 30 insertions(+), 19 deletions(-)

commit 205e9edf3edddfa73b1a9b8ddaff4e3779a20e61
Author: Clayton Craft <clayton@craftyguy.net>
Date:   Sat Apr 17 00:53:27 2021 -0700

    broadband-modem-qmi: Handle transfer-route MT messages

    This handles transfer-route MT messages, automatically ACKing any that
    need to be ACKed.

    Based on work by Angus Ainslie and Elias Rudberg

 src/mm-broadband-modem-qmi.c | 74
 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 73 insertions(+), 1 deletion(-)

commit 1beea40270682331c471b479532583dfef85387e
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Mon Apr 19 07:29:48 2021 +0200

    quectel: set QGPSXTRA to enable assistance support

    Quectel modems require to enable XTRA GNSS assistance first with
    QGPSXTRA=1, before it can be used.

 plugins/quectel/mm-shared-quectel.c | 3 +++
 1 file changed, 3 insertions(+)

commit f7ec13deb88e9bd292d69ec7442dc892e51f3c52
Author: Vincent Palatin <vpalatin@chromium.org>
Date:   Wed Apr 14 15:32:26 2021 +0200

    sim-mbim: increase the timeout for the MBIM_CID_HOME_PROVIDER query

    Increase the timeout from 10 seconds to 30 seconds when reading the
    operator information through the MBIM_CID_HOME_PROVIDER query.
    We have observed cases where it took more than 12 seconds on a Fibocom
    L850-GL modem with specific China Unicom SIMs.

    This timeout was actually the cause of a corruption of the operator
    name
    (e.g. returning '@' rather than the real operator name) on the Intel
    XMM7360 based L850-GL. The following scenario was happening:
    - the base-sim code sends a first MBIM 'home-provider' query to
    read the
      operator identifier.
    - this query times-out after 10 seconds.
    - the base-sim immediately sends another MBIM 'home-provider' query to
      read the operator name.
    - the modem returns a corrupted operator identifier.
    Intel helped for the debugging and indicates that when the first query
    happens, the modem starts reading the SIM files (EF SPN/PNN),
    apparently
    it's taking a long time, when it's receives the second query while the
    first one is not entirely processed, this triggers a bug (in the modem
    firmware) and returns a corrupted name.

 src/mm-sim-mbim.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit a74c1c9bd81467d37776b71cf78da0b41098d48a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 14 13:02:47 2021 +0200

    data,icon: resize to fit the contents

 data/ModemManager-icon.svg | 66
 ++++++++++++++++++++++++++++------------------
 1 file changed, 40 insertions(+), 26 deletions(-)

commit 00e819621313780d3913b1007b6e8fccca3a7789
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 14 10:49:35 2021 +0200

    port-qmi: minor alignment fixes

 src/mm-port-qmi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 125d2a09015f0d2e9c491060e115163352e3dbc4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 18 10:30:15 2021 +0100

    port-qmi: add support for QMAPv4 with checksum offload enabled

 src/mm-port-qmi.c | 30 ++++++++++++++++++++++--------
 src/mm-port-qmi.h |  1 +
 2 files changed, 23 insertions(+), 8 deletions(-)

commit 483f8f055986576834b34ff53c22b3f1e9e21bad
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 18 10:23:13 2021 +0100

    port-qmi: new helper macro to check for supported QMAP values

 src/mm-bearer-qmi.c |  3 +--
 src/mm-port-qmi.c   | 23 ++++++++---------------
 src/mm-port-qmi.h   |  4 ++++
 3 files changed, 13 insertions(+), 17 deletions(-)

commit c2114e50d570220a0d2fcf3b5b3b4695abcbadf3
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Wed Nov 25 13:41:17 2020 -0800

    plugin: probe QRTR ports for QMI support

 src/mm-plugin.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit f82f50fb13aa5d0dd85b0b06948cf1a3b1190c66
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Wed Nov 25 15:07:52 2020 -0800

    base-modem: create modem for QRTR subsystem

    Add support for QRTR devices so modems can be created based on ports
    using the QRTR subsystem.

 src/mm-base-modem.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

commit 5f1bac5cf80e08ac3ca77c45f6fae75eead4da1d
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Wed Nov 25 14:42:57 2020 -0800

    port-probe: create port-qmi using a QRTR node

    For QRTR devices, create the qmi ports using the QRTR node.

 src/mm-port-probe.c | 31 +++++++++++++++++++++++--------
 1 file changed, 23 insertions(+), 8 deletions(-)

commit aeed8c9e5b41c6d911c56ef3dd4c86584e833f3e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 17 15:35:56 2021 +0100

    qcom-soc-plugin: add support for QRTR+IPA based setups

 plugins/qcom-soc/77-mm-qcom-soc.rules              |  1 +
 plugins/qcom-soc/mm-broadband-modem-qmi-qcom-soc.c | 78
 +++++++++++++++++-----
 plugins/qcom-soc/mm-plugin-qcom-soc.c              |  2 +-
 3 files changed, 62 insertions(+), 19 deletions(-)

commit ec375bd959f071ce01533d50a2775e8a6f69607b
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Wed Nov 25 13:14:35 2020 -0800

    port-qmi: add support for QRTR

    Extend mm-port-qmi to accept a QRTR node to work with modems using the
    QRTR protocol.

 src/mm-modem-helpers-qmi.c |   1 +
 src/mm-port-qmi.c          | 137
 +++++++++++++++++++++++++++++++++++++++------
 src/mm-port-qmi.h          |   4 ++
 src/mm-port.h              |   1 +
 4 files changed, 126 insertions(+), 17 deletions(-)

commit 312f753046b4ceaddef7b45a676a8880bfc9d89d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 21 10:10:02 2021 +0100

    port-qmi: initialize endpoint info for all backends

    Connect the signal to initialize endpoint info in the generic object
    initialization, also applicable for QRTR ports.

 src/mm-port-qmi.c | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

commit c35bf6667832f280d939e0442007be4a8b19c207
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 17 15:13:41 2021 +0100

    port-qmi: net ports using IPA driver expect rmnet based multiplexing

    When using the IPA driver we cannot blindly use the master network
    interface, we must always use RMNET based multiplexing.

 src/mm-port-qmi.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit bf519fcc1b591a1435b727e38ef4a108219bd28b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 17 15:08:29 2021 +0100

    port-qmi: avoid using QmiDeviceExpectedDataFormat in the port setup

    The QmiDeviceExpectedDataFormat is specific to modules exposed by the
    qmi_wwan driver, it has nothing to do with other drivers we may find
    in the system like bam-dmux or ipa, which don't allow changing the
    expected data format.

    The port setup logic is now updated to use a new flags bitmask that
    specifies which kernel data modes are supported or currently
    available.

 src/Makefile.am   |   6 +-
 src/mm-port-qmi.c | 492
 ++++++++++++++++++++++++++++--------------------------
 src/mm-port-qmi.h |  13 ++
 3 files changed, 273 insertions(+), 238 deletions(-)

commit 768d76e0aa618c6fe34956ead10c0abc52fae9cd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 17 15:16:08 2021 +0100

    context: allow disabling QRTR on runtime even if support is built

 src/mm-base-manager.c | 28 +++++++++++++++-------------
 src/mm-context.c      | 34 ++++++++++++++++++++++++++++++----
 src/mm-context.h      |  3 +++
 3 files changed, 48 insertions(+), 17 deletions(-)

commit 591d904f5ca7567a91156cfdf9823ba735a1c38e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 17 14:51:16 2021 +0100

    kernel-device,qrtr: common physdev UID for all QRTR nodes

    Add a common physdev UID to all ports in the Qualcomm SoC, so
    that they
    are all bound together to the same modem object.

    This change assumes that no external plugged device ever exports a
    QRTR node in the QRTR bus (e.g. that no PCI or USB device would ever
    do that). This assumption is likely wrong, but given that we're
    currently limiting the QRTR support to the Qualcomm SoC plugin, the
    assumption is valid for us for now.

 src/kerneldevice/mm-kernel-device-qrtr.c | 9 +--------
 src/kerneldevice/mm-kernel-device-qrtr.h | 6 ++++++
 2 files changed, 7 insertions(+), 8 deletions(-)

commit 2b126725bff51752ce586be8b7ff03de87e5aef9
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Tue Nov 24 16:24:03 2020 -0800

    qrtr-bus-watcher: add a class to watch for QRTR nodes

    Add a watcher to listen for QRTR add/remove signals.

 src/Makefile.am           |   7 +
 src/mm-base-manager.c     |  53 ++++++-
 src/mm-qrtr-bus-watcher.c | 354
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-qrtr-bus-watcher.h |  69 +++++++++
 4 files changed, 482 insertions(+), 1 deletion(-)

commit daf27a993367792ad276cd243f4ca60da28b6170
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Wed Sep 2 13:10:58 2020 -0700

    kernel-device,qrtr: add MMKernelDeviceQrtr skeleton

    Add the skeleton of MMKernelDeviceQrtr and allow building it by the
    introduction of with-qrtr.

 src/Makefile.am                          |   7 +
 src/kerneldevice/mm-kernel-device-qrtr.c | 238
 +++++++++++++++++++++++++++++++
 src/kerneldevice/mm-kernel-device-qrtr.h |  62 ++++++++
 src/mm-base-manager.c                    |   6 +
 4 files changed, 313 insertions(+)

commit 5a9460b3558e3ec5d63c51b12cfdc0915fd93317
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Sat Oct 31 06:26:51 2020 -0700

    log: enable QRTR logging

    Add the 'Qrtr' domain so logging from libqrtr is enabled.

 src/mm-log.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit e24346128d2c93501f0a41596fdfa4a6b8e18753
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Tue Oct 13 15:41:57 2020 -0700

    filter: add filter for QRTR devices

    Add support for devices using the subsystem "qrtr".

 src/mm-filter.c | 10 ++++++++++
 src/mm-filter.h | 30 +++++++++++++++++-------------
 2 files changed, 27 insertions(+), 13 deletions(-)

commit d2ffb47ec86a3d83b87b46a47ea1ad491e186a2d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 17 16:02:45 2021 +0100

    ci: add build tests with QRTR support

 .gitlab-ci.yml | 55
 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 50 insertions(+), 5 deletions(-)

commit 866c1d4ab6e9cc8f629a80603ed49b9568c12b8b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 22 14:24:14 2021 +0100

    build: look for libqrtr-glib with pkg-config

    The WITH_QRTR symbol in config.h will let us know both if libqrtr-glib
    is found and if libqmi-glib is compiled with QRTR support (as per the
    exposed "qmi_qrtr_supported" variable in pkg-config).

 configure.ac    | 37 +++++++++++++++++++++++++++++++++++++
 src/Makefile.am |  5 +++++
 2 files changed, 42 insertions(+)

commit da24b7d45046790fca7f4e8abb5fbbb2d7c0ac97
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 14 10:07:28 2021 +0200

    iface-modem: minor refactor in the unload required logic

    No change in the logic, just in how it's setup. E.g. we will load the
    max number of retries just once when the logic starts, instead of
    checking it on every iteration.

    Also some other minor coding style changes included, e.g. adding the
    timeout between retries as a defined symbol.

 src/mm-iface-modem.c | 95
 ++++++++++++++++++++++++++--------------------------
 1 file changed, 48 insertions(+), 47 deletions(-)

commit 19edbd0b533552aed978a88593d02d33e9764592
Author: Pavan Holla <pholla@chromium.org>
Date:   Tue Apr 6 22:21:51 2021 +0000

    iface-modem: Increase unlock_required retries

    If a SIM is known to exist, for e.g. if it was created during
    load_sim_slots,
    persist a few more times before giving up on the SIM to be
    ready. There
    are modems on which the SIM takes more than 15s to be ready, luckily,
    they happen to be QMI modems where the SIM's iccid in load_sim_slots
    lets us know that there is a sim.

 src/mm-iface-modem.c | 32 ++++++++++++++++++++++++++------
 1 file changed, 26 insertions(+), 6 deletions(-)

commit 5a735317f7c0c42b2ddce52dbf1fa1edfc1c41f4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Apr 12 23:37:19 2021 +0200

    cli: avoid attempting to setup timeout on NULL proxy

    mm_manager_get_proxy() may actually return NULL if creating the
    internal GDBusProxy for the Manager interface fails.

 cli/mmcli.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 3d5a994ca8d8e766fd87a85d346c5b21f5e6c53e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Apr 12 23:06:22 2021 +0200

    kerneldevice: fix segfault when processing event for non-existing port

        ModemManager[6954]: <warn>  [1618260091.319919] [br0] invalid
        sysfs path read for net/br0
        **
        ERROR:kerneldevice/mm-kernel-device-generic.c:235:ptr_array_add_sysfs_attribute_link_basename:
        assertion failed: (array && sysfs_path && attribute)
        Bail out!
        ERROR:kerneldevice/mm-kernel-device-generic.c:235:ptr_array_add_sysfs_attribute_link_basename:
        assertion failed: (array && sysfs_path && attribute)

        Thread 1 "ModemManager" received signal SIGABRT, Aborted.
        (gdb) bt
        #0  0x00007ffff7438ef5 in raise () at /usr/lib/libc.so.6
        #1  0x00007ffff7422862 in abort () at /usr/lib/libc.so.6
        #2  0x00007ffff76c2084 in  () at /usr/lib/libglib-2.0.so.0
        #3  0x00007ffff771d85d in g_assertion_message_expr () at
        /usr/lib/libglib-2.0.so.0
        #4  0x00005555556a5337 in
        ptr_array_add_sysfs_attribute_link_basename (array=0x5555557de520,
        sysfs_path=0x0, attribute=0x555555703bd8 "driver", out_value=0x0)
            at kerneldevice/mm-kernel-device-generic.c:235
        #5  0x00005555556a542b in
        preload_contents_other (self=0x5555557a6c60) at
        kerneldevice/mm-kernel-device-generic.c:255
        #6  0x00005555556a6485 in preload_contents (self=0x5555557a6c60)
        at kerneldevice/mm-kernel-device-generic.c:517
        #7  0x00005555556a7fb6 in check_preload (self=0x5555557a6c60)
        at kerneldevice/mm-kernel-device-generic.c:980
        #8  0x00005555556a855f in initable_init (initable=0x5555557a6c60,
        cancellable=0x0, error=0x7fffffffe5c8) at
        kerneldevice/mm-kernel-device-generic.c:1127
        #9  0x00007ffff78a2f41 in g_initable_new_valist () at
        /usr/lib/libgio-2.0.so.0
        #10 0x00007ffff78a2ffa in g_initable_new () at
        /usr/lib/libgio-2.0.so.0
        #11 0x00005555556a8205 in mm_kernel_device_generic_new_with_rules
        (props=0x5555557a5fa0, rules=0x7fffec001e30, error=0x7fffffffe5c8)
        at kerneldevice/mm-kernel-device-generic.c:1042
        #12 0x00005555556a827d in mm_kernel_device_generic_new
        (props=0x5555557a5fa0, error=0x7fffffffe5c8) at
        kerneldevice/mm-kernel-device-generic.c:1063
        #13 0x00005555555aba9c in handle_kernel_event
        (self=0x555555793220, properties=0x5555557a5fa0,
        error=0x7fffffffe5c8) at mm-base-manager.c:414

 src/kerneldevice/mm-kernel-device-generic.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit b978a7045fe26f31f88acb9a1a2300cbcdfcac78
Author: Pavan Holla <pholla@chromium.org>
Date:   Mon Apr 12 15:58:09 2021 +0000

    shared-qmi: Remove iteration over slots at startup

    MM used to iterate over each SIM slot to load IMSI, operator name etc.
    However, switching slots at start up caused a few issues in the real
    world.
    a) Sierra Wireless' AUTO-SIM feature, the hidden SIM slot switching
    is actually triggering a full modem reset (because the firmware
    detects a new SIM for a different operator, and automatically resets
    itself to load the firmware+carrier config associated to that other
    operator).
    b) The IMSI on slot 2 is reported to be the same as slot 1.
    This is solved by adding a 1000ms delay before reading IMSI
    on slot 2, after GET_CARD_STATUS indicates the sim is ready. The
    delay means a 2s startup penalty when both slots are loaded.
    c) 2/5 developers have encountered a fw bug where the modem
    incorrectly reports that the SIM on slot 1 has vanished
    after the sequence of slot switches. This makes the modem
    unusable.
    d) If the eSIM daemon changes slots and opens a channel to the eUICC,
    MM will detect a hotswap, and break the channel during reprobe.
    e) SIMs from a certain large operator in the US take over 20s to be
    ready. Thus, switching to such a SIM for just loading IMSI may not be
    worth it.

    This change does not affect detection of sims in all slots. We still
    expose the iccid and presence of all sims. However, properties like
    IMSI and operator_name will not be exposed for the inactive slot.

 src/mm-shared-qmi.c | 340
 +---------------------------------------------------
 1 file changed, 2 insertions(+), 338 deletions(-)

commit b766ded3ca58cee202bd4567dd5530f04dc2290d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 8 22:24:04 2021 +0200

    iface-modem-time: fix invalid read when loading network timezone fails

      ==226546== Invalid read of size 4
      ==226546==    at 0x5068CB7: g_error_matches (in
      /usr/lib/libglib-2.0.so.0.6600.7)
      ==226546==    by 0x1BAC86: load_network_timezone_ready
      (mm-iface-modem-time.c:218)
      ==226546==    by 0x4EA827E: g_simple_async_result_complete (in
      /usr/lib/libgio-2.0.so.0.6600.7)
      ==226546==    by 0x17AE2C: at_command_ready (mm-base-modem-at.c:538)
      ==226546==    by 0x4EA827E: g_simple_async_result_complete (in
      /usr/lib/libgio-2.0.so.0.6600.7)
      ==226546==    by 0x24B475: serial_command_ready
      (mm-port-serial-at.c:378)
      ==226546==    by 0x4EA827E: g_simple_async_result_complete (in
      /usr/lib/libgio-2.0.so.0.6600.7)
      ==226546==    by 0x244F94: command_context_complete_and_free
      (mm-port-serial.c:141)
      ==226546==    by 0x246861: port_serial_got_response
      (mm-port-serial.c:755)
      ==226546==    by 0x246923: port_serial_timed_out
      (mm-port-serial.c:785)
      ==226546==    by 0x50863C3: ??? (in
      /usr/lib/libglib-2.0.so.0.6600.7)
      ==226546==    by 0x5085B83: g_main_context_dispatch (in
      /usr/lib/libglib-2.0.so.0.6600.7)

 src/mm-iface-modem-time.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 3d665d22093b985f6860170bca8d33a5562056d1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 8 22:40:20 2021 +0200

    libmm-glib,bearer-properties: fix usage of CMP_FLAGS_NO_RM_PROTOCOL

 libmm-glib/mm-bearer-properties.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 83a00a9457cec94febbef5afbf04777ccab9d902
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Apr 4 10:30:33 2021 +0200

    modem-helpers: new helper to lookup range from CGDCONT=? response

 src/mm-modem-helpers.c | 23 +++++++++++++++--------
 src/mm-modem-helpers.h |  5 +++++
 2 files changed, 20 insertions(+), 8 deletions(-)

commit 7e0404c6c2928347f4f69906db7055444285c80e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 8 00:11:00 2021 +0200

    modem-helpers-qmi: match QMI_WDS_AUTHENTICATION_NONE with
    MM_BEARER_ALLOWED_AUTH_NONE

    There is no point in returning UNKNOWN when the WDS auth value
    is NONE.

 src/mm-modem-helpers-qmi.c | 4 ++++
 1 file changed, 4 insertions(+)

commit e9ee6dfdb886d716cbfcc4f8bd86c366f99be3e0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 6 22:17:37 2021 +0200

    broadband-modem-qmi: remove unused variables

 src/mm-broadband-modem-qmi.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit 01f2109ae0bb8ac9a966f69f88ec2b526b68269b
Author: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Date:   Thu Apr 8 10:07:45 2021 +0200

    CI: make use of ci-templates

    full list of benefits at:
    https://freedesktop.pages.freedesktop.org/ci-templates/templates.html#why-use-the-ci-templates

    But the main ones are:
    - reproducible (just download the container and run the `script` part
      to be in the same environment the CI was running)
    - no more before script that pulls hundreds of MB and spend useless
    time.

    Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>

 .gitlab-ci.yml | 48 +++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 43 insertions(+), 5 deletions(-)

commit 179e12befc6daa8048a3f1adffaa24a1d62ddcae
Author: Zrshuo Zhang <zrshuo.zhang@fibocom.corp-partner.google.com>
Date:   Wed Apr 7 12:18:58 2021 +0200

    fibocom: add port type hints for the NL668-AM

 plugins/fibocom/77-mm-fibocom-port-types.rules | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 1db0f0b66fb69c08bd95aecf857e922979cc1247
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 1 23:50:00 2021 +0200

    iface-modem-simple: add multiplex info in connection details logging

 src/mm-iface-modem-simple.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

commit c3fdaca4c822932c49c31ae0384cda96500e934e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 1 23:41:11 2021 +0200

    iface-modem-simple: minor renames in logging of connection details

 src/mm-iface-modem-simple.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e6a04c0703571042624f3e07b02de368c17c1d96
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 24 16:11:16 2021 +0100

    iface-modem-3gpp-ussd: use common method to abort invocation if
    not enabled

 src/mm-iface-modem-3gpp-ussd.c | 85
 ++++++++++++------------------------------
 1 file changed, 24 insertions(+), 61 deletions(-)

commit 7dfe6198e1015c3fcc875d7be17e6b1a925c8e00
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 24 16:07:06 2021 +0100

    iface-modem: publish helper to abort invocation if state not reached

    So that we can use it in other interfaces to abort invocations e.g. if
    the modem is not yet enabled.

 src/mm-iface-modem.c | 23 ++++++++++-------------
 src/mm-iface-modem.h | 13 ++++++++++---
 2 files changed, 20 insertions(+), 16 deletions(-)

commit cc59492cafbfff61568870dae640c614c6842415
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 2 14:55:51 2021 +0200

    base-bearer: add autoptr setup for MMBearerConnectResult

 src/mm-base-bearer.h | 3 +++
 1 file changed, 3 insertions(+)

commit 851a708442b53ed2a560920f2bc097b62face54c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 1 11:19:47 2021 +0200

    modem-helpers: ip family normalization doesn't need log_object

 plugins/huawei/mm-broadband-bearer-huawei.c | 2 +-
 src/mm-bearer-mbim.c                        | 2 +-
 src/mm-bearer-qmi.c                         | 2 +-
 src/mm-broadband-bearer.c                   | 4 ++--
 src/mm-modem-helpers.c                      | 3 +--
 src/mm-modem-helpers.h                      | 3 +--
 6 files changed, 7 insertions(+), 9 deletions(-)

commit 2c27a7aadc79f3ded2e0ab13cc757266639f01e1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 31 23:33:24 2021 +0200

    base-bearer: remove default IP family property

    There is no point in providing a configurable default IP family in the
    bearer object, because we can always assume IPv4 as being the only
    default expected.

    Simplify the logic and also provide a new method to get the normalize
    the IP family, using IPv4 as default always.

 plugins/huawei/mm-broadband-bearer-huawei.c | 11 +----------
 src/mm-base-bearer.c                        | 25
 -------------------------
 src/mm-base-bearer.h                        | 21 +++++++++------------
 src/mm-bearer-mbim.c                        | 11 +----------
 src/mm-bearer-qmi.c                         | 10 +---------
 src/mm-broadband-bearer.c                   | 29
 +++++++----------------------
 src/mm-modem-helpers.c                      | 14 ++++++++++++++
 src/mm-modem-helpers.h                      |  6 ++++--
 8 files changed, 37 insertions(+), 90 deletions(-)

commit 317900635136564cce1ce74ef09a8e5fb012912b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 31 16:02:39 2021 +0200

    cinterion: remove unused checkup of default IP family

    Looks like the logic is just there to write a debug log, as the
    selected IP family is not used anywhere else. Just remove this.

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)

commit 250c09b73c68d3f6ac5263df39895e23124c8e50
Author: Pavan Holla <pholla@chromium.org>
Date:   Wed Mar 31 15:56:44 2021 +0000

    shared-qmi: Fix crash when a hotswap occurs while loading slots

 src/mm-shared-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7b141a671559d4f4e5c15ca8ad06fdccb688d7b8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 31 11:06:32 2021 +0200

    port-serial: remove misleading comments

 src/mm-port-serial.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c45602756302d827c4d21b9a48ee36f5093fec87
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 31 11:05:53 2021 +0200

    port-serial: the 'FlashOk' property is not really set on construct

 src/mm-port-serial.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9b72ff0adf079828d9d6e8658ff0cad548a68535
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 31 11:11:39 2021 +0200

    mmtty: new --spew-control option

    So that we simulate enabling the spew control, as we do during
    probing.

 test/mmtty.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 65e860439a1a97c227e49731826d8705cf75496d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 31 11:02:25 2021 +0200

    mmtty: allow enabling LF with --send-lf

 test/mmtty.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 9d6ff2485ad1145bb4239027ed594190e8d4df7b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 31 11:00:55 2021 +0200

    mmtty: fix printing logs with --verbose

    The _mm_log() implementation provided in 'mm-log-test.h' relies on
    g_test_verbose() to decide whether the logs are printed or not. We are
    not running under the GTest setup in mmtty, so that would not work
    properly.

    Just provide a custom _mm_log() method that checks for the
    verbose_flag instead.

 test/mmtty.c | 41 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 40 insertions(+), 1 deletion(-)

commit 3ca80d8e512061728ed02d66e06b77ac384a9766
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 31 00:43:32 2021 +0200

    mmtty: make sure \r\n is removed from the user line

 test/mmtty.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

commit 9f7bbf28d210a4986f2d0d353e4e37024bc91c4a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 24 21:50:42 2021 +0100

    iface-modem: avoid check for SIM swap if no interface skeleton
    available

 src/mm-iface-modem.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit 96d83392a850b84888661f68cb170dd87fcd3c85
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 24 21:47:54 2021 +0100

    iface-modem: avoid lock info update if no interface skeleton available

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/351

 src/mm-iface-modem.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

commit 342b7119c3337f1baa4648dac473a7274ca084f0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 24 15:17:59 2021 +0100

    cli,3gpp-ussd: move actions to a separate source file

    All the USSD operations together in a separate file, as they're
    managed in a separate 3GPP USSD interface.

 cli/Makefile.am             |   1 +
 cli/mmcli-modem-3gpp-ussd.c | 364
 ++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli-modem-3gpp.c      | 264 +++-----------------------------
 cli/mmcli.c                 |  11 ++
 cli/mmcli.h                 |   8 +
 5 files changed, 404 insertions(+), 244 deletions(-)

commit 08ed7b75dbf62536df79c98394f3b092d2cd9ccc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 24 12:10:55 2021 +0100

    docs,libmm-glib: move USSD to its own section

    It's not a generic interface, it's a feature interface, same as
    messaging or location.

 docs/reference/libmm-glib/libmm-glib-docs.xml | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit c28bfe3cac1fdd1a2b0ef41799a7f7555516d0ba
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 24 12:06:06 2021 +0100

    docs: explicitly ignore .actions files

    These are generated by gtk-doc.

 .gitignore | 1 +
 1 file changed, 1 insertion(+)

commit d6a724c7b35d6ac8f237edc1d05bf8479a75255d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 24 11:56:08 2021 +0100

    broadband-modem: don't warn enabling/disabling USSD failures

    USSD is a feature interface, not critical for connection management,
    so skip warning on interface enabling/disabling failures.

 src/mm-broadband-modem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 4b19b9693f03ab48c6707508d27b24e38294e022
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 24 11:00:22 2021 +0100

    libmm-glib,bearer-properties: fix 'allowed-auth' comparison

 libmm-glib/mm-bearer-properties.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 16ade1c5d23b965628a59d071232ddb49fde8561
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 23 15:25:07 2021 +0100

    build: require libgudev 232 to include autoptr support

    The code in git master already relies on autoptr support in GUdev
    types, which was introduced in commit 272533131c6ed38479a88805,
    included in libgudev 232.

    See
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/349

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 42fbcb0b7d60e9ab56836656fa49ca1272ea19e9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 23 13:07:17 2021 +0100

    api,bearer: minor alignment fix

 introspection/org.freedesktop.ModemManager1.Bearer.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 97ae345d9eeba4ceca5ce308a42c56cf783f27d2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 23 11:33:34 2021 +0100

    api: add 'Since' tags

    These are not actively used by gdbus-codegen or gtk-doc, but they're
    helpful anyway so that users know when a given API method was
    introduced.

 .../org.freedesktop.ModemManager1.Bearer.xml       |  35 ++++++-
 .../org.freedesktop.ModemManager1.Call.xml         |  32 ++++++
 ...rg.freedesktop.ModemManager1.Modem.Firmware.xml |   6 ++
 ...rg.freedesktop.ModemManager1.Modem.Location.xml |  27 ++++-
 ...g.freedesktop.ModemManager1.Modem.Messaging.xml |  16 +++
 ...edesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml |  12 +++
 ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml |  28 ++++++
 ...g.freedesktop.ModemManager1.Modem.ModemCdma.xml |  18 ++++
 .../org.freedesktop.ModemManager1.Modem.Oma.xml    |  18 ++++
 .../org.freedesktop.ModemManager1.Modem.Sar.xml    |   8 ++
 .../org.freedesktop.ModemManager1.Modem.Signal.xml |  16 +++
 .../org.freedesktop.ModemManager1.Modem.Simple.xml |   6 ++
 .../org.freedesktop.ModemManager1.Modem.Time.xml   |   6 ++
 .../org.freedesktop.ModemManager1.Modem.Voice.xml  |  26 +++++
 .../org.freedesktop.ModemManager1.Modem.xml        | 112
 +++++++++++++++++++--
 .../org.freedesktop.ModemManager1.Sim.xml          |  26 +++++
 .../org.freedesktop.ModemManager1.Sms.xml          |  36 +++++++
 introspection/org.freedesktop.ModemManager1.xml    |  10 ++
 18 files changed, 424 insertions(+), 14 deletions(-)

commit dd3cb6e774efcb4a18c0865e8482b0389bad19b3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 23 12:39:07 2021 +0100

    docs,libmm-glib: add low-level SAR interface reference

 docs/reference/libmm-glib/libmm-glib-docs.xml     |  4 ++
 docs/reference/libmm-glib/libmm-glib-sections.txt | 74
 +++++++++++++++++++++++
 2 files changed, 78 insertions(+)

commit e30e3ac56df315ae3cb8b535295670bf04830784
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 23 12:47:11 2021 +0100

    docs,libmm-glib: add missing reference to
    mm_sim_preferred_network_list_free()

 docs/reference/libmm-glib/libmm-glib-sections.txt | 1 +
 1 file changed, 1 insertion(+)

commit 3e05b3a982aa82cee2aa9e20e2bfaea69fb0fbcc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 23 11:22:57 2021 +0100

    docs,api: include missing reference to the SAR interface

 docs/reference/api/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit 7ad2e3ce9cae07b48a6efaf1020a0b698e73f7d6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 21 10:43:23 2021 +0100

    build: add support for the new SAR interface

    Include the new SAR interface in the build so that gdbus-codegen
    generates support for it in libmm-glib as well as proper documentation
    in the API reference.

 docs/reference/api/ModemManager-dbus-reference.xml | 1 +
 introspection/Makefile.am                          | 1 +
 libmm-glib/generated/Makefile.am                   | 3 +++
 3 files changed, 5 insertions(+)

commit 09cead827918caaf5a3ac2f47ebe1c4ba1478197
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 21 10:40:34 2021 +0100

    api,sar: improve documentation and add example of SAR mapping table

 .../org.freedesktop.ModemManager1.Modem.Sar.xml    | 30
 +++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

commit 6dd34b79653319528f23de76d8134cf477ec2c96
Author: Madhav <madhavadas@google.com>
Date:   Fri Nov 6 02:30:34 2020 +0000

    api,sar: add D-Bus interface to support SAR

    Add a new D-Bus interface to support dynamic SAR across multiple
    platforms.
    The new interface exposes methods to configure sar power levels,
    handle the communications with the modem, and let the platform
    code be agnostic to modem type.

 introspection/all.xml                              |  1 +
 .../org.freedesktop.ModemManager1.Modem.Sar.xml    | 66
 ++++++++++++++++++++++
 2 files changed, 67 insertions(+)

commit a21233c7abde5572bc40494d1cb9b38976bf8f1c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 22 15:07:26 2021 +0100

    api: define bearer settings only in the 'Properties' property

    Avoid defining them multiple times in the Modem.CreateBearer(),
    Simple.Connect() and Modem3gpp.SetInitialEpsBearerSettings() methods.

 .../org.freedesktop.ModemManager1.Bearer.xml       | 90
 +++++++++++++++++++++-
 ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 18 ++---
 .../org.freedesktop.ModemManager1.Modem.Simple.xml | 78
 ++++---------------
 .../org.freedesktop.ModemManager1.Modem.xml        | 27 +------
 4 files changed, 109 insertions(+), 104 deletions(-)

commit 634682b602dd51efbda42a8b2e8764b9bb0024e2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 21 13:44:16 2021 +0100

    cinterion: make sure FALSE sets GError in parse_smong_response()

    The g_regex_match_full() method may return FALSE without setting the
    GError, so that case needs to be considered.

    In addition to that, the following g_assert() was not doing what it
    should have been, as it was comparing the address of the variable and
    not the variable itself; rework the code to avoid that as well:
      g_assert (access_tech != MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN);

 plugins/cinterion/mm-modem-helpers-cinterion.c     | 48
 +++++++++++-----------
 .../cinterion/tests/test-modem-helpers-cinterion.c | 29 ++++++++++---
 2 files changed, 48 insertions(+), 29 deletions(-)

commit d01bca493dad933b9df51bec1254c79089ffa1c7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 21 13:05:27 2021 +0100

    cinterion: make sure FALSE sets GError in provcfg_response_to_cid()

    The g_regex_match_full() method may return FALSE without setting the
    GError, so that case needs to be considered.

    Reported by Jan Mazura.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/347

 plugins/cinterion/mm-modem-helpers-cinterion.c     | 14 ++++++++++-
 .../cinterion/tests/test-modem-helpers-cinterion.c | 27
 ++++++++++++++++++----
 2 files changed, 35 insertions(+), 6 deletions(-)

commit 5285e958abcd734de73a13011b5243bcfdf4d20c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 21 11:24:18 2021 +0100

    cinterion: allow '*' in Prov/Cfg response

    E.g. in a Cinterion PLS8-E (REVISION 04.004) to match the following
    line:

      ^SCFG: "MEopMode/Prov/Cfg","fallback*"

    Fix suggested by Jan Mazura.

    See
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/347

 plugins/cinterion/mm-modem-helpers-cinterion.c         | 2 +-
 plugins/cinterion/tests/test-modem-helpers-cinterion.c | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

commit 192e067f97153125fe9d3362c750146a5a7215cf
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Tue Mar 16 19:28:09 2021 +0100

    quectel: ignore QGPSURC

    QGPSURCs are not ignored and causes calls to be rejected in some cases

 plugins/quectel/mm-broadband-modem-qmi-quectel.c | 10 +++++
 plugins/quectel/mm-broadband-modem-quectel.c     | 10 +++++
 plugins/quectel/mm-shared-quectel.c              | 48
 +++++++++++++++++++++++-
 plugins/quectel/mm-shared-quectel.h              |  7 +++-
 4 files changed, 72 insertions(+), 3 deletions(-)

commit dbb3825984956a77df5d27dc6957cc623620a0b4
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Thu Mar 18 16:52:36 2021 -0700

    kernel-device-helpers: Remove unused variable

 src/kerneldevice/mm-kernel-device-helpers.c | 1 -
 1 file changed, 1 deletion(-)

commit ab007a449638eeacaf6f626b707842af5274db95
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 18 11:20:02 2021 +0100

    base-modem: plug leaks when organizing ports

    The GLists maintained in the logic need to be explicitly freed (just
    the lists, not the list contents) if we exit early on error or if we
    end up deciding that the specific ports are available but unsupported
    by the plugin (e.g. if a plugin that doesn't support net ports finds
    net ports in the modem).

      ==225333== 24 bytes in 1 blocks are definitely lost in loss record
      2,024 of 5,525
      ==225333==    at 0x483E77F: malloc (vg_replace_malloc.c:307)
      ==225333==    by 0x506C539: g_malloc (in
      /usr/lib/libglib-2.0.so.0.6600.7)
      ==225333==    by 0x508DC8F: g_slice_alloc (in
      /usr/lib/libglib-2.0.so.0.6600.7)
      ==225333==    by 0x50636B4: g_list_append (in
      /usr/lib/libglib-2.0.so.0.6600.7)
      ==225333==    by 0x17E671: mm_base_modem_organize_ports
      (mm-base-modem.c:1298)
      ==225333==    by 0x1E4409: mm_plugin_create_modem (mm-plugin.c:1094)
      ==225333==    by 0x162C81: mm_device_create_modem (mm-device.c:481)
      ==225333==    by 0x15DE60: device_support_check_ready
      (mm-base-manager.c:218)
      ==225333==    by 0x4EA8173: ??? (in /usr/lib/libgio-2.0.so.0.6600.7)
      ==225333==    by 0x4EAC6E8: ??? (in /usr/lib/libgio-2.0.so.0.6600.7)
      ==225333==    by 0x16730F: device_context_run_ready
      (mm-plugin-manager.c:1533)
      ==225333==    by 0x4EA8173: ??? (in /usr/lib/libgio-2.0.so.0.6600.7)

 src/mm-base-modem.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

commit bf3065cdaa49b8cea9d91caaeb75136d547ddf4c
Author: Balázs Úr <4817-urbalazs@users.noreply.gitlab.freedesktop.org>
Date:   Thu Mar 18 00:56:27 2021 +0000

    po: update Hungarian translation

 po/hu.po | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

commit 3e58fbe547115bd875754806340b3bb39cc7b053
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 12 17:44:44 2021 +0100

    base-bearer: ignore forced disconnections

    If using PPP, ModemManager is never in charge of deciding when the
    connection is finished, because that would end up making ModemManager
    try to use the TTY port while pppd is still using it.

    When the modem goes unregistered for some time, we should not force
    the disconnection of the bearer object, we still need to wait for pppd
    to tell us the modem is disconnected.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/331

 src/mm-base-bearer.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 952f416577b622e5a433492c889bb8ed613d1748
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 11 14:29:00 2021 +0100

    bearer-mbim: if no explicit 'multiplex' setting, treat as 'requested'

 src/mm-bearer-mbim.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 8f3df02ba14297ba1fd84e56225dcf7625a83240
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 11 09:34:03 2021 +0100

    broadband-modem-mbim: report up to 256 multiplexed bearers

    As defined in the MBIM protocol (session id 0 to 255).

 src/mm-broadband-modem-mbim.c | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

commit 2d374b1c41ab3412101dee8600d4424b94900f23
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 11 11:24:57 2021 +0100

    bearer-mbim: implement multiplex support

 src/mm-bearer-mbim.c | 239
 ++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 200 insertions(+), 39 deletions(-)

commit 32c4b200668f284e3c1774a1e54f58181aa91e6e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 11 11:35:35 2021 +0100

    port-mbim: implement new link setup/cleanup methods

    These are really wrappers around the MbimDevice methods, only making
    sure the MMPortMbim is open before they're used.

 src/mm-port-mbim.c | 128
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-port-mbim.h |  18 ++++++++
 2 files changed, 146 insertions(+)

commit e5305498b7ddbc5e419cf51fc0c30aa6593a40d2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 11 10:43:05 2021 +0100

    bearer-mbim: session id 0 by default in all non-multiplexed
    connections

    The original logic in the MBIM modem would assume that if we had more
    than one network interface in the same modem, we could connect
    multiple data interfaces, each one with a different session. That
    logic is actually wrong, when using the master (non-multiplexed)
    network interface we should always use session id 0, which is the one
    holding all non-VLAN-tagged traffic.

    So, remove the logic that automatically creates new bearers with a
    different session id, as that is really wrong.

 src/mm-bearer-mbim.c          | 64 +-----------------------------
 src/mm-bearer-mbim.h          |  3 +-
 src/mm-broadband-modem-mbim.c | 90
 +++++++------------------------------------
 3 files changed, 16 insertions(+), 141 deletions(-)

commit 0830f9510cd67c25de57a4ffc5086882b59b3d12
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 11 10:41:40 2021 +0100

    bearer-mbim: refactor and switch to autoptr

    Also, keep track of the MMPortMbim instead of the MbimDevice directly,
    because the new multiplex support will require operations on the port
    as well, not only on the device.

 src/mm-bearer-mbim.c | 696
 +++++++++++++++++++++------------------------------
 1 file changed, 290 insertions(+), 406 deletions(-)

commit 1fa8ce3f0842c00bde55aaf1e9440b3c474f23e7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 10 17:29:16 2021 +0100

    broadband-modem-mbim: reset all net ports during initialization

    We want to start with the data ports as clean as possible when the
    modem is initialized, so we make sure the master interface is down and
    that all links found are removed. This ensures a clean restart if
    e.g. the daemon crashes for some other reason.

 src/mm-broadband-modem-mbim.c | 187
 ++++++++++++++++++++++++++++++++++++++----
 1 file changed, 170 insertions(+), 17 deletions(-)

commit 37d4f5c129b056517c9403a693c30f68777572da
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 11 09:27:11 2021 +0100

    port-mbim: implement port reset logic

 src/mm-port-mbim.c | 106
 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-port-mbim.h |  10 ++++-
 2 files changed, 114 insertions(+), 2 deletions(-)

commit 340fa919d99fc3c07af5129073b60dee71111939
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 10 17:18:26 2021 +0100

    build: require libmbim 1.25.2 for multiplex support

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c7b1ee9c941fb7fbdd94fe17ec927caf392ff1e0
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Tue Mar 16 11:39:15 2021 -0700

    mm-base-manager: split assertion

    This allows us to know which of the subsystem or name for a
    removed device is triggering the assertion from just a stack
    trace that contains line information.

 src/mm-base-manager.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit fdfd4b270aa3bb31185feb833691f134c887f869
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 15 17:46:49 2021 +0100

    shared-qmi: acquisition order preference TLV always same items

    The acquisition order preference TLV must always have the same number
    of elements, just the order of the elements should be different.

    Also, always prefer the acquisition order preference TLV to the
    GSM+WCDMA specific one, which is the same logic the modem applies.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/340

 src/mm-modem-helpers-qmi.c | 108
 ++++++++++++++++++++++++---------------------
 src/mm-modem-helpers-qmi.h |   9 ++--
 src/mm-shared-qmi.c        |  64 ++++++++++++++++-----------
 3 files changed, 100 insertions(+), 81 deletions(-)

commit bb5bc9c8c560a24ef2951bdb9e1da18dedd7c5b0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 15 15:19:38 2021 +0100

    shared-qmi: process all feature checks in SSP response together

    Loading capabilities is the very first step of the state machines, and
    so we can rely on the "NAS Get SSP" method performed there to process
    all feature checks of the SSP response.

 src/mm-shared-qmi.c | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

commit 65a7624ffdd39b015d5013743913af8361e83513
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 15 15:11:41 2021 +0100

    shared-qmi: if getting TP/SSP fails, assume unsupported

    Until now we were only considering TP/SSP unsupported if we received
    a QMI protocol error (e.g. reporting unknown command).

    We now also consider TP/SSP unsupported if the actual request
    succeeds, but an error is reported in the response. There is no point
    in considering TP/SSP supported if the plain get request without input
    TLVs given fails.

 src/mm-shared-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 1a5f90f15bda7b939c75c6b8c7d0022c8f919b42
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 15 17:20:30 2021 +0100

    shared-qmi: add missing feature check flag initialization to UNKNOWN

 src/mm-shared-qmi.c | 1 +
 1 file changed, 1 insertion(+)

commit 67b64eb7eeab5c50381014945cfbd73ebc4cbe11
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 15 14:58:12 2021 +0100

    shared-qmi: rename feature check variables

    We want the "extended_lte_band_preference" with the "nas_ssp" prefix,
    as we're going to add more checks for SSP features.

 src/mm-shared-qmi.c | 68
 ++++++++++++++++++++++++++---------------------------
 1 file changed, 34 insertions(+), 34 deletions(-)

commit 830230dccb02dd4b0189a8c3588077792e7d9eb2
Author: Madhav <madhavadas@google.com>
Date:   Thu Jan 14 23:24:12 2021 +0000

    broadband-modem-qmi: retrieve operator name from plmn_name based on
    current operator id.

    Retrieve operator name from plmn_name based on current operator id.
    If service name is available, use service name as operator name.
    If not, use the long or short name.

 src/mm-broadband-modem-qmi.c | 139
 ++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 123 insertions(+), 16 deletions(-)

commit abc417f37a4fc2439e508b84e735de62340ebdd7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 12 10:33:07 2021 +0100

    sierra: disable CPOL in the EM7345

    Using CPOL? in the EM7345 (firmware FIH7160_V1.1_MODEM_01.1349.12)
    ends up with the whole AT port stuck and non-responsive, which leads
    to flagging the modem as unusable later on as soon as 10 consecutive
    AT command timeouts happen.

    In order to avoid that, we explicitly disable all CPOL based features
    in this specific module.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/336

 plugins/sierra/77-mm-sierra.rules | 3 +++
 1 file changed, 3 insertions(+)

commit e0a6d5d76b29f92c5fc3f2a65150b43b933b0edd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 12 10:30:46 2021 +0100

    base-sim: allow disabling CPOL based preferred networks features

 src/mm-base-sim.c | 44 +++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 41 insertions(+), 3 deletions(-)

commit 74599e695b29caebbd42ad024d82ada71ded3540
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Wed Mar 10 14:07:35 2021 +0200

    sim-qmi,libmm-glib: QMI implementation of get/set preferred networks

 configure.ac                                       |   2 +-
 .../org.freedesktop.ModemManager1.Sim.xml          |   5 +-
 libmm-glib/mm-sim-preferred-network.c              |   9 +
 libmm-glib/mm-sim-preferred-network.h              |   1 +
 src/mm-sim-qmi.c                                   | 329
 +++++++++++++++++++++
 5 files changed, 344 insertions(+), 2 deletions(-)

commit 82a9f16fa46cd0f625ff2d39d4f4f4212e464f52
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Fri Mar 12 09:32:35 2021 +0200

    base-sim: select the desired format for loading preferred networks

    Before invoking AT+CPOL? for loading preferred networks list from
    SIM, AT+CPOL=,2 is executed to make sure that the returned
    operator codes are in expected (numeric) format.

 src/mm-base-sim.c | 35 ++++++++++++++++++++++++++++++++---
 1 file changed, 32 insertions(+), 3 deletions(-)

commit e00e113dc9182a9e77aa529cbe5fbbd1c757dbf2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 11 11:43:57 2021 +0100

    docs,libmm-glib: add missing reference to private method

 docs/reference/libmm-glib/libmm-glib-sections.txt | 1 +
 1 file changed, 1 insertion(+)

commit fdfcd30308faf9d008ab68da29d7b35bbecf01a3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 11 11:20:48 2021 +0100

    bearer-qmi: avoid increasing self reference during dispose()

    The reset_bearer_connection() method is called during dispose, and if
    a link had been created during the connection attempt, we would be
    increasing the reference to the bearer object during dispose(), which
    should never happen.

    Just avoid passing any callback to the cleanup_link() method, as we
    really were using that only for logging purposes.

 src/mm-bearer-qmi.c | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)

commit a772b70632008d6c375487a8e711b80bb343a931
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 11 10:33:00 2021 +0100

    bearer-mbim: plug MbimDevice leak in disconnection context

 src/mm-bearer-mbim.c | 1 +
 1 file changed, 1 insertion(+)

commit bd075aeba0ecfc1aced28d9546cbe75f90a594da
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 25 13:03:43 2021 +0100

    bearer-qmi: if no explicit 'multiplex' setting, default to 'requested'

 src/mm-bearer-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 0b72d9b5666f1e8bc6df82357f2e8325eb5d6adb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 26 11:29:04 2021 +0100

    port-qmi: flag multiplexing as unsupported in BAM-DMUX

    In BAM-DMUX based setups we already have multiple network interfaces
    exposed in the system, which we bind to using the SIO port number.

    So, disable QMAP multiplexing in this case, to simplify the setup and
    avoid attempting to create additional net links when connecting
    multiple bearers.

 src/mm-port-qmi.c | 27 +++++++++++++++++++++++----
 1 file changed, 23 insertions(+), 4 deletions(-)

commit 791c7908e48c4acfc8ebfe36ae66714c89bf028c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 10 12:05:31 2021 +0100

    port-qmi: initialize net port driver information early

    The MMPortQmi may need to know very early what kind of net ports are
    going to be used later on during connection, e.g. to decide what kind
    of multiplexing capabilities are available and such.

    So, once we have organized ports in the modem, we'll take the driver
    of the first network port in the list of data ports, and pass it down
    to all QMI ports setup in the modem object.

 src/mm-base-modem.c | 10 ++++++++++
 src/mm-port-qmi.c   | 14 ++++++++++++++
 src/mm-port-qmi.h   |  3 +++
 3 files changed, 27 insertions(+)

commit 4f4ce02c434423afbea81679d62cf9ecc09b6599
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 25 22:12:04 2021 +0100

    port-qmi: compute max amount of multiplexed links supported

    For the qmi_wwan driver, we have imposed a limitation of max 4 links
    when using the add_mux/del_mux interface, because we're forced to
    precreate links before multiplexing may be enabled.

    When using rmnet over qmi_wwan, or rmnet over other drivers, we don't
    have any limitation other than the one imposed by the WDA protocol
    itself. The amount of links that may be created in this case is
    1 + (QMI_DEVICE_MUX_ID_MAX - QMI_DEVICE_MUX_ID_MIN).

    This information is loaded in the MMPortQmi, used to create the
    MMBearerList in the QMI modem, and finally populated in the
    'MaxActiveMultiplexedBearers' property of the modem interface.

 src/mm-broadband-modem-qmi.c | 34 +++++++++++++++++++++++++++++-
 src/mm-port-qmi.c            | 50
 ++++++++++++++++++++++++++++++++++++++++++++
 src/mm-port-qmi.h            |  1 +
 3 files changed, 84 insertions(+), 1 deletion(-)

commit 499d954857fcfe7406aa7b1f724c8552e395391b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 25 13:01:35 2021 +0100

    port-qmi: setup master MTU link to max aggregation data size

    This step is required when using the qmi_wwan add_mux/del_mux logic,
    and must be done before changing the kernel data format to raw-ip.

 src/mm-port-qmi.c | 80
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 80 insertions(+)

commit b0f26a1f0bce13cd8785fefdb004d178768e201a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 24 01:01:55 2021 +0100

    bearer-qmi: bring master interface up on connection attempt

    The user of the ModemManager API will bring up the data network
    interface exposed in the Bearer IP settings (i.e. the link interface
    when using multiplexing). But for instantiated network links, we also
    need to have the master interface brought up before any traffic can go
    through the link interface.

    We don't check whether the master interface is already up before
    attempting to bring it up, we just attempt to bring it up.

 src/mm-bearer-qmi.c | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

commit 1643c3d3db73a2e731e92efa26466c1501c8899d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 23 20:43:38 2021 +0100

    bearer-qmi: create data port link if multiplex is requested/required

    If the user requests or requires to use multiplexing support, try to
    create a data port link and bind the WDS client(s) to it.

    If the multiplex is requested but not required, we allow link creation
    failures or setups where multiplexing isn't supported; we just go on
    with the default connection setup without multiplexing, as long as
    there is no bearer connected on the same data network interface.

    If the multiplex is required and for any reason it cannot be fully
    setup, we will fail the connection attempt right away.

    The data port link is created in the system via the QmiDevice in the
    open MMPortQmi, but it MUST be notified by the kernel (e.g. via udev
    or via kernel events) before the connection attempt goes on.

 src/mm-bearer-qmi.c | 324
 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 285 insertions(+), 39 deletions(-)

commit db5cb302c9de6f551f77ec3d7665c8be61ae1da2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 25 12:38:41 2021 +0100

    port-qmi: don't allow switching to non-multiplexed mode if links exist

    If the port has net links that have been setup, don't allow switching
    it from multiplexing mode to non-multiplexing mode.

 src/mm-port-qmi.c | 59
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

commit f58d3ef93fef8ae7e9d14f37fa2940d91d49a408
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 23 22:43:09 2021 +0100

    port-qmi: new methods to setup/cleanup net links

    The logic to setup/cleanup net links is based on the QmiDevice net
    link addition/removal operations.

    When the qmi_wwan add_mux/del_mux based logic is in use, we default to
    precreate 4 net links and we limit the amount of bearers that may be
    connected to that maximum, because it is not guaranteed that the
    qmi_wwan driver is able to create new links once the master interface
    is up; and the master interface needs to be up for a proper data
    connection.

    For all other drivers, or when qmi_wwan uses qmap-pass-through, we
    allow adding/deleting new links at any moment, without needing to rely
    on the precreated ones.

 src/mm-port-qmi.c | 467
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-port-qmi.h |  19 +++
 2 files changed, 486 insertions(+)

commit b3fb87cdf6ceb1593a27807b7f00f17ca489e23d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 24 10:18:39 2021 +0100

    base-modem: new method to wait for an explicit link port

    When new link ports are created, the QmiDevice link management methods
    try to make sure that the port exists in the system by the time the
    link addition method returns, but that doesn't guarantee that the port
    has also been notified by the kernel to ModemManager (e.g. via udev or
    via kernel events).

    This new method allows to do a explicit wait for a given port link; if
    we already have it it will return right away, and otherwise we'll wait
    for it to be notified via the "link port grabbed" signal.

 src/mm-base-modem.c | 128
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-base-modem.h |  10 ++++
 2 files changed, 138 insertions(+)

commit 897e48709d1f5238f5165a5e5ed42937b0784c80
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 12 12:29:49 2021 +0100

    base-modem: allow grabbing link ports after modem is created

    We will grab the ports and make them available through find_ports() or
    peek_port() or get_port().

    The link ports are not 'organized' so they won't be available in
    e.g. get_data_ports(), which is fine, because we don't want to mix
    them with the real data ports exposed by the device.

    Link port additions and removals are also notified via signals in the
    modem object, so that explicit wait for specific ports can be done.

 src/mm-base-modem.c | 182
 ++++++++++++++++++++++++++++++++++++++++++++--------
 src/mm-base-modem.h |  26 ++++++--
 src/mm-device.c     |  25 +++++++-
 3 files changed, 200 insertions(+), 33 deletions(-)

commit 21174f289f1370c1badb10106045490604ccbdf4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 12 11:36:10 2021 +0100

    kernel-device-generic: setup 'lower device' for virtual ports

 src/kerneldevice/mm-kernel-device-generic.c | 31
 +++++++++++++++++++++++++++--
 1 file changed, 29 insertions(+), 2 deletions(-)

commit 591db5e4555dbb3699ab752e3b736f550d965fc4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 12 11:18:32 2021 +0100

    kernel-device-udev: setup 'lower device' for virtual ports

 src/kerneldevice/mm-kernel-device-udev.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

commit 73830f0bd094c35ff5f364e5265d4b61bf0a5110
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 12 11:00:08 2021 +0100

    kernel-device: new helper to load lower device link names

    Based exclusively on sysfs for now. We could do this via netlink if
    needed as well.

 src/Makefile.am                             |  2 +
 src/kerneldevice/mm-kernel-device-helpers.c | 62
 +++++++++++++++++++++++++++++
 src/kerneldevice/mm-kernel-device-helpers.h | 26 ++++++++++++
 3 files changed, 90 insertions(+)

commit 6a791dd8b79f92058adf4fc2ade60385b43d8339
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 12 10:58:17 2021 +0100

    kernel-device: new 'lower device' property for physdev info

    We can now setup a 'lower device' object that will be the one
    providing all physdev info. This is useful when using virtual ports
    that refer to a 'lower' real physical device, in order to bind
    together all those ports on the same modem object.

 src/kerneldevice/mm-kernel-device.c | 114
 ++++++++++++++++++++++++++++++++++++
 src/kerneldevice/mm-kernel-device.h |   4 ++
 2 files changed, 118 insertions(+)

commit ec73efc551aeb165ef74dfff9c26fdcf491a2aa7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 25 12:04:13 2021 +0100

    port-qmi: add support for QMAP data aggregation

    We now allow requesting for multiplex support in the set data format
    operation of the MMPortQmi.

    If multiplexing is supported, we'll configure both the modem (link
    layer protocol and data aggregation protocol) and the kernel expected
    data format (if qmi_wwan in use).

    The logic adds additional preferences over the different choices we
    may find in the logic:
      * In newer modems, by default QMAPv5 is preferred over QMAP as data
        aggregation protocol.
      * If using qmi_wwan, by default rmnet (qmap-pass-through) is
        preferred over add_mux/del_mux (raw-ip) kernel expected data
        format.

    These preferences are only considered if the specific support is found
    in the setup.

    Whenever we change the multiplexing support, an internal port reset
    operation will be run, in order to bring the state of the setup to a
    clean known one.

 src/mm-bearer-qmi.c |   1 +
 src/mm-port-qmi.c   | 254
 +++++++++++++++++++++++++++++++++++++++++++++-------
 src/mm-port-qmi.h   |   5 +-
 3 files changed, 227 insertions(+), 33 deletions(-)

commit 140094bb47800656fcf4c5408bcd12ac9475a886
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 17 23:13:04 2021 +0100

    broadband-modem-qmi: reset all QMI/NET ports on initialization

    If the daemon boots and it finds already existing modems in the
    system (i.e. not hotplugged), we will attempt to reset all QMI/NET
    ports, so that the state in which the ports are is a known one.

    This logic allows us to cleanup any possible existing network link if
    e.g. the daemon crashes and is restarted by the system.

 src/mm-broadband-modem-qmi.c | 164
 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 157 insertions(+), 7 deletions(-)

commit 7b20550ac0fb114c871720c56e40150fba7079f7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 18 15:52:11 2021 +0100

    port-qmi: implement port reset logic

    The port reset operation will attempt to setup the QMI and associated
    NET ports to the same state as they has when the modem was originally
    detected: no mux links, net interface down and (for the qmi_wwan based
    devices) expected kernel data format set to 802.3.

    By default, the external calls to the port reset logic will require
    the port to be closed (i.e. no internal QmiDevice), so a new temporary
    QmiDevice will be created just for this operation. The new QmiDevice
    doesn't even need to be open, as the reset operations just uses the
    device to attempt to remove net links.

    The internal call to the port reset logic uses an input QmiDevice
    which may be the newly allocated one in the external call, or the
    internal QmiDevice, if there is one.

 src/mm-port-qmi.c | 207
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-port-qmi.h |   8 +++
 2 files changed, 215 insertions(+)

commit 032a86915a6d28cf39bc249a45dfb4d02e3a7eb6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 17 14:20:08 2021 +0100

    port-net: new 'MMPortNet' object with netlink capabilities

    Right now just with the support to setup link properties like up/down
    state or the link mtu.

    This features are required when using QMAP based multiplexing with the
    qmi_wwan kernel driver.

 src/Makefile.am     |   4 +
 src/mm-base-modem.c |   6 +-
 src/mm-base-modem.h |   3 +-
 src/mm-netlink.c    | 464
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-netlink.h    |  54 ++++++
 src/mm-port-net.c   | 122 ++++++++++++++
 src/mm-port-net.h   |  63 +++++++
 7 files changed, 710 insertions(+), 6 deletions(-)

commit b45948a20dcceccf0fa506f3a84b25136b8abf07
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 18 15:13:11 2021 +0100

    port-qmi: rework WDA-based logic and avoid setup during port open

    The new logic is implemented as a separate async method with its own
    state machine, which allows selecting different data format setups
    with an strict preference.

    Until now, we would not attempt to re-configure the link layer
    protocol in the modem interface if we could instead change the
    expected data format in the kernel. E.g. a MC7304 exposing one
    interface in 802.3 format and another one in raw-ip format would be
    used in either 802.3 or raw-ip, depending on the network interface
    being connected.

    This logic changes now, and we now by default always prefer raw-ip
    over 802.3. E.g. the same MC7304 would now always be used in raw-ip
    mode, regardless of whether the interface was by default in raw-ip or
    not. Obviously, raw-ip will only be used if the kernel data format can
    be changed. If the qmi_wwan driver in use is older than 4.5, the
    default link layer protocol attempted would be 802.3, if the modem
    supports it.

    In addition to this change in logic, we also now avoid setting up the
    WDA data format as soon as the port is opened; instead we defer that
    logic until a connection request arrives, because once QMAP support is
    integrated, we'll need to know whether the user requested the
    multiplexing support or not. Therefore, during port open we just
    query current state and during the connection attempt we reconfigure
    either modem or kernel or both.

    If WDA is unsupported, the logic falls back to CTL-based link layer
    protocol configuration, as it use to.

    The logic now also supports WDA Set/Get Data Format operations with
    the newest modems that require the explicit endpoint info TLV. As soon
    as the first failure is reported asking for the endpoint TLV, we'll
    flag the port as requiring the endpoint info always.

 src/mm-bearer-qmi.c |  34 ++-
 src/mm-port-qmi.c   | 861
 +++++++++++++++++++++++++++++++++++++++-------------
 src/mm-port-qmi.h   |  15 +-
 3 files changed, 691 insertions(+), 219 deletions(-)

commit cd2f8d9d6344dcd4b079fc17e0b8bc555b54a1a4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 23 21:09:58 2021 +0100

    port-qmi: keep track of the endpoint info

    The endpoint info of a given MMPortQmi is immutable (it's associated
    to the specific kernel driver in use and to the specific physical
    interface number of the device).

    We'll load it as soon as the kernel device object is set in the port,
    and we'll keep it in the private struct so that it can be used at any
    time, e.g. by the WDA Get/Set Data Format operations on newest
    devices, where the endpoint info TLV is mandatory.

 src/mm-modem-helpers-qmi.c | 21 +++++++++++++
 src/mm-modem-helpers-qmi.h |  7 +++++
 src/mm-port-qmi.c          | 77
 +++++++++++++++++++++++++++++++++++++++++++---
 src/mm-port-qmi.h          |  3 ++
 4 files changed, 104 insertions(+), 4 deletions(-)

commit d1a893775ea1968a32377f0fc8cb049916aec5a7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 23 23:31:46 2021 +0100

    docs: add api indices for 1.18

 docs/reference/api/ModemManager-docs.xml | 4 ++++
 1 file changed, 4 insertions(+)

commit 73db7f205c3326492648f6ebedb8d07b959a6e55
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 25 20:41:28 2021 +0100

    api,bearer: new 'Multiplexed' property

    This property will be TRUE if the bearer has the data session
    connected through a multiplexed interface.

    If the bearer is disconnected, or connected without multiplexing, the
    property will report FALSE.

 cli/mmcli-bearer.c                                 |  9 ++++---
 cli/mmcli-output.c                                 |  1 +
 cli/mmcli-output.h                                 |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  3 +++
 .../org.freedesktop.ModemManager1.Bearer.xml       |  8 ++++++
 libmm-glib/mm-bearer.c                             | 22 ++++++++++++++++
 libmm-glib/mm-bearer.h                             |  2 ++
 src/mm-base-bearer.c                               | 30
 ++++++++++++++++++----
 src/mm-base-bearer.h                               |  5 ++++
 9 files changed, 72 insertions(+), 9 deletions(-)

commit 05b9ab7c25bf252e43037ed0ea002b0aed6f051b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 25 15:42:35 2021 +0100

    api,modem: new 'MaxActiveMultiplexedBearers' property

    In addition to the amount of bearers a user may connect without
    multiplexing enabled (the default until now), we now also expose the
    maximum number of bearers a user may connect after enabling
    multiplexing over one single network interface (if supported).

    The method responsible for creating the MMBearerList is now also
    subclassable, so that implementations supporting multiplexing can
    provide their own version with their own thresholds.

 docs/reference/libmm-glib/libmm-glib-sections.txt  |  3 ++
 .../org.freedesktop.ModemManager1.Modem.xml        | 20 +++++++++++--
 libmm-glib/mm-modem.c                              | 32
 ++++++++++++++++++---
 libmm-glib/mm-modem.h                              |  3 +-
 src/mm-bearer-list.c                               | 27
 +++++++++++++++++-
 src/mm-bearer-list.h                               | 13 +++++----
 src/mm-broadband-modem.c                           | 18 ++++++++++++
 src/mm-iface-modem.c                               | 33
 ++++++++--------------
 src/mm-iface-modem.h                               |  5 ++++
 9 files changed, 119 insertions(+), 35 deletions(-)

commit 35e20a48c8b16ae744c4ca3082f70e8aa674c2f4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 25 14:43:22 2021 +0100

    api,modem: deprecate the 'MaxBearers' property

    This property was never initialized with a correct value, we would
    always use the same value as used for MaxActiveBearers, which isn't
    technically right. Just suggest to ignore this property, and flag
    it as deprecated.

    In addition to deprecating the API property, we will internally no
    longer limit the amount of bearer objects that may be created with
    different connection settings. The bearer object exposed in DBus is a
    representation of the connection that may be setup, and so we can hold
    as many representations as we want as long as the amount of connected
    bearers doesn't exceed the maximum amount for each modem.

    Leaving around the disconnected modems also serves another purpose.
    Each bearer holds information about the amount of times a connection
    with it has been attempted, and the amount of data transferred through
    it. If we use the Simple.Connect() method to connect the modem using
    different bearer settings, we won't lose the information of the past
    connection attempts with different settings.

 .../org.freedesktop.ModemManager1.Modem.xml        |  6 ++
 libmm-glib/mm-modem.c                              |  9 +++
 libmm-glib/mm-modem.h                              |  3 +
 src/mm-bearer-list.c                               | 51 +------------
 src/mm-bearer-list.h                               | 10 +--
 src/mm-iface-modem-simple.c                        | 89
 +++-------------------
 src/mm-iface-modem.c                               | 26 +++----
 7 files changed, 42 insertions(+), 152 deletions(-)

commit 064e92e9b77b35f83cb522c6ea98b9016ce5db8c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 17 15:49:01 2021 +0100

    api,simple: new 'multiplex' setting in bearer properties

    Both the Simple.Connect() and Modem.CreateBearer() are updated to
    allow a new 'multiplex' setting in the properties provided by the user
    in both of these methods.

    The new setting expects a MMBearerMultiplexSupport enum indicating
    what kind of multiplex needs the user has:
     * none: if multiplex must not be used.
     * requested: if multiplex should be used if available.
     * required: if multiplex must be used.

    The underlying implementations will take care of accepting or
    rejecting the setting depending on the system and modem capabilities.

 docs/reference/api/ModemManager-sections.txt       |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  | 12 +++-
 include/ModemManager-enums.h                       | 18 ++++++
 .../org.freedesktop.ModemManager1.Modem.Simple.xml |  7 +++
 .../org.freedesktop.ModemManager1.Modem.xml        |  2 +
 libmm-glib/mm-bearer-properties.c                  | 69
 ++++++++++++++++++++--
 libmm-glib/mm-bearer-properties.h                  | 19 +++---
 libmm-glib/mm-common-helpers.c                     | 10 ++++
 libmm-glib/mm-common-helpers.h                     |  3 +
 libmm-glib/mm-simple-connect-properties.c          | 38 ++++++++++++
 libmm-glib/mm-simple-connect-properties.h          | 23 ++++----
 plugins/iridium/mm-bearer-iridium.c                | 11 +++-
 src/mm-bearer-mbim.c                               |  8 +++
 src/mm-bearer-qmi.c                                |  8 +++
 14 files changed, 203 insertions(+), 26 deletions(-)

commit 71bad1d86263a07d78274b939ed0f7dfeed4201d
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Tue Mar 9 15:34:07 2021 -0800

    sim: Fix wrong return type

    The function should return a boolean, so using g_return_if_fail is not
    correct.

 libmm-glib/mm-sim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8b1ae5afab556d4ff7ce105421b357e0cdae7f1e
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Fri Mar 5 14:46:50 2021 +0200

    modem-helpers,mm-base-sim: Sim.SetPreferredNetworks AT implementation

    Implement Sim.SetPreferredNetworks method by using the AT+CPOL
    command.

 libmm-glib/mm-sim-preferred-network.c |   9 +
 libmm-glib/mm-sim-preferred-network.h |   2 +-
 src/mm-base-sim.c                     | 441
 ++++++++++++++++++++++++++++++++++
 src/mm-base-sim.h                     |   2 +-
 src/mm-modem-helpers.c                |  89 +++++--
 src/mm-modem-helpers.h                |   8 +
 6 files changed, 533 insertions(+), 18 deletions(-)

commit 0919abaa2ffa6d3ca42fcd73d7ed2040fabd61be
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Wed Mar 3 16:27:32 2021 +0200

    mmcli,sim: implement --sim-set-preferred-networks function

 cli/mmcli-sim.c                | 110
 ++++++++++++++++++++++++++++++++++++++++-
 libmm-glib/mm-common-helpers.c |  70 ++++++++++++++++++++++++++
 libmm-glib/mm-common-helpers.h |   5 ++
 3 files changed, 183 insertions(+), 2 deletions(-)

commit 66e93751b802beb5072e72bc911df3edf64b9a37
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Wed Mar 3 16:23:09 2021 +0200

    api,sim: add new Sim.SetPreferredNetworks method

    This commit includes D-Bus processing and documentation, but not any
    modem access implementation.

 docs/reference/libmm-glib/libmm-glib-sections.txt  |  14 ++-
 .../org.freedesktop.ModemManager1.Sim.xml          |  15 +++
 libmm-glib/mm-sim-preferred-network.c              |  50 ++++++++-
 libmm-glib/mm-sim-preferred-network.h              |  18 ++--
 libmm-glib/mm-sim.c                                | 118
 ++++++++++++++++++---
 libmm-glib/mm-sim.h                                |  13 +++
 src/mm-base-sim.c                                  | 102
 ++++++++++++++++++
 src/mm-base-sim.h                                  |   9 ++
 8 files changed, 313 insertions(+), 26 deletions(-)

commit 72d753ba83fbc9a9dfc1d66ab2e426add5dbdd0c
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Fri Feb 26 14:57:15 2021 +0200

    base-sim: select PLMN list before reading preferred networks

    Before reading preferred network list with AT+CPOL?, AT+CPLS=0 is
    now invoked first to make sure that the correct PLMN list (i.e.
    user-defined) is selected.

 src/mm-base-sim.c | 35 ++++++++++++++++++++++++++++++++---
 1 file changed, 32 insertions(+), 3 deletions(-)

commit a6599706345a398376e003bd1a4a57679a4f2b95
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 4 18:52:04 2021 +0100

    broadband-modem-qmi: update EPS/5GS reg state when idle/searching

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/317

 src/mm-broadband-modem-qmi.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 154455a7230069d8808c276a2dc2f09b90ec73b1
Author: Louis-Alexis Eyraud <louis-alexis.eyraud@sigfox.com>
Date:   Fri Mar 5 09:18:00 2021 +0100

    zte: disable CMER/CIND support explicitly

    It looks like when indicators are enabled in ZTE modems like the
    MF833V, the whole connection process is very unstable. The AT
    reference doesn't do any mention to +CIND/CMER/CIEV either, so we'll
    just disable all and use +CSQ based signal loading.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/303

    Signed-off-by: Louis-Alexis Eyraud <louis-alexis.eyraud@sigfox.com>

 plugins/zte/mm-broadband-modem-zte.c | 1 +
 1 file changed, 1 insertion(+)

commit 55d60f3c1201a4eb80f82da9d2abcf503a7de3f0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 4 18:32:56 2021 +0100

    sms: common timeout of 180s for the send operation

    On low signal quality conditions, the process of sending the SMS to
    the network may take a really long time, way more than the 30s used as
    default in some implementations.

    We now define a common timeout value of 180s for this operation in all
    protocols.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/328

 src/mm-base-sms.c | 8 +++++---
 src/mm-base-sms.h | 8 ++++++++
 src/mm-sms-mbim.c | 2 +-
 src/mm-sms-qmi.c  | 4 ++--
 4 files changed, 16 insertions(+), 6 deletions(-)

commit 5d176a1e61df603b74434dce9050f7a9d3139f13
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 4 15:59:24 2021 +0100

    base-modem: explicitly say if NET or TTY data ports are supported

    A modem that creates exclusively bearer objects that work with NET
    ports (e.g. all QMI or MBIM modems) must not add any TTY port in the
    list of data ports.

    A modem that creates exclusively bearer objects that work with TTY
    ports (e.g. the generic modem) must not add any NET port in the
    list of data ports.

    A modem that may use both TTY and NET ports should add all in the list
    of data ports.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/324
    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/329

 plugins/altair/mm-broadband-modem-altair-lte.c     |  3 +
 plugins/anydata/mm-broadband-modem-anydata.c       |  3 +
 plugins/cinterion/mm-broadband-modem-cinterion.c   |  3 +
 .../cinterion/mm-broadband-modem-qmi-cinterion.c   |  3 +
 .../foxconn/mm-broadband-modem-foxconn-t77w968.c   |  3 +
 plugins/huawei/mm-broadband-modem-huawei.c         |  3 +
 plugins/icera/mm-broadband-modem-icera.c           |  3 +
 plugins/iridium/mm-broadband-modem-iridium.c       |  3 +
 plugins/linktop/mm-broadband-modem-linktop.c       |  3 +
 plugins/longcheer/mm-broadband-modem-longcheer.c   |  3 +
 plugins/mbm/mm-broadband-modem-mbm.c               |  3 +
 plugins/motorola/mm-broadband-modem-motorola.c     |  3 +
 plugins/mtk/mm-broadband-modem-mtk.c               |  3 +
 plugins/nokia/mm-broadband-modem-nokia.c           |  3 +
 plugins/novatel/mm-broadband-modem-novatel-lte.c   |  3 +
 plugins/novatel/mm-broadband-modem-novatel.c       |  3 +
 plugins/option/mm-broadband-modem-hso.c            |  3 +
 plugins/option/mm-broadband-modem-option.c         |  3 +
 plugins/pantech/mm-broadband-modem-pantech.c       |  3 +
 plugins/qcom-soc/mm-broadband-modem-qmi-qcom-soc.c |  3 +
 plugins/quectel/mm-broadband-modem-qmi-quectel.c   |  3 +
 plugins/quectel/mm-broadband-modem-quectel.c       |  3 +
 plugins/samsung/mm-broadband-modem-samsung.c       |  3 +
 plugins/sierra/mm-broadband-modem-sierra-icera.c   |  3 +
 plugins/sierra/mm-broadband-modem-sierra.c         |  3 +
 plugins/simtech/mm-broadband-modem-qmi-simtech.c   |  3 +
 plugins/simtech/mm-broadband-modem-simtech.c       |  3 +
 plugins/telit/mm-broadband-modem-mbim-telit.c      |  3 +
 plugins/telit/mm-broadband-modem-telit.c           |  3 +
 plugins/thuraya/mm-broadband-modem-thuraya.c       |  3 +
 plugins/ublox/mm-broadband-modem-ublox.c           |  3 +
 plugins/via/mm-broadband-modem-via.c               |  3 +
 plugins/wavecom/mm-broadband-modem-wavecom.c       |  3 +
 plugins/x22x/mm-broadband-modem-x22x.c             |  3 +
 plugins/xmm/mm-broadband-modem-mbim-xmm.c          |  3 +
 plugins/xmm/mm-broadband-modem-xmm.c               |  3 +
 plugins/zte/mm-broadband-modem-zte-icera.c         |  3 +
 plugins/zte/mm-broadband-modem-zte.c               |  3 +
 src/mm-base-modem.c                                | 71
 +++++++++++++++++++---
 src/mm-base-modem.h                                | 20 +++---
 src/mm-broadband-modem-mbim.c                      |  3 +
 src/mm-broadband-modem-qmi.c                       |  3 +
 src/mm-broadband-modem.c                           |  3 +
 43 files changed, 196 insertions(+), 18 deletions(-)

commit b509229d5747434be06e17af26c33fd8072a55f9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 2 11:48:59 2021 +0100

    broadband-modem-qmi: use updated system info API

 src/mm-broadband-modem-qmi.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 496c4e30e93947648188ba97a6112064ce2af01f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 2 11:44:34 2021 +0100

    broadband-modem-qmi: enable network reject indications

    We will issue warnings in the log whenever a network reject indication
    is received.

 configure.ac                 |  2 +-
 src/mm-broadband-modem-qmi.c | 45
 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 46 insertions(+), 1 deletion(-)

commit 8bc90b713159fe8a2415f272bbe9224ab3fd68e9
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sat Jan 30 21:57:50 2021 +0100

    broadband-modem-qmi: Enable AT URCs and QMI indications

    Enable both AT URCs and QMI indications for messaging events.
    This allows to receive text messages during suspend
    on the PinePhone with a Quectel EG25 modem.

 src/mm-broadband-modem-qmi.c | 233
 +++++++++++++++++++++++++------------------
 1 file changed, 137 insertions(+), 96 deletions(-)

commit 438ff54d0308427dd629e2dbb43b12dc7295873b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 1 16:02:33 2021 +0100

    libmm-glib,tests: include string.h explicitly

    For strlen()

 libmm-glib/tests/test-common-helpers.c | 1 +
 1 file changed, 1 insertion(+)

commit da0e610f5f020775e32f43b3343a02d864492224
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 1 15:56:14 2021 +0100

    modem-helpers-mbim: include string.h explicitly

    For strstr()

 src/mm-modem-helpers-mbim.c | 2 ++
 1 file changed, 2 insertions(+)

commit a9611c62793377d8da08e4cb5e9cb71f5afda22e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 1 15:55:22 2021 +0100

    utils: import ptr array lookup with GEqualFunc from GLib 2.54

    This fixes the build when using GLib < 2.54.

 src/Makefile.am                             |  2 +-
 src/kerneldevice/mm-kernel-device-generic.c |  1 +
 src/mm-plugin-manager.c                     |  1 +
 src/mm-utils.c                              | 47
 +++++++++++++++++++++++++++++
 src/mm-utils.h                              | 14 +++++++++
 5 files changed, 64 insertions(+), 1 deletion(-)

commit e1372a716e1e87737427f5cc39a7e2b15c982862
Author: Pavan Holla <pholla@chromium.org>
Date:   Wed Feb 24 20:03:24 2021 +0000

    iface-modem: detect hotswap on all slots

    Prior to this change, hotswap was detected on the primary sim
    slot only.
    After this change, hotswap on any slot triggers reenumeration of the
    modem. SIM hotswap events happening on the non-active slot would also
    trigger a full modem reprobe. The modem may already have been
    connected while the SIM event happens on the secondary slot, and
    we force
    disconnection to reload the inactive SIM info. However, a user would
    expect feedback for their SIM action, so we need to reprobe the modem.

 src/mm-shared-qmi.c | 213
 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 186 insertions(+), 27 deletions(-)

commit fbc1636001878f5beb9a8a551fe4c4029ff6a95b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 26 12:24:07 2021 +0100

    docs: add api index for 1.18

 docs/reference/libmm-glib/libmm-glib-docs.xml | 4 ++++
 1 file changed, 4 insertions(+)

commit a4aba0a6b210b213dd631cb2f7d507b5ad187bc5
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Thu Feb 25 16:57:16 2021 +0200

    mmcli,sim: add preferred networks list to SIM properties

 cli/mmcli-output.c | 39 +++++++++++++++++++++++++++++++++++++++
 cli/mmcli-output.h | 22 ++++++++++++----------
 cli/mmcli-sim.c    |  5 +++++
 3 files changed, 56 insertions(+), 10 deletions(-)

commit 816beeffcb748cde1682e470620c8b26d304b13f
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Thu Feb 25 16:30:57 2021 +0200

    libmm-glib,modem-helpers,mm-base-sim: implement Sim.PreferredNetworks

    The ModemManager1.Sim.PreferredNetworks property contains the
    preferred
    networks (and access technologies, if available) configured to the
    SIM card.

    This commit implements preferred networks reading with AT+CPOL.

 docs/reference/libmm-glib/libmm-glib-docs.xml      |   1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  23 +++
 .../org.freedesktop.ModemManager1.Sim.xml          |  14 ++
 libmm-glib/Makefile.am                             |   3 +
 libmm-glib/libmm-glib.h                            |   1 +
 libmm-glib/mm-sim-preferred-network.c              | 167
 +++++++++++++++++++++
 libmm-glib/mm-sim-preferred-network.h              |  68 +++++++++
 libmm-glib/mm-sim.c                                |  42 ++++++
 libmm-glib/mm-sim.h                                |   2 +
 src/mm-base-sim.c                                  | 135
 +++++++++++++++++
 src/mm-base-sim.h                                  |   8 +
 src/mm-modem-helpers.c                             |  84 +++++++++++
 src/mm-modem-helpers.h                             |  14 ++
 13 files changed, 562 insertions(+)

commit c7d366671f749689c143f7effe2a183eb710def9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 26 11:16:59 2021 +0100

    shared-qmi: network registration cancellation logic with asserts
    disabled

    g_assert() calls may be disabled, and if so, the network registration
    task would never get completed.

 src/mm-shared-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f10e4af919df8b92b5680e646a16a490fa80d9c3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 25 15:17:45 2021 +0100

    libmm-glib,bearer-properties: fix 'allow roaming' comparison

    Fix the 'allow roaming' setting comparison, which was breaking the
    whole bearer properties comparison logic, and therefore making
    Simple.Connect() recreate over and over the bearer with the same
    settings.

    Fixes 5629f47a59b48f2604fd8e9e4af7209b138aef21

 libmm-glib/mm-bearer-properties.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 297a8c85ae2b52bbcbf53daa40ab96fb406ca32c
Author: Yegor Yefremov <yegorslists@googlemail.com>
Date:   Wed Feb 24 16:43:48 2021 +0100

    examples: sms: resolve PEP8 issues

    Use autopep8 utility to resolve issues like spaces before brackets
    and wrong hanging indentation.

    Also treat objects like boolean variables to check whether they are
    None or not.

 examples/sms-python/sms-python | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

commit aba237df4ed9c465282ed9be0cba1ee6be0c9c13
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 17 23:34:01 2021 +0100

    broadband-modem-qmi: allow lookup of QMI for data without SIO port

 plugins/qcom-soc/mm-broadband-modem-qmi-qcom-soc.c | 3 ++-
 src/mm-broadband-modem-qmi.c                       | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

commit 381e2f382ba09005648669859288e2a725fe6af2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 12 12:28:22 2021 +0100

    base-modem: separate method to lookup exact port by name

    There's no point in returning a list of all ports with a given name,
    just provide a lookup method that returns the single port with the
    given name.

 plugins/huawei/mm-broadband-modem-huawei.c         |  6 +--
 plugins/qcom-soc/mm-broadband-modem-qmi-qcom-soc.c |  3 +-
 src/mm-base-modem.c                                | 52
 ++++++++++++++++------
 src/mm-base-modem.h                                | 11 +++--
 src/mm-broadband-modem-mbim.c                      |  6 +--
 src/mm-broadband-modem-qmi.c                       |  6 +--
 6 files changed, 53 insertions(+), 31 deletions(-)

commit b8e076f9c47669d58179cb67a829966b867c6fe6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 12 11:02:14 2021 +0100

    kernel-device-udev: keep track of the client object

    Instead of creating new clients internally whenever we need them, just
    make sure each MMKernelDeviceUdev object keeps a full reference to the
    GUdevClient that generated all GUdevDevices.

 src/kerneldevice/mm-kernel-device-udev.c | 48
 ++++++++++++++++++++++----------
 src/kerneldevice/mm-kernel-device-udev.h |  6 ++--
 src/mm-base-manager.c                    | 19 ++++++-------
 3 files changed, 47 insertions(+), 26 deletions(-)

commit 1b35d74c157417e40877535eec757e5cd725564f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 7 11:53:13 2021 +0100

    kernel-device: add get_interface_number() method

    We already have methods to query for interface specific attributes
    like class/subclass/protocol, so add a new one for the interface
    number, and make sure we use ATTRS{bInterfaceNumber} to load it
    always, instead of assuming the ID_USB_INTERFACE_NUM property is set.

 plugins/cinterion/mm-broadband-bearer-cinterion.c |  2 +-
 plugins/huawei/mm-plugin-huawei.c                 | 22
 ++++++++++------------
 plugins/option/mm-plugin-option.c                 |  4 ++--
 plugins/telit/mm-common-telit.c                   |  6 ++----
 src/kerneldevice/mm-kernel-device-generic.c       |  7 +++++++
 src/kerneldevice/mm-kernel-device-udev.c          | 10 ++++++++++
 src/kerneldevice/mm-kernel-device.c               |  8 ++++++++
 src/kerneldevice/mm-kernel-device.h               |  2 ++
 8 files changed, 42 insertions(+), 19 deletions(-)

commit cc07d21410d707a3e3cf16c3fa187562dcdea58b
Author: Yegor Yefremov <yegorslists@googlemail.com>
Date:   Wed Feb 24 10:10:00 2021 +0100

    examples: network-scan: get rid of global variables

    Move the code into the main() routine.

 examples/network-scan-python/network-scan-python | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit 6250603496eb27fa9001e7df882ad736c8ab9b01
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 24 09:16:32 2021 +0100

    build: improve releasing notes

 RELEASING | 50 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 46 insertions(+), 4 deletions(-)

commit 4a06a02765df1db1e641ef41d642ca27b8158005
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 14 22:56:22 2021 +0100

    charsets: detect iconv() support in runtime

    The only purpose of this is to log what we found, nothing else, as a
    quick way to detect platform support for the charsets we need.

 src/main.c        |  3 +++
 src/mm-charsets.c | 43 +++++++++++++++++++++++++++++++++++++++++++
 src/mm-charsets.h |  4 ++++
 3 files changed, 50 insertions(+)

commit 8a8e00168b02c5064f01d5da20a97c7268ba1e2b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 14 22:23:07 2021 +0100

    charsets: define common translit fallback character

 src/mm-charsets.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

commit c84454c1b00da7d33cc4fd917be4be6756317488
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 14 09:14:21 2021 +0100

    charsets: remove charset_hex_to_utf8()

    No longer used, replaced by the new common conversion methods.

 src/mm-charsets.c | 41 -----------------------------------------
 src/mm-charsets.h |  6 ------
 2 files changed, 47 deletions(-)

commit 0ff3eb7ee0106423519152a68de1621cedf567c8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 14 09:09:45 2021 +0100

    charsets: remove take_and_convert methods

    These methods worked in a very strict way for some encodings, and in a
    very very loose way for others. E.g. when converting from hex-encoded
    UCS-2, we would attempt to convert as much text as we could even if
    the input string was truly not even close to UCS-2. This kind of "do
    our best" could make sense when processing e.g. the operator name
    reported by the modem, as that is some string to show to the user and
    there may be no strict requirement to have it perfectly fine. But the
    kind of loose comparison done for UCS-2 doesn't make sense e.g. when
    converting USSD responses or SMS messages.

 src/mm-charsets.c | 208
 ------------------------------------------------------
 src/mm-charsets.h |   5 --
 2 files changed, 213 deletions(-)

commit ab4c31ec0b2c79285e24b9a117ff5e5c21f8fd71
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 14 09:07:21 2021 +0100

    cinterion: rework mno decoding to use str_to_utf8()

 plugins/cinterion/mm-modem-helpers-cinterion.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit 6bc07b4b1487cfc6e171ec1f2c34958f17202a8b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 14 09:01:49 2021 +0100

    cinterion: rework band encoding to use str_to_utf8()

    Also providing support to report errors when attempting to decode the
    strings.

 plugins/cinterion/mm-modem-helpers-cinterion.c | 88
 ++++++++++++++++++++------
 1 file changed, 67 insertions(+), 21 deletions(-)

commit 16df1e17e6e96f8dd0ba67003c6abb7083b9d7ec
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Feb 13 16:04:56 2021 +0100

    helpers: rework normalize_operator() to use str_to_utf8()

    Instead of blindly assuming that we can take whatever string given as
    valid UTF-8, we'll always attempt to convert from the current modem
    charset into UTF-8. Before we were doing this for hex-encoded UCS2,
    but not for example for GSM-7.

    And due to the now applied GSM-7 conversion, the mf627a/mf627b +COPS
    parsing unit tests are updated accordingly, because when converting
    from an input string that contains byte 0x40 ('@' in UTF-8) as if it
    were GSM-7, the 0x40 is taken as character '¡', encoded as 0xc2,0xa1
    in UTF-8).

 plugins/altair/mm-broadband-modem-altair-lte.c |  2 +-
 src/mm-broadband-modem.c                       |  4 +--
 src/mm-modem-helpers.c                         | 42
 ++++++++++++++++----------
 src/mm-modem-helpers.h                         |  3 +-
 src/tests/test-modem-helpers.c                 |  8 +++--
 5 files changed, 36 insertions(+), 23 deletions(-)

commit 63fa9eee462de9270e3ab44eab43050877982cf1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Feb 13 15:45:52 2021 +0100

    charsets,tests: update take_and_convert tests to str_from/to

 src/tests/test-charsets.c | 98
 ++++++++++++++++++++++++++---------------------
 1 file changed, 55 insertions(+), 43 deletions(-)

commit 3ac248a7a6a4ad03d10dc691905e43be8722ab31
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Feb 13 14:54:54 2021 +0100

    cinterion: move sequence to set bands to private ctx

    The sequence of commands is exclusively used during the set current
    bands operation, so there is no point in storing it in the private
    object data.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 65
 ++++++++++++++----------
 1 file changed, 39 insertions(+), 26 deletions(-)

commit e5363b546b72403451f14f24502f6c9a90728616
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Feb 13 14:44:27 2021 +0100

    charsets: use new str_from_utf8() instead of
    take_and_convert_to_current_charset()

 plugins/cinterion/mm-broadband-modem-cinterion.c |  77 ++++++++++----
 plugins/mbm/mm-broadband-bearer-mbm.c            |  40 ++++---
 src/mm-broadband-modem.c                         | 126
 +++++++++++------------
 src/mm-broadband-modem.h                         |  12 ---
 4 files changed, 142 insertions(+), 113 deletions(-)

commit 395ab06c03086bf127970d14a97102e21222126f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 22 15:10:55 2020 +0100

    charsets: use new bytearray_to_utf8() instead of hex_to_utf8()

 src/mm-broadband-modem.c | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

commit 5ea4a591a40748c5be5f9f4b14ac4f7a09fe2857
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 21 14:28:08 2020 +0100

    charsets: use new bytearray_to_utf8() instead of byte_array_to_utf8()

 src/mm-broadband-modem-mbim.c |  6 ++----
 src/mm-broadband-modem-qmi.c  |  6 ++----
 src/mm-charsets.c             | 23 -----------------------
 src/mm-charsets.h             |  5 -----
 src/mm-sms-part-3gpp.c        |  9 +++------
 5 files changed, 7 insertions(+), 42 deletions(-)

commit 033e174e445ff7606ea43191a4a5c141413e10e2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 21 14:20:13 2020 +0100

    charsets: make charset_gsm_unpacked_to_utf8() private

    Use the generic mm_modem_charset_bytearray_to_utf8() instead.

 plugins/huawei/mm-broadband-modem-huawei.c | 15 ++++++++++-----
 src/mm-base-sim.c                          | 23 ++++++++++++++++-------
 src/mm-broadband-modem-mbim.c              |  9 ++++++---
 src/mm-charsets.c                          | 21 +++++++++++----------
 src/mm-charsets.h                          |  5 -----
 src/mm-sms-part-3gpp.c                     | 18 +++++++++++-------
 src/tests/test-charsets.c                  |  6 ++++--
 7 files changed, 58 insertions(+), 39 deletions(-)

commit 8bfdfb187b9c911366376f1574dc7e45fe4f0767
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 21 13:37:13 2020 +0100

    charsets: use new bytearray_from_utf8() instead of byte_array_append()

 src/mm-broadband-modem-mbim.c |  9 ++---
 src/mm-broadband-modem-qmi.c  |  4 +--
 src/mm-broadband-modem.c      | 34 +++++++++----------
 src/mm-charsets.c             | 34 -------------------
 src/mm-charsets.h             |  9 -----
 src/mm-sms-part-3gpp.c        |  5 ++-
 src/mm-sms-part-cdma.c        | 76
 ++++++++++++++++++++-----------------------
 7 files changed, 59 insertions(+), 112 deletions(-)

commit 75b37e16b12ca3807852804fed668ba2fd7ca317
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 14 15:23:43 2021 +0100

    charsets: make charset_utf8_to_unpacked_gsm() private

    Use the generic mm_modem_charset_bytearray_from_utf8() instead.

 plugins/huawei/mm-broadband-modem-huawei.c | 24 ++++++---------
 src/mm-broadband-modem-mbim.c              | 13 +++-----
 src/mm-charsets.c                          | 49
 +++++++++++++++---------------
 src/mm-charsets.h                          |  4 ---
 src/mm-sms-part-3gpp.c                     | 17 +++++------
 src/tests/test-charsets.c                  | 15 +++++----
 6 files changed, 55 insertions(+), 67 deletions(-)

commit 9c613d33e1f60501cc8406f6429097d8bda87c59
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 27 00:41:40 2020 +0100

    charsets: new common APIs to convert from/to charsets and UTF-8

 src/mm-charsets.c | 298
 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-charsets.h |  61 +++++++++++
 2 files changed, 352 insertions(+), 7 deletions(-)

commit 6f32c8d38f2c7ad269c4ccf84190ad6e917293a9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 14 13:47:21 2021 +0100

    charsets: avoid //TRANSLIT when converting to/from charsets

    The //TRANSLIT extension is not always supported by the different
    iconv() implementations that we may find out there, so let's
    completely avoid using it.

    For some of the charsets it actually didn't make much sense anyway,
    e.g. as converting to UTF-16 or UTF-8 would always be possible without
    requiring //TRANSLIT to take effect.

    The //TRANSLIT extension was also being used sometimes in the source
    charset identification, which was also not fully correct, as we would
    only expect it in the target charset identification.

 src/mm-charsets.c | 81
 +++++++++++++++++++++++++++----------------------------
 1 file changed, 40 insertions(+), 41 deletions(-)

commit bc449cbe87ccebccbe35f926e88a2dd110832ddf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 26 23:22:57 2020 +0100

    charsets: make translit optional in utf8_to_unpacked_gsm()

    If the conversion is not fully compatible, the user of the method
    needs to request transliteration enabled explicitly in order to avoid
    returning errors in this method.

 plugins/huawei/mm-broadband-modem-huawei.c |  5 +++-
 src/mm-broadband-modem-mbim.c              |  5 ++--
 src/mm-charsets.c                          | 39
 ++++++++++++++++++++----------
 src/mm-charsets.h                          |  4 ++-
 src/mm-sms-part-3gpp.c                     |  7 ++++--
 src/tests/test-charsets.c                  |  3 ++-
 6 files changed, 42 insertions(+), 21 deletions(-)

commit 5ce97abd73da12b64393be798f2c294d29be2705
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 26 23:07:11 2020 +0100

    charsets: make translit optional in gsm_unpacked_to_utf8()

    Until now, this method would automatically apply transliteration;
    i.e. replacing characters with '?' when no direct translation was
    available.

    We can attempt to do that transliteration on strings that are not
    critical, e.g. the operator name reported by the network. But we
    should not do that on other types of strings, e.g. on SMS contents
    that may really have additional purposes than just being
    human-readable.

    This commit makes the transliteration option to be explicitly
    requested by the caller.

 plugins/huawei/mm-broadband-modem-huawei.c |   2 +-
 src/mm-base-sim.c                          |   2 +-
 src/mm-broadband-modem-mbim.c              |   6 +-
 src/mm-charsets.c                          |  21 ++++--
 src/mm-charsets.h                          |  10 ++-
 src/mm-sms-part-3gpp.c                     | 116
 +++++++++++++++++------------
 src/tests/test-charsets.c                  |   4 +-
 7 files changed, 96 insertions(+), 65 deletions(-)

commit 5480cb67b283c078770b02766c37768cb0930d7b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 14 10:20:44 2021 +0100

    libmm-glib,tests: add ishexstr/hexstr2bin/bin2hexstr unit tests

 libmm-glib/tests/test-common-helpers.c | 104
 +++++++++++++++++++++++++++++++++
 1 file changed, 104 insertions(+)

commit 34de613deab1c8728118fce389963ecb29ca51e7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 14 11:06:50 2021 +0100

    libmm-glib,common-helpers: make hexstr2bin() return a guint8 array

    It makes much more sense than returning a gchar array, as gchar is
    signed.

 libmm-glib/mm-common-helpers.c               | 10 +++++-----
 libmm-glib/mm-common-helpers.h               |  2 +-
 plugins/altair/mm-modem-helpers-altair-lte.c | 18 ++++++++---------
 plugins/huawei/mm-broadband-modem-huawei.c   |  4 ++--
 plugins/huawei/mm-modem-helpers-huawei.c     | 30
 ++++++++++++----------------
 src/mm-base-sim.c                            | 16 +++++++--------
 src/mm-charsets.c                            | 12 +++++------
 src/mm-modem-helpers-qmi.c                   |  2 +-
 src/mm-modem-helpers.c                       |  2 +-
 src/mm-sms-part-3gpp.c                       |  2 +-
 src/mm-sms-part-cdma.c                       |  2 +-
 11 files changed, 48 insertions(+), 52 deletions(-)

commit 6d8610d63ecb8e53e14486533a580ea4f37c644c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 14 10:46:49 2021 +0100

    libmm-glib,common-helpers: ishexstr() fails on empty input string

 libmm-glib/mm-common-helpers.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 8c30a6b6f813114d0cdc6b8a04ae4336c8393d48
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 14 10:43:35 2021 +0100

    libmm-glib,common-helpers: hexstr2bin fails on empty input string

    Also, remove the trailing NUL byte that was appended to the output
    binary stream, as it's not needed in any case.

 libmm-glib/mm-common-helpers.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit a211981d4a12b0ef6cab48b7a04ae9e5674cac01
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 21 13:52:54 2020 +0100

    libmm-glib,common-helpers: make hexstr2bin() accept input string
    length

    Optionally given explicitly, and -1 can be used to assume it's
    NUL-terminated.

 libmm-glib/mm-common-helpers.c               | 9 +++++----
 libmm-glib/mm-common-helpers.h               | 2 +-
 plugins/altair/mm-modem-helpers-altair-lte.c | 2 +-
 plugins/huawei/mm-broadband-modem-huawei.c   | 2 +-
 plugins/huawei/mm-modem-helpers-huawei.c     | 2 +-
 src/mm-base-sim.c                            | 4 ++--
 src/mm-charsets.c                            | 2 +-
 src/mm-modem-helpers-qmi.c                   | 2 +-
 src/mm-modem-helpers.c                       | 2 +-
 src/mm-sms-part-3gpp.c                       | 2 +-
 src/mm-sms-part-cdma.c                       | 2 +-
 11 files changed, 16 insertions(+), 15 deletions(-)

commit 657cabcfce6794d2a2f629d63dbd56fc149dab2e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 22 17:01:19 2020 +0100

    libmm-glib,common-helpers: make hexstr2bin() return a GError

    This util method checks whether the input string is a valid hex
    string, so make sure we return a GError on failure.

 libmm-glib/mm-common-helpers.c               | 18 ++++--
 libmm-glib/mm-common-helpers.h               |  2 +-
 plugins/altair/mm-modem-helpers-altair-lte.c | 56 ++++++------------
 plugins/huawei/mm-broadband-modem-huawei.c   | 19 +++----
 plugins/huawei/mm-modem-helpers-huawei.c     |  2 +-
 src/mm-base-sim.c                            | 85
 ++++++++++------------------
 src/mm-charsets.c                            |  2 +-
 src/mm-modem-helpers-qmi.c                   | 20 +++----
 src/mm-modem-helpers.c                       |  5 +-
 src/mm-sms-part-3gpp.c                       | 17 ++----
 src/mm-sms-part-cdma.c                       | 17 ++----
 11 files changed, 90 insertions(+), 153 deletions(-)

commit dbdf67e9f7c55d7f70ed94449160a7ff254359a2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 22 16:10:06 2020 +0100

    charsets: remove unused charset_utf8_to_hex() method

 src/mm-charsets.c | 28 ----------------------------
 src/mm-charsets.h |  6 ------
 2 files changed, 34 deletions(-)

commit 8b590721dfdff5c4382dbc3498d92035b2d4ad64
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 22 15:05:56 2020 +0100

    charsets: don't allow quoting in byte_array_append()

    There's no point in adding a quoting option to this method; if the
    caller needs the appended string quoted, it should quote it before
    passing it to this method.

    It was nowhere used anyway.

 src/mm-broadband-modem-mbim.c |  2 +-
 src/mm-broadband-modem-qmi.c  |  2 +-
 src/mm-broadband-modem.c      |  6 +-----
 src/mm-charsets.c             |  5 -----
 src/mm-charsets.h             |  1 -
 src/mm-sms-part-3gpp.c        |  2 +-
 src/mm-sms-part-cdma.c        | 12 ++----------
 7 files changed, 6 insertions(+), 24 deletions(-)

commit 38a4a9c842bcb0c87bca7b1a5595556fe2c144fc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 22 15:02:07 2020 +0100

    charsets: remove HEX charset type

    This is no real charset, it is the fake one we used to represent a
    UCS2 hex-encoded string.

 src/mm-charsets.c | 10 ----------
 src/mm-charsets.h |  3 +--
 2 files changed, 1 insertion(+), 12 deletions(-)

commit a025e83e5ab10147861334fd94682fdd20fb69d2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 22 15:00:23 2020 +0100

    charsets: define charset enum explicitly as flags

 src/mm-charsets.h | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

commit 19e5d5f9269e32cfcfc0110810c8f3c84a4168b6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 23 12:20:53 2021 +0100

    build: post-release version bump to 1.17.0

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7a5a49b75301b38c2bac6a94de5afb2f9930cf4e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 23 11:35:50 2021 +0100

    release: bump version to 1.16.0

 configure.ac | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 7a5eae2a36e9a544bfdffdfa57af76cf60b97bae
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 23 11:11:57 2021 +0100

    NEWS: update for 1.16.0

 NEWS | 145
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 145 insertions(+)

commit bbd3638d1233efbe05993bf79aa48ada97589724
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 23 11:22:18 2021 +0100

    build: require libqmi 1.28.0

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a546201470ee1067be5494ab5f678016bb2bc2ec
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Feb 22 15:04:43 2021 +0100

    bearer-mbim: IP type may be reported as deactivated and still have
    IP settings

    If we were requesting for IPv4v6 and we only got IPv4 reported as
    activated, we would right away ignore the IPv6 bits, even if we
    received IPv6 settings later on when querying for them. Change that,
    so that if an IP address of a given type is received, we assume the
    corresponding context was really activated even if the modem didn't
    report it in the connect set response.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/320

 src/mm-bearer-mbim.c | 61
 +++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 41 insertions(+), 20 deletions(-)

commit 29d9dc7e0cd9b80e0b75f9833b6bb896c78eda33
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 17 15:38:50 2021 +0100

    api,introspection: flag as DEPRECATED the 'number' bearer setting

    This setting is unused since some releases ago, and the corresponding
    libmm-glib methods were already flagged as deprecated. Let's add an
    explicit mention to this deprecation on the DBus API itself.

 introspection/org.freedesktop.ModemManager1.Modem.Simple.xml | 3 ++-
 introspection/org.freedesktop.ModemManager1.Modem.xml        | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

commit 6dd5ced86d80c695be9898b9ac4ea3e50ff64f32
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 17 15:31:08 2021 +0100

    libmm-glib,simple-connect-properties: add missing APIs to get/set
    RM protocol

    Probably not a big deal, since no one has asked for these in the past
    years, but let's add them for completeness with the DBus API.

 docs/reference/libmm-glib/libmm-glib-sections.txt |  2 ++
 libmm-glib/mm-simple-connect-properties.c         | 37
 +++++++++++++++++++++++
 libmm-glib/mm-simple-connect-properties.h         | 21 +++++++------
 3 files changed, 51 insertions(+), 9 deletions(-)

commit c4f215c9cb2d8497e7ebfea2904563526bb08d90
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 17 15:21:49 2021 +0100

    libmm-glib,bearer-properties: consume 'rm-protocol' setting

 libmm-glib/mm-bearer-properties.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 69926d93357cc0ed7280586abee1e6871e0894cc
Author: Yegor Yefremov <yegorslists@googlemail.com>
Date:   Mon Feb 15 17:53:39 2021 +0100

    examples: modem-watcher: get rid of global variables

    Move the code into the main() routine and pass main_loop as
    a parameter to the signal handler.

 examples/modem-watcher-python/modem-watcher-python | 25
 ++++++++++++++--------
 1 file changed, 16 insertions(+), 9 deletions(-)

commit e685ce9ce51f5f1e18ab3f42106715fd659ed2c6
Author: Yegor Yefremov <yegorslists@googlemail.com>
Date:   Mon Feb 15 17:53:38 2021 +0100

    examples: ModemWatcher: convert comments in the doc strings

    Move comments under the class and method definitions.

    Also rework boolean handling.

 examples/modem-watcher-python/ModemWatcher.py | 52
 +++++++++++++--------------
 1 file changed, 25 insertions(+), 27 deletions(-)

commit 8bf1869f3c5b69e90b1cef21a04c77ff67f717cc
Author: Yaron Shahrabani <sh.yaron@gmail.com>
Date:   Mon Feb 8 16:37:47 2021 +0000

    po: add Hebrew translation

 po/LINGUAS |   1 +
 po/he.po   | 105
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 106 insertions(+)

commit b2f9771b8559c9cb877d1f44189b390b9704bc1e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Feb 15 00:43:15 2021 +0100

    broadband-modem-mbim: detect 5G support in custom data class

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/301

 src/mm-broadband-modem-mbim.c | 11 ++++++++---
 src/mm-modem-helpers-mbim.c   | 11 +++++++++--
 src/mm-modem-helpers-mbim.h   |  5 +++--
 3 files changed, 20 insertions(+), 7 deletions(-)

commit 3a32409000ad584ec67b0ddd43b312a37ea5a369
Author: Yegor Yefremov <yegorslists@googlemail.com>
Date:   Sat Feb 13 17:19:13 2021 +0100

    examples: network-scan: enable modem before the network scan

    Otherwise we get the following exception:

    Traceback (most recent call last):
      File "/root/network-scan-python", line 57, in <module>
        networks = modem3gpp.scan_sync()
    gi.repository.GLib.Error: mm_core_error_quark:
    GDBus.Error:org.freedesktop.ModemManager1.Error.Core.WrongState:
    Cannot scan networks: not enabled yet (8)

 examples/network-scan-python/network-scan-python | 4 ++++
 1 file changed, 4 insertions(+)

commit c7d0defddeb03a372fb885eab3480cc56f10115b
Author: Yegor Yefremov <yegorslists@googlemail.com>
Date:   Sat Feb 13 17:19:12 2021 +0100

    examples: network-scan: resolve PEP8 issues

    Use autopep8 utility to resolve issues like spaces before brackets
    and wrong hanging indentation.

    Also treat objects like boolean variables to check whether they are
    None or not.

 examples/network-scan-python/network-scan-python | 24
 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

commit f3f05f397a7f08272718ee9a2ee75799a44e7bfb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 14 23:31:35 2021 +0100

    device: avoid trying to remove source multiple times

       ModemManager[115879]: <debug> [1613341789.760031] [modem3]
       completely disposed

       (ModemManager:115879): GLib-CRITICAL **: 23:29:49.760: Source ID
       2379 was not found when attempting to remove it

       Thread 1 "ModemManager" received signal SIGTRAP, Trace/breakpoint
       trap.
       0x00007ffff774b343 in g_logv () from /usr/lib/libglib-2.0.so.0
       (gdb)
       (gdb) bt
       #0  0x00007ffff774b343 in g_logv () at /usr/lib/libglib-2.0.so.0
       #1  0x00007ffff774b5c0 in g_log () at /usr/lib/libglib-2.0.so.0
       #2  0x00007ffff7741c9e in g_source_remove () at
       /usr/lib/libglib-2.0.so.0
       #3  0x00005555555aad02 in dispose (object=0x555555831260)
       at mm-device.c:802
       #4  0x00007ffff7843755 in g_object_unref () at
       /usr/lib/libgobject-2.0.so.0
       #5  0x00005555555a5107 in glib_autoptr_clear_MMDevice
       (_ptr=0x555555831260) at mm-device.h:63
       #6  0x00005555555a5125 in glib_autoptr_cleanup_MMDevice
       (_ptr=0x7fffffffe090) at mm-device.h:63
       #7  0x00005555555a59ab in device_removed (self=0x555555769220,
       subsystem=0x55555577dc50 "tty", name=0x555555869a40 "ttyUSB3")
       at mm-base-manager.c:237
       #8  0x00005555555a620d in handle_uevent (self=0x555555769220,
       action=0x5555558987b0 "remove", device=0x555555893840) at
       mm-base-manager.c:445
       #9  0x00007ffff7381acd in  () at /usr/lib/libffi.so.7
       #10 0x00007ffff738103a in  () at /usr/lib/libffi.so.7
       #11 0x00007ffff783c8fe in g_cclosure_marshal_generic () at
       /usr/lib/libgobject-2.0.so.0
       #12 0x00007ffff7837072 in g_closure_invoke () at
       /usr/lib/libgobject-2.0.so.0
       #13 0x00007ffff785fa85 in  () at /usr/lib/libgobject-2.0.so.0
       #14 0x00007ffff78535dd in g_signal_emit_valist () at
       /usr/lib/libgobject-2.0.so.0
       #15 0x00007ffff7853b40 in g_signal_emit () at
       /usr/lib/libgobject-2.0.so.0
       #16 0x00007ffff7e792aa in  () at /usr/lib/libgudev-1.0.so.0
       #17 0x00007ffff7742b84 in g_main_context_dispatch () at
       /usr/lib/libglib-2.0.so.0
       #18 0x00007ffff7796c21 in  () at /usr/lib/libglib-2.0.so.0
       #19 0x00007ffff77420d3 in g_main_loop_run () at
       /usr/lib/libglib-2.0.so.0
       #20 0x00005555555a1df4 in main (argc=2, argv=0x7fffffffea88)
       at main.c:213

 src/mm-device.c | 2 ++
 1 file changed, 2 insertions(+)

commit 7159b8e27ac47af706e0c2e4d4f77460dce7881e
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sun Jan 31 15:38:31 2021 +0100

    context: add test-no-suspend-resume cli parameter

    Disables suspend/resume support at runtime.
    This is useful for modems which are never turned off
    or suspended when the host suspends.

 src/main.c       | 10 +++++++---
 src/mm-context.c | 18 ++++++++++++++++++
 src/mm-context.h | 11 +++++++----
 3 files changed, 32 insertions(+), 7 deletions(-)

commit 12329ac7880b5a43eed8b7b2c4b932c544f43898
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Feb 13 11:24:24 2021 +0100

    examples,python: ignore scan operation in modems without 3GPP
    interface

      Traceback (most recent call last):
        File
        "/home/aleksander/Development/foss/ModemManager/examples/network-scan-python/./network-scan-python",
        line 46, in <module>
          modem3gpp.set_default_timeout(300000)
      AttributeError: 'NoneType' object has no attribute
      'set_default_timeout'

 examples/network-scan-python/network-scan-python | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit dd3310132f135e57c4d45827c8750920f7dbe5ee
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Feb 13 11:12:49 2021 +0100

    examples,python: fix undefined NameError in modem watcher example

      $ ./modem-watcher-python
      [ModemWatcher] ModemManager 1.15.0 service is available in bus
      [ModemWatcher] QUALCOMM INCORPORATED (0) modem
      managed by ModemManager [863974040050058]:
      /org/freedesktop/ModemManager1/Modem/0
      [ModemWatcher] Sierra Wireless Inc. (Sierra Wireless EM7345
      4G LTE) modem managed by ModemManager [013937003110648]:
      /org/freedesktop/ModemManager1/Modem/1
      Traceback (most recent call last):
        File
        "/home/aleksander/Development/foss/ModemManager/examples/modem-watcher-python/./modem-watcher-python",
        line 35, in <module>
          watcher = ModemWatcher.ModemWatcher()
        File
        "/home/aleksander/Development/foss/ModemManager/examples/modem-watcher-python/ModemWatcher.py",
        line 48, in __init__
          self.on_name_owner(self.manager, None)
        File
        "/home/aleksander/Development/foss/ModemManager/examples/modem-watcher-python/ModemWatcher.py",
        line 85, in on_name_owner
          self.set_available()
        File
        "/home/aleksander/Development/foss/ModemManager/examples/modem-watcher-python/ModemWatcher.py",
        line 64, in set_available
          self.on_object_added(self.manager, obj)
        File
        "/home/aleksander/Development/foss/ModemManager/examples/modem-watcher-python/ModemWatcher.py",
        line 101, in on_object_added
          modem_index(obj.get_object_path()))
      NameError: name 'modem_index' is not defined

 examples/modem-watcher-python/ModemWatcher.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 16d1cf33183d376fa6cb8925e42c77b2e86be2d9
Author: Yegor Yefremov <yegorslists@googlemail.com>
Date:   Sat Feb 13 09:40:05 2021 +0100

    examples: rework imports

    Remove unused imports and fix import sorting using isort utility.

 examples/modem-watcher-python/ModemWatcher.py      | 6 +++---
 examples/modem-watcher-python/modem-watcher-python | 6 ++++--
 examples/network-scan-python/network-scan-python   | 6 ++++--
 examples/sms-python/sms-python                     | 6 ++++--
 4 files changed, 15 insertions(+), 9 deletions(-)

commit 6107774bb21e55028b87a7d3f23762324410543b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 17 14:13:40 2021 +0100

    filter: add missing reference to rpmsg filter

 src/mm-filter.c | 1 +
 1 file changed, 1 insertion(+)

commit 8838546631958d88ecd0c72c557102876f5b87e4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 5 14:56:59 2021 +0100

    README: add CoC info

 README | 8 ++++++++
 1 file changed, 8 insertions(+)

commit e732a9afcc8e662df14a7fb5c78a1023705d5ff1
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Tue Feb 2 13:50:51 2021 -0800

    broadband-modem-qmi: remove unused variables

 src/mm-broadband-modem-qmi.c | 1 -
 1 file changed, 1 deletion(-)

commit 52b44aeb4956a223ce9edcb596a896413b4d69fc
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Tue Feb 2 13:43:16 2021 -0800

    cinterion: remove unused variables

 plugins/cinterion/mm-broadband-modem-cinterion.c | 2 --
 plugins/cinterion/mm-modem-helpers-cinterion.c   | 1 -
 2 files changed, 3 deletions(-)

commit 66010ed17e71714f35bb34a66cc53e1102a28651
Author: Lukas Senger <senger@ibv-augsburg.net>
Date:   Thu Jan 14 15:22:19 2021 +0100

    simtech: fix updating bitmask during gps disabling

    During disabling of gps sources the bitmask that keeps track of
    them is
    updated incorrectly. Instead of removing the current source, all other
    sources are removed from the mask.

    One problem that arises from this is, that when you enable GPS
    after it
    has been disabled completely (e.g. by disabling all GPS sources), the
    code will not send a "+CGPS=1,1" command because it incorrectly
    assumes
    that GPS is still enabled on the device.

 plugins/simtech/mm-shared-simtech.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 268bf4f98af0adeef703f02469e47259c73be91e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 17 10:33:45 2021 +0100

    core: update copyright years to 2021

 cli/mmcli.c                                   | 2 +-
 docs/reference/api/ModemManager-docs.xml      | 1 +
 docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
 src/mm-context.c                              | 2 +-
 4 files changed, 4 insertions(+), 2 deletions(-)

commit 6c0c67d6f0a65af416448236f07cdccfd1993dd8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 16 17:44:42 2021 +0100

    doc: skip running gtkdoc-rebase on local install step

    We can leave the relative paths to other books (e.g. '../glib' or
    '../ModemManager') because running gtkdoc-rebase seems to be broken
    since the 1.29 release, see:

      https://gitlab.gnome.org/GNOME/gtk-doc/-/issues/138

 gtk-doc.make | 1 -
 1 file changed, 1 deletion(-)

commit 38267952284ded86bb0ea7ca9139236bc80556a3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 16 17:42:36 2021 +0100

    docs: add 'online-location' references

    So that the gtkdoc-rebase step fixes the URLs to contain the correct
    links; e.g.:

       $ make dist V=s
       make[8]: Entering directory
       '/home/aleksander/Development/foss/ModemManager/docs/reference/libmm-glib'
       make  \
         top_distdir="../../../ModemManager-1.15.0"
         distdir="../../../ModemManager-1.15.0/docs/reference/libmm-glib"
         \
         dist-hook
       ../ModemManager/ ->
       https://www.freedesktop.org/software/ModemManager/doc/latest/ModemManager/
       (914)
       ../gio/ -> https://developer.gnome.org/gio/unstable/ (2564)
       ../glib/ -> https://developer.gnome.org/glib/unstable/ (5534)
       ../gobject/ -> https://developer.gnome.org/gobject/unstable/ (499)
       make[8]: Leaving directory
       '/home/aleksander/Development/foss/ModemManager/docs/reference/libmm-glib'

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/298

 docs/reference/api/ModemManager-docs.xml      | 2 ++
 docs/reference/libmm-glib/libmm-glib-docs.xml | 2 ++
 2 files changed, 4 insertions(+)

commit d1bc67936539b1cf59f07f8f168486263b0005f5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 16 15:37:35 2021 +0100

    build: add new RELEASING doc explaining how releases are made

 RELEASING | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

commit 9c353cf6f0a7650cfe1b914d6881890de9dff0b0
Author: Louis-Alexis Eyraud <louis-alexis.eyraud@sigfox.com>
Date:   Fri Jan 15 15:14:58 2021 +0100

    zte: add 1 second delay after sim unlock to avoid IMSI reading issue

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/306

    Signed-off-by: Louis-Alexis Eyraud <louis-alexis.eyraud@sigfox.com>

 plugins/zte/mm-broadband-modem-zte.c | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

commit 89cd1696c3a105f314b1a7e275c68377ed6df5e4
Author: Frederic Martinsons <frederic.martinsons@sigfox.com>
Date:   Thu Nov 12 10:48:11 2020 +0100

    tools: add unit test for test-modemmanager-service.py

    The tests spawn the service via GTestDBus framework and make
    some test API call while checking libmm interface to verify
    that informations are well propagated.

    To be able to use the fresh built libmm typelib, I used a
    wrapper script to set GI_TYPELIB_PATH (because DBus activation
    process clean the environment so it is not possible to set
    it directly in the file).

    This requires also the install of libgirepository-dev and python3-gi
    in the CI docker.

    Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>

 .gitignore                                         |   4 +
 .gitlab-ci.yml                                     |   4 +-
 configure.ac                                       |   2 +
 tools/Makefile.am                                  |   2 +
 tools/tests/Makefile.am                            |  46 +++
 .../org.freedesktop.ModemManager1.service.in       |   3 +
 tools/tests/test-stub.c                            | 459
 +++++++++++++++++++++
 tools/tests/test-wrapper.sh.in                     |   5 +
 8 files changed, 523 insertions(+), 2 deletions(-)

commit 17ea1dfa130001599b7dff421a1b7d71c25faa34
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 10 15:13:45 2021 +0100

    docs: add MMBearerPropertiesCmpFlags to ignored list

 docs/reference/libmm-glib/libmm-glib-sections.txt | 1 +
 1 file changed, 1 insertion(+)

commit d12ab8a25a60323a753e3437c81a984a503deb40
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jan 11 14:18:36 2021 +0100

    iface-modem: avoid leaking the MmGdbusModem when bearers are updated

    See See
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/302

 src/mm-iface-modem.c | 1 +
 1 file changed, 1 insertion(+)

commit 102de14c15b1c278988de376d03262bcb078211d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jan 11 14:13:28 2021 +0100

    telit: plug GPS data port leak

    The _get_port_gps() returns a full reference, use _peek_port_gps()
    instead.

    See
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/302

 plugins/telit/mm-broadband-modem-telit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8f465d44a5f40e1594db4f06b98b2436539a47bf
Author: Timo Jyrinki <timo.jyrinki@iki.fi>
Date:   Fri Jan 8 15:34:57 2021 +0200

    po: add Finnish translation

    Translation by JRfi:
     https://l10n.gnome.org/vertimus/ModemManager/master/po/fi/

 po/LINGUAS |   1 +
 po/fi.po   | 116
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 117 insertions(+)

commit 8ccd63ef64d8bcc39ac67457674b85c8fe42c265
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Fri Jan 8 10:49:34 2021 -0800

    test-sms-part-cdma: fix memory leak

 src/tests/test-sms-part-cdma.c | 2 ++
 1 file changed, 2 insertions(+)

commit 18b72a046e89d00d7e7b9f2d718c43d64e595de0
Author: Frederic Martinsons <frederic.martinsons@sigfox.com>
Date:   Sun Dec 20 18:11:06 2020 +0100

    mmcli: don't assume that mm_object_peek_modem or mm_object_get_modem
    return non null

    This very peculiar case can happen when an intermediate initiliazition
    step
    of a modem fails.

    The ModemManager daemon should always expose the modem interface
    but let not
    assume that in mmcli and protect these calls.

    Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>

 cli/mmcli-common.c  | 4 +++-
 cli/mmcli-manager.c | 9 +++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)

commit 2f53a08e5f1eef8c1892dc55f32fbacba85565a0
Author: Frederic Martinsons <frederic.martinsons@sigfox.com>
Date:   Sun Dec 20 18:07:44 2020 +0100

    iface-modem: don't consider charset setup failure as fatal.

    On some modem (for example SORACOM SC-QGLC4-C1) , the character
    set setup
    step fails with "Unknown error" when the SIM card is missing or
    locked.
    This leads to not expose Modem interface and not being able to
    unlocked
    the SIM.
    We should not consider this step as fatal but just issue a warning
    to let
    other steps continue (which will let modem in failed state anyway).

    Closes #289

    Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>

 src/mm-iface-modem.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

commit 3d4dd64dd03622ae5d335f0111c54e184de120c7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 1 23:26:42 2020 +0100

    broadband-modem-qmi: disable signal/access-tech polling if indications
    enabled

    We can rely on QMI indications when the signal quality and access tech
    changes happen, instead of doing explicit polling.

    The modem will run the signal quality retrieval once, and then just
    rely on indications, with polling disabled:

      ModemManager[278759]: <debug> [1606862198.230492] [modem1] signal
      strength (lte): -79 dBm
      ModemManager[278759]: <debug> [1606862198.230520] [modem1] signal
      strength: -79 dBm --> 55%
      ModemManager[278759]: <debug> [1606862198.230583] [modem1] access
      technology changed (unknown -> lte)
      ModemManager[278759]: <debug> [1606862198.230654] [modem1] signal
      quality updated (55)
      ModemManager[278759]: <debug> [1606862198.230675] [modem1] periodic
      signal quality and access technology checks not rescheduled:
      unneeded or unsupported
      ModemManager[278759]: <debug> [1606862198.230692] [modem1] periodic
      signal checks disabled

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/231

 src/mm-broadband-modem-qmi.c | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

commit 47f39c9e1a9f37758027dd5072caafe224351089
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 1 22:55:56 2020 +0100

    broadband-modem-qmi: fix disabling of signal strength events

    Attempting to disable the signal strength events was failing because
    the protocol handler expects a valid set of thresholds also during the
    disabling. So, just pass always the thresholds.

      ModemManager[274522]: [/dev/cdc-wdm1] sent generic request
      (translated)...
      <<<<<< QMUX:
      <<<<<<   length  = 17
      <<<<<<   flags   = 0x00
      <<<<<<   service = "nas"
      <<<<<<   client  = 3
      <<<<<< QMI:
      <<<<<<   flags       = "none"
      <<<<<<   transaction = 7
      <<<<<<   tlv_length  = 5
      <<<<<<   message     = "Set Event Report" (0x0002)
      <<<<<< TLV:
      <<<<<<   type       = "Signal Strength Indicator" (0x10)
      <<<<<<   length     = 2
      <<<<<<   value      = 00:00
      <<<<<<   translated = [ report = 'no' thresholds = '{}' ]

      ModemManager[274522]: [/dev/cdc-wdm1] received generic response
      (translated)...
      <<<<<< QMUX:
      <<<<<<   length  = 19
      <<<<<<   flags   = 0x80
      <<<<<<   service = "nas"
      <<<<<<   client  = 3
      <<<<<< QMI:
      <<<<<<   flags       = "response"
      <<<<<<   transaction = 7
      <<<<<<   tlv_length  = 7
      <<<<<<   message     = "Set Event Report" (0x0002)
      <<<<<< TLV:
      <<<<<<   type       = "Result" (0x02)
      <<<<<<   length     = 4
      <<<<<<   value      = 01:00:08:00
      <<<<<<   translated = FAILURE: NoThresholdsProvided

 src/mm-broadband-modem-qmi.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit da159587992d91d61040544fe961a60ef756cf89
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 1 22:43:35 2020 +0100

    broadband-modem-qmi: reload initial EPS bearer on data system updates

 src/mm-broadband-modem-qmi.c | 225
 +++++++++++++++++++++++++++++++------------
 1 file changed, 162 insertions(+), 63 deletions(-)

commit 2d9b62d23b6abbeea4833bbcb431d0e2adaf04aa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 1 22:43:16 2020 +0100

    iface-modem-3gpp: allow requesting the reload of the initial EPS
    bearer

 src/mm-iface-modem-3gpp.c | 35 +++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h |  1 +
 2 files changed, 36 insertions(+)

commit 5629f47a59b48f2604fd8e9e4af7209b138aef21
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 30 21:51:32 2020 +0100

    libmm-glib,bearer-properties: allow loose comparisons

    When comparing bearer properties provided by the user versus loaded
    from the modem, we shouldn't be very strict, e.g.:
     * Password or other fields may not be readable from the device.
     * Some fields may not apply at all (e.g. RM protocol for EPS bearers)
     * NULL strings could be assumed equal to empty strings.
     * If no explicit IP type specified, an IPv4 default may be assumed.
     * If no explicit allowed auth specified, 'none' default may be
       assumed.

    These loose comparisons are applied when managing the initial EPS
    bearer settings and status, and we keep the strict comparison only
    during the connection attempt lookup of a bearer with certain
    settings, as those bearer objects are all created in the same place
    with the same rules.

 libmm-glib/mm-bearer-properties.c | 101
 ++++++++++++++++++++++++++++++++++----
 libmm-glib/mm-bearer-properties.h |  13 ++++-
 src/mm-bearer-list.c              |   6 ++-
 src/mm-iface-modem-3gpp.c         |  23 ++++++---
 4 files changed, 123 insertions(+), 20 deletions(-)

commit c99cc9210e7a93be1b572d686f5acdeb0160dd3f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 30 16:05:52 2020 +0100

    iface-modem-3gpp: log requested/updates initial EPS bearer settings

 src/mm-iface-modem-3gpp.c | 44
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

commit 5613215db8e5b3d4bbd7d3e6ad937b342ccd4c76
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 29 22:41:08 2020 +0100

    broadband-modem-qmi: implement initial EPS bearer settings loading
    and setting

 src/mm-broadband-modem-qmi.c | 469
 +++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.c   |  51 +++++
 src/mm-modem-helpers-qmi.h   |   8 +-
 3 files changed, 526 insertions(+), 2 deletions(-)

commit 527b4e3232a611bde1cab6e6302924fb65f453a7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 29 22:08:04 2020 +0100

    broadband-modem-qmi: implement initial EPS bearer info loading

 src/mm-broadband-modem-qmi.c | 75
 ++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.c   | 15 +++++++++
 src/mm-modem-helpers-qmi.h   |  1 +
 3 files changed, 91 insertions(+)

commit 295400688acc4d670a1f7c58d45359bb891bf44d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 29 21:55:48 2020 +0100

    broadband-modem-qmi: allocate a generic WDS client

    For generic WDS operations not tied to any connection attempt.

 src/mm-broadband-modem-qmi.c | 79
 +++++++++-----------------------------------
 1 file changed, 15 insertions(+), 64 deletions(-)

commit 7b52efda3421f09ddb5dd4ae65d3d03b7e952490
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 30 10:35:32 2020 +0100

    build: require libqmi 1.27.3 to support initial EPS management

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0729ba5c88eb038e60ffbe3faf9431e9650f7ca1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 26 23:30:56 2020 +0100

    broadband-modem-mbim: plug memleak when processing USSD in GSM7

 src/mm-broadband-modem-mbim.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 7f88280929c350b087751e71e56e81b9b88d3495
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 22 16:55:22 2020 +0100

    altair: make sure parse_vendor_pco_info() always returns an error

    The parse_vendor_pco_info() method was returning NULL without error if
    the pco info string was empty.

    Under this situation, the code would have tried to add a NULL MMPco
    into the pco_list list, which is not desired.

    Avoid this, by making sure a NULL return always sets an error.

 plugins/altair/mm-broadband-modem-altair-lte.c | 6 +++++-
 plugins/altair/mm-modem-helpers-altair-lte.c   | 6 ++++--
 2 files changed, 9 insertions(+), 3 deletions(-)

commit 243272c11178e68914d7cc2dcfdc28248edb2aa7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 14 09:58:59 2020 +0100

    cinterion: add AT primary/secondary port type hints for PLS8

 plugins/cinterion/77-mm-cinterion-port-types.rules | 2 ++
 1 file changed, 2 insertions(+)

commit ba4b3f60b7605441bb127be231eab49450c29404
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 14 09:58:15 2020 +0100

    cinterion: add QCDM and GPS port type hints for PLS62

 plugins/cinterion/77-mm-cinterion-port-types.rules | 20
 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

commit 067b09c8358ad92ff0ca3c266d0229e9518069d0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 14 09:35:02 2020 +0100

    cinterion: add PLS83 port type hints

 plugins/cinterion/77-mm-cinterion-port-types.rules | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit bee8a391bf46e33f8378504f71c4e087d7a82fb5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 13 17:33:11 2020 +0100

    broadband-modem-mbim: ignore MS SAR notifications explicitly

    SAR service will be introduced in the stable libmbim 1.26.0, but it's
    been flagged in the dev 1.25.1 version already.

 src/mm-broadband-modem-mbim.c | 3 +++
 1 file changed, 3 insertions(+)

commit 8072ed2d6f4240ceb7b66f5e618192fd54ea94b2
Author: Torsten Hilbrich <torsten.hilbrich@secunet.com>
Date:   Wed Dec 2 12:46:32 2020 +0100

    broadband-modem-mbim: Add MM_BROADBAND_MODEM_MBIM_QMI_UNSUPPORTED

    This property (initially set to FALSE) controls whether QMI over MBIM
    should never be considered. This property is set to TRUE for XMM-based
    MBIM devices as they don't support QMI.

    This fixes a probing delay of 15s on a Fibocom L850-GL device
    (2cb7:0007) found in the Lenovo T14 Gen 1.

    The establishing of a QMI connection was refused multiple time with
    MBIM error OperationNotAllowed. Only the timeout of 15s for this
    connection resumed the probing.

    The properties in the MMBroadbandModemMbim are only installed when
    WITH_QMI and QMI_MBIM_QMUX_SUPPORTED are set. Actually, this
    should only
    disable the PROP_QMI_UNSUPPORTED but as this is the only property this
    avoids the "unused variable 'self'" warnings/errors when trying to
    compile set_property and get_property without QMI support. This can be
    changed once other properties are needed.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/284

 plugins/xmm/mm-broadband-modem-mbim-xmm.c |  3 ++
 src/mm-broadband-modem-mbim.c             | 71
 ++++++++++++++++++++++++++++++-
 src/mm-broadband-modem-mbim.h             |  2 +
 3 files changed, 75 insertions(+), 1 deletion(-)

commit f80c8d8be6a22accb71f06b33f53daed3d255bec
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 1 22:59:32 2020 +0100

    broadband-modem-qmi: fix reporting of signal strength indications

    We had all the logic in place... but we were never actually enabling
    the signal strength indications because the `enable` flag in the
    context was never set.

    The bug was introduced back in May 2018, and released with 1.10.0.

    Fixes baefe53ab9c0ea0612d2bf7da64b6f6cf9753bcd

 src/mm-broadband-modem-qmi.c | 1 +
 1 file changed, 1 insertion(+)

commit d531992897fe4a99005da03e83c818dd138a06d5
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sun Nov 29 15:59:49 2020 +0100

    tests: added parse ERROR response test

 src/tests/test-at-serial-port.c | 75
 ++++++++++++++++++++++++++++++++---------
 1 file changed, 60 insertions(+), 15 deletions(-)

commit c15d103ca62cec7287764f1b5d0d3316ac891ce5
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Sun Nov 29 15:59:21 2020 +0100

    serial-parsers: also match ERROR responses that are not at end of line

    Do not fail to detect an error response with a call or text
    incoming. This happens during port probing when there's no URC
    parsers installed in the serial port. This probably will not happen
    when the serial port was managed by the modem object.w

 src/mm-serial-parsers.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit c05580ca9a69b491042921d2fe40383fde1657ea
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Fri Nov 27 18:46:42 2020 +0100

    tests: added parse OK response test

 src/tests/test-at-serial-port.c | 42
 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

commit 750fb2bc4ab9bdc779a9e3919d74c64059b9e963
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Wed Nov 25 19:58:25 2020 +0100

    serial-parsers: also match OK responses that are not at end of line

    Do not fail to detect a valid response with a call or text incoming.
    This happens also during port probing when there's no URC parsers
    installed in the serial port. This probably will not happen when the
    serial port was managed by the modem object.

 src/mm-serial-parsers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 446d497040f5e71a1d6a842b82cdab07ef54a0fa
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Mon Nov 30 09:25:10 2020 -0800

    introspection: fix Bearer documentation

    If e.g. a bearer with IPv6 configuration has DNS servers but exports
    its link-local address, MM will avoid giving it the "static" method
    type, and instead fall back to the "dhcp" type. However, it may
    still have DNS information. Therefore, the comment that "method" is
    the only property on configuration with type DHCP is misleading.

 introspection/org.freedesktop.ModemManager1.Bearer.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 756894bc7682250821c3b80e96fea66d73a3e837
Author: Dylan Van Assche <me@dylanvanassche.be>
Date:   Fri Nov 27 18:07:02 2020 +0100

    build: Allow elogind for suspend/resume support

 configure.ac | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit 1f0c04644dd48b086bc00f9765f94342f3badc3f
Author: Pavan Holla <pholla@chromium.org>
Date:   Mon Nov 23 20:24:05 2020 +0000

    base-sim: Reprobe modem if puk lock is discovered after sending pin1

    Enabling/Disabling/Changing/Sending the PIN1 lock is usually
    limited to
    3 retries. If these attempts are exhausted, the modem is puk_locked.
    We reprobe the modem to get rid of any unwanted interfaces and move
    to a locked state.

 src/mm-base-sim.c | 33 ++++++++++++++++++++++++++-------
 1 file changed, 26 insertions(+), 7 deletions(-)

commit 38f6704fa1d6f602be84bcbf016b3386ac82c426
Author: Pavan Holla <pholla@chromium.org>
Date:   Mon Nov 23 17:52:17 2020 +0000

    base-sim: Reprobe modem if lock status cannot be read after sending
    puk

    If the lock status cannot be read during a puk unblock attempt,
    reprobe
    the modem. It is likely that the SIM was permanently blocked if
    the lock
    status cannot be read.

 src/mm-base-modem.c      |  2 +-
 src/mm-base-modem.h      |  2 +-
 src/mm-base-sim.c        | 37 ++++++++++++++++++++++++++-----------
 src/mm-broadband-modem.c |  2 +-
 src/mm-device.c          |  1 +
 src/mm-iface-modem.c     |  5 ++++-
 6 files changed, 34 insertions(+), 15 deletions(-)

commit 92c86e2b1bcdaab991d89bdd8f670b248c246bae
Author: Thomas Dendale <thomasdendale@hotmail.com>
Date:   Mon Nov 23 09:04:50 2020 +0000

    huawei: add GPS port type hints for Huawei ME906e

 plugins/huawei/77-mm-huawei-net-port-types.rules | 2 ++
 1 file changed, 2 insertions(+)

commit 935e73c8dfc8ad557100005baa506439526a702e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 22 14:34:07 2020 +0100

    build: fix build with single plugins

    We need to quote arguments with [] so that lists are not expanded as
    different arguments.

    Fixes 65560dd8854f01eec1b28587c37d544bfff360d3

 m4/mm-enable-plugin.m4 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 6e0380c165cb7ab2a464ee4cf117e8e6caa4fe25
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 19 12:51:58 2020 +0100

    base-modem: order ports by name by default

    When there are multiple ports with the same purpose (e.g. multiple net
    data ports, or multiple QMI control ports), sort them by name by
    default.

    The port order does not make any difference for ports that have
    flagged with a specific purpose (e.g. AT primary).

    The sorting is done both in the internal lists and when looking up
    ports with find_ports().

 src/mm-base-modem.c | 141
 ++++++++++++++++++++++++++--------------------------
 1 file changed, 71 insertions(+), 70 deletions(-)

commit 65560dd8854f01eec1b28587c37d544bfff360d3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 19 12:00:34 2020 +0100

    build: qcom-soc plugin by default disabled

    It will not be automatically enabled by the implicit
    --enable-all-plugins; instead, it must be explicitly enabled with
    --enable-plugin-qcom-soc.

    This plugin only makes sense under very specific SoC builds, so there
    is no point in always building it by default. It should be explicitly
    requested only in those SoC builds that are really going to make use
    of it (e.g. postmarketOS).

 configure.ac           |  2 +-
 m4/mm-enable-plugin.m4 | 22 ++++++++++++++++++----
 2 files changed, 19 insertions(+), 5 deletions(-)

commit 9065e3b22777c5c811a2239de6353ecd3baade5d
Author: Stephan Gerhold <stephan@gerhold.net>
Date:   Wed Nov 4 18:20:39 2020 +0100

    qcom-soc: simplify port type hint rules

 plugins/qcom-soc/77-mm-qcom-soc.rules | 19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)

commit 8fc60754dd1df91560a3123454df1ad0ecf0ac92
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 22 12:48:35 2020 +0200

    qcom-soc: new plugin for Qualcomm SoCs

    This plugin implements support for old Qualcomm SoCs like the MSM8916
    or the MSM8974, where:
     * control ports are available via RPMSG channels exported as devices
       e.g. with rpmsgexport:
       https://github.com/andersson/rpmsgexport
     * network ports are exposed by the bam-dmux kernel driver:
       https://github.com/msm8916-mainline/linux/commits/bam-dmux

    Adding support for newer Qualcomm SoCs (e.g. QRTR+IPA) could be done
    in a similar way on this very same plugin.

    This plugin is the first and only one that implements support for a
    modem device that is "built in" the system, as opposed to external
    modems that may be available via USB or PCI.

    The ID_MM_PHYSDEV_UID based udev tags provided by the plugin provide
    the logic to bind all the SoC ports together in the same modem object,
    and therefore ID_MM_PHYSDEV_UID should not be used by users to
    override the ones set by the plugin.

    All "rpmsg[0-9]*" ports that are considered part of the modem are
    flagged as candidate, ignoring the parent "rpmsg_ctrl[0-9]*" ports on
    purpose. This setup therefore assumes that the channels have been
    exported already as devices (e.g. using rpmsgexport).

    libqmi 1.27.2 is required to support the "WDS Bind Data Port" message.

 .gitlab-ci.yml                                     |   2 +-
 configure.ac                                       |   4 +-
 plugins/Makefile.am                                |  25 ++++
 plugins/qcom-soc/77-mm-qcom-soc.rules              |  46 +++++++
 plugins/qcom-soc/mm-broadband-modem-qmi-qcom-soc.c | 133
 +++++++++++++++++++++
 plugins/qcom-soc/mm-broadband-modem-qmi-qcom-soc.h |  49 ++++++++
 plugins/qcom-soc/mm-plugin-qcom-soc.c              |  92 ++++++++++++++
 plugins/qcom-soc/mm-plugin-qcom-soc.h              |  40 +++++++
 plugins/tests/test-udev-rules.c                    |  11 ++
 9 files changed, 400 insertions(+), 2 deletions(-)

commit cab4b54ad106caadb7f70025348f0aab5522bde4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 25 14:23:29 2020 +0100

    core: new 'rpmsg' subsystem

    Most older Qualcomm SoCs (e.g. MSM8916, MSM8974, ...) communicate with
    the integrated modem via shared memory (SMD channels). This is similar
    to QRTR on newer SoCs, but without the "network" layer. In fact, the
    older SoCs also have QRTR, but the modem QMI services are not exposed
    there.

    The mainline Linux kernel exposes SMD channels via the "remote
    processor
    messaging bus" (rpmsg). Through special IOCTL calls it is possible to
    create a char device for a rpmsg/SMD channel. We can then use these to
    send QMI/AT messages to the modem, much like the ordinary serial char
    devices when using a Qualcomm modem through USB.

    This commit introduces support for the new 'rpmsg' subsystem, which
    allows exporting QMI-capable and AT-capable ports.

    By default NO rpmsg port is flagged as candidate, it is assumed that
    the plugin adding support for the rpmsg subsystem will add specific
    rules to do so (e.g. so that non-modem ports are explicitly not
    flagged as candidate).

    All rpmsg ports will be probed for AT or QMI capabilities, unless
    explicit port type hints (e.g. ID_MM_PORT_TYPE_QMI or
    ID_MM_PORT_TYPE_AT_PRIMARY) are set.

    These changes are highly based on the initial integration work done by
    Stephan Gerhold <stephan@gerhold.net> in postmarketOS, see:
      https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/363

 cli/mmcli-manager.c |  2 +-
 src/mm-base-modem.c | 18 ++++++++++++++++--
 src/mm-filter.c     |  7 +++++++
 src/mm-filter.h     | 23 ++++++++++++++---------
 src/mm-plugin.c     |  5 +++++
 src/mm-port-probe.c | 26 +++++++++++++++++---------
 src/mm-port.h       |  4 ++--
 7 files changed, 62 insertions(+), 23 deletions(-)

commit 3d12272d183061c11cd80bfe96ae89898f4c081c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Oct 30 10:05:24 2020 +0100

    kerneldevice: allow loading port attributes

    In addition to loading port and device properties, we now also allow
    loading sysfs properties that are assumed to be static (i.e. their
    values won't change since loaded the first time).

 src/kerneldevice/mm-kernel-device-generic.c | 37 ++++++++++++++++++++
 src/kerneldevice/mm-kernel-device-udev.c    | 30 ++++++++++++++++
 src/kerneldevice/mm-kernel-device.c         | 54
 +++++++++++++++++++++++++++++
 src/kerneldevice/mm-kernel-device.h         |  9 +++++
 4 files changed, 130 insertions(+)

commit 399a042dad2e2c5cca9e0cfe0af6d41ae1fb0c35
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 25 15:11:02 2020 +0100

    bearer-qmi: support binding to data port

    Allow plugins to specify a QmiSioPort value to bind to. This is used
    e.g. in the RPMSG+BAM-DMUX setup in order to allow any RPMSG port to
    control all the available net ports.

 src/mm-bearer-qmi.c          | 73
 +++++++++++++++++++++++++++++++++++++++++++-
 src/mm-broadband-modem-qmi.c |  9 ++++--
 src/mm-broadband-modem-qmi.h |  3 ++
 3 files changed, 82 insertions(+), 3 deletions(-)

commit 3be07bb38db2f1295d5ef240232ac046a579808b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 20 00:36:04 2020 +0100

    tests,cdma: test CDMA SMS with different text lengths

 src/tests/test-sms-part-cdma.c | 38
 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

commit 7ac42e76482acd687464f9dca2ef3ac7b67825a1
Author: David Leonard <David.Leonard@digi.com>
Date:   Wed Aug 26 14:19:28 2020 +1000

    sms: fix 7-bit ASCII SMS decoding

    Fixes an issue where (5+8n)-character long SMS messages received on a
    CDMA network would be dropped with a "cannot read user data" error,
    while other length SMS messages would be delivered fine.

    Fix thanks to Peter Hunt

 src/mm-sms-part-cdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c3bc515b8a8eb77b3517cc96827fa48573459dd8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 19 15:52:20 2020 +0100

    base-manager: never create kernel device objects for remove events

    There is no point in creating a new kernel device object just to
    process a remove event; instead, do any matching with existing
    kernel device objects by subsystem and name, which is what the generic
    backend already did anyway.

    This avoids unnecessary lookup of information in sysfs during removal
    events, because the port is anyway already gone when we try to look
    those up.

 src/mm-base-manager.c | 104
 +++++++++++++++++++++++++++++++-------------------
 src/mm-device.c       |  73 ++++++++++++++++++++++++++++-------
 src/mm-device.h       |  21 ++++++----
 3 files changed, 138 insertions(+), 60 deletions(-)

commit 047805348db1fdaac4c24b6ea4f4d382e6bc03c8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Nov 14 23:17:00 2020 +0100

    iface-modem-firmware: allow plugins to ignore carrier info

    Skip building the firmware version information with carrier config
    information if the plugin already knows that the firmware upgrade
    method doesn't implement carrier-specific upgrade paths.

 src/mm-broadband-modem.c      | 14 +++++++++++++-
 src/mm-iface-modem-firmware.c | 43
 ++++++++++++++++++++++++++++++-------------
 src/mm-iface-modem-firmware.h |  3 ++-
 3 files changed, 45 insertions(+), 15 deletions(-)

commit c7016f8933a265d9cb325b9d65eab4eecaffd0e4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Nov 14 22:37:16 2020 +0100

    iface-modem-firmware: report generic IDs for both USB and PCI devices

    Instead of assuming that all modules supporting firmware upgrade are
    USB based.

 src/mm-iface-modem-firmware.c | 42
 +++++++++++++++++++++++++++++-------------
 1 file changed, 29 insertions(+), 13 deletions(-)

commit 9533ee2f22a6795d5eea6c88038fef7f02b631e3
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Sun Nov 15 06:49:42 2020 -0800

    mm-plugin-manager: Fix typos

    Change-Id: I662061384cf48abd0975e15a91b090aa6b33ac34

 src/mm-plugin-manager.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e112896994454d357861619c7db87fcea8b2d2fb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 9 00:36:13 2020 +0100

    base-manager: allow forcing the testing without udev

    Even if udev support is really built and available.

    This is extremely useful to test the udev-less setup without fully
    recompiling the whole daemon.

      E.g.: the daemon can be run like this:
        $ sudo /usr/sbin/ModemManager --debug --test-no-udev

      And then, the kernel events may be reported using mmcli like this:
        $ sudo mmcli --report-kernel-event-auto-scan

 src/mm-base-manager.c | 52
 +++++++++++++++++++++++++++------------------------
 src/mm-context.c      | 21 +++++++++++++++++++++
 src/mm-context.h      |  3 +++
 3 files changed, 52 insertions(+), 24 deletions(-)

commit 6e642418bb36c627b9ad6185b36f78216ecaccfe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 9 21:30:36 2020 +0100

    kerneldevice,generic: use regex to implement string matching

    Instead of the custom simple implementation which only supported the
    '*' modifier in the pattern. This allows us to support e.g. attribute
    value matches like e.g. 'DATA[0-9]*_CNTL'.

 src/kerneldevice/mm-kernel-device-generic.c | 57
 ++++++++++++-----------------
 1 file changed, 24 insertions(+), 33 deletions(-)

commit cca83392f09a2a67178203d493656c4355863106
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 9 12:11:43 2020 +0100

    kerneldevice,generic: implement ATTRS matching for any attribute

    Until now we did not support ATTRS{} matches against attributes we
    don't support in the core codebase. Implement now a simple lookup
    mechanism which traverses the tree of sysfs path from the port sysfs
    path to the physical device sysfs path, looking up the attribute
    requested.

    This is not completely equivalent to what udev does, because the udev
    rules matching ATTRS would usually also include an additional previous
    matching e.g. SUBSYSTEMS and such, so that the ATTRS is looked up
    exactly in the device that also matches the additional previous
    rules. In our case, we just simplify the logic and return the first
    one found.

 src/kerneldevice/mm-kernel-device-generic.c | 38
 +++++++++++++++++++++++++++--
 1 file changed, 36 insertions(+), 2 deletions(-)

commit 769ba3cee6fa7c985069165ee4ace99c356df949
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 9 11:39:11 2020 +0100

    kerneldevice,generic: fix DRIVERS and SUBSYSTEMS checks

    We were applying the DRIVERS check looking only at the single port
    driver. Instead, we now lookup and cache all drivers found in the
    device tree, and apply the loose DRIVERS check properly looking at all
    of them.

    We were applying the SUBSYSTEMS and SUBSYSTEM check looking at the
    sysfs path and just hoping the subsystem we're looking for is included
    in the path itself. Instead, we now lookup and cache all susystems
    found in the device tree, and apply the loose SUBSYSTEMS check
    properly looking at all of them.

    E.g. we can now match SUBSYSTEMS="mhi_q" in the following device tree,
    without needing it to be found in the sysfs path:

      looking at device
      '/devices/pci0000:00/0000:00:1b.0/0000:01:00.0/1001_00.01.00_MBIM/mhi_uci_q/mhi_MBIM':
        SUBSYSTEM=="mhi_uci_q"
      looking at parent device
      '/devices/pci0000:00/0000:00:1b.0/0000:01:00.0/1001_00.01.00_MBIM':
        SUBSYSTEMS=="mhi_q"
      looking at parent device
      '/devices/pci0000:00/0000:00:1b.0/0000:01:00.0':
        SUBSYSTEMS=="pci"

 src/kerneldevice/mm-kernel-device-generic.c | 176
 ++++++++++++++++++++--------
 1 file changed, 127 insertions(+), 49 deletions(-)

commit ba361f41c497acc81e03d66455db002045db623f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 9 11:03:48 2020 +0100

    kerneldevice,generic: support PCI device common attribute names

    The vendor and product IDs stored for the MMKernelDevice object in the
    PCI subsystem are mapped to the "vendor" and "device" attributes.

 src/kerneldevice/mm-kernel-device-generic.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit d3a7f701350fc45d590bbc25b84c29549ebd7afd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 9 00:14:19 2020 +0100

    kerneldevice,generic: preload port info based on the system bus

    The generic backend implementation was really based on detecting USB
    devices, not so much devices in other subsystems. This patch puts the
    generic backend at the same level as the udev backend to support
    non-USB modems.

 src/kerneldevice/mm-kernel-device-generic.c | 497
 +++++++++++++++-------------
 1 file changed, 262 insertions(+), 235 deletions(-)

commit bc895067ec5b4acfb71693bfbf73bae9c55a7552
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 8 21:57:49 2020 +0100

    kerneldevice,udev: preload port info based on the system bus

    USB, PCI, PCMCIA... all these different system buses expose modems in
    different ways. Instead of having single methods to attempt to load
    different things for all these device types, detect first which is the
    system bus in use, and then perform a bus-specific operation to
    preload the different things.

 src/kerneldevice/mm-kernel-device-udev.c | 542
 +++++++++++++------------------
 1 file changed, 220 insertions(+), 322 deletions(-)

commit 4550dcfbdf2e1c8c4db0d7b7260144fb653c095d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 3 10:29:50 2020 +0100

    kerneldevice: no need to subclass the type getters

    We can just subclass the methods to check whether a given property
    exists and to get it as a string, and then implement in the generic
    class the actual boolean/int/hex type getters common for all.

 src/kerneldevice/mm-kernel-device-generic.c |  42 +-------
 src/kerneldevice/mm-kernel-device-udev.c    | 148
 +++++-----------------------
 src/kerneldevice/mm-kernel-device.c         |  49 +++++----
 src/kerneldevice/mm-kernel-device.h         |  15 +--
 4 files changed, 59 insertions(+), 195 deletions(-)

commit 1e1fe8fb9c9b02de5f29f33bd46575d4d88f1464
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 3 10:16:11 2020 +0100

    kerneldevice: remove all unneeded g_return_if_fail() checks

    These kind of checks are only useful on public APIs really, there
    should be no need to have them in internal code.

 src/kerneldevice/mm-kernel-device-generic.c | 51 --------------------
 src/kerneldevice/mm-kernel-device-udev.c    | 72
 ++++-------------------------
 src/kerneldevice/mm-kernel-device.c         | 57 -----------------------
 3 files changed, 8 insertions(+), 172 deletions(-)

commit 5d150ed23e122c06e1a4add0ca9c6f7e07502a17
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 10 23:01:10 2020 +0100

    core,plugins: consolidate connection/disconnection timeout values

    Each different plugin or protocol had a different connection attempt
    value. E.g. QMI and MBIM both used 60s max for the connection attempt,
    while the u-blox plugin had up to 180s for ECM based connection
    setups.

    This commit consolidates all plugins and protocols to use the same
    timeout values for commands that may take long to respond, e.g. a
    connection atempt under low signal quality conditions.

    A value of 180s for the connection attempt steps and 120s for a
    disconnection attempt step is considered. Note, though, that in some
    cases (like a IPv4v6 setup attempt using QMI) we may have more than
    one such long step, so this doesn't mean that a connection attempt
    will always take less than 180s.

    Users of the connection/disconnection APIs should be able to handle
    the case where the attempt times out in their side (e.g. with a lower
    DBus request timeout), and which would not mean the actual request
    they did really failed. E.g. a connection attempt with a DBus timeout
    of 30s may fail in the user with a timeout error, but the attempt
    would still go on for as much as the plugin/protocol needs.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/270

 plugins/altair/mm-broadband-bearer-altair-lte.c   |  4 ++--
 plugins/cinterion/mm-broadband-bearer-cinterion.c |  4 ++--
 plugins/huawei/mm-broadband-bearer-huawei.c       | 10 +++++-----
 plugins/icera/mm-broadband-bearer-icera.c         | 10 +++++-----
 plugins/iridium/mm-bearer-iridium.c               |  2 +-
 plugins/mbm/mm-broadband-bearer-mbm.c             |  6 +++---
 plugins/novatel/mm-broadband-bearer-novatel-lte.c |  4 ++--
 plugins/option/mm-broadband-bearer-hso.c          |  4 ++--
 plugins/sierra/mm-broadband-bearer-sierra.c       |  4 ++--
 plugins/ublox/mm-broadband-bearer-ublox.c         |  6 +++---
 src/mm-base-bearer.h                              | 11 +++++++++++
 src/mm-bearer-mbim.c                              |  6 +++---
 src/mm-bearer-qmi.c                               | 12 ++++++------
 src/mm-broadband-bearer.c                         |  4 ++--
 14 files changed, 49 insertions(+), 38 deletions(-)

commit da77dc7152b76728de0ce63cedf96ceb30f37046
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 25 07:20:30 2020 +0100

    plugin: build probing needs based on subsystem

    Don't rely on the QMI or MBIM ports named cdc-wdm, use the device
    subsystem instead.

 src/mm-plugin.c | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

commit 71f5c975430b0455e7ca81b2d2d1bef0174d0be2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 24 15:40:57 2020 +0200

    base-manager: automatic required subsystem detection

    Instead of assuming we require a fixed set of subsystems to monitor,
    compile the full list based on what the plugins have requested
    themselves.

 src/mm-base-manager.c   | 62 +++++++++++++------------------
 src/mm-plugin-manager.c | 98
 ++++++++++++++++++++++++++++++++++---------------
 src/mm-plugin-manager.h |  1 +
 src/mm-plugin.c         |  6 +++
 src/mm-plugin.h         |  1 +
 5 files changed, 103 insertions(+), 65 deletions(-)

commit 950abbf8ee8624827d63a0d0186beac81232e8f6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 6 12:27:40 2020 +0100

    core: stop monitoring the 'usb' subsystem

    Back in Linux < 3.6 days, the cdc-wdm ports exposed by the QMI driver
    were flagged as owned by the 'usb' subsystem. That changed in 3.6 when
    the subsystem was renamed to 'usbmisc':

      https://mail.gnome.org/archives/networkmanager-list/2012-June/msg00125.html

    This patch removes all monitoring of the 'usb' subsystem completely,
    which is anyway a valid subsystem but for which we shouldn't need any
    special handling. Right now, with newer kernels, we were using that
    monitoring exclusively to get notified of full USB device remove
    events, which is really not required as we already process the port
    removals one by one.

    We simplify the logic everywhere that attempted to match either the
    'usb' or 'usbmisc' subsystems, and we no longer require the explicit
    checks for the port name being named 'cdc-wdm[0-9]*' in the code, as
    that is already taken care of by the ID_MM_CANDIDATE udev tag rule.

 plugins/anydata/mm-plugin-anydata.c     |   2 +-
 plugins/broadmobi/mm-plugin-broadmobi.c |   2 +-
 plugins/cinterion/mm-plugin-cinterion.c |   2 +-
 plugins/dell/mm-plugin-dell.c           |   2 +-
 plugins/dlink/mm-plugin-dlink.c         |   2 +-
 plugins/fibocom/mm-plugin-fibocom.c     |   2 +-
 plugins/foxconn/mm-plugin-foxconn.c     |   2 +-
 plugins/generic/mm-plugin-generic.c     |   2 +-
 plugins/gosuncn/mm-plugin-gosuncn.c     |   2 +-
 plugins/huawei/mm-plugin-huawei.c       |   5 +-
 plugins/mbm/mm-plugin-mbm.c             |   2 +-
 plugins/novatel/mm-plugin-novatel.c     |   2 +-
 plugins/pantech/mm-plugin-pantech.c     |   2 +-
 plugins/quectel/mm-plugin-quectel.c     |   2 +-
 plugins/sierra/mm-plugin-sierra.c       |   2 +-
 plugins/simtech/mm-plugin-simtech.c     |   2 +-
 plugins/telit/mm-plugin-telit.c         |   2 +-
 plugins/tplink/mm-plugin-tplink.c       |   2 +-
 plugins/x22x/mm-plugin-x22x.c           |   2 +-
 plugins/zte/mm-plugin-zte.c             |   2 +-
 src/80-mm-candidate.rules               |   3 +-
 src/mm-base-manager.c                   | 142
 +++++++-------------------------
 src/mm-base-modem.c                     |   2 +-
 src/mm-filter.c                         |   2 +-
 src/mm-plugin.c                         |   4 -
 src/mm-port-probe.c                     |   2 +-
 26 files changed, 55 insertions(+), 143 deletions(-)

commit 519df2544b04ccbc9cf87fbfbdbbaf44edeef75b
Author: Frederic Martinsons <frederic.martinsons@sigfox.com>
Date:   Tue Nov 10 16:48:22 2020 +0100

    tools: add new system daemon stub tester application

    This script mock some of ModemManager DBus interfaces (main object,
    Modem, Sim),
    it also adds a test interface
    "org.freedesktop.ModemManager1.LibmmGlibTest"
    which allow to inject some errors and simulate behavior:
      - Add a modem object
      - Emit modem state changed
      - Set modem error

    This script also add the possibility to log in a file for debugging
    purpose.
    Because the stdout/stderr are not shown when the program is spawned
    by DBus
    auto activation.

    Note: Script is heavily inspired from test-networkmanager-service.py
    from
    NetworkManager project

    Signed-off-by: Frederic Martinsons <frederic.martinsons@sigfox.com>

 Makefile.am                        |   1 +
 configure.ac                       |   1 +
 tools/Makefile.am                  |   1 +
 tools/test-modemmanager-service.py | 490
 +++++++++++++++++++++++++++++++++++++
 4 files changed, 493 insertions(+)

commit 06f75500dbc3f471bf0c40221bbfb5f970f65f32
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 9 00:43:33 2020 +0100

    base-manager: log kernel event handling failures

    Don't just return the error to the client, we want this info in the
    daemon log as well.

 src/mm-base-manager.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 37b3771ef5003adb1797c29deceb6500ebe60e6d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 9 11:54:58 2020 +0100

    kerneldevice,generic: plug cached string leaks

    Both 'physdev_subsystem' and 'interface_description' were leaking.

 src/kerneldevice/mm-kernel-device-generic.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

commit 5b91e489ebc2a19fda20b07583f494041331d047
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 21 18:22:15 2020 +0200

    port-qmi: expected kernel data format is qmi_wwan specific

    The qmi_wwan driver is the only one that allows switching between
    802.3 and raw-ip during runtime, and therefore we must not assume that
    every QMI port managed allows to do so, we'll limit that feature only
    to QMI ports in the 'usbmisc' subsystem.

    For every other port, we assume the kernel expects raw-ip by default,
    and so we include logic to switch the modem to raw-ip both using WDA
    and CTL (WDA preferred over CTL). This assumption may not be perfect,
    but it's probably a good guess, as raw-ip is the preferred and
    sometimes the only format supported by new devices.

 src/mm-port-qmi.c | 172
 +++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 120 insertions(+), 52 deletions(-)

commit 799c4c72ce1494c8e094c091aa2d20ab62e4a569
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 25 14:10:45 2020 +0100

    port-qmi: allow specifying input subsystem

    We have assumed until now that all QMI ports are based on the
    qmi_wwan driver, exposed in the 'usbmisc' subsystem by the cdc-wdm
    driver.

    This may no longer be true, so allow creating QMI ports with
    an explicit subsystem instead of defaulting always to USBMISC.

 src/mm-base-modem.c |  2 +-
 src/mm-port-probe.c |  3 ++-
 src/mm-port-qmi.c   |  5 +++--
 src/mm-port-qmi.h   | 34 +++++++++++++++++-----------------
 4 files changed, 23 insertions(+), 21 deletions(-)

commit 7faa3a5e2518765bb3683c26ecdf3155046424b0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 25 14:05:50 2020 +0100

    port-mbim: allow specifying input subsystem

    We have assumed until now that all MBIM ports are based on the
    cdc_mbim driver, exposed in the 'usbmisc' subsystem by the cdc-wdm
    driver.

    This may no longer be true, so allow creating MBIM ports with
    an explicit subsystem instead of defaulting always to USBMISC.

 src/mm-base-modem.c | 2 +-
 src/mm-port-mbim.c  | 5 +++--
 src/mm-port-mbim.h  | 3 ++-
 src/mm-port-probe.c | 3 ++-
 4 files changed, 8 insertions(+), 5 deletions(-)

commit 4ec2db75b8fc1175c12d007ca64d2edcf630e3cc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 9 12:31:03 2020 +0100

    port-serial-qcdm: allow specifying input subsystem

    We have assumed until now that all QCDM ports are based on TTY
    drivers, e.g. exposed via USB.

    This may no longer be true, so allow creating QCDM ports with
    an explicit subsystem instead of defaulting always to TTY.

 src/mm-base-modem.c       | 2 +-
 src/mm-port-probe.c       | 2 +-
 src/mm-port-serial-qcdm.c | 5 +++--
 src/mm-port-serial-qcdm.h | 3 ++-
 4 files changed, 7 insertions(+), 5 deletions(-)

commit 56fca1447324f6ac47f2c7e7c9534c49f1bf1da3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 25 09:06:41 2020 +0100

    base-modem: refactor port grabbing logic

    Split in its own method the per-subsystem port creation mechanism, and
    apply all common AT port settings (e.g. response parser, flags) in a
    single place.

 src/mm-base-modem.c | 344
 +++++++++++++++++++++++-----------------------------
 1 file changed, 152 insertions(+), 192 deletions(-)

commit 2a6b596bcfa83a91d93c07046dc067f1e1d08a6c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 25 13:53:26 2020 +0100

    port-serial-at: skip validating input subsystem argument

    This check is pointless given that we're not implementing API, if
    anything it should be an assert. Anyway, just get rid of it, so that
    we don't need to update it on every new subsystem we add as supported.

 src/mm-port-serial-at.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

commit f052e914c84ef3a60d0cb9ddce3f77006e59a586
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 6 12:01:53 2020 +0100

    port: rename subsystem from 'usb' to 'usbmisc'

    Back in Linux < 3.6 days, the cdc-wdm ports exposed by the QMI driver
    were flagged as owned by the 'usb' subsystem. That changed in 3.6 when
    the subsystem was renamed to 'usbmisc':

      https://mail.gnome.org/archives/networkmanager-list/2012-June/msg00125.html

    So, rename the port subsystem type enumn to 'usbmisc'.

 plugins/huawei/mm-broadband-modem-huawei.c | 4 ++--
 src/mm-base-modem.c                        | 2 +-
 src/mm-broadband-modem-mbim.c              | 2 +-
 src/mm-broadband-modem-qmi.c               | 2 +-
 src/mm-port-mbim.c                         | 2 +-
 src/mm-port-probe.c                        | 2 +-
 src/mm-port-qmi.c                          | 2 +-
 src/mm-port-serial-at.c                    | 2 +-
 src/mm-port.h                              | 2 +-
 9 files changed, 10 insertions(+), 10 deletions(-)

commit c92dc21a18e6e79de2195bf6d2ec821c7f6195ef
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 24 09:29:39 2020 +0200

    api: new ID_MM_PORT_TYPE_QMI and ID_MM_PORT_TYPE_MBIM udev hints

    It is no longer true that all QMI ports are exposed by the qmi_wwan
    driver and that all MBIM ports are exposed by the cdc_mbim driver.
    There are other generic setups that allow exposing these types of
    ports using different drivers, and usually we can also know the type
    of port in advance via other means. Therefore, allow adding udev port
    type hints for QMI and MBIM ports as well.

 docs/reference/api/ModemManager-docs.xml     |  4 +++
 docs/reference/api/ModemManager-sections.txt |  2 ++
 include/ModemManager-tags.h                  | 30 ++++++++++++++++++
 src/mm-port-probe.c                          | 46
 ++++++++++++++++++++++------
 4 files changed, 73 insertions(+), 9 deletions(-)

commit e01c8b379cbd77b7085e40f9448df68b368faae2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 24 10:38:40 2020 +0200

    broadband-modem-qmi: peek QMI port from any subsystem

    No longer has to be bound to the USB subsystem.

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b8cbc87249b3f85cd5b2ce5ca7d75e9a4739b4c6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 22 12:28:26 2020 +0200

    broadband-modem-qmi: allow subclassing the match of control vs
    net ports

    By default we provide the implementation for the qmi_wwan driver,
    where both control and net ports share the same USB interface.

 src/mm-broadband-modem-qmi.c | 32 ++++++++++++++++++++++++++++----
 src/mm-broadband-modem-qmi.h |  4 ++++
 2 files changed, 32 insertions(+), 4 deletions(-)

commit b8f6fb59ed3f9c314c6b13b0830c0930c718902d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 22 12:07:09 2020 +0200

    broadband-modem-qmi: peeking QMI port only in QMI modems

    Move the logic out of the base modem, and make it applicable only for
    QMI modems.

 src/mm-base-modem.c           |  79 ------------------------------
 src/mm-base-modem.h           |   8 ----
 src/mm-bearer-qmi.c           |   2 +-
 src/mm-broadband-modem-qmi.c  | 109
 ++++++++++++++++++++++++++++++++++++++++--
 src/mm-broadband-modem-qmi.h  |  17 +++++--
 src/mm-iface-modem-firmware.c |   6 ++-
 src/mm-iface-modem.c          |   6 ++-
 src/mm-sim-qmi.c              |   3 +-
 src/mm-sms-qmi.c              |   3 +-
 9 files changed, 133 insertions(+), 100 deletions(-)

commit 0dbb8d03f59d0db8cf6be63020b78289c3168154
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 24 10:39:29 2020 +0200

    broadband-modem-mbim: peek MBIM port from any subsystem

    No longer has to be bound to the USB subsystem.

 src/mm-broadband-modem-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 85d549ef0066f1a47d15c40e4857033bea82e4c2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 22 12:32:06 2020 +0200

    broadband-modem-mbim: allow subclassing the match of control vs
    net ports

    By default we provide the implementation for the cdc_mbim driver,
    where both control and net ports share the same USB interface.

 src/mm-broadband-modem-mbim.c | 32 ++++++++++++++++++++++++++++----
 src/mm-broadband-modem-mbim.h |  4 ++++
 2 files changed, 32 insertions(+), 4 deletions(-)

commit 6defec2faed9e796584dd9b519ab777f9019d31b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 22 11:52:46 2020 +0200

    broadband-modem-mbim: peeking MBIM port only in MBIM modems

    Move the logic out of the base modem, and make it applicable only for
    MBIM modems.

 src/mm-base-modem.c           |  80 -----------------------------
 src/mm-base-modem.h           |   8 ---
 src/mm-bearer-mbim.c          |   2 +-
 src/mm-broadband-modem-mbim.c | 116
 +++++++++++++++++++++++++++++++++++++++---
 src/mm-broadband-modem-mbim.h |  17 +++++--
 src/mm-iface-modem-firmware.c |   8 ++-
 src/mm-iface-modem.c          |   7 ++-
 src/mm-sim-mbim.c             |   3 +-
 src/mm-sms-mbim.c             |   3 +-
 9 files changed, 138 insertions(+), 106 deletions(-)

commit ca0dbd07288d67c91e7018819cdd4aa36d57cf2a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 22 11:09:00 2020 +0200

    plugin: network interface force ignore rules for certain drivers only

    The rules to force ignoring certain network ports because the modem is
    using some specific drivers should definitely only be applied for the
    very known qmi_wwan and cdc_mbim drivers.

    If network ports for QMI or MBIM modems are exposed using different
    network drivers, don't ignore them.

 src/mm-plugin.c | 107
 ++++++++++++++++++++++++++++++--------------------------
 1 file changed, 58 insertions(+), 49 deletions(-)

commit 5aa7632e88f70f678b4d88d3bab6d4b1b2def1d1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 21 13:02:50 2020 +0200

    port-probe: avoid subsystem based checks when reading probe results

    There should be no need to do an early check to filter out ports of
    the wrong subsystem.

    For the user of these methods it is irrelevant if the FALSE is
    returned because the port is of the wrong subsystem, or because the
    test wasn't added to be probed, or because the test actually failed.

    In other words, the ports where the test succeeded will only have
    succeeded if they are of the correct subsystem and if the test was
    actually executed successfully.

 src/mm-port-probe.c | 82
 +++++++++--------------------------------------------
 1 file changed, 13 insertions(+), 69 deletions(-)

commit 50c69d540341733dfee031282e5d8e18ebc814cb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 8 09:22:09 2020 +0100

    build: fix distcheck with new gtk-doc

    The .actions file is generated by newer gtk-doc releases, we just
    treat it as e.g. the .signals or .types files.

    This is also already fixed in upstream gtk-doc:
      https://gitlab.gnome.org/GNOME/gtk-doc/-/merge_requests/61

 .gitignore                            | 1 +
 docs/reference/libmm-glib/Makefile.am | 1 +
 2 files changed, 2 insertions(+)

commit f874b0f6b701acccdc93991c0f857bc78e67d045
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 8 09:10:39 2020 +0100

    build: update builtin gtk-doc support

    From gtkdocize (gtk-doc) 1.33.0.

 gtk-doc.make  | 103
 ++++++++++++++++++++++++++++++++++------------------------
 m4/gtk-doc.m4 |  27 ++++++++++++++-
 2 files changed, 86 insertions(+), 44 deletions(-)

commit 904adbfb5e07e538516c26b8467c2238fc2718e9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 8 08:10:45 2020 +0100

    build: do not require xsltproc when building from a release tarball

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/276

 configure.ac | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 3bda0562b94aa56177f0e481cd29e4149f5a531d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 8 09:29:20 2020 +0100

    build: don't remove ModemManager-names.h on 'clean'

    The ModemManager-names.h header file is generated on git builds, and
    shipped within the release tarball, so treat it as a maintainer
    managed file that should only be removed on 'maintainer-clean'.

    This allows us to avoid requiring xsltproc to build release tarballs.

 include/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5df9ddac183d52d71ee5b0c079a32560aa07eb04
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 6 12:14:49 2020 +0100

    filter: simplify CDC_WDM rule to a subsystem-only USBMISC check

    This is not just a rename of the rule, we also now avoid doing an
    explicit check on the port name as well, and we rely on subsystem
    checks only; i.e. the same logic applied for net ports.

    The port candidate rules already do a 'cdc-wdm*' device name check
    so it shouldn't be a big deal.

 docs/reference/api/ModemManager-overview.xml | 16 ++++++++--------
 src/mm-filter.c                              |  9 ++++-----
 src/mm-filter.h                              | 10 +++++-----
 3 files changed, 17 insertions(+), 18 deletions(-)

commit 5265c0bd7c3bc28a0d77c836f691d0b0fca2fa0f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 29 23:41:28 2020 +0100

    modem-helpers-qmi: don't check result when parsing UIM Get Card
    Status Output

    Do it earlier, before running the parser.

 src/mm-broadband-modem-qmi.c | 7 +++----
 src/mm-modem-helpers-qmi.c   | 5 -----
 2 files changed, 3 insertions(+), 9 deletions(-)

commit d7288861a595db7f07b8ecf6bdc30d957b8b6843
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Tue Nov 3 12:36:31 2020 -0800

    mm-kernel-device: Fix cmp to exclude subtypes

    If multiple kernel device types inherit from MMKernerDevice, and those
    are compared against each other, the current logic returns TRUE if the
    G_OBJECT_TYPE of one of them is smaller than the other. This
    function is
    checking for equality, so returning FALSE is enough.

 src/kerneldevice/mm-kernel-device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 30f0824ea1473f5d63a27fa4c8095a5b2858ee2d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 12 13:11:27 2020 +0200

    huawei: apply GETPORTMODE hints to serial ports in order

    The numbers associated to each port mode given by the AT^GETPORTMODE
    response are not USB interface numbers, they are 'port numbers'.
    Moreover, these numbers may start either at 0 or at 1, depending on
    the firmware.

    The only reasonable way to parse this response is to just gather the
    order of all the port modes reported, and apply the modes to each
    serial port found in the system in the same order.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/239

 plugins/huawei/mm-plugin-huawei.c | 139
 +++++++++++++++++---------------------
 1 file changed, 63 insertions(+), 76 deletions(-)

commit 4fdf28bb56ec30c73de35cef270b787afa7ceaa7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 12 09:47:17 2020 +0200

    huawei: new ^GETPORTMODE response parser

 .gitignore                                       |   2 +-
 plugins/Makefile.am                              |  35 ++++++
 plugins/huawei/mm-modem-helpers-huawei.c         |  98 +++++++++++++++
 plugins/huawei/mm-modem-helpers-huawei.h         |  31 ++++-
 plugins/huawei/tests/test-modem-helpers-huawei.c | 147
 +++++++++++++++++++++++
 5 files changed, 311 insertions(+), 2 deletions(-)

commit b2621b4336b5fffd03ce34a85b568910bc373bb2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 11 11:41:43 2020 +0200

    huawei: plugin already processes generic tags

    So don't re-process them in the generic modem when grabbing the port.

 plugins/huawei/mm-plugin-huawei.c |  4 ++++
 src/mm-base-modem.c               |  8 ++++++++
 src/mm-port-serial-at.c           |  2 ++
 src/mm-port-serial-at.h           | 13 ++++++++-----
 4 files changed, 22 insertions(+), 5 deletions(-)

commit 824ad11356f82b5b91d557fa22b88c445ccc777c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 11 11:16:05 2020 +0200

    huawei: don't apply multiple port type hints methods

    We will use one single method to apply port type hints, not a mix of
    them:
      * If AT^GETPORTMODE is supported, prefer its hints over any other
        method.
      * Otherwise, try to guess hints from USB interface descriptions.
      * And if none of the plugin-specific hints are supported, we'll
        default to applying generic port type hints from udev tags.

    Once the hints have been applied by one of the methods above, the
    fallback hint sequences are run:
      * Flag the first cdc-wdm port as primary if no other port has been
        flagged as primary.
      * Flag the USB interface 0 as PPP if no other port type hint has
        been set in any other port.

    The logic applying all these procedures has been refactored so that we
    have separate functions for each, which is much easier to read and
    follow, even if it requires multiple iterations over the port probe
    list.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/238

 plugins/huawei/mm-plugin-huawei.c | 225
 +++++++++++++++++++++++++++++---------
 1 file changed, 172 insertions(+), 53 deletions(-)

commit f21fde38559141e382ad64f8ce048d73c7e197a4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 4 09:45:29 2020 +0100

    cinterion: fix port reference leaks

    The mm_base_modem_get_port_*() returns a full reference, we should use
    the mm_base_modem_peek_port_*() methods instead. Also, refactor a bit
    the logic because both ports are really configured in the same way, so
    just apply the same setup to both.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 27
 ++++++++----------------
 1 file changed, 9 insertions(+), 18 deletions(-)

commit 2d28969df74c687cfc4ea03dee6317874525e313
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 9 14:46:14 2020 +0200

    cinterion: source reorder

    The class object definition should always be last in the file,
    following the interface definitions. The actual method implementations
    should be given before any other type system method (i.e. before even
    the _new() method).

 plugins/cinterion/mm-broadband-modem-cinterion.c | 340
 +++++++++++------------
 1 file changed, 170 insertions(+), 170 deletions(-)

commit 35ecd45b66ff46e24ee99c199cbfc37702796cdd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 9 14:41:59 2020 +0200

    cinterion: load initial EPS bearer cid only once

    There is no need to reload it on every settings update attempt; just
    load it once when the 3GPP interface is initialized, and re-use the
    loaded value on every new update attempt.

 plugins/cinterion/mm-broadband-modem-cinterion.c   | 220
 ++++++++++++---------
 plugins/cinterion/mm-modem-helpers-cinterion.c     |  63 +++---
 plugins/cinterion/mm-modem-helpers-cinterion.h     |  11 +-
 .../cinterion/tests/test-modem-helpers-cinterion.c |  27 ++-
 4 files changed, 176 insertions(+), 145 deletions(-)

commit eb6ec1913f1403e7081f510d3e01e076fcfb9ddd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 9 11:35:23 2020 +0200

    cinterion: fallback to RF on on error right away

    Don't go to next step and then check if we need to jump to the RF on
    step, jump right away.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 42
 ++++++++++--------------
 1 file changed, 18 insertions(+), 24 deletions(-)

commit 7e70911074fbe281ebd27b673666287bac0f222e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 9 11:00:10 2020 +0200

    cinterion: failure to set low power in initial EPS setting is fatal

    Attempting to change the initial EPS bearer settings while in full
    functionality mode shouldn't happen, so make sure we don't attempt to
    do that if going into low power mode fails.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit f280573f6ded8da447f8f3bc934c4d3204a27f1c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 9 10:55:33 2020 +0200

    cinterion: setup SGAUTH response parser as a helper method

 plugins/cinterion/mm-broadband-modem-cinterion.c   | 44
 +++++--------------
 plugins/cinterion/mm-modem-helpers-cinterion.c     | 45
 +++++++++++++++++++
 plugins/cinterion/mm-modem-helpers-cinterion.h     |  9 ++++
 .../cinterion/tests/test-modem-helpers-cinterion.c | 51
 ++++++++++++++++++++++
 4 files changed, 116 insertions(+), 33 deletions(-)

commit eb338c967f613b4de8ef2933d496e1bc0936f037
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 9 10:44:45 2020 +0200

    cinterion: move auth helpers to the helpers sources

 plugins/Makefile.am                               |   1 +
 plugins/cinterion/mm-broadband-bearer-cinterion.c | 118
 +---------------------
 plugins/cinterion/mm-broadband-bearer-cinterion.h |   7 --
 plugins/cinterion/mm-broadband-modem-cinterion.c  |   8 +-
 plugins/cinterion/mm-modem-helpers-cinterion.c    | 111
 ++++++++++++++++++++
 plugins/cinterion/mm-modem-helpers-cinterion.h    |  10 ++
 6 files changed, 130 insertions(+), 125 deletions(-)

commit 9ce496613bada6001a0770f951cc197c2c89084d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 9 10:24:06 2020 +0200

    cinterion: improve logging when loading initial EPS status or settings

 plugins/cinterion/mm-broadband-modem-cinterion.c | 30
 +++++++++++++++++-------
 1 file changed, 21 insertions(+), 9 deletions(-)

commit 411cce677dd03905a771b6d7b3e6050acddd3053
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 8 12:00:45 2020 +0200

    cinterion: refactor the initial EPS related logic

    Multiple changes that shouldn't affect behavior:

     * Avoid reusing the same context and state machine for the set and
       the load operations, because they truly have different behaviors.

     * Setup the common load operation in a separate async method, and
       reuse the common operation for both the runtime state loading and
       the settings configuration loading.

     * Avoid having a "generic step ready" method, and instead provide
       proper ready methods for each step, so that we can give
       comprehensive warning logs when things fail.

     * Use the common CFUN? response parser instead of a custom
       implementation.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 596
 +++++++++++++----------
 1 file changed, 340 insertions(+), 256 deletions(-)

commit ff7c0794f488bc6efbd2e0b6c6fd35dd136517b5
Author: Andrew Lassalle <andrewlassalle@chromium.org>
Date:   Thu Oct 29 16:41:43 2020 -0700

    mm-broadband-modem: Allow hot SIM insertion

    If the QMI modem is initialized without a SIM card in it, and it goes
    to failed state, allow the modem to be reprobed when a SIM card is
    inserted.

 src/mm-broadband-modem.c | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

commit c385031941c9cd1ce07ae2d5b37ded26e4838dae
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 25 22:10:28 2020 +0100

    base-modem: sort port info array by port name

    So that the list of ports shown in the Ports DBus property is also
    alphabetically sorted by port name, instead of having a mess like
    this:

      -----------------------------
      System   |            device: qcom-soc
               |           drivers: bam-dmux
               |            plugin: qcom-soc
               |      primary port: rpmsg0
               |             ports: rmnet5 (net), rmnet_usb0 (unknown),
               rmnet4 (net),
               |                    rpmsg1 (at), rmnet3 (net), rpmsg0
               (qmi), rmnet2 (net), rmnet1 (net),
               |                    rmnet7 (net), rmnet0 (net), rmnet6
               (net)

 src/mm-base-modem.c | 46 ++++++++++++++++++++++++++++------------------
 1 file changed, 28 insertions(+), 18 deletions(-)

commit a174edb74dc81f63932c212483bc9546de12ff95
Author: Stephan Gerhold <stephan@gerhold.net>
Date:   Tue Oct 27 15:05:31 2020 +0100

    api: expose ignored ports as MM_MODEM_PORT_TYPE_IGNORED

    At the moment, ignored ports show up as (unknown) in the ports list
    in mmcli. This makes it look like something went wrong while probing.

    Actually ModemManager already tracks unknown and ignored ports
    separately
    (MM_PORT_TYPE_UNKNOWN vs MM_PORT_TYPE_IGNORED) but the API always
    exposes
    them as MM_MODEM_PORT_TYPE_UNKNOWN.

    Add MM_MODEM_PORT_TYPE_IGNORED and use this for ignored ports so they
    show up as (ignored) instead in mmcli.

 include/ModemManager-enums.h | 2 ++
 src/mm-base-modem.c          | 4 +++-
 2 files changed, 5 insertions(+), 1 deletion(-)

commit fb14d0dbb24a81be95502e098b8ed23e45db8e1c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 29 23:04:08 2020 +0100

    helpers-qmi: 'illegal' card application state is fatal

    No need to retry checking card status when the application state is
    illegal, just treat the SIM card as unusable right away.

      https://forum.sierrawireless.com/t/uim-card-application-state-illegal/21842

 src/mm-modem-helpers-qmi.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 9c1843c38153ff022491d1a5a663d527f4d8ebc2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 29 22:46:52 2020 +0100

    shared-qmi: ignore NoEffect errors on slot switching

    When "UIM Switch Slot" returns a NoEffect error it's because we're
    already in the desired slot, so just treat it as a successful
    operation.

 src/mm-shared-qmi.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit a31d762250edba7bbad34adec051d9cff0279f66
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 25 16:32:23 2020 +0100

    log: ignore fatal flag for logging purposes

    Running with G_DEBUG=fatal-warnings will end up reporting warning logs
    with G_LOG_FLAG_FATAL, which breaks our own logging logic.

 src/mm-log.c | 5 +++++
 1 file changed, 5 insertions(+)

commit ba1d3f944b2a90bf75f0a5e6232dfe6cb34a8eb9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 25 21:36:59 2020 +0100

    libmm-glib,docs: add missing reference to mm_gdbus_sim_set_eid()

    It's a private method, so add it in the Private subsection.

 docs/reference/libmm-glib/libmm-glib-sections.txt | 1 +
 1 file changed, 1 insertion(+)

commit 7d6647968d2ff4acf683375156a94258a55290e3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 21 12:32:24 2020 +0200

    broadband-modem-qmi: minor coding style fix

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8a54baa346c7fe375b2683e2e333104acf648eff
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 19 22:30:37 2020 +0200

    broadband-modem-qmi: fix crash when device removed during init

    If the modem goes away (ports removed) during the initialization
    phase (e.g. while QMI clients are being allocated), the MMPortQmi
    object will be closed and it will lose its internal QmiDevice.

    We should therefore consider the lack of QmiDevice a valid usecase in
    track_qmi_device_removed() and return a GError when that happens.

        #0  0x00007fb544618cc9 in raise () from /lib/libc.so.6
        #1  0x00007fb54461bd68 in abort () from /lib/libc.so.6
        #2  0x00007fb544e2213d in g_assertion_message () from
        /usr/lib/libglib-2.0.so.0
        #3  0x00007fb544e221ba in g_assertion_message_expr () from
        /usr/lib/libglib-2.0.so.0
        #4  0x00000000004be584 in track_qmi_device_removed ()
        #5  0x00000000004be5e3 in allocate_next_client ()
        #6  0x00000000004be7b1 in qmi_port_allocate_client_ready ()
        #7  0x00007fb5453690a3 in g_task_return_now () from
        /usr/lib/libgio-2.0.so.0
        #8  0x00007fb54536967e in g_task_return () from
        /usr/lib/libgio-2.0.so.0
        #9  0x00000000004dd8f8 in allocate_client_ready ()
        #10 0x00007fb5453690a3 in g_task_return_now () from
        /usr/lib/libgio-2.0.so.0
        #11 0x00007fb54536967e in g_task_return () from
        /usr/lib/libgio-2.0.so.0
        #12 0x00007fb54591d4de in allocate_cid_ready () from
        /usr/lib/libqmi-glib.so.5
        ...

 src/mm-broadband-modem-qmi.c | 34 ++++++++++++++++++++++++++--------
 1 file changed, 26 insertions(+), 8 deletions(-)

commit 61739ab934e46c9693e964a20aced349e0f02d51
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Fri Oct 16 12:28:10 2020 -0700

    libmm-glib,mmcli: add mm_sim_get_eid and add EID to mmcli output

    This exposes the new EID property of the SIM object on mmcli.

 cli/mmcli-output.c                                |  1 +
 cli/mmcli-output.h                                |  1 +
 cli/mmcli-sim.c                                   |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt |  2 +
 libmm-glib/mm-sim.c                               | 46
 +++++++++++++++++++++++
 libmm-glib/mm-sim.h                               |  3 ++
 6 files changed, 54 insertions(+)

commit e24a8240cb957c1875f2f3eab14aa5005c3b8f40
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Fri Jun 12 15:18:28 2020 -0700

    mm-shared-qmi: load EID during SIM slot loading

    SIMs can be created with an EID fetched during load_sim_slots
    while initializing the modem, if present.

    Since load_eid would be implemented with the same mechanism
    we avoid using it here (if Get Slot Status fails once, it
    probably doesn't make a lot of sense to try it again).

 src/mm-base-sim.c          |  2 ++
 src/mm-base-sim.h          |  1 +
 src/mm-modem-helpers-qmi.c | 14 ++++++++++++++
 src/mm-modem-helpers-qmi.h |  4 ++++
 src/mm-shared-qmi.c        | 43
 +++++++++++++++++++++++++++++++++++++------
 src/mm-sim-qmi.c           |  2 ++
 src/mm-sim-qmi.h           |  1 +
 7 files changed, 61 insertions(+), 6 deletions(-)

commit 9fca0467801d41598666dd63e9394ed806c5a399
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Fri Jun 12 15:16:50 2020 -0700

    mm-base-sim: add EID D-Bus property

    This provides a new D-Bus property on the Sim object that
    exposes the EID of the SIM, if available.

 docs/reference/libmm-glib/libmm-glib-sections.txt   |  2 ++
 introspection/org.freedesktop.ModemManager1.Sim.xml |  7 +++++++
 src/mm-base-sim.c                                   | 19
 +++++++++++++++++++
 src/mm-base-sim.h                                   |  8 ++++++++
 4 files changed, 36 insertions(+)

commit 1ed9f7e94e5948f408d1d09ad8c219a594669066
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 19 22:11:02 2020 +0200

    broadband-modem-qmi: minor coding style fixes

 src/mm-broadband-modem-qmi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 1800983b6c77b495a97eb4335541561456abfed5
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Fri Oct 16 11:22:37 2020 -0700

    mm-modem-helpers: add low_nybble_first argument to mm_bcd_to_string

    All BCD-encoded strings used by MM currently have the low nybble
    of each byte come before the high nybble, but some strings (such
    as the EID string returned by QMI Get Slot Status) are meant to
    be read in order with the high nybble before the low one. As such,
    extend mm_bcd_to_string to decode both.

 src/mm-modem-helpers.c         |  9 ++++++---
 src/mm-modem-helpers.h         |  4 +++-
 src/mm-shared-qmi.c            |  9 ++++++---
 src/mm-sim-qmi.c               |  6 ++++--
 src/tests/test-modem-helpers.c | 35 ++++++++++++++++++++++-------------
 5 files changed, 41 insertions(+), 22 deletions(-)

commit f013e94ff89680d1acd7dba12ff4a6a0fa7b58bf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 14 14:40:00 2020 +0200

    xmm: fix missing GError initialization

 plugins/xmm/mm-shared-xmm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 3b6176cbe2bc64bbf19fa0378b1c65b646bb6d13
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 14 14:38:52 2020 +0200

    simtech: fix missing GError initialization

 plugins/simtech/mm-shared-simtech.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 50c1550c9f808ddd080f7992bf2d7f4dfae6e0ec
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 14 14:38:40 2020 +0200

    cinterion: fix missing GError initialization

 plugins/cinterion/mm-shared-cinterion.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit df9cb4a8f6f0abaad8052e36c10874bfbea2ac76
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 10 14:38:24 2020 +0200

    iface-modem-location: log old and new 3GPP location ids when updating

 src/mm-iface-modem-location.c | 74
 ++++++++++++++++++++++++++++---------------
 1 file changed, 49 insertions(+), 25 deletions(-)

commit 135d484501dbf641b51b02033377871100323049
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Oct 9 12:50:49 2020 +0200

    iface-modem-location: allow Cell ID only updates

    The "Serving System" indications reported via QMI when the device is
    moving may contain LAC/TAC+CID updates or just CID updates.

    E.g. this one has "CID 3GPP" (0x1e):

      Mon Aug  3 11:22:42 2020 daemon.debug [1567]: [/dev/cdc-wdm0]
      received
      generic indication (translated)... <<<<<< QMUX: <<<<<<   length
      = 33
      <<<<<<   flags   = 0x80 <<<<<<   service = "nas" <<<<<<   client
      = 3
      <<<<<< QMI: <<<<<<   flags       = "indication" <<<<<<
      transaction =
      4512 <<<<<<   tlv_length  = 21 <<<<<<   message     = "Serving
      System"
      (0x0024) <<<<<< TLV: <<<<<<   type       = "Serving System" (0x01)
      <<<<<<   length     = 6 <<<<<<   value      = 01:01:01:02:01:08
      <<<<<<
        translated = [ registration_state = 'registered' cs_attach_state =
      'attached' ps_attach_state = 'attached' selected_network = '3gpp'
      radio_interfaces = '{ [0] = 'lte '}' ] <<<<<< TLV: <<<<<<   type
      = "Data Service Capability" (0x11) <<<<<<   length     = 2 <<<<<<
      value      = 01:0B <<<<<<   translated = { [0] = 'lte '} <<<<<< TLV:
      <<<<<<   type       = "CID 3GPP" (0x1e) <<<<<<   length     =
      4 <<<<<<
        value      = 14:C2:A8:00 <<<<<<   translated = 11059732

    And this one has both "CID 3GPP" (0x1e) and "LTE TAC" (0x25):

      Mon Aug  3 11:23:05 2020 daemon.debug [1567]: [/dev/cdc-wdm0]
      received
      generic indication (translated)... <<<<<< QMUX: <<<<<<   length
      = 38
      <<<<<<   flags   = 0x80 <<<<<<   service = "nas" <<<<<<   client
      = 3
      <<<<<< QMI: <<<<<<   flags       = "indication" <<<<<<
      transaction =
      4513 <<<<<<   tlv_length  = 26 <<<<<<   message     = "Serving
      System"
      (0x0024) <<<<<< TLV: <<<<<<   type       = "Serving System" (0x01)
      <<<<<<   length     = 6 <<<<<<   value      = 01:01:01:02:01:08
      <<<<<<
        translated = [ registration_state = 'registered' cs_attach_state =
      'attached' ps_attach_state = 'attached' selected_network = '3gpp'
      radio_interfaces = '{ [0] = 'lte '}' ] <<<<<< TLV: <<<<<<   type
      = "Data Service Capability" (0x11) <<<<<<   length     = 2 <<<<<<
      value      = 01:0B <<<<<<   translated = { [0] = 'lte '} <<<<<< TLV:
      <<<<<<   type       = "CID 3GPP" (0x1e) <<<<<<   length     =
      4 <<<<<<
        value      = 32:36:BC:00 <<<<<<   translated = 12334642 <<<<<<
        TLV:
      <<<<<<   type       = "LTE TAC" (0x25) <<<<<<   length     = 2 <<<

    We should therefore allow changes only in the CID, maintaining
    whatever LAC/TAC value we had before.

 src/mm-broadband-modem-qmi.c  |  2 +-
 src/mm-iface-modem-3gpp.c     |  8 ++++----
 src/mm-iface-modem-location.c | 26 ++++++++++++++++++++------
 3 files changed, 25 insertions(+), 11 deletions(-)

commit c6f38ecac3ed2ac783dbab706c5e155ba7409747
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 10 15:08:29 2020 +0200

    iface-modem-3gpp: print consolidated reg state info only when updating

 src/mm-iface-modem-3gpp.c | 86
 +++++++++++++++++++----------------------------
 1 file changed, 34 insertions(+), 52 deletions(-)

commit 408a3d58c2629fa197ddeadc65b5a5789195e810
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Thu Jun 25 11:31:18 2020 -0700

    mm-bearer-qmi: remove default_ip_family_set check

    According to QC, we should set the IP family in both the
    Set IP Family and Start Network messages. After removing this
    check the member is never read, only written; this means it's
    effectively dead and can be removed.

 src/mm-bearer-qmi.c | 15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)

commit b0c212635d3fe4ec0bd4257d4554d6cf3767fb29
Author: Pavan Holla <pholla@chromium.org>
Date:   Wed Oct 7 22:33:27 2020 +0000

    broadband-modem: Disconnect bearers during disable

    Fixes a bug introduced in commit 7e386389, which caused user requested
    disable operations to go to step
    DISABLING_STEP_FIRST_AFTER_ENABLE_FAILED. For user requested disable,
    the first step should be DISABLING_STEP_FIRST.

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 075bcb74f30d18985e1ada82312fe58215f82040
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Thu Oct 1 13:19:28 2020 +0200

    port-qmi: increase qmi_device_open retries

    Telit FN980 requires more time for becoming responsive to
    qmi requests after device appearance.

 src/mm-port-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit dcf188d2ef27a17afc0b3447c5c464286e7d250b
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Tue Sep 29 22:43:55 2020 +0200

    telit: add tag ID_MM_TELIT_PORT_DELAY for initial delay mechanism

 plugins/telit/77-mm-telit-port-types.rules | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit f6c4e3369a29c1f1bf14325be5a362a3ba29a71c
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Tue Sep 29 16:03:55 2020 +0200

    telit: add initial delay for AT ports to become responsive

    Add a polling mechanism for port responsiveness, since some modem
    families require some time before being usable after the serial
    ports have been exposed by the kernel.

 plugins/telit/mm-common-telit.c | 82
 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 81 insertions(+), 1 deletion(-)

commit 71cd727425d66bb5f7854cde2d4c033e73cbba97
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Tue Sep 29 22:37:00 2020 +0200

    telit: add FN980 and LM9x0 MBIM compositions rules

 plugins/telit/77-mm-telit-port-types.rules | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

commit ed8cf8d04c38495526a2958ee9454adca2d2a67d
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Tue Sep 29 10:16:22 2020 +0200

    telit: fix LM9x0 udev rules

 plugins/telit/77-mm-telit-port-types.rules | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit bab0f44e74031896b9fd4c3a0390285d838aaa07
Author: Pavan Holla <pholla@chromium.org>
Date:   Wed Sep 30 20:44:48 2020 +0000

    broadband-modem-qmi: Report FIXED_DIALING lock correctly

    Querying facility locks should return a FIXED_DIALING lock if
    PIN2 lock
    is enabled.

 src/mm-broadband-modem-qmi.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

commit 74ab15d3239b62c53a0eecfac5a0488b6731bb71
Author: Pavan Holla <pholla@chromium.org>
Date:   Wed Sep 30 20:29:36 2020 +0000

    broadband-modem-qmi: Return error if get_pin_status fails

    Prior to this CL, failure to get pin status while probing facility
    locks
    would not flag an error. Failure to read a pin lock is a critical
    error
    and we return it to higher layers.

 src/mm-broadband-modem-qmi.c | 51
 +++++++++++++++++++++++---------------------
 1 file changed, 27 insertions(+), 24 deletions(-)

commit aa4dce2afc804d6ba4670392919dd12dbc62a162
Author: Pavan Holla <pholla@chromium.org>
Date:   Mon Sep 28 20:38:24 2020 +0000

    broadband-modem-qmi: Use UIM service for querying facility locks

    DMS_UIM messages have been deprecated, and have been replaced by
    equivalent UIM messages. Use UIM_GET_CARD_STATUS while querying
    for facility
    locks if dms_uim messages were found to be deprecated.

 src/mm-broadband-modem-qmi.c | 109
 ++++++++++++++++++++++++++++++++++++++-----
 src/mm-modem-helpers-qmi.c   |   8 +++-
 src/mm-modem-helpers-qmi.h   |   2 +
 src/mm-sim-qmi.c             |   2 +-
 4 files changed, 108 insertions(+), 13 deletions(-)

commit 72d8bae65b74000c7c6f24e5a6ccb303e3c67b30
Author: wicadmin <west.indian.cricket@gmail.com>
Date:   Tue Sep 29 08:58:08 2020 +0000

    ci: create release tarball and hash as build artifacts

 .gitlab-ci.yml | 7 +++++++
 1 file changed, 7 insertions(+)

commit 2494645448a1bedc8c4d254a72f25447ee983cc3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 18 12:37:06 2020 +0200

    shared-qmi: cleanup UIM client if SIM hot swap setup fails

    The cleanup was missing in one of the steps.

 src/mm-shared-qmi.c | 1 +
 1 file changed, 1 insertion(+)

commit f3619f99f5538056d186cbb5cd7182c2f95c519a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 18 12:36:07 2020 +0200

    shared-qmi: minor style changes in SIM hot swap logic

 src/mm-shared-qmi.c | 198
 +++++++++++++++++++++++++---------------------------
 1 file changed, 94 insertions(+), 104 deletions(-)

commit e4308a529e1b05b772a0fbbf7296c7132e9e8a9e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 18 12:03:07 2020 +0200

    quectel: setup parent SIM hot swap in addition to +QUSIM

    So that e.g. in QMI-based devices we have both things, not just one.

 plugins/quectel/mm-broadband-modem-qmi-quectel.c | 14 +++++++--
 plugins/quectel/mm-broadband-modem-quectel.c     | 14 +++++++--
 plugins/quectel/mm-shared-quectel.c              | 40
 ++++++++++++++++++++++--
 plugins/quectel/mm-shared-quectel.h              |  3 +-
 4 files changed, 64 insertions(+), 7 deletions(-)

commit a2eb80e1709766cb92024481d3ffc3533acd4ecf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 18 11:49:52 2020 +0200

    broadband-modem-mbim: also setup SIM hot swap with QMI over MBIM

    On QMI-capable MBIM devices, also setup the SIM hot swap logic using
    QMI over MBIM, so that profile changes are detected.

 src/mm-broadband-modem-mbim.c | 70
 ++++++++++++++++++++++++++++++++++++-------
 1 file changed, 59 insertions(+), 11 deletions(-)

commit 18b33e2e4a971460a983d3680e69954baab3735e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 18 11:27:32 2020 +0200

    broadband-modem-mbim: don't cleanup subscriber info on disable

    The SIM hot swap setup is run during initialization and if it succeeds
    it must be available throughout the whole execution of this modem
    object.

    So, do not cleanup the SUBSCRIBER_INFO flag on 3GPP interface disable,
    which is completely unrelated to the SIM hot swap setup logic.

 src/mm-broadband-modem-mbim.c | 7 -------
 1 file changed, 7 deletions(-)

commit 20176767ad9224884790f0d5ad04a70a49731a9f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 18 11:26:03 2020 +0200

    broadband-modem-mbim: cleanup the subscriber info setup if enabling
    fails

    If enabling the subscriber info notifications fails, we should no
    longer have the setup for those notifications, so make sure it's
    cleaned up on error.

 src/mm-broadband-modem-mbim.c | 67
 ++++++++++++++++++++++++-------------------
 1 file changed, 38 insertions(+), 29 deletions(-)

commit 5285720c486762ffb40e0c561bafc29ea3678f98
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Tue Sep 8 13:46:48 2020 +0300

    shared-qmi: implement SIM/profile change detection

    Implement eUICC change detection for QMI based modems using one of the
    following mechanisms (in order of preference):

    1. If the modem supports "get slot status" operation, we monitor
       physical slot status indications from the modem for the active
       slot to detect when ICCID changes.
    2. Use "refresh register all" to subscribe refresh indications when
       the eUICC triggers REFRESH operation following the enablement of
       a new profile.
    3. Use "refresh register" to subscribe refresh indications (file
       path of EF_ICCID is used) in a similar way. This is used with
       older modems that do not support "refresh register all".

    If ICCID change is detected, the already existing SIM hot swap
    mechanism in MM is triggered.

 src/mm-broadband-modem-qmi.c |   2 +
 src/mm-shared-qmi.c          | 464
 +++++++++++++++++++++++++++++++++++++++++++
 src/mm-shared-qmi.h          |   6 +
 3 files changed, 472 insertions(+)

commit 0880bf3f9aa97ef6e2e4c5040f36d1d4411cb72b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 28 11:57:55 2020 +0200

    Revert "shared-qmi: implement SIM/profile change detection"

    This reverts commit e91f2ef315526a1a8a1b451acb5a190686b05225.

    This was wrongly merged squashing multiple commits together. Reverting
    to merge separate commits.

 plugins/quectel/mm-broadband-modem-qmi-quectel.c |  14 +-
 plugins/quectel/mm-broadband-modem-quectel.c     |  14 +-
 plugins/quectel/mm-shared-quectel.c              |  40 +-
 plugins/quectel/mm-shared-quectel.h              |   3 +-
 src/mm-broadband-modem-mbim.c                    | 136 +++----
 src/mm-broadband-modem-qmi.c                     |   2 -
 src/mm-shared-qmi.c                              | 455
 -----------------------
 src/mm-shared-qmi.h                              |   6 -
 8 files changed, 50 insertions(+), 620 deletions(-)

commit e91f2ef315526a1a8a1b451acb5a190686b05225
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Mon Sep 28 09:29:09 2020 +0000

    shared-qmi: implement SIM/profile change detection

    Implement eUICC change detection for QMI based modems using one of the
    following mechanisms (in order of preference):

    1. If the modem supports "get slot status" operation, we monitor
       physical slot status indications from the modem for the active
       slot to detect when ICCID changes.
    2. Use "refresh register all" to subscribe refresh indications when
       the eUICC triggers REFRESH operation following the enablement of
       a new profile.
    3. Use "refresh register" to subscribe refresh indications (file
       path of EF_ICCID is used) in a similar way. This is used with
       older modems that do not support "refresh register all".

    If ICCID change is detected, the already existing SIM hot swap
    mechanism in MM is triggered.

 plugins/quectel/mm-broadband-modem-qmi-quectel.c |  14 +-
 plugins/quectel/mm-broadband-modem-quectel.c     |  14 +-
 plugins/quectel/mm-shared-quectel.c              |  40 +-
 plugins/quectel/mm-shared-quectel.h              |   3 +-
 src/mm-broadband-modem-mbim.c                    | 136 ++++---
 src/mm-broadband-modem-qmi.c                     |   2 +
 src/mm-shared-qmi.c                              | 455
 +++++++++++++++++++++++
 src/mm-shared-qmi.h                              |   6 +
 8 files changed, 620 insertions(+), 50 deletions(-)

commit 318b2b01e340936e3f3b8d443f89acc432b85190
Author: Dušan Kazik <prescott66@gmail.com>
Date:   Fri Sep 18 05:36:07 2020 +0000

    po: slovak translation update

 po/sk.po | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

commit 9397ed420d8d3e9e16c1b04c9866063798f0a975
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 18 10:52:06 2020 +0200

    gosuncn: new plugin

    For now, just with port type hints for the GM800 in MBIM mode.

 .gitlab-ci.yml                                 |   2 +-
 configure.ac                                   |   2 +
 plugins/Makefile.am                            |  23 +++++
 plugins/README.txt                             |   5 ++
 plugins/gosuncn/77-mm-gosuncn-port-types.rules |  17 ++++
 plugins/gosuncn/mm-plugin-gosuncn.c            | 113
 +++++++++++++++++++++++++
 plugins/gosuncn/mm-plugin-gosuncn.h            |  40 +++++++++
 plugins/tests/test-udev-rules.c                |  11 +++
 8 files changed, 212 insertions(+), 1 deletion(-)

commit 8e8c794815fe1ef079101ce2eff5af43ee48b0f1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 25 09:27:15 2020 +0200

    samsung: fix typo in plugin name

 plugins/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4e0f849bb98b535a9d48795ef85174727d9636da
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Sep 19 18:38:04 2020 +0200

    iface-modem-messaging: if sms list doesn't exist, free part

    If the device goes away while we are listing SMS messages, it may
    happen that we ask the messaging interface to take a part and the
    sms list object has already been disposed. Make sure the part is freed
    in that case, so that we avoid memory leaks.

      ==19138== 6,914 (1,232 direct, 5,682 indirect) bytes in 11 blocks
      are definitely lost in loss record 5,282 of 5,287
      ==19138==    at 0x483A77F: malloc (vg_replace_malloc.c:307)
      ==19138==    by 0x5023349: g_malloc (in
      /usr/lib/libglib-2.0.so.0.6600.0)
      ==19138==    by 0x50446FF: g_slice_alloc (in
      /usr/lib/libglib-2.0.so.0.6600.0)
      ==19138==    by 0x5044D6A: g_slice_alloc0 (in
      /usr/lib/libglib-2.0.so.0.6600.0)
      ==19138==    by 0x2577FC: mm_sms_part_new (mm-sms-part.c:180)
      ==19138==    by 0x2504D0: mm_sms_part_3gpp_new_from_binary_pdu
      (mm-sms-part-3gpp.c:385)
      ==19138==    by 0x21A15C: add_sms_part
      (mm-broadband-modem-mbim.c:5169)
      ==19138==    by 0x21A31F: sms_read_query_ready
      (mm-broadband-modem-mbim.c:5215)
      ==19138==    by 0x4E600F3: ??? (in /usr/lib/libgio-2.0.so.0.6600.0)
      ==19138==    by 0x4E64638: ??? (in /usr/lib/libgio-2.0.so.0.6600.0)
      ==19138==    by 0x4D3870D: transaction_task_complete_and_free
      (mbim-device.c:236)
      ==19138==    by 0x4D396B9: process_message (mbim-device.c:616)

 src/mm-iface-modem-messaging.c | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)

commit 00949c4ad34326722f6044a39aff8e1a33da6f18
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Sep 19 20:26:43 2020 +0200

    core: add autoptr cleanup methods to all internal types

 src/kerneldevice/mm-kernel-device-generic.h | 4 +++-
 src/kerneldevice/mm-kernel-device-udev.h    | 4 +++-
 src/kerneldevice/mm-kernel-device.h         | 1 +
 src/mm-base-bearer.h                        | 1 +
 src/mm-base-call.h                          | 1 +
 src/mm-base-manager.h                       | 1 +
 src/mm-base-modem.h                         | 1 +
 src/mm-base-sim.h                           | 1 +
 src/mm-base-sms.h                           | 1 +
 src/mm-bearer-list.h                        | 1 +
 src/mm-bearer-mbim.h                        | 1 +
 src/mm-bearer-qmi.h                         | 1 +
 src/mm-broadband-bearer.h                   | 1 +
 src/mm-broadband-modem-mbim.h               | 1 +
 src/mm-broadband-modem-qmi.h                | 1 +
 src/mm-broadband-modem.h                    | 1 +
 src/mm-call-list.h                          | 1 +
 src/mm-device.h                             | 1 +
 src/mm-filter.h                             | 1 +
 src/mm-iface-modem-3gpp-ussd.h              | 1 +
 src/mm-iface-modem-3gpp.h                   | 1 +
 src/mm-iface-modem-cdma.h                   | 1 +
 src/mm-iface-modem-firmware.h               | 1 +
 src/mm-iface-modem-location.h               | 1 +
 src/mm-iface-modem-messaging.h              | 1 +
 src/mm-iface-modem-oma.h                    | 1 +
 src/mm-iface-modem-signal.h                 | 1 +
 src/mm-iface-modem-simple.h                 | 1 +
 src/mm-iface-modem-time.h                   | 1 +
 src/mm-iface-modem-voice.h                  | 1 +
 src/mm-iface-modem.h                        | 1 +
 src/mm-plugin-manager.h                     | 4 +++-
 src/mm-plugin.h                             | 1 +
 src/mm-port-mbim.h                          | 1 +
 src/mm-port-probe.h                         | 1 +
 src/mm-port-qmi.h                           | 1 +
 src/mm-port-serial-at.h                     | 1 +
 src/mm-port-serial-gps.h                    | 1 +
 src/mm-port-serial-qcdm.h                   | 1 +
 src/mm-port-serial.h                        | 1 +
 src/mm-port.h                               | 1 +
 src/mm-shared-qmi.h                         | 1 +
 src/mm-sim-mbim.h                           | 1 +
 src/mm-sim-qmi.h                            | 1 +
 src/mm-sms-list.h                           | 1 +
 src/mm-sms-mbim.h                           | 1 +
 src/mm-sms-part.h                           | 2 ++
 src/mm-sms-qmi.h                            | 1 +
 48 files changed, 55 insertions(+), 3 deletions(-)

commit 19ddfa18bbbce29315429436f461696d50b752b3
Author: Anders Jonsson <anders.jonsson@norsjovallen.se>
Date:   Sat Sep 19 00:05:53 2020 +0200

    po: Update Swedish translation

 po/sv.po | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

commit 856ea932678e62ffccd9f1cf53e8671324efd569
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 18 10:32:02 2020 +0200

    po: use package bugreport as MSGID_BUGS_ADDRESS

 po/Makevars | 2 +-
 po/cs.po    | 5 +++--
 po/da.po    | 5 +++--
 po/de.po    | 5 +++--
 po/fr.po    | 5 +++--
 po/fur.po   | 5 +++--
 po/hu.po    | 5 +++--
 po/id.po    | 5 +++--
 po/it.po    | 5 +++--
 po/lt.po    | 5 +++--
 po/pl.po    | 5 +++--
 po/pt_BR.po | 5 +++--
 po/ru.po    | 5 +++--
 po/sk.po    | 5 +++--
 po/sv.po    | 5 +++--
 po/tr.po    | 5 +++--
 po/uk.po    | 5 +++--
 po/zh_CN.po | 5 +++--
 18 files changed, 52 insertions(+), 35 deletions(-)

commit 6a3b7bdf95bbdb4b6bf75ea331abc1f885f802dc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 18 10:31:32 2020 +0200

    build: set package bugreport to the gitlab issues URL

 configure.ac | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 7f39c16c8c0c0e0597640deb3b6912bd8043e017
Author: Jessy Diamond Exum <jessy.exum@meraki.net>
Date:   Wed Aug 26 13:52:04 2020 -0700

    cinterion: Add SIM hot swap to AT broadband modems (PLS8 & PLAS9).

    Enable the SCKS Unsolicited Result Code (URC) to detect SIM hot
    swap, and trigger SIM redetection.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 120
 +++++++++++++++++++++++
 1 file changed, 120 insertions(+)

commit b1679b58939fc2563b827d478ac0eea937fd16c8
Author: Jessy Diamond Exum <jessy.exum@meraki.net>
Date:   Wed Aug 26 13:52:04 2020 -0700

    cinterion: Configure the PLAS9 to correctly send Unsolicited Result
    Codes.

    The PLS8 and PLAS9 modems (and likely many others modems supported by
    this driver) have two AT capable serial ports: The 'MODEM' AT port
    (default for PPP) and the 'APPLICATION' AT port (used for general
    control).

    The PLS8 modem sends URCs to the APPLICATION port by default, while he
    PLAS9 defaults sending URCs to the MODEM port. To get URCs to behave
    on both modems, it is necessary to explicitly set the URC reporting
    port to APPLICATION.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 29
 ++++++++++++++++++++----
 1 file changed, 24 insertions(+), 5 deletions(-)

commit af5c242e9234a7061ec0d6624e3712153c7c2c6b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 11 10:21:03 2020 +0200

    iface-modem: don't reconfigure sim hot swap context on SIM PIN unlock

    If we had already successfully run the sim hot swap context setup
    during the initial initialization, make sure we don't re-run on SIM
    PIN unlock, because we may be re-creating signal handlers and such.

 src/mm-iface-modem.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

commit ab4160afa676404859d4e9fdb751217cbff8a0bb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 11 10:15:50 2020 +0200

    quectel: minor refactor in the sim hot swap setup logic

 plugins/quectel/mm-shared-quectel.c | 81
 ++++++++++++++++++-------------------
 1 file changed, 39 insertions(+), 42 deletions(-)

commit 06148aba480a3a336092b5675483e9d6268c50d6
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Tue Sep 8 09:52:31 2020 +0000

    iface-modem: add mm_iface_modem_check_for_sim_swap function

    The function shall be needed for profile switch checking.

 src/mm-iface-modem.c | 76
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h | 10 +++++++
 2 files changed, 86 insertions(+)

commit 958ca74391481616db41cd412a9e12556dd21971
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 7 10:55:02 2020 +0200

    bearer-mbim: avoid attempting to load deactivated IP types

    If we're asking for IPv4v6 and we get IPv4-only connected, we
    shouldn't attempt to provide IPv6 addressing details in the bearer
    object, because we would fallback to say DHCP is needed if we were not
    able to load any IPv6 details from the modem.

    This is, instead of provinding both IPv4 and IPv6 details:
      ------------------------------------
      Properties         |            apn: internet
                         |        roaming: allowed
                         |        ip type: ipv4v6
                         |   allowed-auth: none, pap, chap, mschap,
                         mschapv2, eap
      ------------------------------------
      IPv4 configuration |         method: static
                         |        address: 10.182.100.233
                         |         prefix: 24
                         |        gateway: 10.182.100.1
                         |            dns: 80.58.61.250, 80.58.61.254
      ------------------------------------
      IPv6 configuration |         method: dhcp
                         |         prefix: 0

    We should report only IPv4 details:
      ----------------------------------
      Properties         |          apn: internet
                         |      roaming: allowed
                         |      ip type: ipv4v6
                         | allowed-auth: none, pap, chap, mschap,
                         mschapv2, eap
      ----------------------------------
      IPv4 configuration |       method: static
                         |      address: 10.182.100.233
                         |       prefix: 24
                         |      gateway: 10.182.100.1
                         |          dns: 80.58.61.250, 80.58.61.254

 src/mm-bearer-mbim.c | 5 +++++
 1 file changed, 5 insertions(+)

commit f8eeab21213e4ec487ce3f91b0ca09f11e52cec0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 7 10:46:38 2020 +0200

    bearer-mbim: don't fail IPv4 connection if IPv4v6 was requested

    If we ask for IPv4v6 is requested but the network only grants IPv4, we
    end up receiving the 'Connect Set' response with nw_error set to
    'pdp-type-ipv4-only-allowed'. In this case, we should still succeed
    the connection attempt and only report the IPv4 info.

    We therefore change the logic to skip processing the nw_error unless
    the activation state is reported as ACTIVATED or ACTIVATING.

 src/mm-bearer-mbim.c | 37 ++++++++++++++++++++++---------------
 1 file changed, 22 insertions(+), 15 deletions(-)

commit e52ad1cc88601b2da1946678a2743465362d88c6
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Mon Sep 7 15:18:52 2020 +0300

    iface-modem: add an optional iccid parameter to check_for_sim_swap

    If the new iccid is already available, reading the iccid from the
    card can be skipped.

 plugins/quectel/mm-shared-quectel.c |  1 +
 src/mm-broadband-modem.c            | 23 ++++++++++++++++++++++-
 src/mm-iface-modem.c                |  1 +
 src/mm-iface-modem.h                |  1 +
 4 files changed, 25 insertions(+), 1 deletion(-)

commit 49b4e6a6ff1104393edb53a812f4a23d32f04ff1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 16 14:07:58 2020 +0200

    quectel: prefer +CTZU=3 to +CTZU=1 if supported

    Some quectel modems, like the EC25, require +CTZU=3 in order to have
    CCLK? report localtime instead of UTC time.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/233

 plugins/quectel/mm-shared-quectel.c | 116
 +++++++++++++++++++++++++++++++-----
 1 file changed, 101 insertions(+), 15 deletions(-)

commit e65175234b769cbf68f04e989948a428552c6740
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 16 11:07:20 2020 +0200

    quectel: new custom +CTZU=? parser

    Some quectel devices, like the EC25 have a non-standard additional '3'
    mode value:

      0: Disable automatic time zone update via NITZ
      1: Enable automatic time zone update via NITZ
      3: Enable automatic time zone update via NITZ and update LOCAL
      time to RTC

 plugins/Makefile.am                                | 23 ++++++
 plugins/quectel/mm-modem-helpers-quectel.c         | 91
 +++++++++++++++++++++
 plugins/quectel/mm-modem-helpers-quectel.h         | 32 ++++++++
 plugins/quectel/tests/test-modem-helpers-quectel.c | 93
 ++++++++++++++++++++++
 4 files changed, 239 insertions(+)

commit 42288fc2a10b5e1740d86ebe6249e21a2337d3bc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 28 18:45:59 2020 +0200

    simtech: add SIM7070/SIM7080/SIM7090 port type hints

    These modules have 2 different USB layouts:

    The default layout with PID 0x9205 (AT+CUSBSELNV=1) exposes 4 TTYs and
    an ECM interface:

      T:  Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#=  6 Spd=480 MxCh= 0
      D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=1e0e ProdID=9205 Rev=00.00
      S:  Manufacturer=SimTech, Incorporated
      S:  Product=SimTech SIM7080
      S:  SerialNumber=1234567890ABCDEF
      C:  #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr=500mA
      I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x4 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00
      Driver=cdc_ether
      I:  If#=0x5 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00
      Driver=cdc_ether

    The purpose of each TTY is as follows:
     * ttyUSB0: DIAG/QCDM port.
     * ttyUSB1: GNSS data.
     * ttyUSB2: AT-capable port (control).
     * ttyUSB3: AT-capable port (data).

    In the secondary layout with PID=0x9206 (AT+CUSBSELNV=86) the module
    exposes 6 TTY ports:

      T:  Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#=  8 Spd=480 MxCh= 0
      D:  Ver= 2.00 Cls=02(commc) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
      P:  Vendor=1e0e ProdID=9206 Rev=00.00
      S:  Manufacturer=SimTech, Incorporated
      S:  Product=SimTech SIM7080
      S:  SerialNumber=1234567890ABCDEF
      C:  #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr=500mA
      I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option

    The purpose of each TTY is as follows:
     * ttyUSB0: DIAG/QCDM port.
     * ttyUSB1: GNSS data.
     * ttyUSB2: AT-capable port (control).
     * ttyUSB3: QFLOG interface.
     * ttyUSB4: DAM interface.
     * ttyUSB5: AT-capable port (data).

 plugins/simtech/77-mm-simtech-port-types.rules | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit ddb5b0bb579ccd8783467afd0a569395bbb08a38
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:07 2020 +0200

    libmm-glib,docs: add index for 1.16

 docs/reference/libmm-glib/libmm-glib-docs.xml | 4 ++++
 1 file changed, 4 insertions(+)

commit e4fd17d8c30c5bacc5eedb8c48db7317089bbcef
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 10:00:37 2020 +0200

    shared-qmi: implement SIM slot switching

    Using the 'UIM switch slot' operation, this commit introduces the
    ability to change which SIM slot to be active at any given time in a
    Multi-SIM Single-Standby setup.

    There is no validation done on whether the selected SIM slot has a
    valid SIM card inserted or not; if the user selects a slot without any
    SIM card, the newly probed modem object will start in Failed state
    right away.

 src/mm-broadband-modem-mbim.c |   2 +
 src/mm-broadband-modem-qmi.c  |   2 +
 src/mm-shared-qmi.c           | 127
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-shared-qmi.h           |   8 +++
 4 files changed, 139 insertions(+)

commit 7c76450c15555204d14a8ce0550dc2c639d288b3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:54 2020 +0200

    shared-qmi: implement SIM slots loading during initialization

    This commit introduces Multi-SIM Single-Standby support in all QMI
    capable devices that support multiple SIM slots.

    The 'UIM Get Slot Status' method is used to list all available
    physical slots as well as the availability of SIM cards in the
    different slots. This method also provides UICC already, so the SIM
    objects are created early and exposed early in DBus.

    Once all slots are listed, the logic will briefly make each of the
    available SIM cards active in order to read additional settings like
    IMSI, MCCMNC or the Operator name. This brief switching is required
    because in a Single-Standby setup only one SIM can be active at any
    given time.

    The last slot to probe is always the one that was active originally,
    making sure that the modem initialization logic can go on with the
    correct SIM slot.

 src/mm-broadband-modem-mbim.c |   4 +
 src/mm-broadband-modem-qmi.c  |   2 +
 src/mm-shared-qmi.c           | 312
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-shared-qmi.h           |   9 +-
 4 files changed, 326 insertions(+), 1 deletion(-)

commit 48ca1aea3c12262307c2ce13fbdedb1d91c640c6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:50 2020 +0200

    sim-qmi: implement explicit wait for SIM readiness

    During the base SIM initialization process, where we ask the modem for
    the properties of the currently primary active SIM, we need to make
    sure that the SIM is ready before attempting to query this
    information.

    This explicit wait is required when loading properties for non
    active SIMs during the short period of time when they're made active.

 src/mm-sim-qmi.c | 128
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 128 insertions(+)

commit b564d5f2e508537dc5b10fd5fe20497113226526
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:47 2020 +0200

    sim-qmi: allow creating preinitialized SIM objects

    The default SIM creation method will attempt to initialize the SIM
    properties during the object creation.

    This new method allows creating SIM objects with already known
    property values, and therefore not explicitly running the
    asynchronous initialization process.

    Completely equivalent to mm_base_sim_new_initialized() but creating a
    subclassed MMSimQmi instead of the generic MMBaseSim.

 src/mm-sim-qmi.c | 31 +++++++++++++++++++++++++++++++
 src/mm-sim-qmi.h | 10 ++++++++++
 2 files changed, 41 insertions(+)

commit 89b6e811b984f2f9f6e0eea652246a58e3200c8f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:43 2020 +0200

    helpers-qmi: fix detection of primary active SIM status

    The original logic that parsed the 'UIM Get Card Status Output' did a
    bit of guessing to decide what was the current lock status to consider
    in the modem. This guessing was fine on systems with a single SIM
    slot, but it was very wrong as soon as multiple SIMs had to be
    considered.

    In a Multi-SIM Multi-Standby setup, with multiple SIMs reported as
    active, we should look for the one flagged as "GW primary" to consider
    it the primary SIM card of the system,the one required to start a data
    connection.

    We explicitly ignore the ones flagged as "1X primary", as we don't
    consider a SIM card required in CDMA/EVDO setups.

 src/mm-modem-helpers-qmi.c | 175
 +++++++++++++++++++++------------------------
 1 file changed, 80 insertions(+), 95 deletions(-)

commit e6ab1182df861e1243f5b93ec334008bec84943e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:40 2020 +0200

    helpers-qmi: move 'UIM Get Card Status Output' parsing to helpers

    This is going to be used in handling the multi-SIM setup, so make it a
    common helper.

 src/mm-broadband-modem-qmi.c | 265
 ++-----------------------------------------
 src/mm-modem-helpers-qmi.c   | 244
 +++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.h   |  12 ++
 3 files changed, 267 insertions(+), 254 deletions(-)

commit 924cf1af3c5e1aec1df680d50e4b9ae6dd8e0ba9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:37 2020 +0200

    api,modem: new 'SetPrimarySimSlot' method

    This new method allows changing the SIM slot considered as primary,
    when the modem supports multiple SIM slots.

    The generic handling of this method will make sure that the modem
    object and all its SIM objects are re-probed from scratch as soon as a
    successful SIM slot switch happens.

    Implementations may report MM_CORE_ERROR_EXISTS when the switch
    doesn't need to happen (e.g. if the requested SIM slot is already the
    active one).

 cli/mmcli-modem.c                                  |  51 ++++++++++
 docs/man/mmcli.1                                   |   6 ++
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   7 ++
 .../org.freedesktop.ModemManager1.Modem.xml        |  18 ++++
 libmm-glib/mm-modem.c                              |  87 ++++++++++++++++
 libmm-glib/mm-modem.h                              |  13 +++
 src/mm-iface-modem.c                               | 112
 +++++++++++++++++++++
 src/mm-iface-modem.h                               |   9 ++
 8 files changed, 303 insertions(+)

commit 5041b9c99b8587185b629715e3466d31a619abf3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:33 2020 +0200

    mmcli: also lookup SIM objects in the 'SimSlots' property

    If the device supports multiple SIM slots, when the user provides a
    PATH or INDEX of a SIM card to use, don't look for the SIM object only
    in the 'Sim' property, also look for it in the 'SimSlots' property.

 cli/mmcli-common.c | 102
 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 97 insertions(+), 5 deletions(-)

commit e20eebff473c37868b528f5031809c18645309ac
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:30 2020 +0200

    base-modem: SIM switch handling at base modem level

    When the SIM switch doesn't happen as part of an async hot swap
    detection, we should trigger the switch handling at base modem level,
    which e.g. doesn't require explicit cleanup of the SIM hot swap
    detection port context.

 src/mm-base-modem.c      | 22 ++++++++++++++++++++++
 src/mm-base-modem.h      |  2 ++
 src/mm-broadband-modem.c | 19 +------------------
 3 files changed, 25 insertions(+), 18 deletions(-)

commit e7409b689876488594409e945687486adb1d9514
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:27 2020 +0200

    api,modem: new 'SimSlots' and 'PrimarySimSlot' properties

    The 'SimSlots' property exposes an array of SIM object paths, with one
    array item for each available SIM slot in the system. If a valid SIM
    card is found in a given slot, the path of the SIM object will be
    exposed in the array item; if no valid SIM card is found, the empty
    object path ("/") will be exposed instead.

    The 'PrimarySimSlot' property exposes which of the SIM slots available
    in the system is the one configured as being primary. In a Multi-SIM
    Single-Standby setup, the primary slot will be the one corresponding
    to the single active SIM in the system. In a Multi-SIM Multi-Standby
    setup, the primary slot will be the one configured to act as primary
    (e.g. the one that will be used for the data connection) among all the
    active SIM cards found.

 cli/mmcli-modem.c                                  |   2 +
 cli/mmcli-output.c                                 |  35 ++-
 cli/mmcli-output.h                                 |  20 +-
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  11 +
 .../org.freedesktop.ModemManager1.Modem.xml        |  47 ++-
 libmm-glib/mm-modem.c                              | 316
 +++++++++++++++++++++
 libmm-glib/mm-modem.h                              |  16 ++
 src/mm-broadband-modem.c                           |  14 +
 src/mm-iface-modem.c                               |  94 +++++-
 src/mm-iface-modem.h                               |  11 +
 src/mm-private-boxed-types.c                       |  29 ++
 src/mm-private-boxed-types.h                       |   3 +
 12 files changed, 587 insertions(+), 11 deletions(-)

commit b2979c63eb2d724512c7a96c071f3d4b422e79cb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:24 2020 +0200

    base-sim: allow explicit wait for SIM readiness during initialization

    Before attempting to load any SIM property value, allow checking
    whether the SIM is ready for operation or not.

    This action is implicitly done by the "unlock required check" step
    that is triggered before initializing the primary SIM card, but it
    would not be done when initializing other available SIM cards.

 src/mm-base-sim.c | 30 ++++++++++++++++++++++++++++++
 src/mm-base-sim.h |  8 ++++++++
 2 files changed, 38 insertions(+)

commit 18084f89394491d4a363a90354000c55af1490c8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:21 2020 +0200

    base-sim: allow creating preinitialized SIM objects

    The default SIM creation method will attempt to initialize the SIM
    properties during the object creation.

    This new method allows creating SIM objects with already known
    property values, and therefore not explicitly running the
    asynchronous initialization process.

 src/mm-base-sim.c | 29 +++++++++++++++++++++++++++++
 src/mm-base-sim.h |  9 +++++++++
 2 files changed, 38 insertions(+)

commit c999c8e9cf54a6ef34b16325c32a03aa1e31db2d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:19 2020 +0200

    base-sim: new 'slot number' property

    This new property helps us identify in which SIM slot the SIM card is
    inserted, when multiple slots are available, in the [1,N] range.

    For the single-SIM systems this value will always be '0'.

    This property is not publicly exposed in DBus, it is considered an
    implementation detail.

 src/mm-base-sim.c | 25 +++++++++++++++++++++++++
 src/mm-base-sim.h |  9 ++++++---
 2 files changed, 31 insertions(+), 3 deletions(-)

commit 842ad4bd64404e4a98d089c9a8fa60715c7018c6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:16 2020 +0200

    base-sim: only allow operations on active SIMs

    If a SIM is inactive we cannot perform any SIM-PIN or SIM-PUK related
    operation with it.

 src/mm-base-sim.c | 56
 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 48 insertions(+), 8 deletions(-)

commit 86a183778b5b123f6556ecbe53ec7d06d6e7c575
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:13 2020 +0200

    api,sim: new 'Active' property

    In preparation for the multi-SIM setup, we need a way to tell whether
    a given SIM card is active or not in the system.

    On systems with one single SIM slot, the available SIM card will
    always be active.

    On Multi-SIM Single-Standby setups we may have multiple SIM slots with
    multiple SIM cards, but only one of them will be active at any given
    time.

    On Multi-SIM Multi-Standby setups we may have multiple SIM slots with
    multiple SIM cards that may be active at the same time. E.g. the QMI
    protocol allows up to 5 different active SIM cards (primary,
    secondary, tertiary...).

 cli/mmcli-output.c                                  |  1 +
 cli/mmcli-output.h                                  |  1 +
 cli/mmcli-sim.c                                     |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt   |  3 +++
 introspection/org.freedesktop.ModemManager1.Sim.xml | 13 +++++++++++++
 libmm-glib/mm-sim.c                                 | 20
 ++++++++++++++++++++
 libmm-glib/mm-sim.h                                 |  2 ++
 plugins/huawei/mm-sim-huawei.c                      |  1 +
 plugins/iridium/mm-sim-iridium.c                    |  1 +
 plugins/mbm/mm-sim-mbm.c                            |  1 +
 plugins/nokia/mm-sim-nokia.c                        |  1 +
 plugins/novatel/mm-sim-novatel-lte.c                |  1 +
 plugins/pantech/mm-sim-pantech.c                    |  1 +
 plugins/sierra/mm-sim-sierra.c                      |  1 +
 plugins/ublox/mm-sim-ublox.c                        |  1 +
 src/mm-base-sim.c                                   |  1 +
 src/mm-sim-mbim.c                                   |  1 +
 src/mm-sim-qmi.c                                    |  1 +
 18 files changed, 52 insertions(+)

commit 48973e3d72307ca84375d1c7811eb0b04def91ce
Author: David Leonard <David.Leonard@digi.com>
Date:   Wed Aug 26 14:37:10 2020 +1000

    sms: fix CMDA SMS UTF-8 translation

    Fixes incoming SMS translation issue seen on MC7354 when translating
    contents from Latin-1 encoding to UTF-8, because the encoding
    parameter
    "ISO−8859−1" used U+2212 (MINUS SIGN) instead of U+002D
    (HYPHEN-MINUS).

      [mm-sms-part-cdma.c:873] read_bearer_data_user_data():
      text/data: ignored (latin to UTF-8 conversion error): 0:
      Conversion from character set 'ISO−8859−1' to 'UTF-8' is
      not supported

    Fix thanks to Peter Hunt

 src/mm-sms-part-cdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 599f545c0d905505516c6546ff77caced2aa14f1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 20 12:18:05 2020 +0200

    sms-part-3gpp: allow sending UTF-16 as if it were UCS-2

    Despite 3GPP TS 23.038 specifies that Unicode SMS messages are
    encoded in UCS-2, UTF-16 encoding is commonly used instead on many
    modern platforms to allow encoding code points that fall outside the
    Basic Multilingual Plane (BMP), such as Emoji.

    Update the logic to always use UTF-16 instead of UCS-2 when creating
    or parsing PDUs (even if we always report as sending or receiving
    UCS-2). For all purposes, UCS-2 is considered a subset of UTF-16
    (assuming that code points out of the [U+0000,U+D7FF] and
    [U+E000,U+FFFF] ranges are not applicable in UCS-2).

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/250

 src/mm-sms-part-3gpp.c         | 159
 +++++++++++++++++++++--------------------
 src/mm-sms-part.h              |  18 ++++-
 src/tests/test-sms-part-3gpp.c |  78 ++++++++++++++++----
 3 files changed, 165 insertions(+), 90 deletions(-)

commit 81162df15dc9a409d0979ff8d472a026f31ed883
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 20 11:32:18 2020 +0200

    charsets: refactor coding style

    Mostly to use GLib types like gchar or gint, and also to use
    G_N_ELEMENTS() instead of custom end of array terminating items.

 src/mm-charsets.c | 290
 ++++++++++++++++++++++++++++--------------------------
 src/mm-charsets.h |  42 ++++----
 2 files changed, 170 insertions(+), 162 deletions(-)

commit eb5443b197464e55c85d7a8af67a28f2088506a3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 20 10:58:24 2020 +0200

    charsets: add UTF-16BE as a possible modem charset

    Just as an implementation detail to be taken as an extension of
    UCS2BE, never really to be used as a real modem charset.

 src/mm-charsets.c         | 16 ++++++++++++++--
 src/mm-charsets.h         |  3 ++-
 src/tests/test-charsets.c | 18 ++++++++++--------
 3 files changed, 26 insertions(+), 11 deletions(-)

commit 93686510d737bc373100beaeeb3edb7ca091a3f0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 20 10:57:01 2020 +0200

    sms-part-3gpp: minor refactor in text split logic

 src/mm-sms-part-3gpp.c | 167
 ++++++++++++++++++++++++++++---------------------
 1 file changed, 94 insertions(+), 73 deletions(-)

commit d43d595c0270ff5fdbe62626679493d97824c668
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 19 14:55:41 2020 +0200

    broadband-modem-qmi: avoid unused functions

    Only applicable when building with WITH_NEWEST_QMI_COMMANDS.

      mm-broadband-modem-qmi.c:4741:1: error:
      ‘common_enable_disable_unsolicited_events_signal_strength’
      defined but not used [-Werror=unused-function]
       4741 | common_enable_disable_unsolicited_events_signal_strength
       (GTask *task)
            | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      mm-broadband-modem-qmi.c:4528:1: error:
      ‘serving_system_indication_cb’ defined but not used
      [-Werror=unused-function]
       4528 | serving_system_indication_cb (QmiClientNas *client,
            | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      mm-broadband-modem-qmi.c:3468:1: error:
      ‘common_enable_disable_unsolicited_registration_events_serving_system’
      defined but not used [-Werror=unused-function]
       3468 |
       common_enable_disable_unsolicited_registration_events_serving_system
       (GTask *task)
            |
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      mm-broadband-modem-qmi.c:2812:1: error:
      ‘get_serving_system_3gpp_ready’ defined but not used
      [-Werror=unused-function]
       2812 | get_serving_system_3gpp_ready (QmiClientNas *client,
            | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      mm-broadband-modem-qmi.c:1652:1: error:
      ‘get_signal_strength_ready’ defined but not used
      [-Werror=unused-function]
       1652 | get_signal_strength_ready (QmiClientNas *client,

 src/mm-broadband-modem-qmi.c | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

commit 9b8fb447b0b2b967fe7fbb980ed2debd12be67ed
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 19 14:48:12 2020 +0200

    broadband-modem-qmi: fix type comparison

    Only applicable when building with WITH_NEWEST_QMI_COMMANDS.

      mm-broadband-modem-qmi.c: In function ‘process_common_info’:
      mm-broadband-modem-qmi.c:2924:20: error: comparison is always
      false due to limited range of data type [-Werror=type-limits]
       2924 |         if (mnc[2] == 0xFF) {
            |                    ^~

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 65f56122b53f52dfd9b5ffdcce53d829d80b31e7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 19 14:59:01 2020 +0200

    ci: add build test for WITH_NEWEST_QMI_COMMANDS

    We keep this logic around, so lets add a build test as well.

 .gitlab-ci.yml | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

commit 5346d3c55c7ffc38af58c879fd426a2c3accd489
Author: carlyin <carl.yin@quectel.com>
Date:   Sun Aug 16 16:55:25 2020 +0800

     quectel: add port type hints for the Quectel 5G RM500

 plugins/quectel/77-mm-quectel-port-types.rules | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit de23b53ee4d91367b50a960f8b19b2e29449e49a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 16 11:13:26 2020 +0200

    modem-helpers: ensure error is set in
    mm_3gpp_parse_cpms_test_response()

    If splitting the +CPMS=? response in groups fails, make sure we set
    the GError when returning FALSE.

 src/mm-modem-helpers.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 55ae47a3bb874991ca621e4aa17cf16b08d28139
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 16 11:06:57 2020 +0200

    quectel: add udev rules unit tester

 plugins/Makefile.am             |  5 +++--
 plugins/tests/test-udev-rules.c | 11 +++++++++++
 2 files changed, 14 insertions(+), 2 deletions(-)

commit d9a64c74ff0244b96a44fa27abcdc411d29f4874
Author: root <carl.yin@quectel.com>
Date:   Thu Aug 13 11:25:59 2020 +0800

    quectel: allow MBIM devices

 plugins/quectel/mm-plugin-quectel.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 7cd373589cb7d81633a5df279e0b63c405cc2bb6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 4 16:33:11 2020 +0200

    bearer-qmi: if connection aborted, ensure network handles are released

    If the connection attempt is aborted before finishing (either network
    triggered or user triggered), we need to make sure that we run a 'Stop
    Network' request for every 'Start Network' that had succeeded until
    then, or otherwise we'll no longer be able to re-run a 'Start Network'
    with the same settings and get a proper packet data handle.

    E.g. in this sequence we attempt a IPv4v6 connection. The logic starts
    setting up the IPv4 path:

        Wed Jul 29 14:44:06 2020 daemon.info [1567]: <info>  Modem
        /org/freedesktop/ModemManager1/Modem/0: state changed (registered
        -> connecting)
        Wed Jul 29 14:44:06 2020 daemon.debug [1567]: <debug> Launching
        connection with QMI port (usb/cdc-wdm0) and data port (net/wwan0)
        Wed Jul 29 14:44:06 2020 daemon.debug [1567]: <debug> Defaulting
        to use static IP method
        Wed Jul 29 14:44:06 2020 daemon.debug [1567]: <debug> Running
        IPv4 connection setup
        ...

    The 'Start Network' for IPv4 succeeds and we get a proper packet data
    handle:

        Wed Jul 29 14:44:07 2020 daemon.debug [1567]: [/dev/cdc-wdm0]
        sent generic request (translated)... <<<<<< QMUX: <<<<<<   length
        = 23 <<<<<<   flags   = 0x00 <<<<<<   service = "wds" <<<<<<
        client  = 20 <<<<<< QMI: <<<<<<   flags       = "none" <<<<<<
        transaction = 3075 <<<<<<   tlv_length  = 11 <<<<<<   message
        = "Start Network" (0x0020) <<<<<< TLV: <<<<<<   type       =
        "APN" (0x14) <<<<<<   length     = 8 <<<<<<   value      =
        69:6E:74:65:72:6E:65:74 <<<<<<   translated = internet
        Wed Jul 29 14:44:07 2020 daemon.debug [1567]: [/dev/cdc-wdm0]
        received generic response (translated)... <<<<<< QMUX: <<<<<<
        length  = 26 <<<<<<   flags   = 0x80 <<<<<<   service =
        "wds" <<<<<<   client  = 20 <<<<<< QMI: <<<<<<   flags       =
        "response" <<<<<<   transaction = 3075 <<<<<<   tlv_length  =
        14 <<<<<<   message     = "Start Network" (0x0020) <<<<<< TLV:
        <<<<<<   type       = "Result" (0x02) <<<<<<   length     = 4
        <<<<<<   value      = 00:00:00:00 <<<<<<   translated = SUCCESS
        <<<<<< TLV: <<<<<<   type       = "Packet Data Handle" (0x01)
        <<<<<<   length     = 4 <<<<<<   value      = 80:CD:AD:81 <<<<<<
        translated = 2175651200

    Then, we start the IPv6 connection path:
        Wed Jul 29 14:44:07 2020 daemon.debug [1567]: <debug> Running
        IPv6 connection setup
        ...

    But, because we suddenly are not registered in the network, the
    connection is aborted, and we don't cleanup the IPv4 path at this
    point, as this patch wasn't available.

        Wed Jul 29 14:44:07 2020 daemon.debug [1567]: <debug> Bearer
        not allowed to connect, not registered in 3GPP network
        Wed Jul 29 14:44:07 2020 daemon.debug [1567]: <debug> Forcing
        disconnection of bearer '/org/freedesktop/ModemManager1/Bearer/56'
        Wed Jul 29 14:44:07 2020 daemon.debug [1567]: transaction 0xe1
        aborted, but message is not abortable
        Wed Jul 29 14:44:07 2020 daemon.info [1567]: <info>  Modem
        /org/freedesktop/ModemManager1/Modem/0: state changed (connecting
        -> enabled)
        Wed Jul 29 14:44:07 2020 daemon.debug [1567]: <debug> Couldn't
        connect bearer '/org/freedesktop/ModemManager1/Bearer/56':
        'operation cancelled'

    We then attempt a new connection request with the same settings:

        Wed Jul 29 14:44:22 2020 daemon.info [1567]: <info>  Modem
        /org/freedesktop/ModemManager1/Modem/0: state changed (registered
        -> connecting)
        Wed Jul 29 14:44:22 2020 daemon.debug [1567]: <debug> Launching
        connection with QMI port (usb/cdc-wdm0) and data port (net/wwan0)
        Wed Jul 29 14:44:22 2020 daemon.debug [1567]: <debug> Defaulting
        to use static IP method
        Wed Jul 29 14:44:22 2020 daemon.debug [1567]: <debug> Running
        IPv4 connection setup

    And we see how the 'Start Network' command fails with a 'No Effect'
    error, as the IPv4 was left connected earlier. Due to this, the modem
    is assumed connected, but we won't have a valid packet data handle to
    stop the connection cleanly:

        Wed Jul 29 14:44:22 2020 daemon.debug [1567]: [/dev/cdc-wdm0]
        sent generic request (translated)... <<<<<< QMUX: <<<<<<   length
        = 23 <<<<<<   flags   = 0x00 <<<<<<   service = "wds" <<<<<<
        client  = 20 <<<<<< QMI: <<<<<<   flags       = "none" <<<<<<
        transaction = 3080 <<<<<<   tlv_length  = 11 <<<<<<   message
        = "Start Network" (0x0020) <<<<<< TLV: <<<<<<   type       =
        "APN" (0x14) <<<<<<   length     = 8 <<<<<<   value      =
        69:6E:74:65:72:6E:65:74 <<<<<<   translated = internet
        Wed Jul 29 14:44:23 2020 daemon.debug [1567]: [/dev/cdc-wdm0]
        received generic response (translated)... <<<<<< QMUX: <<<<<<
        length  = 26 <<<<<<   flags   = 0x80 <<<<<<   service =
        "wds" <<<<<<   client  = 20 <<<<<< QMI: <<<<<<   flags       =
        "response" <<<<<<   transaction = 3080 <<<<<<   tlv_length  =
        14 <<<<<<   message     = "Start Network" (0x0020) <<<<<< TLV:
        <<<<<<   type       = "Result" (0x02) <<<<<<   length     = 4
        <<<<<<   value      = 01:00:1A:00 <<<<<<   translated = FAILURE:
        NoEffect <<<<<< TLV: <<<<<<   type       = "Packet Data Handle"
        (0x01) <<<<<<   length     = 4 <<<<<<   value      = 00:00:00:00
        <<<<<<   translated = 0

 src/mm-bearer-qmi.c | 65
 +++++++++++++++++++++++++++++++++++------------------
 1 file changed, 43 insertions(+), 22 deletions(-)

commit 16e3bb892d25e3cb7796889082943b073924a695
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 4 14:13:45 2020 +0200

    iface-modem: avoid connection status flapping if briefly unregistered

    If the modem is connected and we receive indications of a quick
    unregistration cycle (i.e. unregistered, then registered again) we
    should not end up flagging the modem as disconnected.

    We already had some logic to avoid this with the "deferred 3GPP
    unregistration" logic in the base bearer object, but this logic only
    took into account the status of the bearer, not the status of the
    modem.

        Wed Jul 29 15:35:44 2020 daemon.info [1567]: <info>  Modem
        /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state
        changed (home -> idle)
        Wed Jul 29 15:35:44 2020 daemon.debug [1567]: <debug> Modem
        /org/freedesktop/ModemManager1/Modem/0: 3GPP location updated
        (MCC: '0', MNC: '0', Location area code: '0', Tracking area code:
        '1CE8', Cell ID: '68F832')
        Wed Jul 29 15:35:44 2020 daemon.debug [1567]: <debug> Connected
        bearer not registered in 3GPP network
        Wed Jul 29 15:35:44 2020 daemon.info [1567]: <info>  Modem
        /org/freedesktop/ModemManager1/Modem/0: state changed (connected
        -> enabled)
        Wed Jul 29 15:35:44 2020 daemon.debug [1567]: <debug> Modem
        /org/freedesktop/ModemManager1/Modem/0: signal quality updated (0)
        Wed Jul 29 15:35:44 2020 daemon.debug [1567]: <debug> Modem
        /org/freedesktop/ModemManager1/Modem/0: access technology changed
        (lte -> unknown)
        Wed Jul 29 15:35:44 2020 daemon.debug [1567]: <debug> Periodic
        signal checks disabled
        Wed Jul 29 15:35:44 2020 daemon.info [1567]: <info>  Modem
        /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state
        changed (idle -> registering)
        Wed Jul 29 15:35:44 2020 daemon.debug [1567]: <debug> Modem
        /org/freedesktop/ModemManager1/Modem/0: 3GPP location updated
        (MCC: '0', MNC: '0', Location area code: '0', Tracking area code:
        '1C84', Cell ID: 'A3E050')
        Wed Jul 29 15:35:44 2020 daemon.debug [1567]: <debug> Modem
        /org/freedesktop/ModemManager1/Modem/0: 3GPP location updated
        (MCC: '238', MNC: '1', Location area code: '0', Tracking area
        code: '1C84', Cell ID: 'A3E050')
        Wed Jul 29 15:35:44 2020 daemon.info [1567]: <info>  Modem
        /org/freedesktop/ModemManager1/Modem/0: 3GPP Registration state
        changed (registering -> home)
        Wed Jul 29 15:35:44 2020 daemon.info [1567]: <info>  Modem
        /org/freedesktop/ModemManager1/Modem/0: state changed (enabled
        -> registered)

    We now try to improve this situation by also considering the case
    where modem is supposed to get into "enabled" state (i.e. not
    registered, not searching), but we still consider the amount of
    connected bearers to decide the final state reported by the modem. In
    other words, a modem with the 3GPP registration reported as 'idle'
    will still be reported as 'connected' if there is at least one bearer
    in connected state. This situation will end as soon as the 'deferred
    3GPP unregistration' timeout expires, as that will force the bearer to
    be disconnected.

 src/mm-iface-modem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 2f684ce92ea9cc772a36db2e7bd9d48e677d3935
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Tue Aug 11 14:26:13 2020 +0200

    cinterion: remove limitation to IPv4 only PDP contexts

    There was a limitation in the past in the plugin, because one of
    the steps
    during the dial (CONNECT_3GPP_CONTEXT_STEP_PDP_CTX) was to
    reconfigure a
    specific CID hardcoding the IP type to IPv4.

    That logic was removed in commit
    af2d6c1c4b7f815862313bf0f84b1ff0e91ccd60,
    but we didn't remove the IPv4 limitation at that point.

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 8 --------
 plugins/cinterion/mm-broadband-modem-cinterion.c  | 7 -------
 2 files changed, 15 deletions(-)

commit a36beb0a958f65bcaa5939e04bf340d98d4180a1
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Tue Aug 11 07:10:36 2020 +0200

    cinterion: clarify role of the AT ports for the ELS61/PLS62 family

 plugins/cinterion/77-mm-cinterion-port-types.rules | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit e2ab49db0f5078716156c70a23f8f5d5b6d27848
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Mon Jul 27 10:29:14 2020 +0200

    cinterion: setup initial LTE parameters

 plugins/cinterion/mm-broadband-bearer-cinterion.c  |  37 +-
 plugins/cinterion/mm-broadband-bearer-cinterion.h  |   7 +
 plugins/cinterion/mm-broadband-modem-cinterion.c   | 563
 ++++++++++++++++++++-
 plugins/cinterion/mm-modem-helpers-cinterion.c     |  52 ++
 plugins/cinterion/mm-modem-helpers-cinterion.h     |   9 +
 .../cinterion/tests/test-modem-helpers-cinterion.c |  66 +++
 6 files changed, 722 insertions(+), 12 deletions(-)

commit 28ad994e372dc58e474567c70adbb0f58022cb22
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 10 19:26:56 2020 +0200

    sierra: XMM-specific features in XMM based modems (e.g. EM7345)

    We create XMM-based modems like the EM7345 with XMM-specific features
    like the AT+XLCSLSR based GNSS support. E.g.:

      $ mmcli -m a --location-status
        ------------------------
        Location | capabilities: 3gpp-lac-ci, gps-raw, gps-nmea,
        agps-msa, agps-msb
                 |      enabled: 3gpp-lac-ci
                 |      signals: no
        ------------------------
        GPS      | refresh rate: 30 seconds

      $ sudo mmcli -m a --location-enable-gps-nmea
      successfully setup location gathering

      $ sudo mmcli -m a --location-get
        --------------------------
        3GPP |      operator code: 214
             |      operator name: 7
             | location area code: 0000
             | tracking area code: 6FFE
             |            cell id: 0465CD20
        --------------------------
        GPS  |               nmea: $GPGSA,A,1,,,,,,,,,,,,,,,*1E
             |                     $GNGSA,A,1,,,,,,,,,,,,,,,,1*1D
             |                     $GNRMC,235951.000,V,,,,,,,,,,N,V*20
             |                     $GNVTG,,T,,M,,N,,K,N*32
             |                     $GNGGA,235951.000,,,,,0,0,,,M,,M,,*5F

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/25

 configure.ac                      |  3 ++-
 plugins/Makefile.am               |  1 +
 plugins/sierra/mm-plugin-sierra.c | 20 ++++++++++++++++++++
 3 files changed, 23 insertions(+), 1 deletion(-)

commit 422a9070c40c48847870cb2cf141fe102cd72cba
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Tue Aug 4 11:04:17 2020 +0200

    cinterion: fixed cast from wrong object

    MM_BROADBAND_MODEM_CINTERION shall be applied to a *MMBaseModem
        (ctx->modem here)
    and not to a *MMBaseBearer (self here)

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1620f04b9b1b3166c37ca7e9170322df1e185258
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:10 2020 +0200

    mmcli,output: use 'path' instead of 'dbus path' in field descriptions

 cli/mmcli-output.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit 74dd28c4e31cca38d0b4c7ed034af4226566b404
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:05 2020 +0200

    broadband-modem: minor method rename

 plugins/telit/mm-broadband-modem-telit.c | 2 +-
 src/mm-broadband-modem-mbim.c            | 2 +-
 src/mm-broadband-modem.c                 | 4 ++--
 src/mm-broadband-modem.h                 | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

commit 130ea74cc953e9029a9a1662a788048ac765a0b3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 1 09:59:01 2020 +0200

    iface-modem: move sim hot swap ready to correct place in sequence

 src/mm-iface-modem.c | 53
 +++++++++++++++++++++++++---------------------------
 1 file changed, 25 insertions(+), 28 deletions(-)

commit 4f1da8797213fb79856a5e8e1c6e6dca7236c2e0
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Mon Jul 27 12:27:26 2020 +0200

    cinterion: IMT family SGAUTH

    some ITM family modems require full parameters:
            AT^SGAUTH=cid,type,user,pwd
    even when type is AUTH_NONE.
    Fortunately, all modules of the IMT family tolerate this syntax,
    so it can be adopted for the entire family.

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 2 ++
 1 file changed, 2 insertions(+)

commit 07ac85e2f70706e377c2019b07ce29958c70668c
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Mon Jul 27 12:24:17 2020 +0200

    cinterion: ignore ^SYSSTART urc

 plugins/cinterion/mm-broadband-modem-cinterion.c | 35
 ++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

commit 408ec530e0442137194cf048de72183011fdc40b
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Mon Jul 27 06:23:52 2020 +0200

    cinterion: extend SGAUTH syntax

    AT^SGAUTH syntax depends on the modem family:
      AT^SGAUTH=cid,type,user,pwd   for the IMT family
      AT^SGAUTH=cid,type,pwd,user   for the rest

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 19
 +++++++++++++++++--
 plugins/cinterion/mm-broadband-modem-cinterion.c  |  8 ++++++++
 plugins/cinterion/mm-broadband-modem-cinterion.h  |  3 +++
 3 files changed, 28 insertions(+), 2 deletions(-)

commit cec6fe9cce4f7f49f941262d48d081e30f8ea444
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Fri Jul 24 16:25:03 2020 +0200

    cinterion: radio/band single scfg line: no variance

    the AT^SCFG="Radio/Band" command does not return a different answer
    for different charsets.
    This code was working previously because the charset was left to
    default (GSM)
    at the time of this operation, and therefore the string was unchanged
    anyway.

 plugins/cinterion/mm-modem-helpers-cinterion.c         | 13 ++-----------
 plugins/cinterion/tests/test-modem-helpers-cinterion.c | 18
 ------------------
 2 files changed, 2 insertions(+), 29 deletions(-)

commit 4d58278d7ffd65375e93b0da85ca88c08cba96c2
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Wed Jul 22 06:58:22 2020 +0200

    changed default authentication algorithm to CHAP

    CHAP is almost universal nowadays, and so it is a better default
    than PAP

    Not changed for uBlox, that prefers an error if not specified,
    and for Huawei, which uses NONE with user/pwd and has 2 CHAP choices

 plugins/cinterion/mm-broadband-bearer-cinterion.c |  6 +++---
 plugins/huawei/mm-broadband-bearer-huawei.c       | 12 ++++++------
 plugins/icera/mm-broadband-bearer-icera.c         | 10 +++++-----
 plugins/option/mm-broadband-bearer-hso.c          | 10 +++++-----
 plugins/sierra/mm-broadband-bearer-sierra.c       | 10 +++++-----
 plugins/ublox/mm-broadband-bearer-ublox.c         |  4 ++--
 src/mm-bearer-qmi.c                               |  6 +++---
 src/mm-modem-helpers-mbim.c                       |  8 ++++----
 8 files changed, 33 insertions(+), 33 deletions(-)

commit c70b3557184fdf1472ff0cb36e9fd937cc7f9024
Author: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
Date:   Fri Jul 3 15:16:26 2020 +0200

    qmi: Network registration via SSSP if possible

    Doing the network registration via Set System Selection Preference is
    preferable because it doesn't override the currently set allowed mode,
    i.e. access technology.

    https://lists.freedesktop.org/archives/modemmanager-devel/2020-July/007972.html

    Signed-off-by: Sven Schwermer
    <sven.schwermer@disruptive-technologies.com>

 src/mm-shared-qmi.c | 138
 +++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 105 insertions(+), 33 deletions(-)

commit 47a28114baa2504c16bf2bca2325cefe426aea95
Author: Justin Standring <justin.standring@taitradio.com>
Date:   Thu Jul 16 13:21:23 2020 +1200

    broadband-modem-qmi: fix -Wempty-body warning

      mm-broadband-modem-qmi.c: In function 'process_common_info':
      mm-broadband-modem-qmi.c:2897:30: warning: suggest braces around
      empty body in an 'if' statement [-Wempty-body]
                   /* both apply */ ;
                                    ^

    Signed-off-by: Justin Standring <justin.standring@taitradio.com>

 src/mm-broadband-modem-qmi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 6ec12add1ba6625a8470ae3cf7b30cefcf28d503
Author: Justin Standring <justin.standring@taitradio.com>
Date:   Thu Jul 16 12:55:31 2020 +1200

    broadband-modem-qmi: fix object logging with WITH_NEWEST_QMI_COMMANDS

      mm-broadband-modem-qmi.c: In function
      'common_signal_info_get_quality':
      mm-broadband-modem-qmi.c:1469:21: error: 'self' undeclared (first
      use in this function)
               mm_obj_dbg (self, "RSSI (CDMA): %d dBm", cdma1x_rssi);
                           ^~~~
      mm-broadband-modem-qmi.c:1469:21: note: each undeclared identifier
      is reported only once for each function it appears in
               mm_obj_dbg (self, "RSSI (CDMA): %d dBm", cdma1x_rssi);
                           ^~~~
      mm-broadband-modem-qmi.c: In function 'process_gsm_info':
      mm-broadband-modem-qmi.c:2992:25: error: 'self' undeclared (first
      use in this function)
                   mm_obj_dbg (self, "no GSM service reported");
                               ^~~~
      mm-broadband-modem-qmi.c: In function 'process_wcdma_info':
      mm-broadband-modem-qmi.c:3100:25: error: 'self' undeclared (first
      use in this function)
                   mm_obj_dbg (self, "no WCDMA service reported");
                               ^~~~
      mm-broadband-modem-qmi.c: In function 'process_lte_info':
      mm-broadband-modem-qmi.c:3209:25: error: 'self' undeclared (first
      use in this function)
                   mm_obj_dbg (self, "no LTE service reported");
                               ^~~~
      mm-broadband-modem-qmi.c: In function 'config_signal_info_ready':
      mm-broadband-modem-qmi.c:4890:21: error: 'self' undeclared (first
      use in this function)
               mm_obj_dbg (self, "QMI operation failed: '%s'",
               error->message);
                           ^~~~

    Signed-off-by: Justin Standring <justin.standring@taitradio.com>

 src/mm-broadband-modem-qmi.c | 30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)

commit e98bc7cc0803595db8eb498817fb0d5f99d25813
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 8 11:40:41 2020 +0200

    broadband-modem-qmi: fix parsing of USSD indications with UTF-16 data

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/240

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a131c6953a0a24a6ed8c365cb5e398fa5e52afcf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 6 16:53:08 2020 +0200

    cinterion: quote user/password strings in AT^SGAUTH calls

    The ELS61 doesn't like authentication given without quotes:
      [modem3/ttyACM1/at] --> 'AT^SGAUTH=8,1,tm,t-mobile<CR>'
      [modem3/ttyACM1/at] <-- '<CR><LF>+CME ERROR: 4<CR><LF>'

    Only when user/pass strings are quoted it works:
      [modem6/ttyACM1/at] --> 'AT^SGAUTH=8,1,"t-mobile","tm"<CR>'
      [modem6/ttyACM1/at] <-- '<CR><LF>OK<CR><LF>'

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

commit 0a89a9ae4ee62ba36b616fc444a866d61c203696
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 6 16:23:57 2020 +0200

    cinterion: if user OR password given, don't set the other as (null)

      [modem2/ttyACM1/at] --> 'AT^SGAUTH=8,1,t-d1,(null)<CR>'
      [modem2/ttyACM1/at] <-- '<CR><LF>+CME ERROR: 4<CR><LF>'

    We should use an empty string instead.

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit e933fe14130b20785b6ddd2993a8fc982976c7af
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 25 18:43:57 2020 +0200

    cinterion: increase SWWAN connection attempt timeout

    It's critical not to timeout early on devices with AT ports, or we may
    end up flagging the modem as invalid.

      ModemManager[26829]: <debug> [1593097973.552712] [modem1/ttyACM0/at]
      --> 'AT^SWWAN=1,2,1<CR>'
      ....
      ModemManager[26829]: <debug> [1593098064.195217] [modem1] couldn't
      connect bearer: Serial command timed out
      ....
      ModemManager[26829]: <error> [1593098091.167987] [modem1] port
      ttyACM0 timed out 10 consecutive times, marking modem as invalid

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit bdbd0fc049f7e818b8ac29285bcbf187d9a0b8ed
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 4 06:08:40 2020 +0200

    iface-modem-signal: port skeleton update logic to use g_autoptr

 src/mm-iface-modem-signal.c | 112
 +++++++++++++++++---------------------------
 1 file changed, 44 insertions(+), 68 deletions(-)

commit 3d138f9f80823d2caafbc5117329b43472fe7d45
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 4 06:02:37 2020 +0200

    iface-modem-signal: remove unneeded skeleton clear attempt

    It won't do anything because clear_values() tries to get the skeleton
    from the modem object, and the skeleton hasn't been set at that point.

 src/mm-iface-modem-signal.c | 1 -
 1 file changed, 1 deletion(-)

commit c79dcf794041724b5504a9576b07c1e53ca0affb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 4 05:47:25 2020 +0200

    cinterion,signal: ^SMONI=? support check may be cached

 plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ee262a473dcfd5702f66c532d42285c2763bad11
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 4 05:46:56 2020 +0200

    cinterion,signal: report error from parent signal support check

 plugins/cinterion/mm-broadband-modem-cinterion.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 2cb8e5ef5d30330442af152fa7d65ec7cc612e89
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 4 05:45:28 2020 +0200

    cinterion,signal: minor coding style fixes

 plugins/cinterion/mm-broadband-modem-cinterion.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

commit 900f318d535f5775a544ae8b1551efb931460392
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 4 06:32:04 2020 +0200

    docs,libmm-glib: add missing nr5g methods in signal interface

 docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +++
 1 file changed, 3 insertions(+)

commit 6f6c09007667828d70708cedc04bbb9b680504ec
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 4 05:55:17 2020 +0200

    broadband-modem: remove misleading comment

    5GNR is not 3GPP2

 src/mm-broadband-modem.c | 1 -
 1 file changed, 1 deletion(-)

commit 24670498bc1431388d670f07284e3a1c339b08fc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 4 05:53:43 2020 +0200

    broadband-modem-qmi: minor alignment updates

 src/mm-broadband-modem-qmi.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit 10ee7f4cd9d8af46822959fc84055bac45f5c56b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 4 05:37:59 2020 +0200

    mbim,signal: make sure output pointers are always set

    E.g. if 'gsm' pointer is given, make sure it's always set (either to a
    MMSignal or to NULL).

 src/mm-broadband-modem-mbim.c | 27 ++++++++-------------------
 1 file changed, 8 insertions(+), 19 deletions(-)

commit 0dd1f122221aae8d4c5b16802f5f47601ff99e10
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 4 05:35:00 2020 +0200

    mbim,signal: provide 5G signal info if loaded by parent implementation

 src/mm-broadband-modem-mbim.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 88923ffe3996fdef83dc13a7a4762855af77706d
Author: Walter Hagstrom <walter.hagstrom@digi.com>
Date:   Tue Jun 23 11:14:43 2020 -0400

    iface-modem-signal: added 5G signal information

    Extended the ModemManager Signal interface to include 5G signal
    information for RSRP, RSRQ and SINR via libqmi.  Also extended mmci
    to print 5G signal info.

 cli/mmcli-modem-signal.c                           | 16 ++++++
 cli/mmcli-output.c                                 |  4 ++
 cli/mmcli-output.h                                 |  4 ++
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  2 +
 .../org.freedesktop.ModemManager1.Modem.Signal.xml | 38 +++++++++++++
 libmm-glib/mm-modem-signal.c                       | 62
 +++++++++++++++++++++-
 libmm-glib/mm-modem-signal.h                       |  3 ++
 plugins/cinterion/mm-broadband-modem-cinterion.c   |  5 +-
 plugins/huawei/mm-broadband-modem-huawei.c         |  3 ++
 plugins/xmm/mm-shared-xmm.c                        |  3 ++
 plugins/xmm/mm-shared-xmm.h                        |  1 +
 src/mm-broadband-modem-mbim.c                      |  6 ++-
 src/mm-broadband-modem-qmi.c                       | 54
 +++++++++++++------
 src/mm-broadband-modem.c                           |  4 ++
 src/mm-iface-modem-signal.c                        | 12 +++++
 src/mm-iface-modem-signal.h                        |  1 +
 16 files changed, 198 insertions(+), 20 deletions(-)

commit 711b17278edecbc474418ecf95e7582f515711cb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 4 05:29:36 2020 +0200

    build: require 5G signal info support from libqmi 1.27.1

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6df9cc084489a3aa8ab06b1e87f597b96dc79ffa
Author: Adrien Plazas <kekun.plazas@laposte.net>
Date:   Fri Jul 3 08:26:57 2020 +0200

    plugin: define an autofree value to NULL

    This satisfies -Werror=maybe-uninitialized.

 src/mm-plugin.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fff47478cc5887176830a5debe2c4204434c222f
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Thu Jul 2 13:09:19 2020 +0200

    telit: added port type hints for default MEx10G1 composition

    While at this change also the previous generic reference to ME910
    in order to differentiate between ME910C1 (based on MDM9206) and
    MEx10G1 (based on MDM9205).

 plugins/telit/77-mm-telit-port-types.rules | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 23f8b580c3f394c10404ea346202cbe8997026db
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 30 13:11:17 2020 +0200

    quectel,shared: implement custom time support check

    We require CTZU=3 during the time support check, instead of CTZU=1, so
    that the Quectel modem reports localtime instead of UTC time in +CCLK.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/233

 plugins/quectel/mm-broadband-modem-qmi-quectel.c | 15 ++++++++--
 plugins/quectel/mm-broadband-modem-quectel.c     | 14 ++++++++--
 plugins/quectel/mm-shared-quectel.c              | 35
 +++++++++++++++++++++++-
 plugins/quectel/mm-shared-quectel.h              | 10 ++++++-
 4 files changed, 68 insertions(+), 6 deletions(-)

commit ffca45d9cc416879881b75fb93880aee8c7563d2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 29 10:46:47 2020 +0200

    quectel,shared: add GPS trace handler

 plugins/quectel/mm-shared-quectel.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit 70b7218b7b303ba01f0be20ee14f1e4186884f79
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 29 10:23:37 2020 +0200

    huawei: only flag GPS source as enabled if it was successful

 plugins/huawei/mm-broadband-modem-huawei.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

commit af8afcc6c9fd6eb6b88d43c88dee013d4a02c0cf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 29 10:13:44 2020 +0200

    quectel,shared: only flag GPS source as enabled if it was successful

 plugins/quectel/mm-shared-quectel.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

commit 619b054e5c874844a73594a724b4e5ce5ec18b6d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 29 10:06:18 2020 +0200

    libmm-glib,location: avoid warnings when no traces available

        ModemManager[201411]: <debug>
        [1593417744.011884] [modem0/ttyUSB1/gps] <--
        '$GPVTG,,T,,M,,N,,K,N*2C<CR><LF>$GPGSA,A,1,,,,,,,,,,,,,,,*1E<CR><LF>$GPGGA,,,,,,0,,,,,,,,*66<CR><LF>$GPRMC,,V,,,,,,,,,,N*53<CR><LF>'

        (ModemManager:201411): GLib-CRITICAL **: 10:02:24.054: g_strjoinv:
        assertion 'str_array != NULL' failed

        Thread 1 "ModemManager" received signal SIGTRAP, Trace/breakpoint
        trap.
        0x00007ffff7832473 in g_logv () from /usr/lib/libglib-2.0.so.0
        (gdb) bt
        #0  0x00007ffff7832473 in g_logv () at /usr/lib/libglib-2.0.so.0
        #1  0x00007ffff78326f0 in g_log () at /usr/lib/libglib-2.0.so.0
        #2  0x00007ffff7846b5e in g_strjoinv () at
        /usr/lib/libglib-2.0.so.0
        #3  0x00007ffff7ee9663 in mm_location_gps_nmea_get_string_variant
        (self=0x5555557dde50) at mm-location-gps-nmea.c:246
        #4  0x00005555555e7c47 in build_location_dictionary (previous=0x0,
        location_3gpp=0x55555573e660, location_gps_nmea=0x5555557dde50,
        location_gps_raw=0x0, location_cdma_bs=0x0)
            at mm-iface-modem-location.c:183
        ...
        (gdb) fr 3
        #3  0x00007ffff7ee9663 in mm_location_gps_nmea_get_string_variant
        (self=0x5555557dde50) at mm-location-gps-nmea.c:246
        246     built = g_strjoinv ("\r\n", traces);
        (gdb) p traces
        $1 = (GStrv) 0x0

 libmm-glib/mm-location-gps-nmea.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 60211b51b112db23c07dfd62dd6336a964a287e0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 29 09:57:28 2020 +0200

    quectel,shared: use QGPS=? test to check capabilities

 plugins/quectel/mm-shared-quectel.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 58dbb68fa0c0a30d33d93969016f39880b142920
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 28 15:05:14 2020 +0200

    quectel,qmi: add QGPS based fallback support

 plugins/quectel/mm-broadband-modem-qmi-quectel.c | 28
 ++++++++++++++++++++++--
 1 file changed, 26 insertions(+), 2 deletions(-)

commit 78d19c10ba50bbe6525e7f58d28e96e3e4614d86
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 28 14:57:49 2020 +0200

    quectel,shared: port GPS enabling to use AT sequence

 plugins/quectel/mm-shared-quectel.c | 101
 ++++++++++++++----------------------
 1 file changed, 38 insertions(+), 63 deletions(-)

commit 41ba7d667ab7b6e7161a96b559823c832a3b8ba5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 28 14:41:47 2020 +0200

    huawei: simplify GPS stop logic

    The NMEA data port is closed right before stopping the engine.

 plugins/huawei/mm-broadband-modem-huawei.c | 69
 +++++++++++++-----------------
 1 file changed, 29 insertions(+), 40 deletions(-)

commit aa4851ed03932fed5e4401e6d3e8c4fa0a20f589
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 28 14:22:24 2020 +0200

    huawei: port GPS enabling to use AT sequence

 plugins/huawei/mm-broadband-modem-huawei.c | 143
 +++++++++++------------------
 1 file changed, 53 insertions(+), 90 deletions(-)

commit bbca65d682d6de03ba199a5a0a5c388e90e2764c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 28 11:43:51 2020 +0200

    quectel,shared: skip QGPS? check after enabling/disabling failures

    If any enabling/disabling command fails, we consider the operation
    failed, regardless of the QGPS status. This is because e.g. enabling
    involves more operations than just QGPS=1, and so we should treat a
    failure in the command sequence as a failure in the whole operation.

 plugins/quectel/mm-shared-quectel.c | 290
 ++++++++++++------------------------
 1 file changed, 96 insertions(+), 194 deletions(-)

commit bbfc10d7c5246b120e71143f59e1ea66e052a018
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 28 11:38:48 2020 +0200

    huawei: minor refactor in GPS enabling/disabling logic

 plugins/huawei/mm-broadband-modem-huawei.c | 131
 ++++++++++++++---------------
 1 file changed, 65 insertions(+), 66 deletions(-)

commit 538ed3f24e9ec5d64abc1543476e5ee34b504455
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 28 11:06:06 2020 +0200

    quectel,shared: don't report GPS capabilities if no GPS port found

    The QGPS based implementation needs the existence of a port flagged as
    GPS data; if there is no such port, we cannot provide GPS support.

 plugins/quectel/mm-shared-quectel.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 77f6637750362a8c319e2debc6f781ceb217675a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 28 11:04:20 2020 +0200

    quectel,shared: fix reporting supported location capabilities

    The method that reports what location capabilities are supported must
    report the capabilities provided by the parent interface plus the
    additional capabilities supported by the shared implementation.

    Also, simplify the logic a bit reducing the amount of implemented
    methods.

 plugins/quectel/mm-shared-quectel.c | 78
 ++++++++++++++-----------------------
 1 file changed, 29 insertions(+), 49 deletions(-)

commit 0f9d69fd355a05b51b8367fa75dbd49440a9bd7e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 28 10:55:15 2020 +0200

    quectel,shared: private context at beginning of source file

 plugins/quectel/mm-shared-quectel.c | 83
 +++++++++++++++++++------------------
 1 file changed, 43 insertions(+), 40 deletions(-)

commit 234ba4544b324765a3ba9f7d468715378c585106
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 28 10:53:33 2020 +0200

    quectel: coding style fixes in the QGPS logic

 plugins/quectel/mm-broadband-modem-quectel.c |  38 ++---
 plugins/quectel/mm-shared-quectel.c          | 203
 +++++++++++++++------------
 plugins/quectel/mm-shared-quectel.h          |  50 +++----
 3 files changed, 149 insertions(+), 142 deletions(-)

commit 5a9d321346df5e964780def158072df794c604dd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 28 10:35:57 2020 +0200

    quectel,shared: fix parent location disabling

    The GTask must be passed as user_data.

 plugins/quectel/mm-shared-quectel.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

commit df393df1479ab79f028b17eb3df0ea0eb96b9140
Author: ArenM <aren@peacevolution.org>
Date:   Fri Jun 5 15:25:54 2020 -0400

    quectel: implement GPS support with +QGPS

    Quectel modems allow provide location information via AT commands.
    Add this as a location source.

 plugins/quectel/mm-broadband-modem-quectel.c |  29 +-
 plugins/quectel/mm-shared-quectel.c          | 504
 +++++++++++++++++++++++++++
 plugins/quectel/mm-shared-quectel.h          |  36 ++
 3 files changed, 567 insertions(+), 2 deletions(-)

commit 4b37b7d3cfd8c8e98af25eed334b1880b6b6c597
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 28 14:05:58 2020 +0200

    base-modem,at: response processors return a more specific enum

    Instead of using the FALSE return of the method to indicate either a
    fatal error (if result_error was set) or the continuation request (if
    result_error wasn't set), provide a enum that has explicit states for
    all three possible values (failure, success or continue).

 plugins/altair/mm-broadband-modem-altair-lte.c   |  27 +---
 plugins/huawei/mm-broadband-modem-huawei.c       |  22 +--
 plugins/icera/mm-broadband-modem-icera.c         |  29 ++--
 plugins/novatel/mm-broadband-modem-novatel-lte.c |  61 ++++---
 plugins/sierra/mm-broadband-modem-sierra.c       |  28 ++--
 plugins/telit/mm-broadband-modem-telit.c         |  81 ++++++----
 src/mm-base-modem-at.c                           | 189
 +++++++++++++---------
 src/mm-base-modem-at.h                           | 112 +++++++------
 src/mm-broadband-modem.c                         | 192
 +++++++++++------------
 9 files changed, 402 insertions(+), 339 deletions(-)

commit c4d82aaf1e7cf10475204102533ac7784f83f0d3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 28 12:06:51 2020 +0200

    base-modem,at: improve documentation on response processor methods

 src/mm-base-modem-at.c | 68 ++++++++++++++++++-----------------
 src/mm-base-modem-at.h | 98
 +++++++++++++++++++++++++++++++-------------------
 2 files changed, 98 insertions(+), 68 deletions(-)

commit 7e3863897e73227a7de54db967fd95b40a8833d1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 7 15:16:49 2020 +0200

    broadband-modem: run implicit disabling if enabling fails

    The disabling sequence is updated so that the steps to disable the
    interfaces never fail. This is done so that the modem is not left
    in an "inconsistent" enabled state, if e.g. the modem is enabled and
    one of the disabling steps for the interfaces ends up failing. In this
    case, it is preferred to say that the modem is disabled, than having
    it wrongly enabled.

    The enabling sequence is updated so that if any of the steps to enable
    the interfaces fail, we end up running an implicit disabling operation
    to disable all the interfaces. This is to attempt to cleanup whatever
    we had enabled during the enabling operation, including e.g. the open
    ports context.

 src/mm-broadband-modem.c | 270
 ++++++++++++++++++++++++++++++-----------------
 1 file changed, 175 insertions(+), 95 deletions(-)

commit 408e9f327e09cda73ab87c92aab34176186d2c3d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 24 09:31:30 2020 +0200

    broadband-modem-qmi: fix assertion when disabling unsolicited events

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/230

 src/mm-broadband-modem-qmi.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit c6d213d6523a70aa8504bda4dbd1796a0b1cd4c7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 11 14:41:44 2020 +0200

    broadband-modem-qmi,bearer-qmi: avoid depending on the client version

    The QMI client version is an information provided by the QMI protocol
    only when QMUX or MBIM backends are used, it won't be available when
    e.g. QRTR is used. The logic in ModemManager should not rely on this
    information.

 src/mm-bearer-qmi.c          |  39 ++--
 src/mm-broadband-modem-qmi.c | 542
 +++++++++++++++++--------------------------
 2 files changed, 230 insertions(+), 351 deletions(-)

commit 62956b5c7a1bcfa143e6f5915562c55c4923eec4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 23 14:22:39 2020 +0200

    build: post-release version bump to 1.15.0

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5f20662aeb9b0f79865a9a9df151349a29b4a2bd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 23 14:06:03 2020 +0200

    release: bump version to 1.14.0

 configure.ac | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 71d65bbe7e98248c21c4c35f4ec4210264ba745a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 22 14:10:28 2020 +0200

    u-blox: always ignore M8 and M9 GPS modules

 plugins/ublox/77-mm-ublox-port-types.rules | 2 ++
 1 file changed, 2 insertions(+)

commit fbf38753441ee6eb9635a0f7b24e7a1b3ac818c3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 22 09:30:09 2020 +0200

    blacklist: add chinese clone of Arduino nano

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/228

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 5cbeeb1b99939f9bc6faea1c29e99bc1f274d077
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 20 12:05:18 2020 +0200

    build: require libqmi 1.26.0

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 57422ec0bb6403bd17efab174f1d9b67079a5b1e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 19 14:27:27 2020 +0200

    NEWS: add info about MBIM-powered Cinterion devices

 NEWS | 1 +
 1 file changed, 1 insertion(+)

commit ecf54efc671b8c05e6354470e6ed8f496985d3a9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 17 14:53:45 2020 +0200

    cinterion: added port type hints for the mPLS62-w in MBIM mode

      T:  Bus=01 Lev=02 Prnt=04 Port=01 Cnt=01 Dev#= 40 Spd=480 MxCh= 0
      D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=1e2d ProdID=005d Rev=17.30
      S:  Manufacturer=Cinterion Wireless Modules
      S:  Product=PLSx
      C:  #Ifs=12 Cfg#= 1 Atr=e0 MxPwr=100mA
      I:  If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=01
      Driver=cdc_acm
      I:  If#=0x1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00
      Driver=cdc_acm
      I:  If#=0xa Alt= 1 #EPs= 1 Cls=02(commc) Sub=0e Prot=00
      Driver=cdc_mbim
      I:  If#=0xb Alt= 2 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02
      Driver=cdc_mbim
      I:  If#=0x2 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00
      Driver=cdc_acm
      I:  If#=0x3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00
      Driver=cdc_acm
      I:  If#=0x4 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00
      Driver=cdc_acm
      I:  If#=0x5 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00
      Driver=cdc_acm
      I:  If#=0x6 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00
      Driver=cdc_acm
      I:  If#=0x7 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00
      Driver=cdc_acm
      I:  If#=0x8 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00
      Driver=cdc_acm
      I:  If#=0x9 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00
      Driver=cdc_acm

 plugins/cinterion/77-mm-cinterion-port-types.rules | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit c2ee73173e77b57108e52a09bfecadef19ae13a8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 17 14:26:58 2020 +0200

    cinterion: allow MBIM-powered devices

    Like the mPLS62-w when setup to be controlled in MBIM mode instead of
    plain AT commands.

 plugins/cinterion/mm-plugin-cinterion.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 54de41928b73b2c7fdfe5b4c791625f6973510f0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 18 10:58:14 2020 +0200

    build: require libmbim 1.24.0

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9d31cbaa2dc2efb77d174134156b612072d6bf0b
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Wed Jun 17 16:19:07 2020 -0700

    mm-kernel-device: give cmp a total order

    This allows MMKernelDevice::cmp to compare two kernel devices
    with different object types, which means that subclasses can
    continue to only handle comparisons with their own type. The
    order may not be stable across builds.

 src/kerneldevice/mm-kernel-device.c | 3 +++
 1 file changed, 3 insertions(+)

commit 12ea728112f562a572a5c0ecc7bba47bb529d41c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 16 09:41:14 2020 +0200

    AUTHORS: update with latest commit stats

 AUTHORS | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

commit cb8d810583690ea2c011e66d36c1eeb346f83690
Author: Brendan Peter <bpeter@lytx.com>
Date:   Mon Jun 15 15:48:01 2020 -0700

    quectel: add port type hints for EG95

 plugins/quectel/77-mm-quectel-port-types.rules | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 569990f38cc241b0309ec7d8c92a7b2de3e89005
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 12 09:25:09 2020 +0200

    broadband-modem-qmi: also build 5GS reg state from Serving System

 src/mm-broadband-modem-qmi.c | 6 ++++++
 src/mm-iface-modem.c         | 6 ++++++
 src/mm-iface-modem.h         | 1 +
 3 files changed, 13 insertions(+)

commit 8340237f9da911ca6ecc58fd6c453e9ea32616d4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 12 09:17:40 2020 +0200

    broadband-modem-qmi: avoid using stale EPS registration state

    When the device goes from LTE to UMTS, we must make sure we also
    always update the EPS registration state as unknown, or the built
    consolidated state will be wrong.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/225

 src/mm-broadband-modem-qmi.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

commit 3af93cbe18709864a10c3efd752e7db44f41c18f
Author: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Date:   Fri Jun 5 08:57:48 2020 +0300

    broadband-modem-qmi: switch USSD state to idle when ussd session is
    terminated by network

    The cellular operator can break the interactive USSD session. In
    this case, it is necessary
    to process this situation otherwise --3gpp-ussd-initiate or
    --3gpp-ussd-respond will give an error.

    Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>

 src/mm-broadband-modem-qmi.c | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

commit 62c6f941a2ea44b0f67fbb849c92335d78137b96
Author: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Date:   Fri Jun 5 09:29:23 2020 +0300

    cli: make control chars in strings are escaped correctly for json
    output

    We need to change json output escaping according to this
    https://bugzilla.gnome.org/show_bug.cgi?id=730425

    Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>

 cli/mmcli-output.c | 47 +++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 45 insertions(+), 2 deletions(-)

commit 1e0b38d98aff792481f4635c524bbf669b0be5ad
Author: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Date:   Fri Jun 5 08:43:05 2020 +0300

    sms-part-3gpp:  fix unicode names in sms decode iconv() operations

    So that the limited iconv() in OpenWRT supports the conversion
    properly.

    Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>

 src/mm-sms-part-3gpp.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit cbcc14110521fdb360a3028b1b15d59ffc74257e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 4 09:48:10 2020 +0200

    build: bump version to 1.13.900 (1.14-rc1)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit cd501c4d2657e8273d928748056050fc5b696f7c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 4 11:38:48 2020 +0200

    NEWS: add details about the plugin configure options

 NEWS | 8 ++++++++
 1 file changed, 8 insertions(+)

commit a5c060ef879c804ee21aa6c68784ccdac7171ee7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 2 15:42:58 2020 +0200

    filter: setup automatic per-vid checks in the plugin whitelist

    Until now, the plugin whitelist rule in the filter would only handle
    those plugins that require specific udev tags, and those that had
    explicit full vid:pid pairs.

    This update makes a new implicit automatic whitelist for all devices
    that match any of the vids managed by the different plugins.

    Looking at the current list of devices in the blacklist and greylist
    maintained by ModemManager, there are no devices falling under the
    list of supported plugin vids that would need to be blacklisted;
    except for u-blox GPS modules:

      huawei    -> 0x12d1        -> None in blacklist/greylist
      thuraya   -> 0x1a26        -> None in blacklist/greylist
      telit     -> 0x1bc7        -> None in blacklist/greylist
      dLink     -> 0x2001        -> None in blacklist/greylist
      wavecom   -> 0x114f        -> None in blacklist/greylist
      x22x      -> 0x1bbb,0x0b3c -> None in blacklist/greylist
      anydata   -> 0x16d5        -> None in blacklist/greylist
      quectel   -> 0x2c7c        -> None in blacklist/greylist
      haier     -> 0x201e        -> None in blacklist/greylist
      novatel   -> 0x1410        -> None in blacklist/greylist
      dell      -> 0x413c        -> None in blacklist/greylist
      option    -> 0x0af0,0x1931 -> None in blacklist/greylist
      nokia     -> 0x0421        -> None in blacklist/greylist
      cinterion -> 0x1e2d,0x0681 -> None in blacklist/greylist
      simtech   -> 0x1e0e        -> None in blacklist/greylist
      iridium   -> 0x1edd        -> None in blacklist/greylist
      pantech   -> 0x106c        -> None in blacklist/greylist
      longcheer -> 0x1c9e,0x1bbb -> None in blacklist/greylist
      linktop   -> 0x230d        -> None in blacklist/greylist
      sierra    -> 0x1199        -> None in blacklist/greylist
      ublox     -> 0x1546        -------------> GPS chips blacklisted
      !!!!!
      foxconn   -> 0x0489        -> None in blacklist/greylist
      broadmobi -> 0x2020        -> None in blacklist/greylist
      fibocom   -> 0x2cb7        -> None in blacklist/greylist
      tplink    -> 0x2357        -> None in blacklist/greylist
      zte       -> 0x19d2        -> None in blacklist/greylist

    The rules used to blacklist the u-blox GPS chips have already been
    moved to the u-blox plugin itself, and now they use the broader
    ID_MM_DEVICE_IGNORE tag that applies in all filter modes.

 NEWS                    |  4 ++++
 src/mm-filter.c         | 37 +++++++++++++++++++++++++++++++++++++
 src/mm-filter.h         |  2 ++
 src/mm-plugin-manager.c | 18 +++++++++++++++++-
 src/mm-plugin.c         |  6 ++++++
 src/mm-plugin.h         |  1 +
 6 files changed, 67 insertions(+), 1 deletion(-)

commit bbeca601138ff51b817bb1ef84b53a70572d0c19
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 2 15:39:51 2020 +0200

    ublox: fully ignore GPS devices with plugin-installed rules

    Instead of setting up the ID_MM_TTY_BLACKLIST tag used in 'legacy'
    filter mode, tag all known u-blox GPS devices with the broader
    ID_MM_DEVICE_IGNORE tag that applies under all filter modes.

    Also, make this rules be installed by the plugin itself, because at
    the end, it is the u-blox plugin the one attempting to probe all
    devices with vid 0x1546.

 NEWS                                       | 1 +
 plugins/ublox/77-mm-ublox-port-types.rules | 5 +++++
 src/77-mm-usb-device-blacklist.rules       | 5 -----
 3 files changed, 6 insertions(+), 5 deletions(-)

commit 657d5e61802db19be728e5e2e313c4f80244cb4d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 4 09:46:04 2020 +0200

    NEWS: update MBIM reset operation info to include Qualcomm devices

    We're using QMI over MBIM to perform the reset if the device is QMI
    based.

 NEWS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1ef46cdf80a26633bb6cb2dc2be335cdd56bcc5b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 3 17:32:19 2020 +0200

    build: require libmbim 1.24-rc1

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 30428ed57d4c43f80ef86da9d18f4da8cbb06285
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 3 17:29:57 2020 +0200

    NEWS: update for 1.14.0

 NEWS | 126
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 126 insertions(+)

commit b81101972ea49bf619d64c448a7eaf358c663bb1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 3 17:29:46 2020 +0200

    docs,libmm-glib: add 1.14 index

 docs/reference/libmm-glib/libmm-glib-docs.xml | 4 ++++
 1 file changed, 4 insertions(+)

commit d36df682264698e6c33a6c7e79e1f11ec142b609
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 2 10:16:33 2020 +0200

    wavecom: break loop matching 2G bands if exact combination found

 plugins/wavecom/mm-broadband-modem-wavecom.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit a6607a5e7dc5ac036f416bb405d37e5c22691ec1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 2 10:13:08 2020 +0200

    wavecom: port to use g_autoptr() setup

 plugins/wavecom/mm-broadband-modem-wavecom.c | 113
 ++++++++++-----------------
 1 file changed, 42 insertions(+), 71 deletions(-)

commit 08d40fe05d4b53946928c38ad488f5acff24d360
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 2 10:01:43 2020 +0200

    wavecom: fix GTask return handling when loading current caps

 plugins/wavecom/mm-broadband-modem-wavecom.c | 26
 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

commit d8b70602c51b77356eb439d63c4cac311d867310
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri May 15 15:09:33 2020 +0200

    huawei: ignore NDISDUP disconnection errors

    Running NDISDUP=1,0 on an already disconnected bearer/context will
    report ERROR, so we can really ignore the result of the command,
    because we're anyway going to get the correct bearer/context status
    later on with the NDISSTATQRY checks.

 plugins/huawei/mm-broadband-bearer-huawei.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

commit 472fb96bbe758a7ba11c184ea7c04e328c27fd97
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri May 15 15:01:56 2020 +0200

    huawei: don't delay reporting network initiated disconnects

    When a network-initiated event is received telling us that a
    bearer/context is disconnected, we should handle and process it right
    away, without thinking on whether there is going to be a
    user-requested disconnect afterwards or not.

    This effectively reverts the changes introduced in commit
    21a5aaf4fe6934aad2e6c770aa4bdffa3ad29f9d, which looks like was done to
    handle synchronization issues with upper layers (e.g. with
    NetworkManager or Shill).

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/205

 plugins/huawei/mm-broadband-bearer-huawei.c | 59
 -----------------------------
 plugins/huawei/mm-broadband-modem-huawei.c  |  7 +---
 2 files changed, 2 insertions(+), 64 deletions(-)

commit 15543794b781266af31e613faea2d904afcee54e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu May 28 15:00:40 2020 +0200

    filter: 'strict' is the new default

    The 'strict' filter policy is less invasive, as it will not touch TTYs
    unless there are clear indications that it may be a modem. Under this
    mode, the ModemManager-provided blacklist database is not used.

 src/mm-context.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 82d38f701cb523d83f6390dc5a5a84b0604b7948
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu May 28 14:58:47 2020 +0200

    filter: rename 'default' to 'legacy'

    The old 'default' policy is renamed to 'legacy', and is considered now
    deprecated.

 src/mm-context.c | 8 ++++----
 src/mm-filter.h  | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

commit 6eca223705b0e5c5ce52fff77858c41c82a854d7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 1 15:09:20 2020 +0200

    shared-qmi: require minimum set of NMEA types before starting
    GNSS engine

 configure.ac        |   2 +-
 src/mm-shared-qmi.c | 248
 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 245 insertions(+), 5 deletions(-)

commit fd28f9475011d3d62202b650b64a64b7c42b5027
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 1 15:56:42 2020 +0200

    ci: always build libqmi with basic collection

    Which must be the minimum set of supported messages required by
    ModemManager.

 .gitlab-ci.yml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 10648f8d36c08dbd711604824c1a21fb7859aa54
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 1 15:18:01 2020 +0200

    broadband-modem-qmi: plug memleak when changing current firmware

      ==80079== 104 (40 direct, 64 indirect) bytes in 1 blocks are
      definitely lost in loss record 4,761 of 5,232
      ==80079==    at 0x483977F: malloc (vg_replace_malloc.c:309)
      ==80079==    by 0x5025AE9: g_malloc (in
      /usr/lib/libglib-2.0.so.0.6400.2)
      ==80079==    by 0x5006223: g_slice_alloc (in
      /usr/lib/libglib-2.0.so.0.6400.2)
      ==80079==    by 0x505B0F4: g_array_sized_new (in
      /usr/lib/libglib-2.0.so.0.6400.2)
      ==80079==    by 0x2008A3: firmware_change_current
      (mm-broadband-modem-qmi.c:8426)
      ==80079==    by 0x1AB5F3: select_auth_ready
      (mm-iface-modem-firmware.c:225)
      ==80079==    by 0x4E68653: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
      ==80079==    by 0x4E6DA26: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
      ==80079==    by 0x17402E: authorize_ready (mm-base-modem.c:1363)
      ==80079==    by 0x4E68653: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
      ==80079==    by 0x4E6DA26: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
      ==80079==    by 0x15366D: check_authorization_ready
      (mm-auth-provider.c:99)

 src/mm-broadband-modem-qmi.c | 2 ++
 1 file changed, 2 insertions(+)

commit d848b10d2479dd2d7a3e2c6330ca72b8902f829d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 1 15:16:23 2020 +0200

    iface-modem-firmware: plug memleak when listing images

      ==80079== 1,377 (48 direct, 1,329 indirect) bytes in 1 blocks are
      definitely lost in loss record 5,200 of 5,232
      ==80079==    at 0x483977F: malloc (vg_replace_malloc.c:309)
      ==80079==    by 0x5025AE9: g_malloc (in
      /usr/lib/libglib-2.0.so.0.6400.2)
      ==80079==    by 0x5006223: g_slice_alloc (in
      /usr/lib/libglib-2.0.so.0.6400.2)
      ==80079==    by 0x4FEB59B: ??? (in /usr/lib/libglib-2.0.so.0.6400.2)
      ==80079==    by 0x4FEE378: g_variant_builder_end (in
      /usr/lib/libglib-2.0.so.0.6400.2)
      ==80079==    by 0x48F8314: mm_firmware_properties_get_dictionary
      (mm-firmware-properties.c:337)
      ==80079==    by 0x1AAF29: load_current_ready
      (mm-iface-modem-firmware.c:80)
      ==80079==    by 0x4E68653: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
      ==80079==    by 0x4E68688: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
      ==80079==    by 0x502B58E: g_main_context_dispatch (in
      /usr/lib/libglib-2.0.so.0.6400.2)
      ==80079==    by 0x502D530: ??? (in /usr/lib/libglib-2.0.so.0.6400.2)
      ==80079==    by 0x502E542: g_main_loop_run (in
      /usr/lib/libglib-2.0.so.0.6400.2)

 src/mm-iface-modem-firmware.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

commit 3b35bbd47bc8accd42eed2c22070557104f09d27
Author: Louis-Alexis Eyraud <louis-alexis.eyraud@sigfox.com>
Date:   Fri May 29 10:47:11 2020 +0200

    huawei: fix memory leak when parsing HCSQ response

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/220

 plugins/huawei/mm-broadband-modem-huawei.c | 1 +
 1 file changed, 1 insertion(+)

commit df36f8d2d3fc34bd4c95ad97587d7cad04c6a9df
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Thu May 28 05:28:32 2020 +0200

    cinterion: fix syntax error for setting radio/bands/[23]g

 plugins/cinterion/mm-broadband-modem-cinterion.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 3efe127aa881a0be3595665cb3f0a38819b37626
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 27 15:48:40 2020 +0200

    iface-modem-voice: fix assertions in call setup/teardown logic

 src/mm-iface-modem-voice.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 0cc5a6ce4f225b9aad06ec20235467188fe23d66
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Tue May 26 15:03:52 2020 +0200

    cinterion: skip sim ready check for modules that don't support it

 plugins/cinterion/mm-broadband-modem-cinterion.c | 61
 ++++++++++++++++++++----
 1 file changed, 51 insertions(+), 10 deletions(-)

commit da7bc39f0c0bfc53d90195c0911f4a50b98bd1c8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 27 07:09:58 2020 +0200

    blacklist: add USB CEC adapters

    These are not being probed when using the STRICT filter, so this
    blacklist update is relevant only for DEFAULT filter type.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/212

 src/77-mm-usb-device-blacklist.rules | 4 ++++
 1 file changed, 4 insertions(+)

commit 84ec3d2fcf081ab3404d27458031c87aa6214065
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Tue May 26 15:00:03 2020 +0200

    cinterion: simplify check

    no longer need to check the charset because of the fix in charsets,
    that now accepts GSM and UCS2.

 plugins/cinterion/mm-modem-helpers-cinterion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 502c636516b68dc1556f574a9cc2922462d077bf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 26 14:28:08 2020 +0200

    zte: add MF667 port type hints

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/217

 plugins/zte/77-mm-zte-port-types.rules | 3 +++
 1 file changed, 3 insertions(+)

commit a399c7e42a8e780dc47edbac45d64db75e031fac
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 26 11:45:44 2020 +0200

    charsets: take_and_convert() methods should support GSM encoding

    The iconv() operation would fail because we wouldn't give any proper
    charset string to convert to/from. Use our custom GSM encoding support
    instead.

 src/mm-charsets.c         | 22 ++++++++++++++++++----
 src/tests/test-charsets.c | 14 ++++++++++++++
 2 files changed, 32 insertions(+), 4 deletions(-)

commit c99457695334eb7a9f32ea0d085ee39e01a96a59
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 26 11:44:59 2020 +0200

    charsets,test: extend UCS2->UTF-8 testing for the reverse operation

 src/tests/test-charsets.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit c4e6a0c4f657781c45e8dac58aebd3e29a40895b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 26 11:26:01 2020 +0200

    charsets: don't warn in unlikely case of needing to convert to HEX
    from UTF-8

    This would really be an implementation detail, not a real use
    case. Just don't warn in this case, as in the conversion in the
    opposite direction.

 src/mm-charsets.c | 2 --
 1 file changed, 2 deletions(-)

commit 87b8c9b295e22d234d2ed2e49761ba36e3aa3921
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 26 11:14:48 2020 +0200

    cinterion: minor coding style fixes in new band management

 plugins/cinterion/mm-modem-helpers-cinterion.c | 139
 +++++++++++++------------
 1 file changed, 71 insertions(+), 68 deletions(-)

commit 793132d56d346ea1968c92c67156f3d8759bd395
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Tue May 19 11:09:26 2020 +0200

    cinterion: radio/band handling for LTE modems

 plugins/cinterion/77-mm-cinterion-port-types.rules |   2 +
 plugins/cinterion/mm-broadband-modem-cinterion.c   | 171 ++++--
 plugins/cinterion/mm-modem-helpers-cinterion.c     | 495
 +++++++++++++----
 plugins/cinterion/mm-modem-helpers-cinterion.h     |  67 ++-
 .../cinterion/tests/test-modem-helpers-cinterion.c | 588
 +++++++++++++++++++--
 5 files changed, 1133 insertions(+), 190 deletions(-)

commit 09260311196c110493dd1d713d7341f3a2c02c14
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 26 15:03:24 2020 +0200

    Revert "charsets: don't warn in unlikely case of needing to convert
    to HEX from UTF-8"

    This reverts commit 6a7dd87f30b2cc1b459abab38a0805aa8ba1bfbc.

    Reverting because the merge request was set to squash all together....

 plugins/cinterion/77-mm-cinterion-port-types.rules |   2 -
 plugins/cinterion/mm-broadband-modem-cinterion.c   | 171 ++----
 plugins/cinterion/mm-modem-helpers-cinterion.c     | 520
 ++++--------------
 plugins/cinterion/mm-modem-helpers-cinterion.h     |  67 +--
 .../cinterion/tests/test-modem-helpers-cinterion.c | 588
 ++-------------------
 src/mm-charsets.c                                  |  24 +-
 src/tests/test-charsets.c                          |  20 +-
 7 files changed, 209 insertions(+), 1183 deletions(-)

commit 6a7dd87f30b2cc1b459abab38a0805aa8ba1bfbc
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Tue May 26 12:45:40 2020 +0000

    charsets: don't warn in unlikely case of needing to convert to HEX
    from UTF-8

    This would really be an implementation detail, not a real use
    case. Just don't warn in this case, as in the conversion in the
    opposite direction.

 plugins/cinterion/77-mm-cinterion-port-types.rules |   2 +
 plugins/cinterion/mm-broadband-modem-cinterion.c   | 171 ++++--
 plugins/cinterion/mm-modem-helpers-cinterion.c     | 520
 ++++++++++++++----
 plugins/cinterion/mm-modem-helpers-cinterion.h     |  67 ++-
 .../cinterion/tests/test-modem-helpers-cinterion.c | 588
 +++++++++++++++++++--
 src/mm-charsets.c                                  |  24 +-
 src/tests/test-charsets.c                          |  20 +-
 7 files changed, 1183 insertions(+), 209 deletions(-)

commit 15a941fae5e7d8000fd58f4da03be2d379151576
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 20 13:12:38 2020 +0200

    broadband-modem-qmi: only use "Data Service Capabilities" array if
    content given

    See
    https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/issues/32#note_505065

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 29a68c94b9896eb216f0b604210aafe751423fc2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri May 22 10:58:29 2020 +0200

    huawei: ignore ^CCALLSTATE URCs for now

    We will want to support these to avoid needing to have CLCC call
    polling, but for now, just ignore them so that they don't interfere
    with the call management.

    For context, see:
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/216

 plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 1eeec40ee85552cee957f35db9cc85aae6116e48
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu May 21 15:03:17 2020 +0200

    iface-modem-voice: fix assert() when setting up call polling

    If an incoming call is detected during the CLCC polling, the polling
    timeout will already be set, so don't assert when checking the polling
    id afterwards, just make sure we don't reset the timeout.

    https://lists.freedesktop.org/archives/modemmanager-devel/2020-May/007866.html

 src/mm-iface-modem-voice.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

commit 98fa83a693c24002dc0087c4304ea1143b498d1f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:49:53 2020 +0200

    cinterion,tests: avoid cast-align errors

    We can safely cast the data in a GArray to gpointer first, and then
    to the pointer type we require.

      cinterion/tests/test-modem-helpers-cinterion.c: In function
      'common_test_scfg':
      cinterion/tests/test-modem-helpers-cinterion.c:56:56: error: cast
      increases required alignment of target type [-Werror=cast-align]
           expected_bands_str = mm_common_build_bands_string ((const
           MMModemBand *)expected_bands->data,
                                                              ^
      cinterion/tests/test-modem-helpers-cinterion.c:58:47: error: cast
      increases required alignment of target type [-Werror=cast-align]
           bands_str = mm_common_build_bands_string ((const MMModemBand
           *)bands->data,
                                                     ^
      cinterion/tests/test-modem-helpers-cinterion.c: In function
      'common_test_scfg_response':
      cinterion/tests/test-modem-helpers-cinterion.c:209:56: error: cast
      increases required alignment of target type [-Werror=cast-align]
           expected_bands_str = mm_common_build_bands_string ((const
           MMModemBand *)expected_bands->data,
                                                              ^
      cinterion/tests/test-modem-helpers-cinterion.c:211:47: error: cast
      increases required alignment of target type [-Werror=cast-align]
           bands_str = mm_common_build_bands_string ((const MMModemBand
           *)bands->data,
                                                     ^

 plugins/cinterion/tests/test-modem-helpers-cinterion.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit b71ae9ce72e9d0e28a01ff81dabb6126def9ca0c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:45:34 2020 +0200

    wavecom: avoid cast-align errors

    We can safely cast the data in a GArray to gpointer first, and then
    to the pointer type we require.

      wavecom/mm-broadband-modem-wavecom.c: In function 'set_bands_3g':
      wavecom/mm-broadband-modem-wavecom.c:800:50: error: cast increases
      required alignment of target type [-Werror=cast-align]
           bands_string = mm_common_build_bands_string ((MMModemBand
           *)bands_array_final->data,
                                                        ^
      wavecom/mm-broadband-modem-wavecom.c: In function 'set_bands_2g':
      wavecom/mm-broadband-modem-wavecom.c:872:50: error: cast increases
      required alignment of target type [-Werror=cast-align]
           bands_string = mm_common_build_bands_string ((MMModemBand
           *)bands_array_final->data,
                                                        ^

 plugins/wavecom/mm-broadband-modem-wavecom.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 8bf13294819d57468a85a6bd2646b3467932bbb4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:42:56 2020 +0200

    libmm-glib,helpers: use locale-independent strtod()

    Otherwise parsing may fail, e.g. as in this unit test:

      # Start of smoni tests
      # DEBUG: testing SMONI response: ^SMONI:
      2G,71,-61,262,02,0143,83BA,33,33,3,6,G,NOCONN
      # DEBUG: testing SMONI response: ^SMONI: 2G,SEARCH,SEARCH
      # DEBUG: testing SMONI response: ^SMONI:
      2G,673,-89,262,07,4EED,A500,16,16,7,4,G,5,-107,LIMSRV
      # DEBUG: testing SMONI response: ^SMONI:
      2G,673,-80,262,07,4EED,A500,35,35,7,4,G,643,4,0,-80,0,S_FR
      # DEBUG: testing SMONI response: ^SMONI:
      3G,10564,296,-7.5,-79,262,02,0143,00228FF,-92,-78,NOCONN
      **
      ERROR:cinterion/tests/test-modem-helpers-cinterion.c:1036:test_smoni_response:
      assertion failed (fabs (ecn0 - smoni_response_tests[i].ecn0) < 0.1):
      (0,5 < 0,1)
      Bail out!
      ERROR:cinterion/tests/test-modem-helpers-cinterion.c:1036:test_smoni_response:
      assertion failed (fabs (ecn0 - smoni_response_tests[i].ecn0) < 0.1):
      (0,5 < 0,1)
      Aborted (core dumped)

 libmm-glib/mm-common-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 58ae8f4c2451b5d1110263ffb5f9fa6e3fcdcf03
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:39:25 2020 +0200

    cinterion,helpers: minor coding style fix

 plugins/cinterion/mm-modem-helpers-cinterion.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit 9bfc8a7829f5eacb7658011d177bb74e319af754
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:32:56 2020 +0200

    novatel-lte: use GPtrArray to build a GStrv

      novatel/mm-broadband-modem-novatel-lte.c: In function
      'response_processor_nwmdn_ignore_at_errors':
      novatel/mm-broadband-modem-novatel-lte.c:241:19: error: cast
      increases required alignment of target type [-Werror=cast-align]
           own_numbers = (GStrv) g_array_free (array, FALSE);
                         ^

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit a2b0cee935e4d0648a13572b57fda059c16854fb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:27:02 2020 +0200

    huawei,helpers: fix warnings with -Wcast-align

      huawei/mm-modem-helpers-huawei.c: In function
      'match_info_to_ip4_addr':
      huawei/mm-modem-helpers-huawei.c:193:39: error: cast increases
      required alignment of target type [-Werror=cast-align]
           *out_addr = GUINT32_SWAP_LE_BE (*((guint32 *) bin));
                                             ^
      /usr/include/glib-2.0/glib/gtypes.h:184:77: note: in definition
      of macro 'GUINT32_SWAP_LE_BE'
       #    define GUINT32_SWAP_LE_BE(val) ((guint32) __builtin_bswap32
       ((gint32) (val)))
                                                                                   ^~~

 plugins/huawei/mm-modem-helpers-huawei.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit bd2e6f5df43236f709113647845afb9fe095f837
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:18:38 2020 +0200

    huawei: avoid cast-align errors

    We can safely cast the data in a GArray to gpointer first, and then
    to the pointer type we require.

      huawei/mm-broadband-modem-huawei.c: In function 'set_current_bands':
      huawei/mm-broadband-modem-huawei.c:916:50: error: cast increases
      required alignment of target type [-Werror=cast-align]
           bands_string = mm_common_build_bands_string ((MMModemBand
           *)bands_array->data,
                                                        ^

 plugins/huawei/mm-broadband-modem-huawei.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 175bedf920159f75b2d517fd638835569477aa55
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:17:50 2020 +0200

    xmm: avoid cast-align errors

    We can safely cast the data in a GArray to gpointer first, and then
    to the pointer type we require.

      xmm/mm-shared-xmm.c: In function
      'validate_and_build_command_set_current_bands':
      xmm/mm-shared-xmm.c:512:45: error: cast increases required alignment
      of target type [-Werror=cast-align]
               str = mm_common_build_bands_string ((const MMModemBand
               *)unapplied_bands->data, unapplied_bands->len);
                                                   ^

 plugins/xmm/mm-shared-xmm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ccf16e00a73291899af4631557c90e4e697f9841
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:16:51 2020 +0200

    ublox,helpers: avoid cast-align errors

    We can safely cast the data in a GArray to gpointer first, and then
    to the pointer type we require.

      ublox/mm-modem-helpers-ublox.c: In function
      'parse_bands_from_string':
      ublox/mm-modem-helpers-ublox.c:1612:48: error: cast increases
      required alignment of target type [-Werror=cast-align]
               tmpstr = mm_common_build_bands_string ((MMModemBand
               *)(bands->data), bands->len);
                                                      ^

 plugins/ublox/mm-modem-helpers-ublox.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 76d06ce697bd95e586d07361b4a447ced5b851f1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:15:42 2020 +0200

    cinterion,helpers: avoid cast-align errors

    We can safely cast the data in a GArray to gpointer first, and then
    to the pointer type we require.

      cinterion/mm-modem-helpers-cinterion.c: In function
      'mm_cinterion_build_band':
      cinterion/mm-modem-helpers-cinterion.c:409:54: error: cast increases
      required alignment of target type [-Werror=cast-align]
               bands_string = mm_common_build_bands_string ((MMModemBand
               *)bands->data, bands->len);
                                                            ^

 plugins/cinterion/mm-modem-helpers-cinterion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b0be4e895cc2b3b9f533b513eb4da3be99718497
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:12:28 2020 +0200

    telit,helpers: avoid cast-align errors

    We can safely cast the data in a GArray to gpointer first, and then
    to the pointer type we require.

      telit/mm-modem-helpers-telit.c: In function
      'mm_telit_build_bnd_request':
      telit/mm-modem-helpers-telit.c:256:55: error: cast increases
      required alignment of target type [-Werror=cast-align]
                   bands_str = mm_common_build_bands_string ((const
                   MMModemBand *)(bands_array->data), bands_array->len);
                                                             ^
      telit/mm-modem-helpers-telit.c:275:55: error: cast increases
      required alignment of target type [-Werror=cast-align]
                   bands_str = mm_common_build_bands_string ((const
                   MMModemBand *)(bands_array->data), bands_array->len);
                                                             ^

 plugins/telit/mm-modem-helpers-telit.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 301b6f0a64d358706c15efff6bca676c4213c9a5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:10:26 2020 +0200

    plugins,tests: avoid cast-align errors

    We can safely cast the data in a GArray to gpointer first, and then
    to the pointer type we require.

      tests/test-helpers.c: In function 'mm_test_helpers_compare_bands':
      tests/test-helpers.c:41:47: error: cast increases required alignment
      of target type [-Werror=cast-align]
           bands_str = mm_common_build_bands_string ((MMModemBand
           *)(bands->data), bands->len);
                                                     ^
      tests/test-helpers.c:46:56: error: cast increases required alignment
      of target type [-Werror=cast-align]
           expected_bands_str = mm_common_build_bands_string ((MMModemBand
           *)(expected_bands_array->data), expected_bands_array->len);
                                                              ^

 plugins/tests/test-helpers.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c7dee320c004bf9508e54555d0ad9f727b449705
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:08:40 2020 +0200

    test-qcdm-serial-port: fix warnings with -Wsign-compare

      test-qcdm-serial-port.c: In function 'wait_for_child':
      test-qcdm-serial-port.c:57:52: error: comparison between signed
      and unsigned integer expressions [-Werror=sign-compare]
               if (d->child && (now.tv_sec - start.tv_sec > timeout)) {
                                                          ^

 src/tests/test-qcdm-serial-port.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 71d8bb2ec854e43c56d77c87f80c40807e8f8457
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:04:51 2020 +0200

    iface-modem-messaging: avoid cast-align errors

    We can safely cast the data in a GArray to gpointer first, and then
    to the pointer type we require.

      mm-iface-modem-messaging.c: In function
      'load_supported_storages_ready':
      mm-iface-modem-messaging.c:1154:53: error: cast increases required
      alignment of target type [-Werror=cast-align]
               mem1 = mm_common_build_sms_storages_string ((MMSmsStorage
               *)storage_ctx->supported_mem1->data,
                                                           ^
      mm-iface-modem-messaging.c:1156:53: error: cast increases required
      alignment of target type [-Werror=cast-align]
               mem2 = mm_common_build_sms_storages_string ((MMSmsStorage
               *)storage_ctx->supported_mem2->data,
                                                           ^
      mm-iface-modem-messaging.c:1158:53: error: cast increases required
      alignment of target type [-Werror=cast-align]
               mem3 = mm_common_build_sms_storages_string ((MMSmsStorage
               *)storage_ctx->supported_mem3->data,
                                                           ^

 src/mm-iface-modem-messaging.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit ffbbec4a0d9a8a19f66b986db6534a10c3f973b4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 13:03:26 2020 +0200

    iface-modem-location: avoid warnings with -Wsign-compare

      mm-iface-modem-location.c: In function 'location_gps_update_nmea':
      mm-iface-modem-location.c:272:61: error: comparison between signed
      and unsigned integer expressions [-Werror=sign-compare]
                    time (NULL) - ctx->location_gps_nmea_last_time
                    >= mm_gdbus_modem_location_get_gps_refresh_rate
                    (skeleton))) {
                                                                   ^~
      mm-iface-modem-location.c:282:60: error: comparison between signed
      and unsigned integer expressions [-Werror=sign-compare]
                    time (NULL) - ctx->location_gps_raw_last_time >=
                    mm_gdbus_modem_location_get_gps_refresh_rate
                    (skeleton))) {
                                                                  ^~

 src/mm-iface-modem-location.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 7ccec0bd71a0451ad9e6c5f9ec63e47fbead8a27
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 11:40:33 2020 +0200

    iface-modem: avoid cast-align errors

    We can safely cast the data in a GArray to gpointer first, and then
    to the pointer type we require.

      mm-iface-modem.c: In function 'after_set_load_current_bands_ready':
      mm-iface-modem.c:2358:55: error: cast increases required alignment
      of target type [-Werror=cast-align]
               requested_str = mm_common_build_bands_string ((MMModemBand
               *)requested_bands->data, requested_bands->len);
                                                             ^
      mm-iface-modem.c:2359:55: error: cast increases required alignment
      of target type [-Werror=cast-align]
               current_str   = mm_common_build_bands_string ((MMModemBand
               *)current_bands->data, current_bands->len);
                                                             ^
      mm-iface-modem.c: In function 'validate_bands':
      mm-iface-modem.c:2474:48: error: cast increases required alignment
      of target type [-Werror=cast-align]
                                                      (const MMModemBand
                                                      *)supported_bands_array->data,
                                                      ^
      mm-iface-modem.c: In function 'mm_iface_modem_set_current_bands':
      mm-iface-modem.c:2535:50: error: cast increases required alignment
      of target type [-Werror=cast-align]
           bands_string = mm_common_build_bands_string ((MMModemBand
           *)bands_array->data,
                                                        ^

 src/mm-iface-modem.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

commit 3476e140ad0b97dee50d14530f0c3dc04a1651b0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 19 11:28:56 2020 +0200

    modem-helpers: use GPtrArray to build a GStrv

    So that we avoid errors when building on ARM due to increasing target
    type alignment.

      mm-modem-helpers.c: In function 'mm_3gpp_parse_cnum_exec_response':
      mm-modem-helpers.c:3206:21: error: cast increases required alignment
      of target type [-Werror=cast-align]
           return (array ? (GStrv) g_array_free (array, FALSE) : NULL);
                           ^

 src/mm-modem-helpers.c | 26 +++++++++++---------------
 1 file changed, 11 insertions(+), 15 deletions(-)

commit 8e033ba331647435bab95a071a450b9be977b295
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Mon May 18 16:50:33 2020 +0200

    AT modem: charset definition in init

    Charset definition moved from enable state machine to init state
    machine,
    so that the right current charset is available also during further
    initialization steps

 src/mm-iface-modem.c | 206
 +++++++++++++++++++++++++--------------------------
 1 file changed, 103 insertions(+), 103 deletions(-)

commit 503581a3ac07e74fa9f31bb2d681750e8f577f96
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 16 10:33:29 2020 +0200

    port-qmi: plug memleak when explicitly releasing client

      ==43111== 24 bytes in 1 blocks are definitely lost in loss record
      1,999 of 5,339
      ==43111==    at 0x483BB65: calloc (vg_replace_malloc.c:762)
      ==43111==    by 0x50259D1: g_malloc0 (in
      /usr/lib/libglib-2.0.so.0.6400.2)
      ==43111==    by 0x22AAB8: mm_port_qmi_allocate_client
      (mm-port-qmi.c:201)
      ==43111==    by 0x2007F0: parent_enabling_started_ready
      (mm-broadband-modem-qmi.c:9114)
      ==43111==    by 0x4E68653: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
      ==43111==    by 0x4E6DA26: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
      ==43111==    by 0x1C535E: enabling_flash_done
      (mm-broadband-modem.c:10318)
      ==43111==    by 0x4E68653: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
      ==43111==    by 0x4E6DA26: ??? (in /usr/lib/libgio-2.0.so.0.6400.2)
      ==43111==    by 0x224F0B: flash_do (mm-port-serial.c:1776)
      ==43111==    by 0x502AC03: ??? (in /usr/lib/libglib-2.0.so.0.6400.2)
      ==43111==    by 0x502B58E: g_main_context_dispatch (in
      /usr/lib/libglib-2.0.so.0.6400.2)
      ==43111==

 src/mm-port-qmi.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit fae614becf16a8f03e85f19b40a31c933c05f1c6
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Sat May 16 05:47:52 2020 +0200

    udev rules for the PLS62 in 005b enumeration

 plugins/cinterion/77-mm-cinterion-port-types.rules | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 6b36fe9f19289450dfbed00ade1d239d898a9feb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri May 15 14:12:12 2020 +0200

    huawei: NDISDUP based devices may use plain TTYs for control

    So don't warn if no associated cdc-wdm port is found.

 plugins/huawei/mm-broadband-modem-huawei.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f109b528d3edb21fa08be3da6e2ad7280a15707f
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Thu May 14 05:38:33 2020 +0200

    plugins/cinterion: added Signal interface

    Not all Cinterion modems support AT+CESQ.
    However a much larger group of them support AT^SMONI
    This commit uses the latter instead of the default former.

 plugins/cinterion/mm-broadband-modem-cinterion.c   | 136 ++++++++++++
 plugins/cinterion/mm-modem-helpers-cinterion.c     | 244
 +++++++++++++++++++++
 plugins/cinterion/mm-modem-helpers-cinterion.h     |  25 +++
 .../cinterion/tests/test-modem-helpers-cinterion.c | 244
 +++++++++++++++++++++
 4 files changed, 649 insertions(+)

commit 8b7bdea7e07ca12f787ede809471f413ba988697
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 11 18:23:44 2020 +0200

    telit: flag GPS port in the LE910C1

 plugins/telit/77-mm-telit-port-types.rules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9c77fb8834cf8b666baa2778514f809f11e303f3
Author: David Khouya <dkhouya@effenco.com>
Date:   Sun May 3 10:13:55 2020 -0400

    telit: add LE910C1 udev rule

 plugins/telit/77-mm-telit-port-types.rules | 7 +++++++
 1 file changed, 7 insertions(+)

commit bbd39a457ce2949dd167f9c2e01eecf6a9e14716
Author: Giacinto Cifelli <gciofono@gmail.com>
Date:   Thu May 14 09:48:35 2020 +0200

    configure.ac: check for xsltproc

 configure.ac | 3 +++
 1 file changed, 3 insertions(+)

commit d33a883be4b8f0f273b91da7f21912ae2fb434de
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 13 10:06:37 2020 +0200

    build: require libmbim 1.23.1 for autoptr support

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 26b589cc021f744d1af5d3680907a3e1f0689823
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 10 10:36:47 2020 +0200

    broadmobi: new plugin

    Right now, just with port type hints for the BM818.

 .gitlab-ci.yml                                     |  6 +-
 configure.ac                                       |  2 +
 plugins/Makefile.am                                | 23 ++++++
 plugins/broadmobi/77-mm-broadmobi-port-types.rules | 16 ++++
 plugins/broadmobi/mm-plugin-broadmobi.c            | 95
 ++++++++++++++++++++++
 plugins/broadmobi/mm-plugin-broadmobi.h            | 40 +++++++++
 6 files changed, 179 insertions(+), 3 deletions(-)

commit 0ddadbdc37c80397367dcd75f0752cc45b2285b6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 10 09:56:10 2020 +0200

    port: use correct enum to string conversion when logging

           CC       mm-port.lo
        mm-port.c: In function 'log_object_build_id':
        mm-port.c:117:60: error: implicit conversion from 'MMPortType'
        to 'MMModemPortType' [-Werror=enum-conversion]
          117 |                             mm_modem_port_type_get_string
          (mm_port_get_port_type (self)));
              |
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
        cc1: all warnings being treated as errors

 src/mm-port.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 83952c5a301a118738a6e51786b37a041058d2c2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri May 8 13:24:14 2020 +0200

    bearer-qmi: get correct bearer object pointer from task

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/207

 src/mm-bearer-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d4a45315cf30fa26185202d316a8db3af5e05fcc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 5 13:24:37 2020 +0200

    cli: add allowed-auth bearer property in output

    Given as a list of items, because the bearer can be created with one
    or more allowed authentication protocols.

 cli/mmcli-bearer.c | 23 +++++++++++++----------
 cli/mmcli-output.c |  1 +
 cli/mmcli-output.h |  1 +
 3 files changed, 15 insertions(+), 10 deletions(-)

commit dfc2c51b9cc7d9c780763d42c91bf696c2b8880a
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Fri May 1 14:12:43 2020 -0700

    introspection: use correct node name for ModemManager1 object

    In the D-Bus specification it is stated that the root node of
    an introspection file should have an absolute path[1]. This path
    should not be the root path in D-Bus as putting objects there is
    considered incorrect, and also because the MM1 object does not
    actually sit at the root path (instead, it uses MM_DBUS_PATH, which
    is /org/freedesktop/ModemManager1). Fix this in the introspection
    file.

    [1]
    https://dbus.freedesktop.org/doc/dbus-specification.html#introspection-format

 introspection/org.freedesktop.ModemManager1.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 479d8e723c9965ee064a7a57d39d29f6c098da0f
Author: Murithi Borona <murithi@brck.com>
Date:   Mon Apr 27 15:43:54 2020 +0300

    huawei: updated HCSQ regex to match unquoted response

 plugins/huawei/mm-modem-helpers-huawei.c         |  2 +-
 plugins/huawei/tests/test-modem-helpers-huawei.c | 12 +++++++-----
 2 files changed, 8 insertions(+), 6 deletions(-)

commit 18a7d9da7a810dcfe22f810e318f1c6fe34c6e03
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 22 15:49:05 2020 +0200

    broadband-modem-qmi: GByteArray can be casted to GArray in USSD
    encoding

    Reported by: Maxim Anisimov <linaro85@yandex.ru>

 src/mm-broadband-modem-qmi.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit d3c5771b1ff8d7acf1c26fccc275f81f59868635
Author: Maxim Anisimov <linaro85@yandex.ru>
Date:   Wed Apr 22 15:39:36 2020 +0200

    broadband-modem-qmi: USSD data in UTF-16 not always given

    E.g. in the Quectel EP06-E only the ASCII/UCS-2 data TLV is given.

 src/mm-broadband-modem-qmi.c | 113
 ++++++++++++++++++++++++++++---------------
 1 file changed, 73 insertions(+), 40 deletions(-)

commit 6086c6877c6bca341f6a3b2b07798e8353575d11
Author: Maxim Anisimov <linaro85@yandex.ru>
Date:   Wed Apr 22 15:33:40 2020 +0200

    broadband-modem-qmi: fix unicode names in USSD iconv() operations

    So that the limited iconv() in OpenWRT supports the conversion
    properly.

 src/mm-broadband-modem-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit ae90ed66a2ee94eed28da19e914feb75f03fd504
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Apr 20 11:25:59 2020 +0200

    broadband-modem-qmi: 3GPP USSD support

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/26

 configure.ac                 |   2 +-
 src/mm-broadband-modem-qmi.c | 517
 ++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 515 insertions(+), 4 deletions(-)

commit d98597e4302983f2b12f2f70759015044c12ecf6
Author: Teijo Kinnunen <teijo.kinnunen@uros.com>
Date:   Thu Apr 16 13:16:28 2020 +0300

    quectel: Check SIM swap after "+QUSIM: 1" URC

    Quectel emits "+QUSIM: 1" after eUICC reinitialization. Detect it
    and perform SIM swap check if one is encountered.

    The motivation here is that M2M eUICC profile switch causes eUICC
    reset and this is one way to detect and handle profile switches
    properly on Quectel modems. The existing SIM hot swap mechanism is
    used as it appears to be suitable for handling profile switches as
    well as physical swapping of SIM cards.

 plugins/quectel/mm-broadband-modem-qmi-quectel.c |  9 +++
 plugins/quectel/mm-broadband-modem-quectel.c     |  9 +++
 plugins/quectel/mm-shared-quectel.c              | 89
 ++++++++++++++++++++++++
 plugins/quectel/mm-shared-quectel.h              |  6 ++
 4 files changed, 113 insertions(+)

commit 1802bd07ac82faab9f0b196a92a69784f386daa1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 16 15:52:50 2020 +0200

    man,mmcli: remove non-existent --list-bearers option

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/203

 docs/man/mmcli.1 | 3 ---
 1 file changed, 3 deletions(-)

commit b95bcfe6e37662e9947ded7b1c73ae9b6ada0631
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Apr 12 17:49:36 2020 +0200

    api,location: improve InjectAssistanceData() method docs

    Explain when this method should be used instead of A-GPS.

 .../org.freedesktop.ModemManager1.Modem.Location.xml       | 14
 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

commit ef5611424448854d45f3ed3055bd46db93ed473e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Apr 12 17:38:43 2020 +0200

    api,location: improve Setup() method docs

    Explicitly state that the signals_location argument affects the
    behavior of the Location property.

 ...rg.freedesktop.ModemManager1.Modem.Location.xml | 24
 ++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

commit d93526a11481847a7e318c9d4ca0e5c83748a119
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Apr 12 17:15:58 2020 +0200

    api,location: improve Location property docs

    Clearly specify that GetLocation() is another way to retrieve the
    location information instead of the Location property.

 .../org.freedesktop.ModemManager1.Modem.Location.xml        | 13
 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

commit 330e0b33a40754d2a952df0c25bc2315ad3f9a8b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 07:16:17 2020 +0100

    base-bearer: log connection attempt failure reason

    We were logging it as debug, increase logging level to warning to make
    sure it's always logged.

 src/mm-base-bearer.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 073043ca6bf8644881d768041d6b7779ebfbd88d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 06:57:42 2020 +0100

    base-bearer: log stats on disconnection

 src/mm-base-bearer.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit eebd7582bbd7a47d32838e5031a1315f15317f59
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 06:57:13 2020 +0100

    base-bearer: don't run disconnection path multiple times

 src/mm-base-bearer.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 79daa3099e1f8478b8e17d8065143bca3e38214b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 27 18:01:36 2020 +0100

    api,bearer: add 'total-rx-bytes', 'total-tx-bytes' and
    'total-duration' stats

    Compiling the amount of bytes transferred and received during all
    tracked connection attempts, as well as the total duration of all the
    connections.

 cli/mmcli-bearer.c                                 |  15 +++
 cli/mmcli-output.c                                 |   3 +
 cli/mmcli-output.h                                 |   3 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   6 +
 .../org.freedesktop.ModemManager1.Bearer.xml       |  25 +++-
 libmm-glib/mm-bearer-stats.c                       | 129
 +++++++++++++++++++++
 libmm-glib/mm-bearer-stats.h                       |   6 +
 src/mm-base-bearer.c                               |  72 ++++++++++--
 8 files changed, 248 insertions(+), 11 deletions(-)

commit f325ef59020b0acc33b6d05e96c8df7b58373715
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 27 16:24:48 2020 +0100

    api,bearer: add 'attempts' and 'failed-attempts' statistics

    When we're reusing over and over the same bearer object, we can
    provide statistical information about the number of connection
    attempts that have been done and how many of them failed.

 cli/mmcli-bearer.c                                 | 16 +++-
 cli/mmcli-output.c                                 |  2 +
 cli/mmcli-output.h                                 |  2 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  4 +
 .../org.freedesktop.ModemManager1.Bearer.xml       | 36 +++++++--
 libmm-glib/mm-bearer-stats.c                       | 93
 ++++++++++++++++++++--
 libmm-glib/mm-bearer-stats.h                       | 16 ++--
 src/mm-base-bearer.c                               | 32 +++++---
 8 files changed, 168 insertions(+), 33 deletions(-)

commit b3ec30403fb813cf3902a02350289e769858f10e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 10 11:38:18 2020 +0200

    doc,api: add reference to --with-at-command-via-dbus in Command() info

 introspection/org.freedesktop.ModemManager1.Modem.xml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 868d0dbf3f01259887c2b5dc6d16eee28ab3ffb5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 10 11:37:59 2020 +0200

    api,doc: fix missing Command() doc output in html

 introspection/org.freedesktop.ModemManager1.Modem.xml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 797f2a5a2e73d2be64b16c739d9b859ffd7938d0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 10 10:47:53 2020 +0200

    api,doc: fix some property gtk-doc links

 introspection/org.freedesktop.ModemManager1.Modem.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 9c0a937cf3ce311f8ed7992dc5b8abd38ffc3e08
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 9 11:15:30 2020 +0200

    broadband-modem-qmi: since 1.24.6 all strings are valid UTF-8

 src/mm-broadband-modem-qmi.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

commit 4758e49d879c47a92cd76156f0f7ec7739ceb39f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 9 11:09:45 2020 +0200

    broadband-modem-qmi: request operator reload explicitly

    If the modem switches from one roaming operator to a different roaming
    operator, the actual operator MCCMNC/description will change even if
    the registration state keeps on being the same (roaming). Detect that,
    and trigger operator info reloading explicitly.

 src/mm-broadband-modem-qmi.c | 59
 ++++++++++++++++++++++++++++++--------------
 1 file changed, 40 insertions(+), 19 deletions(-)

commit ff97a776315d9e61f793c7312edce1f7e833f04a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 9 08:24:00 2020 +0200

    broadband-modem-mbim: request operator reload explicitly

    If the modem switches from one roaming operator to a different roaming
    operator, the actual operator MCCMNC/description will change even if
    the registration state keeps on being the same (roaming). Detect that,
    and trigger operator info reloading explicitly.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/154

 src/mm-broadband-modem-mbim.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 5313c25bd8ad4543f207da611551e42537ede208
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 9 15:44:15 2020 +0200

    broadband-modem-qmi: explicitly disable autoconnect during enable

    If the QMI device has autoconnect enabled, it will collide in one way
    or another with the ModemManager triggered connection sequence,
    usually because the user-requested settings are different to the
    autoconnected ones.

    So, detect whether autoconnect is enabled or not, and if it is,
    explicitly disable it.

 src/mm-broadband-modem-qmi.c | 177
 ++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 160 insertions(+), 17 deletions(-)

commit a60beedcc590c9dc590e616676652eec2a3bc51b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 9 15:43:59 2020 +0200

    port-qmi: allow users to release clients when no longer needed

 src/mm-port-qmi.c | 52
 +++++++++++++++++++++++++++++++++++++++++++++-------
 src/mm-port-qmi.h |  4 ++++
 2 files changed, 49 insertions(+), 7 deletions(-)

commit 32e26230526dda8298b38db2b65e57dc635fbf9d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 9 07:48:21 2020 +0200

    iface-modem-3gpp: add 5GNR to full 3GPP act mask

    So that the logic looking for 3GPP related registration info works in
    the QMI modem object when selected network is reported as 'unknown'
    but still the radio interfaces list reports 5GNR.

      <<<<<< TLV:
      <<<<<<   type       = "Serving System" (0x01)
      <<<<<<   length     = 6
      <<<<<<   value      = 01:02:01:00:01:0C
      <<<<<<   translated = [ registration_state = 'registered'
      cs_attach_state = 'detached' ps_attach_state = 'attached'
      selected_network = 'unknown' radio_interfaces = '{ [0] = '5gnr '}' ]

 src/mm-broadband-modem-qmi.c | 2 +-
 src/mm-iface-modem-3gpp.h    | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

commit 2293fbe6ba2991d16d663986933d112812f97703
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 25 18:07:53 2020 +0100

    shared-qmi: include all possible 5G related combinations if SSP
    is supported

 src/mm-shared-qmi.c | 111
 +++++++++++++++++++++++++---------------------------
 1 file changed, 53 insertions(+), 58 deletions(-)

commit c9ee47dd8f49ff24ce4244afbd44473f03a78f9a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 25 16:14:48 2020 +0100

    helpers-qmi: always log all queried capabilities when building current

 src/mm-modem-helpers-qmi.c | 41 +++++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 20 deletions(-)

commit 8eaffb654f1cc5c66bcccfd069e43834405c200f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 24 16:15:34 2020 +0100

    fibocom: add FM150 port type hints

 plugins/fibocom/77-mm-fibocom-port-types.rules | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 03f625aa3b190a82b8947bed46d4d67f0f3a2cc6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 24 16:10:25 2020 +0100

    fibocom: support QMI capable devices

 plugins/fibocom/mm-plugin-fibocom.c | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

commit 426f69d64b0516407995c27cd567bbaca74ff487
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 24 15:33:31 2020 +0100

    tests,modem-helpers: regex number is index of an array, so starts at 0

 src/tests/test-modem-helpers.c | 90
 +++++++++++++++++++++---------------------
 1 file changed, 45 insertions(+), 45 deletions(-)

commit 8aec9e3889706bc1677c65919297a1310eed5718
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 24 15:27:57 2020 +0100

    test,modem-helpers: use MMModem3gppRegistrationState values in tests

 src/tests/test-modem-helpers.c | 88
 +++++++++++++++++++++---------------------
 1 file changed, 44 insertions(+), 44 deletions(-)

commit 28b0e2b43917da0ebb3a69909321f6f06e704ede
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 24 14:16:45 2020 +0100

    modem-helpers: simplify logic to create array of GRegex

    Iterate over the list of available patterns, instead of adding
    them one by one.

 src/mm-modem-helpers.c | 196
 +++++++++++--------------------------------------
 1 file changed, 44 insertions(+), 152 deletions(-)

commit c78da3de7e6bdd82b53268614b997e5a4f3190f6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 24 07:38:00 2020 +0100

    broadband-modem: run +C5GREG state checks

    The generic CREG parser is improved to also allow parsing +C5GREG
    responses and URCs.

 src/mm-broadband-modem.c       | 172
 ++++++++++++++++++++++++-----------------
 src/mm-modem-helpers.c         |  83 ++++++++++++++------
 src/mm-modem-helpers.h         |   1 +
 src/tests/test-modem-helpers.c | 139 ++++++++++++++++++++++-----------
 4 files changed, 254 insertions(+), 141 deletions(-)

commit 040eb3880cae208660ae9e35bde75f7cffd790a7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 24 07:36:01 2020 +0100

    helpers: use generic number parsing methods in CREG parser

    This fixes the s8500 wave unit test, which was incorrectly parsing the
    Act field reported as 'B' as "GSM" (strtol(B)=0)

    Also, given that the generic parsing methods are able to parse numbers
    from quoted strings, this change allows us to remove the Thuraya
    specific CREG matching that just took into consideration quoted
    strings. The Thuraya unit tests are also fixed up to provide proper
    testing of the logic.

 src/mm-modem-helpers.c         | 93
 ++++++++++--------------------------------
 src/tests/test-modem-helpers.c | 14 +++----
 2 files changed, 28 insertions(+), 79 deletions(-)

commit 40b36a25cad1d43a46dc0bdf8acb88189fbfbb53
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 24 14:32:43 2020 +0100

    test,modem-helpers: remove obsolete comments in u-blox CREG tests

    We already support "SMS only" registration state.

 src/tests/test-modem-helpers.c | 2 --
 1 file changed, 2 deletions(-)

commit ccb45a8941f2b96a06c032a6d009b6b74c23b3a3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 24 07:10:45 2020 +0100

    libmm-glib,helpers: ignore all leading whitespaces when parsing
    numbers

 libmm-glib/mm-common-helpers.c | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

commit 7eee214b8e6e61db92d564b2757099620d4eccbf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 24 07:05:56 2020 +0100

    helpers: add additional AcT values from 27.007

 src/mm-modem-helpers.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 68917f502e60a73bd1904bf6bf98b65354a55251
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 24 07:01:36 2020 +0100

    api: new 'attached RLOS' registration state

    Reporting the state when the UE attaches to access restricted local
    operator services.

 include/ModemManager-enums.h | 2 ++
 src/mm-base-bearer.c         | 1 +
 src/mm-modem-helpers.c       | 4 ++--
 3 files changed, 5 insertions(+), 2 deletions(-)

commit 1c7304eb718a76dc679b1c08d3e5f0a5cf2d7a2d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 24 06:22:34 2020 +0100

    libmm-glib,helpers: allow reading hex strings from match info

 libmm-glib/mm-common-helpers.c | 25 +++++++++++++++++++++++++
 libmm-glib/mm-common-helpers.h |  6 ++++++
 2 files changed, 31 insertions(+)

commit 539562af0181f12343f6ebe2e3ffd44c5efb2fce
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 24 06:17:34 2020 +0100

    libmm-glib,helpers: skip quotes when reading numbers from match infos

    Useful when the regex applied to the parseable strings don't have an
    special ignore rule for the quotes.

 libmm-glib/mm-common-helpers.c | 39
 +++++++++------------------------------
 1 file changed, 9 insertions(+), 30 deletions(-)

commit 44ace9642cd8a2a80c65655a6d543c69169b2a06
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 23 10:42:39 2020 +0100

    modem-helpers: improved +WS46 mode '25' handling

    The mode '25' means different things on LTE-capable and
    non-LTE-capable devices, so improve the logic to clarify that.

 src/mm-modem-helpers.c | 43 ++++++++++++++++++++++++++++++++-----------
 1 file changed, 32 insertions(+), 11 deletions(-)

commit f31182c08d3801489510cb40cca11f82868d1989
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 23 08:07:18 2020 +0100

    iface-modem-3gpp: don't fixup CS network support

    This is already done by the modem interface as soon as current
    capabilities are loaded.

 src/mm-iface-modem-3gpp.c | 9 ---------
 src/mm-iface-modem.c      | 9 ---------
 src/mm-iface-modem.h      | 1 -
 3 files changed, 19 deletions(-)

commit 05301f23a1f3fdacb3a024b38d48d0129305daf0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 23 07:58:23 2020 +0100

    iface-modem-3gpp: new 5GS network support

 plugins/altair/mm-broadband-modem-altair-lte.c |  20 ++--
 src/mm-broadband-modem-mbim.c                  |   7 +-
 src/mm-broadband-modem-qmi.c                   |  13 +-
 src/mm-broadband-modem.c                       |  53 ++++++---
 src/mm-iface-modem-3gpp.c                      | 158
 ++++++++++++++++---------
 src/mm-iface-modem-3gpp.h                      |  12 +-
 src/mm-iface-modem.c                           |  25 ++--
 7 files changed, 183 insertions(+), 105 deletions(-)

commit 9144a9fa344856c484e3354eafc41c11e4a0c4a2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 23 07:34:15 2020 +0100

    helpers-qmi: support 5G capabilities and modes

 src/mm-modem-helpers-qmi.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 1cfd5daf9b67c3394e0541d72210128461282d09
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 23 07:31:39 2020 +0100

    api: new 5GNR access technology

 include/ModemManager-enums.h | 2 ++
 1 file changed, 2 insertions(+)

commit f912de357439174b1bc08f509052d053cefa2f29
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 23 07:29:46 2020 +0100

    broadband-modem: support 5G in +WS46 to capabilities conversion

 src/mm-broadband-modem.c | 38 ++++++++++++++++++++++++++------------
 1 file changed, 26 insertions(+), 12 deletions(-)

commit 5db3fa88e92129b723e645c8bece1e620d2a6349
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 23 07:19:56 2020 +0100

    api: new 5G mode

 include/ModemManager-enums.h |  2 ++
 src/mm-iface-modem.c         | 16 ++++++++++++++++
 src/mm-iface-modem.h         |  2 ++
 src/mm-modem-helpers-qmi.c   | 15 +++++++++++++++
 src/mm-modem-helpers.c       | 41
 ++++++++++++++++++++++++++++++-----------
 5 files changed, 65 insertions(+), 11 deletions(-)

commit 7354dc928f389d090dfa5c3599ed199f232c2fde
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 23 06:36:36 2020 +0100

    api: new 5GNR capability

 include/ModemManager-enums.h |  4 +++-
 libmm-glib/mm-modem-3gpp.c   |  3 ++-
 src/mm-iface-modem.c         |  8 +++-----
 src/mm-modem-helpers-qmi.c   | 13 ++++++++++++-
 src/mm-modem-helpers.h       |  3 ++-
 5 files changed, 22 insertions(+), 9 deletions(-)

commit bf771be7fac874a26f35afebd1fad27af64eaae7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 25 18:14:52 2020 +0100

    build: require libqmi 1.25.4 for full 5G enum support

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0cd76bf1c411707b6ba1c4222d791e2115ef6840
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 23 06:34:53 2020 +0100

    api: deprecate MM_MODEM_CAPABILITY_LTE_ADVANCED

    It's not used anywhere.

 cli/mmcli-modem.c                            |  2 +-
 docs/reference/api/ModemManager-sections.txt |  2 ++
 include/ModemManager-compat.h                | 17 +++++++++++++++++
 include/ModemManager-enums.h                 |  3 +--
 libmm-glib/mm-modem-3gpp.c                   |  2 +-
 src/mm-iface-modem.c                         |  4 ++--
 src/mm-modem-helpers-qmi.c                   |  2 --
 src/mm-modem-helpers.h                       |  6 +-----
 8 files changed, 25 insertions(+), 13 deletions(-)

commit 78266ac4895e34a02f4f66893d7ae867b38864b0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 23 07:02:57 2020 +0100

    iface-modem: simplify is_cdma_only() check

    The check needs to look for a matching single bit, so no need to make
    it too complex.

 src/mm-iface-modem.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

commit e1cfe3b4ee47d94a0f63bb9dbe83e3415d15b664
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 9 14:35:31 2020 +0200

    api,cdma: fix small typo

    Reported by Malte Grosse.
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/202#note_460466

 introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1a67db047e6d5473ed6327d58c25cdf96134df5f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 23 06:18:22 2020 +0100

    cli: improve --help output for --modem and --sim options

    Specify the full list of supported object lookup methods.

 cli/mmcli-common.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit d72a9df041bd25df6f6acb28eed5cbb044a89c51
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 23 06:05:51 2020 +0100

    cli: allow looking up for first available modem or SIM

    When a system only has one single modem, it's convenient to just look
    for the first available modem or SIM object, instead of needing to
    provide the full path or the exact index number.

    This improvement allows users to use the "any" keyword, or any of its
    substrings (e.g. "an" or even "a") to match the first available object
    of the requested type.

    E.g.:

      $ mmcli -m a
        --------------------------------
        General  |            dbus path:
        /org/freedesktop/ModemManager1/Modem/0
                 |            device id:
                 1a48f1180f1fb0166d91f7b139d027136b59ba63
        --------------------------------
        Hardware |         manufacturer: Sierra Wireless Inc.
                 |                model: Sierra Wireless EM7345 4G LTE
        ...

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/196

 cli/mmcli-common.c | 87
 ++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 55 insertions(+), 32 deletions(-)

commit cc99ab562b2f47f48f5ed9e5afa0c23a4a5c32cd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 23 05:45:13 2020 +0100

    cli: consolidate logic to process user provided object lookup info

    The user may specify DBus objects in several ways, e.g. with full
    object paths, just with the object numeric ids, or in some other cases
    with the full device UID.

    Setup one single method to process this info for all object types, so
    that it's also easier to add new lookup methods for all at the same
    time.

 cli/mmcli-common.c | 338
 ++++++++++++++++++++---------------------------------
 cli/mmcli-common.h |  20 ++--
 2 files changed, 134 insertions(+), 224 deletions(-)

commit 6f82ea3732278ca25f367aab3e1cef2ef865f52f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 9 07:34:39 2020 +0200

    log: force using the object logging API

    Unless the generic API is explicitly allowed, as in the main.c source
    file.

 src/main.c   |  3 ++-
 src/mm-log.h | 12 ++++++++----
 2 files changed, 10 insertions(+), 5 deletions(-)

commit 956dc8a704fce4ca5687cc7f43eaf7e9d703e699
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 9 07:10:52 2020 +0200

    api,3gpp: fix InitialEpsBearerSettings documentation

 introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 57ad6654ba1e36cc3f5b7223381b9e34c0469fc1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 9 07:09:26 2020 +0200

    api,3gpp: add "Pco" property detailed documentation

 ...org.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 20
 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

commit 962fe8bdb8ed65909b9f4ea83e7b31408ef216b6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 09:40:04 2020 +0200

    api,simple: fix name of access-technologies field in GetStatus()

 introspection/org.freedesktop.ModemManager1.Modem.Simple.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 839e2ec7ab51132ab01530bef4bf894692b239a3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 09:38:51 2020 +0200

    api,modem: reword the properties argument explanation in
    CreateBearer()

 introspection/org.freedesktop.ModemManager1.Modem.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6de13631745f35391f895628cc17ca03526ed0cc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 09:36:06 2020 +0200

    api,modem: improve capabilities related documentation

    And remove the unused mm_common_build_capability_combinations_any()
    method in the common non-public library code.

 .../org.freedesktop.ModemManager1.Modem.xml        | 26
 ++++++++++++++++------
 libmm-glib/mm-common-helpers.c                     | 11 ---------
 libmm-glib/mm-common-helpers.h                     |  1 -
 3 files changed, 19 insertions(+), 19 deletions(-)

commit 382b059c1eea8108b5dfb38d70f2a03118a566b7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 16:25:35 2020 +0200

    po: update source code lines

 po/cs.po    | 4 ++--
 po/da.po    | 4 ++--
 po/de.po    | 4 ++--
 po/fr.po    | 4 ++--
 po/fur.po   | 4 ++--
 po/hu.po    | 4 ++--
 po/id.po    | 4 ++--
 po/it.po    | 4 ++--
 po/lt.po    | 4 ++--
 po/pl.po    | 4 ++--
 po/pt_BR.po | 4 ++--
 po/ru.po    | 4 ++--
 po/sk.po    | 4 ++--
 po/sv.po    | 4 ++--
 po/tr.po    | 4 ++--
 po/uk.po    | 8 ++++----
 po/zh_CN.po | 4 ++--
 17 files changed, 36 insertions(+), 36 deletions(-)

commit 93e4c8625beb1dab16dd2ae23b6d09587200fea8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 16:22:52 2020 +0200

    plugin: don't match generic plugin by name

 plugins/generic/mm-plugin-generic.c          |  3 ++-
 plugins/generic/tests/test-service-generic.c |  2 +-
 src/mm-plugin-manager.c                      | 21 ++++++++++-----------
 src/mm-plugin.c                              | 25
 ++++++++++++++++++++++++-
 src/mm-plugin.h                              |  3 ++-
 5 files changed, 39 insertions(+), 15 deletions(-)

commit 4b058872a092fa85413fa905c37a6a1510a7a056
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 16:14:00 2020 +0200

    plugins: don't add plugin name in log message explicitly

 plugins/altair/mm-broadband-modem-altair-lte.c    |  2 +-
 plugins/cinterion/mm-broadband-bearer-cinterion.c | 16 ++++++++--------
 plugins/huawei/mm-broadband-modem-huawei.c        |  4 ++--
 plugins/huawei/mm-plugin-huawei.c                 | 14 +++++++-------
 plugins/longcheer/mm-plugin-longcheer.c           |  6 +++---
 plugins/novatel/mm-broadband-modem-novatel.c      |  6 +++---
 plugins/novatel/mm-common-novatel.c               |  8 ++++----
 plugins/sierra/mm-common-sierra.c                 |  6 +++---
 plugins/ublox/mm-broadband-bearer-ublox.c         |  4 ++--
 plugins/zte/mm-plugin-zte.c                       |  2 +-
 10 files changed, 34 insertions(+), 34 deletions(-)

commit 8722215f7e6ceb00c692fc94c1915ad2671ca1ae
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 16:07:58 2020 +0200

    plugins: use logging module name as plugin name

 plugins/altair/mm-plugin-altair-lte.c    | 2 +-
 plugins/anydata/mm-plugin-anydata.c      | 2 +-
 plugins/cinterion/mm-plugin-cinterion.c  | 2 +-
 plugins/dell/mm-plugin-dell.c            | 2 +-
 plugins/dlink/mm-plugin-dlink.c          | 2 +-
 plugins/fibocom/mm-plugin-fibocom.c      | 2 +-
 plugins/foxconn/mm-plugin-foxconn.c      | 2 +-
 plugins/haier/mm-plugin-haier.c          | 2 +-
 plugins/huawei/mm-plugin-huawei.c        | 2 +-
 plugins/iridium/mm-plugin-iridium.c      | 2 +-
 plugins/linktop/mm-plugin-linktop.c      | 2 +-
 plugins/longcheer/mm-plugin-longcheer.c  | 2 +-
 plugins/mbm/mm-plugin-mbm.c              | 2 +-
 plugins/motorola/mm-plugin-motorola.c    | 2 +-
 plugins/mtk/mm-plugin-mtk.c              | 2 +-
 plugins/nokia/mm-plugin-nokia-icera.c    | 2 +-
 plugins/nokia/mm-plugin-nokia.c          | 2 +-
 plugins/novatel/mm-plugin-novatel-lte.c  | 2 +-
 plugins/novatel/mm-plugin-novatel.c      | 2 +-
 plugins/option/mm-plugin-hso.c           | 2 +-
 plugins/option/mm-plugin-option.c        | 2 +-
 plugins/pantech/mm-plugin-pantech.c      | 2 +-
 plugins/quectel/mm-plugin-quectel.c      | 2 +-
 plugins/samsung/mm-plugin-samsung.c      | 2 +-
 plugins/sierra/mm-plugin-sierra-legacy.c | 2 +-
 plugins/sierra/mm-plugin-sierra.c        | 2 +-
 plugins/simtech/mm-plugin-simtech.c      | 2 +-
 plugins/telit/mm-plugin-telit.c          | 2 +-
 plugins/thuraya/mm-plugin-thuraya.c      | 8 ++++----
 plugins/tplink/mm-plugin-tplink.c        | 2 +-
 plugins/ublox/mm-plugin-ublox.c          | 2 +-
 plugins/via/mm-plugin-via.c              | 2 +-
 plugins/wavecom/mm-plugin-wavecom.c      | 2 +-
 plugins/x22x/mm-plugin-x22x.c            | 2 +-
 plugins/zte/mm-plugin-zte.c              | 2 +-
 35 files changed, 38 insertions(+), 38 deletions(-)

commit 997e2cefb8d72ced4d8ad96382d40482ec58ccdd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 16:07:32 2020 +0200

    log: define per-module logging for shared utils and plugins

 plugins/Makefile.am | 331
 +++++++++++++++++++++++++++++++++++++++-------------
 src/mm-log-test.h   |   1 +
 src/mm-log.c        |   3 +
 src/mm-log.h        |  15 ++-
 4 files changed, 263 insertions(+), 87 deletions(-)

commit e956bac47b5a822a836381ec8dbb34041a8f41f4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 15:13:53 2020 +0200

    log: common logging method definition for all testers and helpers

 .../cinterion/tests/test-modem-helpers-cinterion.c | 23 +----------
 plugins/huawei/tests/test-modem-helpers-huawei.c   | 22 +----------
 plugins/icera/tests/test-modem-helpers-icera.c     | 23 +----------
 plugins/linktop/tests/test-modem-helpers-linktop.c | 23 +----------
 plugins/mbm/tests/test-modem-helpers-mbm.c         | 23 +----------
 plugins/sierra/tests/test-modem-helpers-sierra.c   | 23 +----------
 plugins/simtech/tests/test-modem-helpers-simtech.c | 23 +----------
 plugins/telit/tests/test-mm-modem-helpers-telit.c  | 23 +----------
 plugins/tests/test-keyfiles.c                      | 23 +----------
 plugins/tests/test-udev-rules.c                    | 23 +----------
 .../thuraya/tests/test-mm-modem-helpers-thuraya.c  | 23 +----------
 plugins/ublox/tests/test-modem-helpers-ublox.c     | 23 +----------
 plugins/xmm/tests/test-modem-helpers-xmm.c         | 23 +----------
 src/Makefile.am                                    |  1 +
 src/mm-log-test.h                                  | 45
 ++++++++++++++++++++++
 src/mm-log.c                                       | 10 ++---
 src/mm-log.h                                       | 10 ++---
 src/tests/test-at-serial-port.c                    | 23 +----------
 src/tests/test-charsets.c                          | 23 +----------
 src/tests/test-error-helpers.c                     | 21 ----------
 src/tests/test-modem-helpers-qmi.c                 | 23 +----------
 src/tests/test-modem-helpers.c                     | 23 +----------
 src/tests/test-qcdm-serial-port.c                  | 23 +----------
 src/tests/test-sms-part-3gpp.c                     | 23 +----------
 src/tests/test-sms-part-cdma.c                     | 23 +----------
 src/tests/test-udev-rules.c                        | 23 +----------
 test/mmrules.c                                     | 23 +----------
 test/mmsmspdu.c                                    | 23 +----------
 test/mmtty.c                                       | 23 +----------
 29 files changed, 80 insertions(+), 558 deletions(-)

commit f1e930d574c712b75bf5772d3ae128b72b327a38
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 10:11:50 2020 +0200

    core: consolidate logging format in main daemon logic

 src/main.c | 30 ++++++++++++++----------------
 1 file changed, 14 insertions(+), 16 deletions(-)

commit 4508c11796fef8505891d47408de0e01c669003e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 09:40:25 2020 +0200

    zte: port to use object logging

 plugins/zte/mm-broadband-modem-zte-icera.c | 1 -
 plugins/zte/mm-broadband-modem-zte.c       | 2 --
 plugins/zte/mm-plugin-zte.c                | 8 ++++----
 3 files changed, 4 insertions(+), 7 deletions(-)

commit 35554aaeed42ddb9ecfad8d71f2e527485c10dda
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 09:38:59 2020 +0200

    xmm: port to use object logging

 plugins/xmm/mm-broadband-modem-mbim-xmm.c |  1 -
 plugins/xmm/mm-broadband-modem-xmm.c      |  1 -
 plugins/xmm/mm-modem-helpers-xmm.c        | 23 ++++++++++---------
 plugins/xmm/mm-shared-xmm.c               | 37
 ++++++++++++++++---------------
 4 files changed, 31 insertions(+), 31 deletions(-)

commit 9c9e531130e3a6cad4fcdf30c90d345a98cfe1b2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 08:00:03 2020 +0200

    x22x: port to use object logging

 plugins/x22x/mm-broadband-modem-x22x.c |  1 -
 plugins/x22x/mm-plugin-x22x.c          | 24 ++++++++++++++----------
 2 files changed, 14 insertions(+), 11 deletions(-)

commit ab47b565731296ba76d18d17c0c2ccc9d029de52
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 07:56:51 2020 +0200

    wavecom: port to use object logging

 plugins/wavecom/mm-broadband-modem-wavecom.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

commit c891595e3f447c04eda7a14c00d63ea7d957ebea
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 07:54:46 2020 +0200

    via: port to use object logging

 plugins/via/mm-broadband-modem-via.c | 8 ++++----
 plugins/via/mm-plugin-via.c          | 1 -
 2 files changed, 4 insertions(+), 5 deletions(-)

commit ccd0f6de5ad875b5ddd73ed5a20aea060b679aea
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 07:53:06 2020 +0200

    ublox: port to use object logging

 plugins/ublox/mm-broadband-bearer-ublox.c      | 219 +++++++++----------
 plugins/ublox/mm-broadband-modem-ublox.c       | 282
 ++++++++++++-------------
 plugins/ublox/mm-modem-helpers-ublox.c         |  46 ++--
 plugins/ublox/mm-modem-helpers-ublox.h         |   6 +
 plugins/ublox/mm-plugin-ublox.c                |  38 +---
 plugins/ublox/tests/test-modem-helpers-ublox.c |  10 +-
 6 files changed, 300 insertions(+), 301 deletions(-)

commit e04aa0ea5d16ce4f162e8adcd4f42a02d23618ba
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 07:09:19 2020 +0200

    tplink: port to use object logging

 plugins/tplink/mm-plugin-tplink.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 94a15597518c2832803af71570fa3d006293c7ff
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 07:08:35 2020 +0200

    thuraya: no logging in plugin

 plugins/thuraya/mm-plugin-thuraya.c | 1 -
 1 file changed, 1 deletion(-)

commit 98631e140ed9b85462d359503d22900edc30ad32
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 8 07:07:51 2020 +0200

    thuraya: return GError in custom CPMS parser

 plugins/thuraya/mm-broadband-modem-thuraya.c       | 10 +---
 plugins/thuraya/mm-modem-helpers-thuraya.c         | 70
 ++++++++++------------
 plugins/thuraya/mm-modem-helpers-thuraya.h         |  9 +--
 .../thuraya/tests/test-mm-modem-helpers-thuraya.c  |  4 +-
 4 files changed, 42 insertions(+), 51 deletions(-)

commit 078c638165b4c060ef6e7537d2cf306fa8cfa5f1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 16:28:16 2020 +0200

    telit: port to use object logging

 plugins/telit/mm-broadband-modem-mbim-telit.c     | 19 +++----
 plugins/telit/mm-broadband-modem-telit.c          | 60
 +++++++++++------------
 plugins/telit/mm-common-telit.c                   | 39 +++++++--------
 plugins/telit/mm-modem-helpers-telit.c            | 19 ++++---
 plugins/telit/mm-modem-helpers-telit.h            |  2 +
 plugins/telit/mm-plugin-telit.c                   |  6 +--
 plugins/telit/mm-shared-telit.c                   |  6 ++-
 plugins/telit/tests/test-mm-modem-helpers-telit.c |  2 +
 8 files changed, 81 insertions(+), 72 deletions(-)

commit 9dbc346f93934da5901225f92b11703b23bcf22a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 16:08:57 2020 +0200

    simtech: port to use object logging

 plugins/simtech/mm-broadband-modem-qmi-simtech.c |  1 -
 plugins/simtech/mm-broadband-modem-simtech.c     | 10 ++--
 plugins/simtech/mm-modem-helpers-simtech.c       |  1 -
 plugins/simtech/mm-plugin-simtech.c              |  4 +-
 plugins/simtech/mm-shared-simtech.c              | 66
 ++++++++++++------------
 5 files changed, 39 insertions(+), 43 deletions(-)

commit d15da9cf60af9cd1a6b7036519ec557712b5dbad
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 16:02:25 2020 +0200

    sierra: port to use object logging

 plugins/sierra/mm-broadband-bearer-sierra.c      | 27
 +++++++++++++-----------
 plugins/sierra/mm-broadband-modem-sierra-icera.c |  4 ++--
 plugins/sierra/mm-broadband-modem-sierra.c       | 26
 +++++++++++------------
 plugins/sierra/mm-common-sierra.c                | 18 ++++++++--------
 plugins/sierra/mm-modem-helpers-sierra.c         |  1 -
 plugins/sierra/mm-plugin-sierra-legacy.c         |  1 -
 plugins/sierra/mm-plugin-sierra.c                |  6 +++---
 plugins/sierra/mm-sim-sierra.c                   |  2 --
 8 files changed, 41 insertions(+), 44 deletions(-)

commit aed9f46443fe8e195785e54e4f12522520ee3c19
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 15:56:53 2020 +0200

    samsung: port to use object logging

 plugins/samsung/mm-broadband-modem-samsung.c | 3 +--
 plugins/samsung/mm-plugin-samsung.c          | 1 -
 2 files changed, 1 insertion(+), 3 deletions(-)

commit e623a54d274eea6803043c3ace4168b5ad599ae0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 15:55:40 2020 +0200

    quectel: port to use object logging

 plugins/quectel/mm-plugin-quectel.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit d25163cca11abdcebe590ff720ef475918d71278
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 15:54:33 2020 +0200

    pantech: port to use object logging

 plugins/pantech/mm-broadband-modem-pantech.c | 1 -
 plugins/pantech/mm-plugin-pantech.c          | 4 ++--
 2 files changed, 2 insertions(+), 3 deletions(-)

commit 662f8afc5658f8eede857608321558771b630de8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 15:53:34 2020 +0200

    option,hso: port to use object logging

 plugins/option/mm-broadband-bearer-hso.c   | 30
 ++++++++++++++++--------------
 plugins/option/mm-broadband-modem-hso.c    |  7 +++----
 plugins/option/mm-broadband-modem-option.c |  4 +---
 plugins/option/mm-plugin-hso.c             |  4 ++--
 4 files changed, 22 insertions(+), 23 deletions(-)

commit 4e0a9b19853fbda4835918c80570969c808dbe4f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 15:49:10 2020 +0200

    novatel: port to use object logging

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 69 +++++++++-------
 plugins/novatel/mm-broadband-modem-novatel-lte.c  | 13 +--
 plugins/novatel/mm-broadband-modem-novatel.c      | 98
 ++++++++++++-----------
 plugins/novatel/mm-common-novatel.c               | 39 ++++-----
 plugins/novatel/mm-plugin-novatel-lte.c           |  1 -
 plugins/novatel/mm-plugin-novatel.c               |  4 +-
 plugins/novatel/mm-sim-novatel-lte.c              |  2 -
 7 files changed, 114 insertions(+), 112 deletions(-)

commit 793fc1c51a6a7196b9b014377d43170ae5db3f8a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 15:22:56 2020 +0200

    nokia: no logging in plugin

 plugins/nokia/mm-broadband-modem-nokia.c | 1 -
 plugins/nokia/mm-plugin-nokia-icera.c    | 1 -
 plugins/nokia/mm-plugin-nokia.c          | 1 -
 3 files changed, 3 deletions(-)

commit 63955ce52dd85421a1820f89f4296aa667cfa0d7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 15:21:38 2020 +0200

    mtk: port to use object logging

 plugins/mtk/mm-broadband-modem-mtk.c | 16 +++++++---------
 plugins/mtk/mm-plugin-mtk.c          |  1 -
 2 files changed, 7 insertions(+), 10 deletions(-)

commit 1edd4bb101ed9ff20072c56dad4e07859a9a9202
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 15:18:55 2020 +0200

    mbm: port to use object logging

 plugins/mbm/mm-broadband-bearer-mbm.c      | 40
 ++++++++++++------------------
 plugins/mbm/mm-broadband-modem-mbm.c       | 19 +++++++-------
 plugins/mbm/mm-modem-helpers-mbm.c         | 25 ++++++++++---------
 plugins/mbm/mm-modem-helpers-mbm.h         |  7 +++---
 plugins/mbm/mm-plugin-mbm.c                |  4 +--
 plugins/mbm/mm-sim-mbm.c                   |  8 +++---
 plugins/mbm/tests/test-modem-helpers-mbm.c |  2 +-
 7 files changed, 50 insertions(+), 55 deletions(-)

commit 64ac1c19ff25b43320bbf3b5fea8a49d5c7c207f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 15:09:40 2020 +0200

    longcheer: port to use object logging

 plugins/longcheer/mm-broadband-modem-longcheer.c |  2 --
 plugins/longcheer/mm-plugin-longcheer.c          | 27
 ++++++++++++------------
 2 files changed, 14 insertions(+), 15 deletions(-)

commit 62033b1b6e37d944cd3dcc3eb27e3b1056b604df
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 15:05:08 2020 +0200

    linktop: no logging in plugin

 plugins/linktop/mm-broadband-modem-linktop.c | 1 -
 plugins/linktop/mm-modem-helpers-linktop.c   | 1 -
 2 files changed, 2 deletions(-)

commit 2da417c7a2d86e8b240f5e044d25789785e4b05d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 15:04:10 2020 +0200

    iridium: port to use object logging

 plugins/iridium/mm-bearer-iridium.c          | 3 +--
 plugins/iridium/mm-broadband-modem-iridium.c | 8 ++++----
 plugins/iridium/mm-plugin-iridium.c          | 1 -
 3 files changed, 5 insertions(+), 7 deletions(-)

commit fe78612d6d546604b3a2fc0569f070060c0233f2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 7 15:00:31 2020 +0200

    icera: port to use object logging

 plugins/icera/mm-broadband-bearer-icera.c | 44
 +++++++++++++++---------------
 plugins/icera/mm-broadband-modem-icera.c  | 45
 ++++++++++++++-----------------
 2 files changed, 42 insertions(+), 47 deletions(-)

commit 1cb39536e9bbbf22f08fe5f05b359f18d6152d10
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 16:17:08 2020 +0200

    huawei: port to use object logging

 plugins/huawei/mm-broadband-bearer-huawei.c      |  24 ++--
 plugins/huawei/mm-broadband-modem-huawei.c       | 147
 ++++++++++-------------
 plugins/huawei/mm-modem-helpers-huawei.c         |  31 ++---
 plugins/huawei/mm-modem-helpers-huawei.h         |  10 +-
 plugins/huawei/mm-plugin-huawei.c                | 119 +++++++++---------
 plugins/huawei/mm-sim-huawei.c                   |   2 -
 plugins/huawei/tests/test-modem-helpers-huawei.c |  53 +++-----
 7 files changed, 174 insertions(+), 212 deletions(-)

commit 59e6e3b1411b511689b94e95ed2aa1c8a4eaa2fc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 15:47:57 2020 +0200

    haier: no logging in plugin

 plugins/haier/mm-plugin-haier.c | 1 -
 1 file changed, 1 deletion(-)

commit fb85b5cbf98ae37fe3d727b271ebec84479dd835
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 15:47:09 2020 +0200

    generic: port to use object logging

 plugins/generic/mm-plugin-generic.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit a5df49c5f47b50548150ae9795172e424ff70de9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 15:46:02 2020 +0200

    foxconn: port to use object logging

 plugins/foxconn/mm-broadband-modem-foxconn-t77w968.c |  1 -
 plugins/foxconn/mm-plugin-foxconn.c                  | 10 +++++-----
 2 files changed, 5 insertions(+), 6 deletions(-)

commit 77080d5f26681aed9e43c9bdaba58139f291d591
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 15:44:34 2020 +0200

    fibocom: port to use object logging

 plugins/fibocom/mm-plugin-fibocom.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit b3e56bc576a36a4aaa5675c4c650c49388afc250
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 15:44:00 2020 +0200

    dlink: port to use object logging

 plugins/dlink/mm-plugin-dlink.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 784fd9b7405badc1a7a45cbc19575dea309ded44
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 15:43:05 2020 +0200

    dell: port to use object logging

 plugins/dell/mm-plugin-dell.c | 37 ++++++++++++++++---------------------
 1 file changed, 16 insertions(+), 21 deletions(-)

commit 261ba90d088e6e7b6c4c628b4fd02267111cc7ae
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 15:23:19 2020 +0200

    cinterion: port to use object logging

 plugins/cinterion/mm-broadband-bearer-cinterion.c  |  69 +++++-----
 plugins/cinterion/mm-broadband-modem-cinterion.c   |  91 ++++++-------
 plugins/cinterion/mm-modem-helpers-cinterion.c     |  21 +--
 plugins/cinterion/mm-modem-helpers-cinterion.h     |   5 +-
 plugins/cinterion/mm-plugin-cinterion.c            |  16 +--
 plugins/cinterion/mm-shared-cinterion.c            | 146
 +++++++++------------
 .../cinterion/tests/test-modem-helpers-cinterion.c |   8 +-
 7 files changed, 164 insertions(+), 192 deletions(-)

commit fe4b8f6817490763103b0b52ec19a0173ea13537
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 15:19:52 2020 +0200

    anydata: port to use object logging

 plugins/anydata/mm-broadband-modem-anydata.c | 8 ++++----
 plugins/anydata/mm-plugin-anydata.c          | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

commit f5ce4a722a4c5d89778470cdf774ca822fee7ace
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 15:15:45 2020 +0200

    altair: port to use object logging

 plugins/altair/mm-broadband-bearer-altair-lte.c | 13 ++----
 plugins/altair/mm-broadband-modem-altair-lte.c  | 58
 +++++++++----------------
 2 files changed, 24 insertions(+), 47 deletions(-)

commit 2376859f36f56b2a63f8f6c13094aad0b129b279
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 14:51:22 2020 +0200

    charsets: report GError in byte_array_append() failures

 src/mm-broadband-modem-mbim.c | 12 ++++++------
 src/mm-broadband-modem.c      | 19 +++++++++----------
 src/mm-charsets.c             | 28 ++++++++++++----------------
 src/mm-charsets.h             |  9 +++++----
 src/mm-sms-part-3gpp.c        | 28 ++++++++++++++--------------
 src/mm-sms-part-cdma.c        | 29 ++++++++++++++++++-----------
 6 files changed, 64 insertions(+), 61 deletions(-)

commit a2b57474dc60759416bc2a5a8808806fd3317c01
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 14:37:42 2020 +0200

    error-helpers: port to use object logging

 plugins/icera/mm-broadband-bearer-icera.c | 10 ++++++----
 src/mm-base-call.c                        |  2 +-
 src/mm-broadband-modem-mbim.c             |  6 +++---
 src/mm-broadband-modem.c                  |  2 +-
 src/mm-error-helpers.c                    | 25 +++++++++++++++----------
 src/mm-error-helpers.h                    | 10 +++++-----
 src/mm-iface-modem-3gpp.c                 |  4 ++--
 src/mm-iface-modem-simple.c               |  2 +-
 src/mm-serial-parsers.c                   | 16 ++++++++--------
 src/mm-sim-mbim.c                         |  8 ++++----
 src/tests/test-error-helpers.c            |  2 +-
 11 files changed, 47 insertions(+), 40 deletions(-)

commit bac9ed21cbe806280ff999facbd02935ccdefaba
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 14:29:44 2020 +0200

    kerneldevice,generic: remove logging

 src/kerneldevice/mm-kernel-device-generic-rules.c | 5 -----
 1 file changed, 5 deletions(-)

commit bca5c5e42363646d3d91daef3d328cecc2a205e3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 14:25:46 2020 +0200

    modem-helpers-qmi: port qmi capabilities parser to use object logging

 src/mm-modem-helpers-qmi.c         | 32 +++++++++++++++-----------------
 src/mm-modem-helpers-qmi.h         |  3 ++-
 src/mm-shared-qmi.c                |  2 +-
 src/tests/test-modem-helpers-qmi.c |  2 +-
 4 files changed, 19 insertions(+), 20 deletions(-)

commit 07b492c8879656aaaa795228edd3368f64c5504f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 14:21:43 2020 +0200

    modem-helpers-qmi: port acquisition order preference parser to use
    object logging

 src/mm-modem-helpers-qmi.c | 15 ++++++++-------
 src/mm-modem-helpers-qmi.h |  6 ++++--
 src/mm-shared-qmi.c        |  7 +++++--
 3 files changed, 17 insertions(+), 11 deletions(-)

commit f03fb06d8eed9678629ec31fd8611e6e70f341ae
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 13:59:46 2020 +0200

    modem-helpers-qmi: port qmi interface parser to use object logging

 src/mm-modem-helpers-qmi.c | 12 ++++++------
 src/mm-modem-helpers-qmi.h |  6 ++++--
 src/mm-shared-qmi.c        |  6 +++---
 3 files changed, 13 insertions(+), 11 deletions(-)

commit fc76e797d7eeb8c13677ecc4eb24f8096497ffc3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 13:57:53 2020 +0200

    modem-helpers-qmi: port qmi band parser to use object logging

 src/mm-modem-helpers-qmi.c | 77
 ++++++++++++++++++++++++----------------------
 src/mm-modem-helpers-qmi.h | 25 ++++++++-------
 src/mm-shared-qmi.c        |  8 +++--
 3 files changed, 60 insertions(+), 50 deletions(-)

commit 4be88b899ecc1102973c541dec0e916b22178e0d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 13:53:28 2020 +0200

    modem-helpers-mbim: port to use object logging

 src/mm-bearer-mbim.c          | 2 +-
 src/mm-broadband-modem-mbim.c | 2 +-
 src/mm-modem-helpers-mbim.c   | 5 +++--
 src/mm-modem-helpers-mbim.h   | 1 +
 4 files changed, 6 insertions(+), 4 deletions(-)

commit 7004f97093a3b44c793dcb930e432940d0663137
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 12:24:46 2020 +0200

    modem-helpers: make cpms test parser return error on failure

 src/mm-broadband-modem.c       |  9 +++-----
 src/mm-modem-helpers.c         | 50
 ++++++++++++++++++------------------------
 src/mm-modem-helpers.h         |  9 ++++----
 src/tests/test-modem-helpers.c | 24 +++++++++++++++-----
 4 files changed, 47 insertions(+), 45 deletions(-)

commit 105cb31e8cb423ff9b1e4bbeffce0124006be5fd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 12:15:49 2020 +0200

    modem-helpers: port ccwa service query parser to use object logging

 src/mm-broadband-modem.c       | 2 +-
 src/mm-modem-helpers.c         | 5 +++--
 src/mm-modem-helpers.h         | 1 +
 src/tests/test-modem-helpers.c | 2 +-
 4 files changed, 6 insertions(+), 4 deletions(-)

commit ecd766796a4bb3cd1962bfe0b42d187931dd12f6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 12:05:58 2020 +0200

    modem-helpers: port cesq response parser to use object logging

 plugins/xmm/mm-modem-helpers-xmm.c         | 11 +++----
 plugins/xmm/mm-modem-helpers-xmm.h         |  1 +
 plugins/xmm/mm-shared-xmm.c                |  2 +-
 plugins/xmm/tests/test-modem-helpers-xmm.c |  1 +
 src/mm-broadband-modem.c                   |  2 +-
 src/mm-modem-helpers.c                     | 46
 +++++++++++++++++-------------
 src/mm-modem-helpers.h                     | 31 ++++++++++++--------
 src/tests/test-modem-helpers.c             |  1 +
 8 files changed, 56 insertions(+), 39 deletions(-)

commit ef1a570afe38537db18a0a3e384dc49c550d0749
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 11:57:19 2020 +0200

    modem-helpers: port creg response parser to use object logging

 src/mm-broadband-modem.c       |  2 ++
 src/mm-modem-helpers.c         | 19 ++++++++++---------
 src/mm-modem-helpers.h         | 17 +++++++++--------
 src/tests/test-modem-helpers.c |  2 +-
 4 files changed, 22 insertions(+), 18 deletions(-)

commit 39dd4c166d2750a00dfe1a3505a02bccaaf7f755
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 11:53:36 2020 +0200

    modem-helpers: port clcc list parser to use object logging

 plugins/simtech/mm-modem-helpers-simtech.c         | 3 ++-
 plugins/simtech/mm-modem-helpers-simtech.h         | 1 +
 plugins/simtech/mm-shared-simtech.c                | 2 +-
 plugins/simtech/tests/test-modem-helpers-simtech.c | 2 +-
 src/mm-broadband-modem.c                           | 6 +++---
 src/mm-modem-helpers.c                             | 7 ++++---
 src/mm-modem-helpers.h                             | 1 +
 src/tests/test-modem-helpers.c                     | 2 +-
 8 files changed, 14 insertions(+), 10 deletions(-)

commit 78cad902ef342d6da628f26e1282782aa8361316
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 11:18:28 2020 +0200

    modem-helpers: remove unused supported capabilities filter

 src/mm-modem-helpers.c         | 28 -------------
 src/mm-modem-helpers.h         |  3 --
 src/tests/test-modem-helpers.c | 94
 ------------------------------------------
 3 files changed, 125 deletions(-)

commit 5b1b33a894e3677dd633f032d5d9a07931096719
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 11:01:27 2020 +0200

    modem-helpers: port cmer test parser to use object logging

 src/mm-broadband-modem.c       | 2 +-
 src/mm-modem-helpers.c         | 5 +++--
 src/mm-modem-helpers.h         | 1 +
 src/tests/test-modem-helpers.c | 2 +-
 4 files changed, 6 insertions(+), 4 deletions(-)

commit 3747f9e669204f0e609e36d629c708dafa1bb990
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 4 10:58:57 2020 +0200

    modem-helpers: remove logging from cgdcont response parser

 src/mm-modem-helpers.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit 740827bde1d03c5f8b187f70be8ffb6ae3ca1785
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 3 16:05:17 2020 +0200

    modem-helpers: parse cgdcont test parser to use object logging

 src/mm-broadband-bearer.c      |  2 +-
 src/mm-broadband-modem.c       |  2 +-
 src/mm-modem-helpers.c         | 11 ++++++-----
 src/mm-modem-helpers.h         |  5 +++--
 src/tests/test-modem-helpers.c |  4 ++--
 5 files changed, 13 insertions(+), 11 deletions(-)

commit f76489cd8179000c1f4e6bc7b72d60933a6c08b9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 3 16:01:06 2020 +0200

    modem-helpers: port cid selection helper to use object logging

 src/mm-broadband-bearer.c      |  1 +
 src/mm-modem-helpers.c         | 48
 +++++++++++++++++++++++-------------------
 src/mm-modem-helpers.h         |  5 +++--
 src/tests/test-modem-helpers.c |  1 +
 4 files changed, 31 insertions(+), 24 deletions(-)

commit 2b23ef3fa62de79f6ec0f23f2971f3528125246a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 3 15:54:42 2020 +0200

    modem-helpers: port cops test parser to use object logging

 src/mm-broadband-modem.c       |  2 +-
 src/mm-modem-helpers.c         | 54
 ++++++++++++++++--------------------------
 src/mm-modem-helpers.h         |  1 +
 src/tests/test-modem-helpers.c |  6 ++---
 4 files changed, 25 insertions(+), 38 deletions(-)

commit fb61243b7dd37d020e5bc357340ed97a6e4a8857
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 3 15:52:00 2020 +0200

    modem-helpers: port ifc test parser to use object logging

 src/mm-broadband-modem.c       |  2 +-
 src/mm-modem-helpers.c         | 17 ++++++++++-------
 src/mm-modem-helpers.h         |  1 +
 src/tests/test-modem-helpers.c |  2 +-
 4 files changed, 13 insertions(+), 9 deletions(-)

commit 0f708daf0b9bfa26193d0efbd2591bcc81ef1d44
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 3 15:47:37 2020 +0200

    modem-helpers: port supported modes filtering to use object logging

 plugins/cinterion/mm-broadband-modem-cinterion.c |  2 +-
 plugins/linktop/mm-broadband-modem-linktop.c     |  2 +-
 plugins/longcheer/mm-broadband-modem-longcheer.c |  2 +-
 plugins/novatel/mm-broadband-modem-novatel.c     |  2 +-
 plugins/option/mm-broadband-modem-option.c       |  2 +-
 plugins/sierra/mm-broadband-modem-sierra.c       |  2 +-
 plugins/simtech/mm-broadband-modem-simtech.c     |  2 +-
 plugins/telit/mm-broadband-modem-mbim-telit.c    |  2 +-
 plugins/telit/mm-broadband-modem-telit.c         |  2 +-
 plugins/ublox/mm-broadband-modem-ublox.c         |  2 +-
 plugins/ublox/mm-modem-helpers-ublox.c           |  3 ++-
 plugins/ublox/mm-modem-helpers-ublox.h           |  1 +
 plugins/ublox/tests/test-modem-helpers-ublox.c   |  2 +-
 plugins/wavecom/mm-broadband-modem-wavecom.c     |  2 +-
 plugins/x22x/mm-broadband-modem-x22x.c           |  2 +-
 plugins/xmm/mm-modem-helpers-xmm.c               |  3 ++-
 plugins/xmm/mm-modem-helpers-xmm.h               |  1 +
 plugins/xmm/mm-shared-xmm.c                      |  1 +
 plugins/xmm/tests/test-modem-helpers-xmm.c       |  2 +-
 plugins/zte/mm-broadband-modem-zte.c             |  2 +-
 src/mm-modem-helpers.c                           | 13 ++++++++++---
 src/mm-modem-helpers.h                           |  3 ++-
 src/mm-shared-qmi.c                              |  2 +-
 src/tests/test-modem-helpers.c                   | 10 +++++-----
 24 files changed, 40 insertions(+), 27 deletions(-)

commit fd1464cff04017f283ee296f81acb18f0c2ae7ab
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 3 15:34:42 2020 +0200

    modem-helpers: port device identifier to use object logging and
    autoptr

 src/mm-broadband-modem.c       |  1 +
 src/mm-modem-helpers.c         | 31 +++++++++++++------------------
 src/mm-modem-helpers.h         |  5 +++--
 src/tests/test-modem-helpers.c |  1 +
 4 files changed, 18 insertions(+), 20 deletions(-)

commit b682d7ec673b78446ed5cbd1d276e4e6f363ee3d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 19:19:22 2020 +0200

    tests,test-sms-part-cdma: remove explicit logging

 src/tests/test-sms-part-cdma.c | 2 --
 1 file changed, 2 deletions(-)

commit d628db12fe432846675844cee9753a77d22ca451
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 19:18:37 2020 +0200

    port-probe-at: remove explicit logging

 src/mm-port-probe-at.c | 2 --
 1 file changed, 2 deletions(-)

commit afe7a8e2363eaa57102d3dd4b5ae865e8d3311cc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 19:12:53 2020 +0200

    port-probe: port to use object logging

 src/mm-port-probe.c | 177
 ++++++++++++++++++----------------------------------
 1 file changed, 62 insertions(+), 115 deletions(-)

commit 2b1201af3cba7f2dc11835a6ad088eddd0e37e61
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 19:01:21 2020 +0200

    device: port to use object logging

 src/mm-device.c | 71
 ++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 42 insertions(+), 29 deletions(-)

commit 0e00f04fd8d8b6452c6379193b2023f2ea340160
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 18:54:45 2020 +0200

    sms-list: port to use object logging

 src/mm-sms-list.c | 62
 ++++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 41 insertions(+), 21 deletions(-)

commit dea6677df0eea55ac498f7c64011827035bfec25
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 18:51:37 2020 +0200

    bearer-list: no logging in object

 src/mm-bearer-list.c | 4 ----
 1 file changed, 4 deletions(-)

commit 661e3c91ccf8834d2df250df1cc84f9818aefe67
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 18:45:56 2020 +0200

    base-call: port to use object logging

 src/mm-base-call.c | 71
 ++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 47 insertions(+), 24 deletions(-)

commit 84e3ea63b9fe3d15862ab79ad401474330c28454
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 18:44:47 2020 +0200

    base-call: set dbus id as soon as object is created

 src/mm-base-call.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit aab6a46515f28c9459b08a7db30a5dc7984ffc71
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 18:40:34 2020 +0200

    base-manager: port to use object logging

 src/mm-base-manager.c | 314
 +++++++++++++++++++++++++-------------------------
 1 file changed, 159 insertions(+), 155 deletions(-)

commit b2a06fa99554cda2ddd5094d7ba05d7eb66d94b5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 18:18:40 2020 +0200

    plugin-manager: port to use object logging

 src/mm-plugin-manager.c | 317
 +++++++++++++++++++++++++++++-------------------
 1 file changed, 190 insertions(+), 127 deletions(-)

commit 6987d1bea680b24110f79a66de7cac6b365fa418
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 17:58:09 2020 +0200

    plugin: port to use object logging

 src/mm-plugin.c | 141
 +++++++++++++++++++++++++-------------------------------
 1 file changed, 62 insertions(+), 79 deletions(-)

commit 4b0c83b9ed4c427bf848340fbccdb4853ce0d3f3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 17:42:00 2020 +0200

    utils: port to use object logging

 src/mm-utils.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit a6a4037da756498054d96408a8311932b9c9b5cc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 17:41:51 2020 +0200

    auth-provider: port to use object logging

 src/mm-auth-provider.c | 25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

commit 28cb2b73682976df0abe6fa2fca95c2935064f22
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 17:35:05 2020 +0200

    sleep-monitor: port to use object logging

 src/mm-sleep-monitor.c | 36 +++++++++++++++++++++++++++---------
 1 file changed, 27 insertions(+), 9 deletions(-)

commit 4d761330e1a1edecd460465c38ec66dad3176d93
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 17:17:35 2020 +0200

    filter: port to use object logging

 src/mm-filter.c | 93
 ++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 55 insertions(+), 38 deletions(-)

commit 2e0d23ce7218baab6d08aede3a1269ac475e420d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 17:09:53 2020 +0200

    serial-parsers: port to use object logging

 src/mm-port-serial-at.c |  2 +-
 src/mm-port-serial-at.h |  7 ++++---
 src/mm-serial-parsers.c | 13 +++++++------
 src/mm-serial-parsers.h |  1 +
 4 files changed, 13 insertions(+), 10 deletions(-)

commit 72efb1b28da7daba1448def917d28b30014fde27
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 17:00:14 2020 +0200

    sms-part-cdma: port to use object logging

 src/mm-broadband-modem-qmi.c   |   1 +
 src/mm-sms-part-cdma.c         | 420
 +++++++++++++++++++++--------------------
 src/mm-sms-part-cdma.h         |  25 +--
 src/mm-sms-qmi.c               |   4 +-
 src/tests/test-sms-part-cdma.c |   6 +-
 5 files changed, 238 insertions(+), 218 deletions(-)

commit 3186a498c188a8686d6766a4c23bc051f3d00abe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 11:06:32 2020 +0200

    sms-part-3gpp: port to use object logging

 src/mm-base-sms.c              |  27 +++++----
 src/mm-broadband-modem-mbim.c  |   1 +
 src/mm-broadband-modem-qmi.c   |   1 +
 src/mm-broadband-modem.c       |   6 +-
 src/mm-sms-mbim.c              |   5 +-
 src/mm-sms-part-3gpp.c         | 124
 ++++++++++++++++++++++-------------------
 src/mm-sms-part-3gpp.h         |  46 +++++++--------
 src/mm-sms-qmi.c               |   8 ++-
 src/tests/test-sms-part-3gpp.c |   9 +--
 test/mmsmspdu.c                |   2 +-
 10 files changed, 128 insertions(+), 101 deletions(-)

commit d0545f60ad76e5288a51c27d8063399c6a074955
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 07:33:06 2020 +0200

    sms-mbim: port to use object logging

 src/mm-sms-mbim.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

commit cc1bb544ee46d69b7ab6b1026bc1dd66eafc24f4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 07:32:00 2020 +0200

    sms-qmi: port to use object logging

 src/mm-sms-qmi.c | 59
 ++++++++++++++++++++++++++++++--------------------------
 1 file changed, 32 insertions(+), 27 deletions(-)

commit 0e05d0dcf0548c93f441cc395ce6a64b13e74381
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 07:18:00 2020 +0200

    base-sms: port to use object logging

 src/mm-base-sms.c | 73
 +++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 46 insertions(+), 27 deletions(-)

commit 6c5a2e24aeaa6030ee7fc9d370acf502be5f4625
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 19:47:30 2020 +0200

    base-sms: set dbus id as soon as object is created

 src/mm-base-sms.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit e2d15e9bf43e507fe973cf40bfd5f248faf09643
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 19:42:08 2020 +0200

    sim-qmi: port to use object logging

 src/mm-sim-qmi.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

commit e8c9001f6e8867f95017378b96f34df91660fd5f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 19:40:49 2020 +0200

    sim-mbim: port to use object logging

 src/mm-sim-mbim.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit ae38106ad21741d6668ccf9ca649518e9cd62d94
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 19:37:09 2020 +0200

    base-sim: port to use object logging

 src/mm-base-sim.c | 59
 ++++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 39 insertions(+), 20 deletions(-)

commit 7e5af3b38d2afe8902f9ea194848a89a329fe83d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 19:34:18 2020 +0200

    base-sim: set dbus id as soon as object is created

 src/mm-base-sim.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit 6c0d9e5a1be72d70036bca2adbd0955f31d5612b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 19:30:24 2020 +0200

    bearer-mbim: port to use object logging

 src/mm-bearer-mbim.c | 118
 ++++++++++++++++++++++++++++-----------------------
 1 file changed, 65 insertions(+), 53 deletions(-)

commit ba89d59471a92ac0b5caabdd03d3b199b1cf8ab5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 19:25:25 2020 +0200

    bearer-qmi: port to use object logging

 src/mm-bearer-qmi.c | 139
 ++++++++++++++++++++++++++--------------------------
 1 file changed, 70 insertions(+), 69 deletions(-)

commit b2d3ff0b3d77e2c859a37dcb0e3d67350c81c4c1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 31 17:30:25 2020 +0200

    broadband-bearer: port to use object logging

 src/mm-broadband-bearer.c | 195
 ++++++++++++++++++++++++++--------------------
 1 file changed, 109 insertions(+), 86 deletions(-)

commit fce081bbb05f8c62926e5184263e3a33f17e7d83
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 16:15:00 2020 +0200

    base-bearer: port to use object logging

 src/mm-base-bearer.c | 103
 ++++++++++++++++++++++++++++-----------------------
 1 file changed, 57 insertions(+), 46 deletions(-)

commit c0fb9b42c02e2f3a5697ca9e5f1d814be933066d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 16:07:11 2020 +0200

    base-bearer: set dbus id as soon as object is created

 src/mm-base-bearer.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

commit ed41f969d5b80ae28e1841657c85b12ef5a29ad3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 19:17:17 2020 +0200

    iface-modem-voice: port to use object logging

 src/mm-iface-modem-voice.c | 163
 +++++++++++++++++++++++----------------------
 1 file changed, 83 insertions(+), 80 deletions(-)

commit c8c31f0613725fb638613f650614ee1d60c40dac
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 19:10:47 2020 +0200

    iface-modem-time: port to use object logging

 src/mm-iface-modem-time.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit 91de19e3aecef099f2c3b3e0ab2a6b4cdeb6116b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 19:09:23 2020 +0200

    iface-modem-simple: port to use object logging

 src/mm-iface-modem-simple.c | 90
 +++++++++++++++++++++------------------------
 1 file changed, 42 insertions(+), 48 deletions(-)

commit 695a1003a1d00deb9e4171d5607d4c7dbf49f5e3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 19:02:12 2020 +0200

    iface-modem-signal: port to use object logging

 src/mm-iface-modem-signal.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

commit 84851cc6164df15b1364fbe53f488200f6bdbd55
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 18:59:52 2020 +0200

    iface-modem-oma: port to use object logging

 src/mm-iface-modem-oma.c | 29 ++++++++++++++---------------
 1 file changed, 14 insertions(+), 15 deletions(-)

commit 135b5c8065b0679b3cf33779ae4dd9252d8d8497
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 18:58:07 2020 +0200

    iface-modem-messaging: port to use object logging

 src/mm-iface-modem-messaging.c | 53
 +++++++++++++++++++-----------------------
 1 file changed, 24 insertions(+), 29 deletions(-)

commit 7d5871c59c736b83112acd9eb23d6201486c306c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 18:53:25 2020 +0200

    iface-modem-location: port to use object logging

 src/mm-iface-modem-location.c | 65
 +++++++++++++++++--------------------------
 1 file changed, 26 insertions(+), 39 deletions(-)

commit 6314e5f1d22d8b3a69e071f78256ebe6059712b1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 16:31:33 2020 +0200

    iface-modem-firmware: port to use object logging

 src/mm-iface-modem-firmware.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 0592bcfdec25965c55236c091ab5facb29d198b0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 16:29:22 2020 +0200

    iface-modem-cdma: port to use object logging

 src/mm-iface-modem-cdma.c | 85
 ++++++++++++++++++++++++-----------------------
 1 file changed, 44 insertions(+), 41 deletions(-)

commit 301c984a872ecfadd8ef62706b7093078c70e842
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 16:23:39 2020 +0200

    iface-modem-3gpp-ussd: port to use object logging

 src/mm-iface-modem-3gpp-ussd.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 89a0adb962d4852324e297ce5b24a37aefdc5842
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 29 16:21:42 2020 +0200

    iface-modem-3gpp: port to use object logging

 src/mm-iface-modem-3gpp.c | 105
 ++++++++++++++++++++++------------------------
 1 file changed, 50 insertions(+), 55 deletions(-)

commit aa5a77ce05cf7819482a02e1377e23166ab3ed3b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 18:46:42 2020 +0100

    iface-modem: port to use object logging

 src/mm-iface-modem.c | 188
 ++++++++++++++++++++++++---------------------------
 1 file changed, 88 insertions(+), 100 deletions(-)

commit 6dff5ba673dfb838a290f3dc201a405017417a43
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 18:33:23 2020 +0100

    shared-qmi: port to use object logging

 src/mm-shared-qmi.c | 145
 ++++++++++++++++++++++++++++++----------------------
 1 file changed, 83 insertions(+), 62 deletions(-)

commit 46405afdf3450744599c3962b9ec6a07dc62d6f8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 18:23:08 2020 +0100

    broadband-modem-mbim: port to use object logging

 src/mm-broadband-modem-mbim.c | 207
 +++++++++++++++++++++++-------------------
 1 file changed, 113 insertions(+), 94 deletions(-)

commit 40a542be497e7269d79a7d6799eca5997d17a0f6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 18:12:27 2020 +0100

    broadband-modem-qmi: port to use object logging

 src/mm-broadband-modem-qmi.c | 418
 +++++++++++++++++++++++--------------------
 1 file changed, 228 insertions(+), 190 deletions(-)

commit ee454643299a59416a3ae799f958e676893afb0e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 17:51:44 2020 +0100

    broadband-modem: port to use object logging

 src/mm-broadband-modem.c | 666
 +++++++++++++++++++++++------------------------
 1 file changed, 333 insertions(+), 333 deletions(-)

commit 875ef11a57e1f6eedc3ca1aa4065d6ffca84073f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 16:45:31 2020 +0100

    base-modem: port to use object logging

    Also link all grabbed ports as owned by the modem.

 src/mm-base-modem.c | 85
 ++++++++++++++++++++++++++++++-----------------------
 1 file changed, 48 insertions(+), 37 deletions(-)

commit 9e50dda400e0d5109e2901d7dfe8b49cebeffa56
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 16:31:01 2020 +0100

    base-modem: set dbus id as soon as object is created

 src/mm-base-modem.c | 12 ++++++++++++
 src/mm-base-modem.h |  2 ++
 src/mm-device.c     |  5 ++---
 3 files changed, 16 insertions(+), 3 deletions(-)

commit 850d302d24a7c0bdf58b1a0a38a2ef04a5bc862d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 16:14:22 2020 +0100

    ports: port to object logging

 src/mm-port-mbim.c        |  43 +++++++----------
 src/mm-port-qmi.c         |  53 ++++++++++++---------
 src/mm-port-serial-at.c   |  13 +++--
 src/mm-port-serial-gps.c  |  11 +++--
 src/mm-port-serial-qcdm.c |  11 +++--
 src/mm-port-serial.c      | 118
 +++++++++++++++++-----------------------------
 src/mm-port-serial.h      |   8 ++--
 src/mm-port.c             |  32 ++++++++++---
 8 files changed, 144 insertions(+), 145 deletions(-)

commit 3a2466a3638390260a6149f15f81f3129371d7fd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 16:08:02 2020 +0100

    port-serial: assert on totally unexpected serial settings

    The bits/parity/stopbits serial settings are set by the daemon, so if
    any of them are not expected, assert, not just warn.

 src/mm-port-serial.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

commit b7d728696396da9645aae508c565ea0e094915a5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 10:06:50 2020 +0100

    kerneldevice: port to object logging

 src/kerneldevice/mm-kernel-device-generic.c | 119
 +++++++---------------------
 src/kerneldevice/mm-kernel-device-udev.c    |   6 +-
 src/kerneldevice/mm-kernel-device.c         |  24 +++++-
 3 files changed, 54 insertions(+), 95 deletions(-)

commit 9bcadea172cfba9317c55a9265012ff2f739cc96
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 08:06:41 2020 +0100

    log: new object logging support

    So that we can provide the specific object id in every log associated
    to a given object.

 .../cinterion/tests/test-modem-helpers-cinterion.c |  3 +-
 plugins/huawei/tests/test-modem-helpers-huawei.c   |  3 +-
 plugins/icera/tests/test-modem-helpers-icera.c     |  3 +-
 plugins/linktop/tests/test-modem-helpers-linktop.c |  3 +-
 plugins/mbm/tests/test-modem-helpers-mbm.c         |  3 +-
 plugins/sierra/tests/test-modem-helpers-sierra.c   |  3 +-
 plugins/simtech/tests/test-modem-helpers-simtech.c |  3 +-
 plugins/telit/tests/test-mm-modem-helpers-telit.c  |  3 +-
 plugins/tests/test-keyfiles.c                      |  3 +-
 plugins/tests/test-udev-rules.c                    |  3 +-
 .../thuraya/tests/test-mm-modem-helpers-thuraya.c  |  3 +-
 plugins/ublox/tests/test-modem-helpers-ublox.c     |  3 +-
 plugins/xmm/tests/test-modem-helpers-xmm.c         |  3 +-
 src/Makefile.am                                    |  9 ++-
 src/mm-log-object.c                                | 89
 ++++++++++++++++++++++
 src/mm-log-object.h                                | 38 +++++++++
 src/mm-log.c                                       | 10 ++-
 src/mm-log.h                                       | 29 ++++---
 src/tests/test-at-serial-port.c                    |  3 +-
 src/tests/test-charsets.c                          |  3 +-
 src/tests/test-error-helpers.c                     |  3 +-
 src/tests/test-modem-helpers-qmi.c                 |  3 +-
 src/tests/test-modem-helpers.c                     |  3 +-
 src/tests/test-qcdm-serial-port.c                  |  3 +-
 src/tests/test-sms-part-3gpp.c                     |  3 +-
 src/tests/test-sms-part-cdma.c                     |  3 +-
 src/tests/test-udev-rules.c                        |  3 +-
 test/mmrules.c                                     |  3 +-
 test/mmsmspdu.c                                    |  3 +-
 test/mmtty.c                                       |  3 +-
 30 files changed, 203 insertions(+), 47 deletions(-)

commit faccb3b2b434d33936d4b7f1bc6bbeab8a14538f
Author: Артемий Судаков <fiziyr@gmail.com>
Date:   Sat Apr 4 18:30:38 2020 +0000

    po: add Russian translation

 po/LINGUAS |   1 +
 po/ru.po   | 117
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 118 insertions(+)

commit d22523ff098ea1ea5aab542ebc3ac83a03f04c90
Author: Andika Triwidada <andika@gmail.com>
Date:   Tue Mar 31 11:15:39 2020 +0000

    po: updated Indonesian translation

 po/id.po | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

commit a309b089c9453455f9310ef4bfea217bcffc0721
Author: mozzwald <mozzwald@mozzwald.com>
Date:   Wed Mar 25 12:35:41 2020 -0500

    quectel: add port type hints for EC25/EG25 #194

 plugins/quectel/77-mm-quectel-port-types.rules | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 3643c1513368ae11c5608f223f7e8c4e51968a9c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 21 15:49:31 2020 +0100

    cli: remove empty whiteline in --version

    This also fixes the Copyright section in the troffit generated HTML
    output.

 cli/mmcli.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit e9d7a9acde7670f384bc8127ca141b185a57ad6f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 21 15:48:49 2020 +0100

    context: remove empty whiteline in --version

    This also fixes the Copyright section in the troffit generated HTML
    output.

 src/mm-context.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit f1e77cdbe632659302e72b2d22b3ee9414c25e1e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 21 15:40:13 2020 +0100

    cli: context: add ':' to the section titles

    So that --help-all print all sections in the same way as the Help and
    Application option groups.

 cli/mmcli-bearer.c          | 2 +-
 cli/mmcli-call.c            | 2 +-
 cli/mmcli-manager.c         | 2 +-
 cli/mmcli-modem-3gpp.c      | 2 +-
 cli/mmcli-modem-cdma.c      | 2 +-
 cli/mmcli-modem-firmware.c  | 2 +-
 cli/mmcli-modem-location.c  | 2 +-
 cli/mmcli-modem-messaging.c | 2 +-
 cli/mmcli-modem-oma.c       | 2 +-
 cli/mmcli-modem-signal.c    | 2 +-
 cli/mmcli-modem-simple.c    | 2 +-
 cli/mmcli-modem-time.c      | 2 +-
 cli/mmcli-modem-voice.c     | 2 +-
 cli/mmcli-modem.c           | 2 +-
 cli/mmcli-sim.c             | 2 +-
 cli/mmcli-sms.c             | 2 +-
 16 files changed, 16 insertions(+), 16 deletions(-)

commit 02f638d8d6d0eb67164dacb3477ff026621a319f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 21 15:37:58 2020 +0100

    context: add ':' to the section titles

    So that --help-all print all sections in the same way as the Help and
    Application option groups.

 src/mm-context.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 38f6e4eec920b2557ed7ba07310ce0160eab2cc9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 16 09:53:27 2020 +0100

    broadband-modem-mbim: fix segfault when loading capabilities

    If loading capabilities using QMI over MBIM returns NONE without an
    explicit error, the process would crash. Fix that by making the error
    optional when NONE is received.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/185

 src/mm-broadband-modem-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a6a721f3a8e010c0eefd7e38c4781f6e1a0c1e89
Author: Milo Casagrande <milo@milo.name>
Date:   Tue Mar 10 20:16:15 2020 +0100

    l10n: Update Italian translation

    Signed-off-by: Milo Casagrande <milo@milo.name>

 po/it.po | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

commit b9e6f30ba835f5019db55d98631f6571fdc575ef
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 20 16:11:42 2020 +0100

    kerneldevice,udev: don't assume interface is the direct parent object

    E.g. it may be one more layer up:

      looking at device
      '/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8.4/1-8.4:1.1/ttyUSB1/tty/ttyUSB1':
        KERNEL=="ttyUSB1"
        SUBSYSTEM=="tty"
        DRIVER==""

      looking at parent device
      '/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8.4/1-8.4:1.1/ttyUSB1':
        KERNELS=="ttyUSB1"
        SUBSYSTEMS=="usb-serial"
        DRIVERS=="option1"
        ATTRS{port_number}=="0"

      looking at parent device
      '/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8.4/1-8.4:1.1':
        KERNELS=="1-8.4:1.1"
        SUBSYSTEMS=="usb"
        DRIVERS=="option"
        ATTRS{bNumEndpoints}=="02"
        ATTRS{supports_autosuspend}=="1"
        ATTRS{bInterfaceNumber}=="01"
        ATTRS{bAlternateSetting}==" 0"
        ATTRS{bInterfaceSubClass}=="06"
        ATTRS{bInterfaceProtocol}=="13"
        ATTRS{interface}=="Huawei Mobile Connect - Application"
        ATTRS{bInterfaceClass}=="ff"
        ATTRS{authorized}=="1"

 src/kerneldevice/mm-kernel-device-udev.c | 62
 +++++++++++++++++++++++---------
 1 file changed, 46 insertions(+), 16 deletions(-)

commit 6eabfd27bf3c4c53d7779722b46e7261d22c1d92
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 21 12:21:28 2020 +0100

    huawei: only tag GETPORTMODE supported if it was really used

    E.g. do nothing if the response is empty:

     <debug> (ttyUSB1): -->'AT^GETPORTMODE<CR>'
     <debug> (ttyUSB1): <--'<CR><LF>^GETPORTMODE: TYPE: WCDMA: Huawei
     Technologies Co.,Ltd.,<CR><LF><CR><LF>OK<CR><LF>'

 plugins/huawei/mm-plugin-huawei.c | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

commit 353e27065dc9d8cf95e0ad81e14aae61648e2c85
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Dec 27 22:47:36 2019 +0100

    huawei: try to read port type hints from interface descriptions

    So far, we're really only interested in the "modem" and "pcui" ports.

      root@9d52738:/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4#
      find . -name interface|sort
      ./1-1.4:2.0/interface
      ./1-1.4:2.1/interface
      ./1-1.4:2.2/interface
      ./1-1.4:2.3/interface
      ./1-1.4:2.4/interface
      ./1-1.4:2.5/interface
      ./1-1.4:2.6/interface

      root@9d52738:/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4#
      find . -name interface|sort|xargs cat
      CDC Ethernet Control Model (ECM)
      CDC Ethernet Data
      Huawei Mobile Connect - Modem
      Huawei Mobile Connect - Application
      Huawei Mobile Connect - Pcui
      Huawei Mobile Connect - Ctrl
      Huawei Mobile Connect - Serial B

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/170

 plugins/huawei/mm-plugin-huawei.c | 63
 +++++++++++++++++++++++++++------------
 1 file changed, 44 insertions(+), 19 deletions(-)

commit 9ef84d2cff27e99c2e805d636528d1740bc4985a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Dec 27 22:24:24 2019 +0100

    kerneldevice: support reading interface 'description'

 src/kerneldevice/mm-kernel-device-generic.c | 93
 ++++++++++++++++++-----------
 src/kerneldevice/mm-kernel-device-udev.c    | 13 ++++
 src/kerneldevice/mm-kernel-device.c         | 10 ++++
 src/kerneldevice/mm-kernel-device.h         | 18 +++---
 4 files changed, 90 insertions(+), 44 deletions(-)

commit 5da33df35b3266f8905578c56a43a56d79726602
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 13:12:20 2020 +0100

    huawei: avoid attempting to complete GTask twice

 plugins/huawei/mm-plugin-huawei.c | 1 -
 1 file changed, 1 deletion(-)

commit fd052c8e584a41efc211690e993f6ef0ee3092ac
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 9 12:46:11 2020 +0100

    base-sim: don't allow sending PIN/PUK if not required

    This avoids issues when e.g. sending SIM-PIN while the modem is
    already unlocked or when SIM-PIN is not enabled.

    Under those conditions, the needlessly sent SIM-PIN unlock attempt may
    fail while libmm-glib/mmcli reports a successful operation. E.g.:

      # mmcli --sim=/org/freedesktop/ModemManager1/SIM/0 --pin=3497
      successfully sent PIN code to the SIM

    But in reality...

      Wed Nov 20 14:38:52 2019 daemon.debug [4254]: <debug>
      [1574260732.489513] Verifying PIN...
      Wed Nov 20 14:38:52 2019 daemon.debug [4254]: [/dev/cdc-wdm0]
      sent message...
      <<<<<< RAW:
      <<<<<<   length = 27
      <<<<<<   data   =
      01:1A:00:00:0B:02:00:09:00:26:00:0E:00:02:06:00:01:04:33:34:39:37:01:02:00:06:00
      Wed Nov 20 14:38:52 2019 daemon.debug [4254]: [/dev/cdc-wdm0]
      sent generic request (translated)...
      <<<<<< QMUX:
      <<<<<<   length  = 26
      <<<<<<   flags   = 0x00
      <<<<<<   service = "uim"
      <<<<<<   client  = 2
      <<<<<< QMI:
      <<<<<<   flags       = "none"
      <<<<<<   transaction = 9
      <<<<<<   tlv_length  = 14
      <<<<<<   message     = "Verify PIN" (0x0026)
      <<<<<< TLV:
      <<<<<<   type       = "Info" (0x02)
      <<<<<<   length     = 6
      <<<<<<   value      = 01:04:33:34:39:37
      <<<<<<   translated = [ pin_id = 'pin1' pin_value = '3497' ]
      Wed Nov 20 14:38:52 2019 daemon.debug [4254]: [/dev/cdc-wdm0]
      received message...
      <<<<<< RAW:
      <<<<<<   length = 30
      <<<<<<   data   =
      01:1D:00:80:0B:02:02:09:00:26:00:11:00:02:04:00:01:00:52:00:13:02:00:69:84:10:02:00:03:0A
      Wed Nov 20 14:38:52 2019 daemon.debug [4254]: [/dev/cdc-wdm0]
      received generic response (translated)...
      <<<<<< QMUX:
      <<<<<<   length  = 29
      <<<<<<   flags   = 0x80
      <<<<<<   service = "uim"
      <<<<<<   client  = 2
      <<<<<< QMI:
      <<<<<<   flags       = "response"
      <<<<<<   transaction = 9
      <<<<<<   tlv_length  = 17
      <<<<<<   message     = "Verify PIN" (0x0026)
      <<<<<< TLV:
      <<<<<<   type       = "Result" (0x02)
      <<<<<<   length     = 4
      <<<<<<   value      = 01:00:52:00
      <<<<<<   translated = FAILURE: AccessDenied

    As we already know what the current lock status is, just abort the
    user operation if the unlock operation isn't required.

 src/mm-base-sim.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 9f192be632b388522088c5efa2e26fe293090707
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 9 12:45:41 2020 +0100

    iface-modem: allow loading current required lock info

 src/mm-iface-modem.c | 18 ++++++++++++++++++
 src/mm-iface-modem.h |  3 ++-
 2 files changed, 20 insertions(+), 1 deletion(-)

commit 634bb1caac878c7e26a6b5179f779ffd34478622
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 9 12:34:28 2020 +0100

    base-sim: avoid using 'self' to refer to the modem

 src/mm-base-sim.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit b6add181572d93d35cc53631f8c311ce33474f20
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 9 12:25:17 2020 +0100

    iface-modem-simple: don't abort connection attempt if SIM-PUK2 locked

 src/mm-iface-modem-simple.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 94025aad6c31c86c4ee12b6e06c5ac2dd3b5dd55
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 9 12:20:31 2020 +0100

    base-sim: refactor common PIN/PUK unlock operations

    Keep the saved GError directly as GTask context, instead of allocating
    the SendPinPukContext unconditionally.

 src/mm-base-sim.c | 136
 +++++++++++++++++++++---------------------------------
 1 file changed, 52 insertions(+), 84 deletions(-)

commit 00dc961cad885880b935becf9fc4dea6eff61160
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 7 15:24:38 2020 +0100

    iface-modem-location: common helper code to test raw gps

 plugins/cinterion/mm-shared-cinterion.c | 25 ++-------------
 plugins/option/mm-broadband-modem-hso.c | 25 ++-------------
 plugins/simtech/mm-shared-simtech.c     | 21 -------------
 plugins/xmm/mm-shared-xmm.c             | 41 ------------------------
 src/mm-iface-modem-location.c           | 56
 +++++++++++++++++++++++++++++----
 5 files changed, 54 insertions(+), 114 deletions(-)

commit a61caff747546441474b1a1fc50c664a13a1378f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 7 15:11:53 2020 +0100

    iface-modem-location: plug memleaks when updating gps raw variant

    The helper method returning a variant from a MMLocationGpsRaw would
    return already a full variant reference instead of a floating one, so
    we were really increasing the refcount when doing g_variant_ref_sink()
    in the location interface.

    Fix this by consolidating all helper methods in libmm-glib that return
    variants from the different MMLocationXX objects, so that they all
    return full variants instead of floating ones.

 libmm-glib/mm-location-3gpp.c     |  2 +-
 libmm-glib/mm-location-gps-nmea.c |  2 +-
 src/mm-iface-modem-location.c     | 12 ++++--------
 3 files changed, 6 insertions(+), 10 deletions(-)

commit a7a8fc909abeb0abe092feb2603d27216f0e1325
Author: Bob Ham <bob.ham@puri.sm>
Date:   Tue Feb 4 11:21:34 2020 +0000

    broadband-modem: add optional extra carriage return to in-call
    URC regex

    The BroadMobi BM818 has inconsitent line endings and the in-call URC
    regex can miss events, particularly NO CARRIER, because the regex
    doesn't match.  To fix this we add an optional carriage return to the
    regex.  This will match for the BM818's output.

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 38d7cc6683008394f51cadc6b66446ba96c5f388
Author: Bob Ham <bob.ham@puri.sm>
Date:   Tue Feb 4 11:09:45 2020 +0000

    broadband-modem: add secondary AT port to in-call port context

    The BroadMobi BM818 sends URCs on the secondary port which are
    currently missed.  To fix this, we include the secondary port in the
    port context.

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e128210a27e78b7d421993a610a12871ed922e19
Author: Bob Ham <bob.ham@puri.sm>
Date:   Tue Feb 4 11:05:07 2020 +0000

    iface-modem-voice: report calls only if +CLCC was successful

    The BroadMobi BM818 can time out with +CLCC calls.  When this happens,
    active calls are terminated due to reporting an empty list.  To fix
    this, we only report the call list if the +CLCC didn't result in an
    error.

 src/mm-iface-modem-voice.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 2c9760af66454e492f601b9f12d3ad87de93765b
Author: Bob Ham <bob.ham@puri.sm>
Date:   Thu Feb 6 15:08:17 2020 +0000

    iface-modem-voice: log details when ending call missing from call list

    If a call is missing from the +CLCC call list and terminated because
    of that, add a debugging statement to log the call details.

 src/mm-iface-modem-voice.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

commit b5d4f045d888e94831b06624a15130c0b181219b
Author: Bob Ham <bob.ham@puri.sm>
Date:   Mon Feb 3 15:31:30 2020 +0000

    iface-modem-voice: match calls in call list by number

    Outgoing calls which ring before the first +CLCC response cannot match
    on the direction/state and are terminated, at least on the BroadMobi
    BM818.  For example:

    <debug> 1 calls being established: call list polling required
    <debug> (ttyUSB1) device open count is 3 (open)
    <debug> (ttyUSB1): --> 'AT+CLCC<CR>'
    <debug> (ttyUSB1): <-- '<CR><LF>+CLCC: 1,1,0,1,0,"",128<CR><LF>+CLCC:
    2,0,3,0,0,"07763578094",129<CR><LF><CR><LF>OK<CR><LF>'
    <debug> Reported 2 ongoing calls
    <debug> call at index 1: direction incoming, state active, number n/a
    <debug> call at index 2: direction outgoing, state ringing-out,
    number 07763578094
    <info>  Call state changed: dialing -> terminated (unknown)
    <warn>  unexpected incoming call to number 'n/a' reported in call
    list: state active
    <warn>  unexpected outgoing call to number '07763578094' reported
    in call list: state ringing-out

    To fix this, we match calls in a +CLCC call list by number as
    well.

 src/mm-iface-modem-voice.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

commit bdd1874f172438453c80f6b1cfcbd7ebbc31f02b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Feb 3 16:08:40 2020 +0100

    tests,keyfiles: add dummy test to avoid -Wunused-function warnings

    If none of the plugins enabled in the build has custom keyfiles, the
    common_test() method would be unused. Avoid this just by adding a new
    dummy test which is always available in the keyfiles tester.

 plugins/tests/test-keyfiles.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 55d344ab963703ac91fb09e7e985395887a08dd6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Feb 2 11:33:13 2020 +0100

    tests,udev-rules: add dummy test to avoid -Wunused-function warnings

    If none of the plugins enabled in the build has custom udev rules, the
    common_test() method would be unused. Avoid this just by adding a new
    dummy test which is always available in the udev rules tester.

 plugins/tests/test-udev-rules.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit a8fd33ebaa80a0844c375fdb39173736d18f71cb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 24 12:27:07 2020 +0100

    port-qmi: fallback to raw-ip if WDA Get Data Format requests arguments

    New devices return a "Missing Argument" error in WDA Get Data Format,
    requiring the use of the "Endpoint info" TLV. Given that all these new
    devices are raw-ip only anyway, let's use this error to right away
    fallback to require raw-ip in the interface.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/177

 src/mm-port-qmi.c | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

commit 280363e0d639a77a4072f26b9ec499de6575c0f2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 15:46:14 2020 +0100

    libmm-glib,helpers: allow \r\n in string to number conversions

    It's not uncommon that we may want to parse a simple AT response that
    contains a single number by doing mm_strip_tag() followed by
    mm_get_uint_from_str(). In order to do this, we need to have the
    helper methods that convert strings to numbers support \r\n characters
    at the end of the string, as we would have in AT responses.

 libmm-glib/mm-common-helpers.c         | 66
 +++++++++++++++++++++++++++++-----
 libmm-glib/tests/test-common-helpers.c | 15 ++++++++
 2 files changed, 73 insertions(+), 8 deletions(-)

commit 2020f1f2e748beb3f919cd0818a32673b39aecbc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 14:50:41 2020 +0100

    port-serial-qcdm: rewrite condition to make it more readable

    The logic is the same.

 src/mm-port-serial-qcdm.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 11f04851cefe6553d2f12ad7ec6fdef892f7275a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 14:30:23 2020 +0100

    libmm-glib,location-gps-nmea: avoid using deprecated build_full()
    method

      mm-location-gps-nmea.c: In function
      ‘mm_location_gps_nmea_get_string_variant’:
      mm-location-gps-nmea.c:245:5: warning:
      ‘mm_location_gps_nmea_build_full’ is deprecated:
      Use 'mm_location_gps_nmea_get_traces' instead
      [-Wdeprecated-declarations]
        245 |     built = mm_location_gps_nmea_build_full (self);
            |     ^~~~~

 libmm-glib/mm-location-gps-nmea.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

commit 02eafb582186021a7eab2863c88f3275b68c8f5e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 10:51:23 2020 +0100

    libmm-glib,test: avoid using deprecated mm_pco_list_free()

      test-pco.c: In function ‘test_pco_list_add’:
      test-pco.c:82:5: warning: ‘mm_pco_list_free’ is deprecated
      [-Wdeprecated-declarations]
         82 |     mm_pco_list_free (list);
            |     ^~~~~~~~~~~~~~~~
      In file included from ../../libmm-glib/libmm-glib.h:82,
                       from test-pco.c:17:
      ../../libmm-glib/mm-pco.h:67:6: note: declared here
         67 | void mm_pco_list_free (GList *pco_list);
            |      ^~~~~~~~~~~~~~~~

 libmm-glib/tests/test-pco.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9e24226364f9c635160cdb0ca8a404781091ba7b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 10:45:54 2020 +0100

    port-probe: MMPortProbeAtCommand always has constant command strings

 plugins/altair/mm-plugin-altair-lte.c |  6 +++---
 plugins/nokia/mm-plugin-nokia-icera.c |  6 +++---
 plugins/nokia/mm-plugin-nokia.c       |  6 +++---
 plugins/pantech/mm-plugin-pantech.c   |  6 +++---
 plugins/zte/mm-plugin-zte.c           |  6 +++---
 src/mm-port-probe-at.h                |  3 +--
 src/mm-port-probe.c                   | 26 +++++++++++++-------------
 7 files changed, 29 insertions(+), 30 deletions(-)

commit accd1a5841bafc81aa87db46eb35a8255ced4e22
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 10:36:50 2020 +0100

    base-modem: define new helper MMBaseModemAtCommandAlloc

    It has the same exact format as MMBaseModemAtCommand, but its contents
    are assumed heap allocated.

    The only real purpose of this type is to allow defining static
    constant MMBaseModemAtCommand variables without warnings when using
    -Wdiscarded-qualifiers.

 plugins/altair/mm-broadband-modem-altair-lte.c   | 12 ++---
 plugins/huawei/mm-broadband-modem-huawei.c       | 12 ++---
 plugins/icera/mm-broadband-modem-icera.c         |  8 +--
 plugins/mbm/mm-broadband-modem-mbm.c             | 36 ++++++-------
 plugins/mtk/mm-broadband-modem-mtk.c             |  4 +-
 plugins/novatel/mm-broadband-modem-novatel-lte.c |  4 +-
 plugins/option/mm-broadband-modem-option.c       | 16 +++---
 plugins/sierra/mm-broadband-modem-sierra.c       |  4 +-
 plugins/telit/mm-broadband-modem-telit.c         |  4 +-
 src/mm-base-modem-at.c                           |  6 +++
 src/mm-base-modem-at.h                           | 24 ++++++++-
 src/mm-broadband-modem.c                         | 68
 ++++++++++++------------
 12 files changed, 112 insertions(+), 86 deletions(-)

commit f77deb75a5d81fb1cfbfff576838900be866d016
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 10:15:45 2020 +0100

    test,mmsmspdu: fix warnings with -Wswitch-enum

      mmsmspdu.c: In function ‘show_part_info’:
      mmsmspdu.c:86:5: error: enumeration value
      ‘MM_SMS_ENCODING_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
         86 |     switch (encoding) {
            |     ^~~~~~

 test/mmsmspdu.c | 1 +
 1 file changed, 1 insertion(+)

commit dce5dbeb9a22da31b30547bfde193292473207b0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 10:15:12 2020 +0100

    test,mmrules: fix warnings with -Wswitch-default

      mmrules.c: In function ‘print_rule’:
      mmrules.c:97:13: error: switch missing default case
      [-Werror=switch-default]
         97 |             switch (rule_match->type) {
            |             ^~~~~~
      mmrules.c:113:5: error: switch missing default case
      [-Werror=switch-default]
        113 |     switch (rule->result.type) {
            |     ^~~~~~

 test/mmrules.c | 2 ++
 1 file changed, 2 insertions(+)

commit 6f433074e2fb4a17251ca483a6c848b67058ad5f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 10:14:25 2020 +0100

    test,lsudev: fix warnings with -Wsign-compare

      lsudev.c: In function ‘println’:
      lsudev.c:64:19: error: comparison of integer expressions of
      different signedness: ‘int’ and ‘guint’ {aka ‘unsigned
      int’} [-Werror=sign-compare]
         64 |     for (i = 0; i < indent; i++)
            |                   ^

 test/lsudev.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 1fa7e1260d8b3c588c65ecb0c0f5d589ab61b1be
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 10:13:35 2020 +0100

    cli: fix warnings with -Wshadow

      mmcli-manager.c: In function ‘context_free’:
      mmcli-manager.c:167:24: error: declaration of ‘ctx’ shadows
      a global declaration [-Werror=shadow]
        167 | context_free (Context *ctx)
            |               ~~~~~~~~~^~~
      mmcli-manager.c:51:17: note: shadowed declaration is here
         51 | static Context *ctx;
            |                 ^~~
      ...

 cli/mmcli-bearer.c          | 4 ++--
 cli/mmcli-call.c            | 4 ++--
 cli/mmcli-manager.c         | 4 ++--
 cli/mmcli-modem-3gpp.c      | 5 ++---
 cli/mmcli-modem-cdma.c      | 4 ++--
 cli/mmcli-modem-firmware.c  | 5 ++---
 cli/mmcli-modem-location.c  | 4 ++--
 cli/mmcli-modem-messaging.c | 5 ++---
 cli/mmcli-modem-oma.c       | 7 ++-----
 cli/mmcli-modem-signal.c    | 4 ++--
 cli/mmcli-modem-simple.c    | 4 ++--
 cli/mmcli-modem-time.c      | 4 ++--
 cli/mmcli-modem-voice.c     | 5 ++---
 cli/mmcli-modem.c           | 5 ++---
 cli/mmcli-sim.c             | 4 ++--
 cli/mmcli-sms.c             | 5 ++---
 16 files changed, 32 insertions(+), 41 deletions(-)

commit 1216e887168c580b5cd868dfa3f798ab90a43001
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 10:08:08 2020 +0100

    cli: fix warnings with -Wswitch-default

      mmcli-output.c: In function ‘output_item_free’:
      mmcli-output.c:321:5: error: switch missing default case
      [-Werror=switch-default]
        321 |     switch (item->type) {
            |     ^~~~~~
      mmcli-output.c: In function ‘mmcli_output_dump’:
      mmcli-output.c:1208:5: error: switch missing default case
      [-Werror=switch-default]
       1208 |     switch (selected_type) {
            |     ^~~~~~
      mmcli-output.c: In function ‘mmcli_output_list_dump’:
      mmcli-output.c:1231:5: error: switch missing default case
      [-Werror=switch-default]
       1231 |     switch (selected_type) {
            |     ^~~~~~

 cli/mmcli-common.c | 5 ++---
 cli/mmcli-output.c | 6 ++++++
 2 files changed, 8 insertions(+), 3 deletions(-)

commit c32fdcefefb4d953bd4d7694cfc6b65d4beb9924
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 10:05:17 2020 +0100

    cli: fix warnings with -Wswitch-enum

      mmcli.c: In function ‘log_handler’:
      mmcli.c:118:5: error: enumeration value ‘G_LOG_FLAG_RECURSION’
      not handled in switch [-Werror=switch-enum]
        118 |     switch (log_level) {
            |     ^~~~~~
      mmcli.c:118:5: error: enumeration value ‘G_LOG_LEVEL_MESSAGE’
      not handled in switch [-Werror=switch-enum]
      mmcli.c:118:5: error: enumeration value ‘G_LOG_LEVEL_INFO’
      not handled in switch [-Werror=switch-enum]
      mmcli.c:118:5: error: enumeration value ‘G_LOG_LEVEL_MASK’
      not handled in switch [-Werror=switch-enum]

 cli/mmcli.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit 1bf9937cd5be5b3a226b9c119c11c7f6f2bcaa7e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 10:02:56 2020 +0100

    via: fix warnings with -Wdiscarded-qualifiers

      via/mm-plugin-via.c: In function ‘mm_plugin_create’:
      via/mm-plugin-via.c:59:54: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         59 |     static const mm_str_pair product_strings[] = { { "via",
         "cbp7" },
            |                                                      ^~~~~
      via/mm-plugin-via.c:59:64: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         59 |     static const mm_str_pair product_strings[] = { { "via",
         "cbp7" },
            |
            ^~~~~~
      via/mm-plugin-via.c:60:54: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         60 |                                                    {
         "fusion", "2770p" },
            |
            ^~~~~~~~
      via/mm-plugin-via.c:60:64: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         60 |                                                    {
         "fusion", "2770p" },
            |
            ^~~~~~~

 plugins/via/mm-plugin-via.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 4a609e564a9ccce3312a98d4a4eec4613031313f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 10:01:25 2020 +0100

    ublox: fix disabling of unsolicited events

    The incorrect ready() method was being used while disabling, which
    ended up making the parent disable not being run at all.

      ublox/mm-broadband-modem-ublox.c:1178:1: error:
      ‘voice_disable_unsolicited_events_ready’ defined but not used
      [-Werror=unused-function]
       1178 | voice_disable_unsolicited_events_ready
       (MMBroadbandModemUblox *self,
            | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 plugins/ublox/mm-broadband-modem-ublox.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 72a124a1218d0658036561763473b830a2c26bb3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 09:59:51 2020 +0100

    ublox: fix warnings with -Wimplicit-fallthrough

      ublox/mm-broadband-modem-ublox.c:458:18: error: this statement
      may fall through [-Werror=implicit-fallthrough=]
        458 |         ctx->step++;
            |         ~~~~~~~~~^~
      ublox/mm-broadband-modem-ublox.c:461:5: note: here
        461 |     case SET_CURRENT_MODES_BANDS_STEP_ACQUIRE:
            |     ^~~~
      ublox/mm-broadband-modem-ublox.c:468:18: error: this statement
      may fall through [-Werror=implicit-fallthrough=]
        468 |         ctx->step++;
            |         ~~~~~~~~~^~
      ublox/mm-broadband-modem-ublox.c:471:5: note: here
        471 |     case SET_CURRENT_MODES_BANDS_STEP_CURRENT_POWER:
            |     ^~~~
      ...

 plugins/ublox/mm-broadband-modem-ublox.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit 3197a52c58038a10cc63846867cb24d5204a59a0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 09:58:15 2020 +0100

    ublox: fix warnings with -Wswitch-enum

      ublox/mm-broadband-modem-ublox.c:1246:5: error: enumeration
      value ‘MM_CALL_STATE_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
       1246 |     switch (call_info.state) {
            |     ^~~~~~
      ublox/mm-broadband-modem-ublox.c:1246:5: error: enumeration
      value ‘MM_CALL_STATE_ACTIVE’ not handled in switch
      [-Werror=switch-enum]
      ublox/mm-broadband-modem-ublox.c:1246:5: error: enumeration value
      ‘MM_CALL_STATE_HELD’ not handled in switch [-Werror=switch-enum]
      ublox/mm-broadband-modem-ublox.c:1246:5: error: enumeration
      value ‘MM_CALL_STATE_TERMINATED’ not handled in switch
      [-Werror=switch-enum]

 plugins/ublox/mm-broadband-modem-ublox.c | 4 ++++
 1 file changed, 4 insertions(+)

commit d6ec29c49e313dc9c74efd71d22176329592bcdb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 09:56:37 2020 +0100

    ublox: fix warnings with -Wswitch-default

      ublox/mm-broadband-modem-ublox.c: In function
      ‘preload_support_config’:
      ublox/mm-broadband-modem-ublox.c:100:5: error: switch missing
      default case [-Werror=switch-default]
        100 |     switch (self->priv->support_config.method) {
            |     ^~~~~~
      ublox/mm-broadband-modem-ublox.c:112:5: error: switch missing
      default case [-Werror=switch-default]
        112 |     switch (self->priv->support_config.uact) {
            |     ^~~~~~
      ublox/mm-broadband-modem-ublox.c:123:5: error: switch missing
      default case [-Werror=switch-default]
        123 |     switch (self->priv->support_config.ubandsel) {
            |     ^~~~~~
      ublox/mm-broadband-modem-ublox.c: In function
      ‘set_current_modes_bands_step’:
      ublox/mm-broadband-modem-ublox.c:452:5: error: switch missing
      default case [-Werror=switch-default]
        452 |     switch (ctx->step) {
            |     ^~~~~~

 plugins/ublox/mm-broadband-modem-ublox.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit f66f7458b73dfd708eba6813f3adc37483d8948b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 09:38:38 2020 +0100

    simtech: fix warnings with -Wimplicit-fallthrough

      simtech/mm-broadband-modem-simtech.c: In function
      ‘enable_unsolicited_events_context_step’:
      simtech/mm-broadband-modem-simtech.c:442:18: error: this statement
      may fall through [-Werror=implicit-fallthrough=]
        442 |         ctx->step++;
            |         ~~~~~~~~~^~
      simtech/mm-broadband-modem-simtech.c:444:5: note: here
        444 |     case ENABLE_UNSOLICITED_EVENTS_STEP_LAST:
            |     ^~~~

 plugins/simtech/mm-broadband-modem-simtech.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit f6a103ef135aebbec9294d0e7fb5f0a5d6578218
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 09:36:06 2020 +0100

    simtech: fix warnings with -Wswitch-default

      simtech/mm-broadband-modem-simtech.c: In function
      ‘enable_unsolicited_events_context_step’:
      simtech/mm-broadband-modem-simtech.c:378:5: error: switch missing
      default case [-Werror=switch-default]
        378 |     switch (ctx->step) {
            |     ^~~~~~
      simtech/mm-broadband-modem-simtech.c: In function
      ‘disable_unsolicited_events_context_step’:
      simtech/mm-broadband-modem-simtech.c:563:5: error: switch missing
      default case [-Werror=switch-default]
        563 |     switch (ctx->step) {
            |     ^~~~~~

 plugins/simtech/mm-broadband-modem-simtech.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 7873ef00e93f4bb390f873eddc16fa1afa071b8a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 09:34:45 2020 +0100

    simtech: fix warnings with -Wsign-compare

      simtech/mm-broadband-modem-simtech.c: In function
      ‘simtech_act_to_mm_act’:
      simtech/mm-broadband-modem-simtech.c:89:19: error: comparison of
      integer expressions of different signedness: ‘int’ and ‘long
      unsigned int’ [-Werror=sign-compare]
         89 |     return (nsmod < G_N_ELEMENTS
         (simtech_act_to_mm_act_map) ? simtech_act_to_mm_act_map[nsmod]
         : MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN);
            |                   ^

 plugins/simtech/mm-broadband-modem-simtech.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

commit 68f3eeeaa785e77289f6c7f276400d61bbb7fd22
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 09:31:57 2020 +0100

    option,hso: fix warnings with -Wsign-compare

      option/mm-broadband-bearer-hso.c: In function ‘ip_config_ready’:
      option/mm-broadband-bearer-hso.c:128:21: error: comparison
      of integer expressions of different signedness: ‘gint’
      {aka ‘int’} and ‘guint’ {aka ‘unsigned int’}
      [-Werror=sign-compare]
        128 |                 num != ctx->cid) {
            |                     ^~

 plugins/option/mm-broadband-bearer-hso.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit fc581c50bd535d4bcaf4f21619c813101b8aef24
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 09:31:14 2020 +0100

    pantech: fix warnings with -Wdiscarded-qualifiers

       pantech/mm-plugin-pantech.c:69:7: error: initialization
       discards ‘const’ qualifier from pointer target type
       [-Werror=discarded-qualifiers]
          69 |     { "ATE0", 3,
          port_probe_response_processor_is_pantech_at },
             |       ^~~~~~
       pantech/mm-plugin-pantech.c:70:7: error: initialization
       discards ‘const’ qualifier from pointer target type
       [-Werror=discarded-qualifiers]
          70 |     { "ATE0", 3,
          port_probe_response_processor_is_pantech_at },
             |       ^~~~~~
       pantech/mm-plugin-pantech.c:71:7: error: initialization
       discards ‘const’ qualifier from pointer target type
       [-Werror=discarded-qualifiers]
          71 |     { "ATE0", 3,
          port_probe_response_processor_is_pantech_at },
             |       ^~~~~~

 plugins/pantech/mm-plugin-pantech.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit f6611793105f4714ebc594c3046960b8ae94c62a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 09:30:41 2020 +0100

    novatel-lte: fix warnings with -Wdiscarded-qualifiers

      novatel/mm-broadband-modem-novatel-lte.c:249:7: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
        249 |     { "+CNUM",  3, TRUE,
        response_processor_cnum_ignore_at_errors },
            |       ^~~~~~~
      novatel/mm-broadband-modem-novatel-lte.c:250:7: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
        250 |     { "$NWMDN", 3, TRUE,
        response_processor_nwmdn_ignore_at_errors },
            |       ^~~~~~~~

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit f3acdcaa1b1a096dc0863eff4d3ad1b8f2a47c65
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 09:30:14 2020 +0100

    mtk: fix warnings with -Wdiscarded-qualifiers

      mtk/mm-broadband-modem-mtk.c:727:6: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
        727 |     {"+ECSQ=2", 5, FALSE, NULL},
            |      ^~~~~~~~~
      mtk/mm-broadband-modem-mtk.c:733:6: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
        733 |     {"+ECSQ=0", 5, FALSE, NULL},
            |      ^~~~~~~~~

 plugins/mtk/mm-broadband-modem-mtk.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 1f2018d52416a16242fdba4d9ca4e1280b9907c0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 09:29:16 2020 +0100

    nokia: fix warnings with -Wdiscarded-qualifiers

      nokia/mm-plugin-nokia.c:37:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         37 |     { "ATE1 E0", 3, mm_port_probe_response_processor_is_at
         },
            |       ^~~~~~~~~
      nokia/mm-plugin-nokia.c:38:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         38 |     { "ATE1 E0", 3, mm_port_probe_response_processor_is_at
         },
            |       ^~~~~~~~~
      nokia/mm-plugin-nokia.c:39:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         39 |     { "ATE1 E0", 3, mm_port_probe_response_processor_is_at
         },
            |       ^~~~~~~~~
      nokia/mm-plugin-nokia-icera.c:36:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         36 |     { "ATE1 E0", 3, mm_port_probe_response_processor_is_at
         },
            |       ^~~~~~~~~
      nokia/mm-plugin-nokia-icera.c:37:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         37 |     { "ATE1 E0", 3, mm_port_probe_response_processor_is_at
         },
            |       ^~~~~~~~~
      nokia/mm-plugin-nokia-icera.c:38:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         38 |     { "ATE1 E0", 3, mm_port_probe_response_processor_is_at
         },
            |       ^~~~~~~~~

 plugins/nokia/mm-plugin-nokia-icera.c | 6 +++---
 plugins/nokia/mm-plugin-nokia.c       | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

commit b5c08a47bef1cf0be51d44207c85ecbfe3b0cfc4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 09:27:57 2020 +0100

    mbm: fix warnings with -Wdiscarded-qualifiers

      mbm/mm-broadband-modem-mbm.c:409:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
        409 |     { "&F", 3, FALSE, NULL },
            |       ^~~~
      mbm/mm-broadband-modem-mbm.c:411:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
        411 |     { "*ENAP=0", 3, FALSE, NULL },
            |       ^~~~~~~~~
      ...

 plugins/mbm/mm-broadband-modem-mbm.c | 36
 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)

commit 40497a3904c3b5bad2056437b15c564143d77603
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 09:25:51 2020 +0100

    iridium: fix warnings with -Wdiscarded-qualifiers

      iridium/mm-plugin-iridium.c: In function ‘mm_plugin_create’:
      iridium/mm-plugin-iridium.c:64:52: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         64 |     static const mm_str_pair product_strings[] =
         {{"motorola", "satellite" },
            |
            ^~~~~~~~~~
      iridium/mm-plugin-iridium.c:64:64: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         64 |     static const mm_str_pair product_strings[] =
         {{"motorola", "satellite" },
            |
            ^~~~~~~~~~~

 plugins/iridium/mm-plugin-iridium.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit db8c1b9c12c36ee27ea26386de74dbb7801168b4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 09:20:58 2020 +0100

    huawei: fix warnings with -Wimplicit-fallthrough

      huawei/mm-broadband-bearer-huawei.c: In function
      ‘connect_3gpp_context_step’:
      huawei/mm-broadband-bearer-huawei.c:378:18: error: this statement
      may fall through [-Werror=implicit-fallthrough=]
        378 |         ctx->step++;
            |         ~~~~~~~~~^~
      huawei/mm-broadband-bearer-huawei.c:382:5: note: here
        382 |     case CONNECT_3GPP_CONTEXT_STEP_NDISDUP: {
            |     ^~~~
      huawei/mm-broadband-bearer-huawei.c: In function
      ‘disconnect_3gpp_context_step’:
      huawei/mm-broadband-bearer-huawei.c:708:18: error: this statement
      may fall through [-Werror=implicit-fallthrough=]
        708 |         ctx->step++;
            |         ~~~~~~~~~^~
      huawei/mm-broadband-bearer-huawei.c:711:5: note: here
        711 |     case DISCONNECT_3GPP_CONTEXT_STEP_NDISDUP:
            |     ^~~~

 plugins/huawei/mm-broadband-bearer-huawei.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit de360bd6204fad85c33d717e6c1ec87b15f18ab1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 07:53:14 2020 +0100

    huawei: fix warnings with -Wswitch-default

 plugins/huawei/mm-broadband-bearer-huawei.c | 6 ++++++
 plugins/huawei/mm-broadband-modem-huawei.c  | 5 +++--
 2 files changed, 9 insertions(+), 2 deletions(-)

commit 50e6ead7e26c37824b0493acc3aef8def119f903
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 07:51:40 2020 +0100

    huawei: fix warnings with -Wdiscarded-qualifiers

      huawei/mm-broadband-modem-huawei.c: At top level:
      huawei/mm-broadband-modem-huawei.c:2011:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       2011 |     { "^PORTSEL=0", 5, FALSE, NULL },
            |       ^~~~~~~~~~~~
      huawei/mm-broadband-modem-huawei.c:2012:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       2012 |     { "^CURC=1",    3, FALSE, NULL },
            |       ^~~~~~~~~

 plugins/huawei/mm-broadband-modem-huawei.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit 23f17ce766f12ec053a63948a92bb55b27c05376
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 07:49:36 2020 +0100

    huawei: fix warnings with -Wswitch-enum

      huawei/mm-broadband-modem-huawei.c: In function
      ‘huawei_hcsq_changed’:
      huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value
      ‘MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
       1816 |     switch (act) {
            |     ^~~~~~
      huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration
      value ‘MM_MODEM_ACCESS_TECHNOLOGY_POTS’ not handled in switch
      [-Werror=switch-enum]
      huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value
      ‘MM_MODEM_ACCESS_TECHNOLOGY_GSM_COMPACT’ not handled in switch
      [-Werror=switch-enum]
      huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration
      value ‘MM_MODEM_ACCESS_TECHNOLOGY_GPRS’ not handled in switch
      [-Werror=switch-enum]
      huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration
      value ‘MM_MODEM_ACCESS_TECHNOLOGY_EDGE’ not handled in switch
      [-Werror=switch-enum]
      huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration
      value ‘MM_MODEM_ACCESS_TECHNOLOGY_HSDPA’ not handled in switch
      [-Werror=switch-enum]
      huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration
      value ‘MM_MODEM_ACCESS_TECHNOLOGY_HSUPA’ not handled in switch
      [-Werror=switch-enum]
      huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration
      value ‘MM_MODEM_ACCESS_TECHNOLOGY_HSPA’ not handled in switch
      [-Werror=switch-enum]
      huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration value
      ‘MM_MODEM_ACCESS_TECHNOLOGY_HSPA_PLUS’ not handled in switch
      [-Werror=switch-enum]
      huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration
      value ‘MM_MODEM_ACCESS_TECHNOLOGY_1XRTT’ not handled in switch
      [-Werror=switch-enum]
      huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration
      value ‘MM_MODEM_ACCESS_TECHNOLOGY_EVDO0’ not handled in switch
      [-Werror=switch-enum]
      huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration
      value ‘MM_MODEM_ACCESS_TECHNOLOGY_EVDOA’ not handled in switch
      [-Werror=switch-enum]
      huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration
      value ‘MM_MODEM_ACCESS_TECHNOLOGY_EVDOB’ not handled in switch
      [-Werror=switch-enum]
      huawei/mm-broadband-modem-huawei.c:1816:5: error: enumeration
      value ‘MM_MODEM_ACCESS_TECHNOLOGY_ANY’ not handled in switch
      [-Werror=switch-enum]

 plugins/huawei/mm-broadband-bearer-huawei.c |  3 +++
 plugins/huawei/mm-broadband-modem-huawei.c  | 36
 ++++++++++++++---------------
 2 files changed, 21 insertions(+), 18 deletions(-)

commit 2753afb73c3c3acff1d34e477d3a6ebbb91f4f8b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 07:47:17 2020 +0100

    huawei: fix warnings with -Wsign-compare

      huawei/mm-plugin-huawei.c: In function ‘try_next_usbif’:
      huawei/mm-plugin-huawei.c:234:30: error: comparison of integer
      expressions of different signedness: ‘guint’ {aka ‘unsigned
      int’} and ‘gint’ {aka ‘int’} [-Werror=sign-compare]
        234 |                        usbif < closest) {
            |                              ^
      huawei/mm-plugin-huawei.c: In function
      ‘propagate_port_mode_results’:
      huawei/mm-plugin-huawei.c:439:27: error: comparison of integer
      expressions of different signedness: ‘guint’ {aka ‘unsigned
      int’} and ‘int’ [-Werror=sign-compare]
        439 |             if (usbif + 1 == GPOINTER_TO_INT
        (g_object_get_data (G_OBJECT (device), TAG_HUAWEI_PCUI_PORT))) {
            |                           ^~
      huawei/mm-plugin-huawei.c:442:34: error: comparison of integer
      expressions of different signedness: ‘guint’ {aka ‘unsigned
      int’} and ‘int’ [-Werror=sign-compare]
        442 |             } else if (usbif + 1 == GPOINTER_TO_INT
        (g_object_get_data (G_OBJECT (device), TAG_HUAWEI_MODEM_PORT)))
            |                                  ^~
      huawei/mm-plugin-huawei.c:445:32: error: comparison of integer
      expressions of different signedness: ‘guint’ {aka ‘unsigned
      int’} and ‘int’ [-Werror=sign-compare]
        445 |                      usbif + 1 == GPOINTER_TO_INT
        (g_object_get_data (G_OBJECT (device), TAG_HUAWEI_NDIS_PORT)))
            |                                ^~

 plugins/huawei/mm-plugin-huawei.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit 497398158f34e84a746e3208fa289c0912303966
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 07:42:56 2020 +0100

    cinterion: fix warnings with -Wimplicit-fallthrough

      cinterion/mm-broadband-bearer-cinterion.c: In function
      ‘dial_3gpp_context_step’:
      cinterion/mm-broadband-bearer-cinterion.c:393:18: error: this
      statement may fall through [-Werror=implicit-fallthrough=]
        393 |         ctx->step++;
            |         ~~~~~~~~~^~
      cinterion/mm-broadband-bearer-cinterion.c:396:5: note: here
        396 |     case DIAL_3GPP_CONTEXT_STEP_AUTH: {
            |     ^~~~
      cinterion/mm-broadband-bearer-cinterion.c:419:18: error: this
      statement may fall through [-Werror=implicit-fallthrough=]
        419 |         ctx->step++;
            |         ~~~~~~~~~^~
      cinterion/mm-broadband-bearer-cinterion.c:422:5: note: here
        422 |     case DIAL_3GPP_CONTEXT_STEP_START_SWWAN: {
            |     ^~~~
      cinterion/mm-broadband-bearer-cinterion.c: In function
      ‘disconnect_3gpp_context_step’:
      cinterion/mm-broadband-bearer-cinterion.c:613:18: error: this
      statement may fall through [-Werror=implicit-fallthrough=]
        613 |         ctx->step++;
            |         ~~~~~~~~~^~
      cinterion/mm-broadband-bearer-cinterion.c:615:5: note: here
        615 |     case DISCONNECT_3GPP_CONTEXT_STEP_STOP_SWWAN: {
            |     ^~~~

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

commit eff4ca989ddadd2fd27a66bdfe54792cd53015bd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 07:41:13 2020 +0100

    cinterion: fix warnings with -Wswitch-default

      cinterion/mm-broadband-bearer-cinterion.c: In function
      ‘dial_3gpp_context_step’:
      cinterion/mm-broadband-bearer-cinterion.c:370:5: error: switch
      missing default case [-Werror=switch-default]
        370 |     switch (ctx->step) {
            |     ^~~~~~
      cinterion/mm-broadband-bearer-cinterion.c: In function
      ‘disconnect_3gpp_context_step’:
      cinterion/mm-broadband-bearer-cinterion.c:610:5: error: switch
      missing default case [-Werror=switch-default]
        610 |     switch (ctx->step) {
            |     ^~~~~~

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 546715490dc7025fd4a3a17bb5e56287b43da86d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 07:40:27 2020 +0100

    cinterion: fix warnings with -Wswitch-enum

      cinterion/mm-broadband-modem-cinterion.c: In function
      ‘common_create_bearer’:
      cinterion/mm-broadband-modem-cinterion.c:1699:5: error: enumeration
      value ‘FEATURE_SUPPORT_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
       1699 |     switch (self->priv->swwan_support) {
            |     ^~~~~~
      ...

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 5 +++++
 plugins/cinterion/mm-broadband-modem-cinterion.c  | 1 +
 2 files changed, 6 insertions(+)

commit 63d21151e22ed2bb81e2165e26ce5cd83791d678
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 07:37:08 2020 +0100

    cinterion: fix warnings with -Wimplicit-fallthrough

      cinterion/mm-shared-cinterion.c: In function
      ‘disable_location_gathering_context_gps_step’:
      cinterion/mm-shared-cinterion.c:414:22: error: this statement may
      fall through [-Werror=implicit-fallthrough=]
        414 |         ctx->gps_step++;
            |         ~~~~~~~~~~~~~^~
      cinterion/mm-shared-cinterion.c:417:5: note: here
        417 |     case DISABLE_LOCATION_GATHERING_GPS_STEP_SGPSS:
            |     ^~~~

 plugins/cinterion/mm-shared-cinterion.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

commit 198529495ae1984958c0f072fa4ed1320b5e4044
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 07:35:15 2020 +0100

    cinterion: fix warnings with -Wswitch-default

      cinterion/mm-shared-cinterion.c: In function
      ‘disable_location_gathering_context_gps_step’:
      cinterion/mm-shared-cinterion.c:412:5: error: switch missing
      default case [-Werror=switch-default]
        412 |     switch (ctx->gps_step) {
            |     ^~~~~~
      cinterion/mm-shared-cinterion.c: In function
      ‘enable_location_gathering_context_gps_step’:
      cinterion/mm-shared-cinterion.c:665:5: error: switch missing
      default case [-Werror=switch-default]
        665 |     switch (ctx->gps_step) {
            |     ^~~~~~

 plugins/cinterion/mm-shared-cinterion.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit bbeabb495e1bd2df3d938b850fbce4e61a61d9fa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:54:23 2020 +0100

    helpers: new macro to CLAMP high threshold only

    Useful when clamping a unsigned integer with low threshold set to 0,
    which would give us compiler warnings with -Wtype-limits when using
    CLAMP(), e.g.:

      via/mm-broadband-modem-via.c: In function
      ‘handle_evdo_quality_change’:
      /usr/include/glib-2.0/glib/gmacros.h:811:63: error: comparison of
      unsigned expression < 0 is always false [-Werror=type-limits]
        811 | #define CLAMP(x, low, high)  (((x) > (high)) ? (high) :
        (((x) < (low)) ? (low) : (x)))
            |
            ^
      via/mm-broadband-modem-via.c:284:19: note: in expansion of macro
      ‘CLAMP’
        284 |         quality = CLAMP (quality, 0, 100);
            |                   ^~~~~

 plugins/huawei/mm-broadband-modem-huawei.c   | 14 +++++++-------
 plugins/mtk/mm-broadband-modem-mtk.c         | 16 ++++++++--------
 plugins/option/mm-broadband-modem-option.c   |  6 +++---
 plugins/simtech/mm-broadband-modem-simtech.c |  2 +-
 plugins/via/mm-broadband-modem-via.c         |  2 +-
 src/mm-broadband-modem-mbim.c                |  8 ++------
 src/mm-modem-helpers.h                       |  6 ++++++
 7 files changed, 28 insertions(+), 26 deletions(-)

commit b856f3625db670346a248967a53d6d0119e725b7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:52:01 2020 +0100

    zte: fix warnings with -Wdiscarded-qualifiers

      zte/mm-plugin-zte.c:54:7: error: initialization discards ‘const’
      qualifier from pointer target type [-Werror=discarded-qualifiers]
         54 |     { "ATE0+CPMS?", 3,
         mm_port_probe_response_processor_is_at },
            |       ^~~~~~~~~~~~
      zte/mm-plugin-zte.c:55:7: error: initialization discards ‘const’
      qualifier from pointer target type [-Werror=discarded-qualifiers]
         55 |     { "ATE0+CPMS?", 3,
         mm_port_probe_response_processor_is_at },
            |       ^~~~~~~~~~~~
      zte/mm-plugin-zte.c:56:7: error: initialization discards ‘const’
      qualifier from pointer target type [-Werror=discarded-qualifiers]
         56 |     { "ATE0+CPMS?", 3,
         mm_port_probe_response_processor_is_at },
            |       ^~~~~~~~~~~~

 plugins/zte/mm-plugin-zte.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit c1aac8ed2678c2ac7ae0333a3322b8990fe50527
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:50:31 2020 +0100

    altair: fix warnings with -Wdiscarded-qualifiers

      altair/mm-plugin-altair-lte.c:44:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         44 |     { "AT",  7, mm_port_probe_response_processor_is_at },
            |       ^~~~
      altair/mm-plugin-altair-lte.c:45:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         45 |     { "AT",  7, mm_port_probe_response_processor_is_at },
            |       ^~~~
      altair/mm-plugin-altair-lte.c:46:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         46 |     { "AT",  7, mm_port_probe_response_processor_is_at },
            |       ^~~~
      altair/mm-broadband-modem-altair-lte.c:886:5: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
        886 |   { "%STATCM=1", 10, FALSE,
        response_processor_no_result_stop_on_error },
            |     ^~~~~~~~~~~
      altair/mm-broadband-modem-altair-lte.c:887:5: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
        887 |   { "%NOTIFYEV=\"SIMREFRESH\",1", 10, FALSE, NULL },
            |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      altair/mm-broadband-modem-altair-lte.c:888:5: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
        888 |   { "%PCOINFO=1", 10, FALSE, NULL },
            |     ^~~~~~~~~~~~
      ...

 plugins/altair/mm-broadband-modem-altair-lte.c | 12 ++++++------
 plugins/altair/mm-plugin-altair-lte.c          |  6 +++---
 2 files changed, 9 insertions(+), 9 deletions(-)

commit 35649aa110821e59bf8b802eee087d6090579b17
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 31 15:17:23 2020 +0100

    telit,tests: different errors for invalid vs unmatched band
    combinations

 plugins/telit/tests/test-mm-modem-helpers-telit.c | 46
 +++++++++++++++++------
 1 file changed, 35 insertions(+), 11 deletions(-)

commit 5ba6a684af22f9d7c2079cee6e4ae5e3fc158d1c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:49:28 2020 +0100

    telit: fix warnings with -Wimplicit-fallthrough

      telit/mm-broadband-modem-telit.c: In function ‘qss_setup_step’:
      telit/mm-broadband-modem-telit.c:619:22: error: this statement
      may fall through [-Werror=implicit-fallthrough=]
        619 |             ctx->step++;
            |             ~~~~~~~~~^~
      telit/mm-broadband-modem-telit.c:620:9: note: here
        620 |         case QSS_SETUP_STEP_QUERY:
            |         ^~~~
      telit/mm-broadband-modem-telit.c:653:22: error: this statement
      may fall through [-Werror=implicit-fallthrough=]
        653 |             ctx->step++;
            |             ~~~~~~~~~^~
      telit/mm-broadband-modem-telit.c:654:9: note: here
        654 |         case QSS_SETUP_STEP_LAST:
            |         ^~~~
      telit/mm-broadband-modem-telit.c: In function
      ‘load_unlock_retries_step’:
      telit/mm-broadband-modem-telit.c:906:22: error: this statement
      may fall through [-Werror=implicit-fallthrough=]
        906 |             ctx->step++;
            |             ~~~~~~~~~^~
      telit/mm-broadband-modem-telit.c:907:9: note: here
        907 |         case LOAD_UNLOCK_RETRIES_STEP_LOCK:
            |         ^~~~

 plugins/telit/mm-broadband-modem-telit.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 7e19ed0a7967704565e793727eff5958b76ed481
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:48:26 2020 +0100

    telit: fix warnings with -Wdiscarded-qualifiers

      telit/mm-broadband-modem-telit.c: At top level:
      telit/mm-broadband-modem-telit.c:1184:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       1184 |     { "#PSNT?",    3, FALSE,
       response_processor_psnt_ignore_at_errors },
            |       ^~~~~~~~
      telit/mm-broadband-modem-telit.c:1185:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       1185 |     { "+SERVICE?", 3, FALSE,
       response_processor_service_ignore_at_errors },
            |       ^~~~~~~~~~~

 plugins/telit/mm-broadband-modem-telit.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 26e565f6a3a784dadae4b55819e3f5cdc5848145
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:47:41 2020 +0100

    telit: fix warnings with -Wswitch-default

      telit/mm-broadband-modem-telit.c: In function ‘qss_setup_step’:
      telit/mm-broadband-modem-telit.c:616:5: error: switch missing
      default case [-Werror=switch-default]
        616 |     switch (ctx->step) {
            |     ^~~~~~

 plugins/telit/mm-broadband-modem-telit.c | 3 +++
 1 file changed, 3 insertions(+)

commit cfd5cad8826bba97261e1f2bdceab9523f516173
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:47:08 2020 +0100

    telit: fix warnings with -Wsign-compare

      telit/mm-broadband-modem-telit.c: In function
      ‘gps_enabled_ready’:
      telit/mm-broadband-modem-telit.c:191:30: error: comparison of
      integer expressions of different signedness: ‘gint’ {aka
      ‘int’} and ‘long unsigned int’ [-Werror=sign-compare]
        191 |     if (ctx->gps_enable_step < G_N_ELEMENTS (gps_enable)) {
            |                              ^
      telit/mm-broadband-modem-telit.c: In function
      ‘parent_enable_location_gathering_ready’:
      telit/mm-broadband-modem-telit.c:254:43: error: comparison of
      integer expressions of different signedness: ‘gint’ {aka
      ‘int’} and ‘long unsigned int’ [-Werror=sign-compare]
        254 |     if (start_gps && ctx->gps_enable_step < G_N_ELEMENTS
        (gps_enable)) {
            |                                           ^

 plugins/telit/mm-broadband-modem-telit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 10c9ac18f706154437bf63a0905e59c8667208ca
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:45:50 2020 +0100

    telit: use integers to compare interface numbers

 plugins/telit/mm-common-telit.c | 29 +++++++++++++++--------------
 1 file changed, 15 insertions(+), 14 deletions(-)

commit b4a08e9eb934ddcfb688dca3d7fc58ccb2a2ea6a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:36:49 2020 +0100

    xmm: fix warnings with -Wswitch-enum

      xmm/mm-shared-xmm.c: In function ‘gps_engine_start’:
      xmm/mm-shared-xmm.c:1068:5: error: enumeration value
      ‘GPS_ENGINE_STATE_OFF’ not handled in switch
      [-Werror=switch-enum]
       1068 |     switch (state) {
            |     ^~~~~~

 plugins/xmm/mm-shared-xmm.c | 1 +
 1 file changed, 1 insertion(+)

commit f560cae145b0c4906ed50d284e3fd2de0dadb518
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:35:58 2020 +0100

    novatel: fix warnings with -Wswitch-default

      novatel/mm-broadband-modem-novatel.c: In function
      ‘cdma_activation_step’:
      novatel/mm-broadband-modem-novatel.c:1045:5: error: switch missing
      default case [-Werror=switch-default]
       1045 |     switch (ctx->step) {
            |     ^~~~~~

 plugins/novatel/mm-broadband-modem-novatel.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 92cc41e06059cf9c5e9181443c933b47443ed8c0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:35:01 2020 +0100

    option: fix warnings with -Wimplicit-fallthrough

      option/mm-broadband-modem-option.c: In function
      ‘load_access_technologies_step’:
      option/mm-broadband-modem-option.c:565:18: error: this statement
      may fall through [-Werror=implicit-fallthrough=]
        565 |         ctx->step++;
            |         ~~~~~~~~~^~
      option/mm-broadband-modem-option.c:567:5: note: here
        567 |     case ACCESS_TECHNOLOGIES_STEP_OSSYS:
            |     ^~~~
      option/mm-broadband-modem-option.c:587:18: error: this statement
      may fall through [-Werror=implicit-fallthrough=]
        587 |         ctx->step++;
            |         ~~~~~~~~~^~
      option/mm-broadband-modem-option.c:589:5: note: here
        589 |     case ACCESS_TECHNOLOGIES_STEP_OWCTI:
            |     ^~~~
      option/mm-broadband-modem-option.c:600:18: error: this statement
      may fall through [-Werror=implicit-fallthrough=]
        600 |         ctx->step++;
            |         ~~~~~~~~~^~
      option/mm-broadband-modem-option.c:602:5: note: here
        602 |     case ACCESS_TECHNOLOGIES_STEP_LAST:
            |     ^~~~

 plugins/option/mm-broadband-modem-option.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit cff9d4a797de5a8d777369899501d343f7e7b8f0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:32:38 2020 +0100

    option: fix warnings with -Wdiscarded-qualifiers

      option/mm-broadband-modem-option.c:978:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
        978 |     { "_OSSYS=1",  3, FALSE, NULL },
            |       ^~~~~~~~~~
      option/mm-broadband-modem-option.c:979:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
        979 |     { "_OCTI=1",   3, FALSE, NULL },
            |       ^~~~~~~~~
      option/mm-broadband-modem-option.c:980:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
        980 |     { "_OUWCTI=1", 3, FALSE, NULL },
            |       ^~~~~~~~~~~
      option/mm-broadband-modem-option.c:981:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
        981 |     { "_OSQI=1",   3, FALSE, NULL },
            |       ^~~~~~~~~
      option/mm-broadband-modem-option.c:1033:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       1033 |     { "_OSSYS=0",  3, FALSE, NULL },
            |       ^~~~~~~~~~
      option/mm-broadband-modem-option.c:1034:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       1034 |     { "_OCTI=0",   3, FALSE, NULL },
            |       ^~~~~~~~~
      option/mm-broadband-modem-option.c:1035:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       1035 |     { "_OUWCTI=0", 3, FALSE, NULL },
            |       ^~~~~~~~~~~
      option/mm-broadband-modem-option.c:1036:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       1036 |     { "_OSQI=0",   3, FALSE, NULL },
            |       ^~~~~~~~~

 plugins/option/mm-broadband-modem-option.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit 2fd6d401f5a468e69c60d5ee2d1d599414f7cb8d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:31:44 2020 +0100

    option: fix warnings with -Wswitch-default

 plugins/option/mm-broadband-modem-option.c | 3 +++
 1 file changed, 3 insertions(+)

commit b8a8b772b41a7b160d8f478f166206d5330acbeb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:30:15 2020 +0100

    sierra: remove unused cdma_manual_activation_context_free()

 plugins/sierra/mm-broadband-modem-sierra.c | 7 -------
 1 file changed, 7 deletions(-)

commit 54a6e9fc85cb4c1b46937fdc6481e7b88b8dba2b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:29:43 2020 +0100

    sierra: fix warnings with -Wdiscarded-qualifiers

      sierra/mm-broadband-modem-sierra.c:1815:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       1815 |     { "!TIME?", 3, FALSE, parse_time_reply },    /* 3GPP */
            |       ^~~~~~~~
      sierra/mm-broadband-modem-sierra.c:1816:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       1816 |     { "!SYSTIME?", 3, FALSE, parse_time_reply }, /* CDMA */
            |       ^~~~~~~~~~~

 plugins/sierra/mm-broadband-modem-sierra.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 4a74ae07bc3ddd7b0334c1c6327ba0ca35ec364b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:28:44 2020 +0100

    sierra: fix warnings with -Wimplicit-fallthrough

      sierra/mm-broadband-bearer-sierra.c: In function
      ‘dial_3gpp_context_step’:
      sierra/mm-broadband-bearer-sierra.c:304:18: error: this statement
      may fall through [-Werror=implicit-fallthrough=]
        304 |         ctx->step++;
            |         ~~~~~~~~~^~
      sierra/mm-broadband-bearer-sierra.c:306:5: note: here
        306 |     case DIAL_3GPP_STEP_PS_ATTACH:
            |     ^~~~
      sierra/mm-broadband-bearer-sierra.c:398:18: error: this statement
      may fall through [-Werror=implicit-fallthrough=]
        398 |         ctx->step++;
            |         ~~~~~~~~~^~

 plugins/sierra/mm-broadband-bearer-sierra.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 8e216b30a6ef3add8f615ac995e7afca71a28639
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:25:14 2020 +0100

    sierra: fix warnings with -Wswitch-enum

      sierra/mm-broadband-modem-sierra.c: In function
      ‘modem_time_load_network_time’:
      sierra/mm-broadband-modem-sierra.c:1733:5: error: enumeration
      value ‘TIME_METHOD_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
       1733 |     switch (MM_BROADBAND_MODEM_SIERRA
       (self)->priv->time_method) {
            |     ^~~~~~

 plugins/sierra/mm-broadband-modem-sierra.c | 1 +
 1 file changed, 1 insertion(+)

commit e71819fcfece9237f1a0f9cb86fad66302b64333
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:24:00 2020 +0100

    sierra: fix warnings with -Wswitch-default

 plugins/sierra/mm-broadband-bearer-sierra.c |  3 +++
 plugins/sierra/mm-broadband-modem-sierra.c  | 10 ++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)

commit 8d2fbc8429440c74a3aade3b9a779d5c5cfbc4d8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:22:23 2020 +0100

    icera: fix warnings with -Wsign-compare

      icera/mm-broadband-modem-icera.c: In function
      ‘icera_band_to_mm’:
      icera/mm-broadband-modem-icera.c:1105:20: error: comparison of
      integer expressions of different signedness: ‘int’ and ‘long
      unsigned int’ [-Werror=sign-compare]
       1105 |     for (i = 0 ; i < G_N_ELEMENTS (modem_bands); i++) {
            |                    ^

 plugins/icera/mm-broadband-modem-icera.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7af58f34508f7a71ca1ba072ac6c828db86a1e08
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:21:32 2020 +0100

    icera: fix warnings with -Wdiscarded-qualifiers

        CC       icera/libmm_shared_icera_la-mm-broadband-modem-icera.lo
      icera/mm-broadband-modem-icera.c:1082:30: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       1082 |     { MM_MODEM_BAND_UTRAN_1, "FDD_BAND_I",    FALSE },
            |                              ^~~~~~~~~~~~
      icera/mm-broadband-modem-icera.c:1083:30: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       1083 |     { MM_MODEM_BAND_UTRAN_2, "FDD_BAND_II",   FALSE },
            |                              ^~~~~~~~~~~~~
      icera/mm-broadband-modem-icera.c:1084:30: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       1084 |     { MM_MODEM_BAND_UTRAN_3, "FDD_BAND_III",  FALSE },
            |                              ^~~~~~~~~~~~~~
      icera/mm-broadband-modem-icera.c:1085:30: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       1085 |     { MM_MODEM_BAND_UTRAN_4, "FDD_BAND_IV",   FALSE },
            |                              ^~~~~~~~~~~~~
      icera/mm-broadband-modem-icera.c:1086:30: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       1086 |     { MM_MODEM_BAND_UTRAN_5, "FDD_BAND_V",    FALSE },
            |                              ^~~~~~~~~~~~

 plugins/icera/mm-broadband-modem-icera.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

commit 281f6560003e38c7c76a2164a6e84fb7c16856f5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:17:52 2020 +0100

    icera: fix warnings with -Wshadow

      icera/mm-broadband-modem-icera.c: In function
      ‘modem_create_bearer’:
      icera/mm-broadband-modem-icera.c:873:42: error: declaration of
      ‘properties’ shadows a global declaration [-Werror=shadow]
        873 |                      MMBearerProperties *properties,
            |                      ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
      icera/mm-broadband-modem-icera.c:57:20: note: shadowed declaration
      is here
         57 | static GParamSpec *properties[PROP_LAST];
            |                    ^~~~~~~~~~

 plugins/icera/mm-broadband-modem-icera.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 1e39e2a7dd52f8acdddd6910ea503a0c2eaea0a9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:16:54 2020 +0100

    simtech,helpers: fix warnings with -Wdiscarded-qualifiers

      simtech/tests/test-modem-helpers-simtech.c: In function
      ‘test_clcc_urc_single’:
      simtech/tests/test-modem-helpers-simtech.c:98:64: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
         98 |         { 1, MM_CALL_DIRECTION_INCOMING,
         MM_CALL_STATE_ACTIVE, "123456789" }
            |
            ^~~~~~~~~~~
      simtech/tests/test-modem-helpers-simtech.c: In function
      ‘test_clcc_urc_multiple’:
      simtech/tests/test-modem-helpers-simtech.c:113:65: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
        113 |         { 2, MM_CALL_DIRECTION_INCOMING,
        MM_CALL_STATE_ACTIVE,  "123456789" },
            |
            ^~~~~~~~~~~
      simtech/tests/test-modem-helpers-simtech.c:114:65: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
        114 |         { 3, MM_CALL_DIRECTION_INCOMING,
        MM_CALL_STATE_ACTIVE,  "987654321" },
            |
            ^~~~~~~~~~~
      simtech/tests/test-modem-helpers-simtech.c: In function
      ‘test_clcc_urc_complex’:
      simtech/tests/test-modem-helpers-simtech.c:130:65: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
        130 |         { 1, MM_CALL_DIRECTION_INCOMING,
        MM_CALL_STATE_ACTIVE,  "123456789" },
            |
            ^~~~~~~~~~~
      simtech/tests/test-modem-helpers-simtech.c:131:65: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
        131 |         { 2, MM_CALL_DIRECTION_INCOMING,
        MM_CALL_STATE_WAITING, "987654321" },
            |
            ^~~~~~~~~~~

 plugins/simtech/tests/test-modem-helpers-simtech.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 71afc23261ac210ff5b36165665239864f626368
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:15:38 2020 +0100

    huawei,helpers: fix warnings with -Wimplicit-fallthrough

      huawei/mm-modem-helpers-huawei.c: In function
      ‘parse_mode_combination_string’:
      huawei/mm-modem-helpers-huawei.c:991:20: error: this statement
      may fall through [-Werror=implicit-fallthrough=]
        991 |         *preferred = MM_MODEM_MODE_NONE;
            |         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
      huawei/mm-modem-helpers-huawei.c:993:5: note: here
        993 |     default:
            |     ^~~~~~~

 plugins/huawei/mm-modem-helpers-huawei.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit dcce64a11675105fd979ee46d01daebda08c40e2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:14:08 2020 +0100

    huawei: fix warnings with -Wsign-compare

      huawei/mm-modem-helpers-huawei.c: In function
      ‘mm_huawei_parse_prefmode_response’:
      huawei/mm-modem-helpers-huawei.c:550:18: error: comparison of
      integer expressions of different signedness: ‘gint’ {aka
      ‘int’} and ‘guint’ {aka ‘const unsigned int’}
      [-Werror=sign-compare]
        550 |         if (mode == combination->prefmode)
            |                  ^~

 plugins/huawei/mm-modem-helpers-huawei.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit d6c3d8929ee3aea9ac3146a0ce4b04c612365221
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:09:05 2020 +0100

    huawei,tests: fix warnings with -Wdiscarded-qualifiers

        CC
        huawei/tests/test_modem_helpers_huawei-test-modem-helpers-huawei.o
      huawei/tests/test-modem-helpers-huawei.c:1176:41: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
       1176 |     { "^TIME: 14/08/05 04:00:21", TRUE,
       "2014-08-05T04:00:21" },
            |
            ^~~~~~~~~~~~~~~~~~~~~
      huawei/tests/test-modem-helpers-huawei.c:1177:43: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
       1177 |     { "^TIME: 2014/08/05 04:00:21", TRUE,
       "2014-08-05T04:00:21" },
            |
            ^~~~~~~~~~~~~~~~~~~~~

 plugins/huawei/tests/test-modem-helpers-huawei.c | 30
 ++++++++++++------------
 1 file changed, 15 insertions(+), 15 deletions(-)

commit 52e4a6744c119d312f3cb3831b450453c267112f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:05:45 2020 +0100

    cinterion,helpers: fix warnings with -Wdiscarded-qualifiers

        CC
        cinterion/tests/test_modem_helpers_cinterion-test-modem-helpers-cinterion.o
      cinterion/tests/test-modem-helpers-cinterion.c: In function
      ‘test_slcc_urc_single’:
      cinterion/tests/test-modem-helpers-cinterion.c:749:64: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
        749 |         { 1, MM_CALL_DIRECTION_INCOMING,
        MM_CALL_STATE_ACTIVE, "123456789" }
            |
            ^~~~~~~~~~~
      cinterion/tests/test-modem-helpers-cinterion.c: In function
      ‘test_slcc_urc_multiple’:
      cinterion/tests/test-modem-helpers-cinterion.c:764:65: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
        764 |         { 2, MM_CALL_DIRECTION_INCOMING,
        MM_CALL_STATE_ACTIVE,  "123456789" },
            |
            ^~~~~~~~~~~
      cinterion/tests/test-modem-helpers-cinterion.c:765:65: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
        765 |         { 3, MM_CALL_DIRECTION_INCOMING,
        MM_CALL_STATE_ACTIVE,  "987654321" },
            |
            ^~~~~~~~~~~
      cinterion/tests/test-modem-helpers-cinterion.c: In function
      ‘test_slcc_urc_complex’:
      cinterion/tests/test-modem-helpers-cinterion.c:781:65: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
        781 |         { 1, MM_CALL_DIRECTION_INCOMING,
        MM_CALL_STATE_ACTIVE,  "123456789" },
            |
            ^~~~~~~~~~~
      cinterion/tests/test-modem-helpers-cinterion.c:782:65: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
        782 |         { 2, MM_CALL_DIRECTION_INCOMING,
        MM_CALL_STATE_WAITING, "987654321" },
            |

 plugins/cinterion/tests/test-modem-helpers-cinterion.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 20c23edb83b0bacbb28a0c7f5d3e41309ce4053e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:03:49 2020 +0100

    altair,helpers: fix warnings with -Wsign-compare

        CC
        altair/tests/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.o
      In file included from /usr/lib/glib-2.0/include/glibconfig.h:9,
                       from /usr/include/glib-2.0/glib/gtypes.h:32,
                       from /usr/include/glib-2.0/glib/galloca.h:32,
                       from /usr/include/glib-2.0/glib.h:30,
                       from
                       altair/tests/test-modem-helpers-altair-lte.c:20:
      altair/tests/test-modem-helpers-altair-lte.c: In function
      ‘test_parse_cid’:
      altair/tests/test-modem-helpers-altair-lte.c:98:58: error:
      comparison of integer expressions of different signedness:
      ‘guint’ {aka ‘unsigned int’} and ‘int’
      [-Werror=sign-compare]
         98 |     g_assert (mm_altair_parse_cid ("%CGINFO:blah", NULL)
         == -1);
            |                                                          ^~
      /usr/include/glib-2.0/glib/gmacros.h:937:25: note: in definition
      of macro ‘G_LIKELY’
        937 | #define G_LIKELY(expr) (expr)
            |                         ^~~~
      altair/tests/test-modem-helpers-altair-lte.c:98:5: note: in
      expansion of macro ‘g_assert’
         98 |     g_assert (mm_altair_parse_cid ("%CGINFO:blah", NULL)
         == -1);
            |     ^~~~~~~~

 plugins/altair/mm-modem-helpers-altair-lte.c | 5 ++---
 plugins/altair/mm-modem-helpers-altair-lte.h | 2 +-
 2 files changed, 3 insertions(+), 4 deletions(-)

commit 759ab6d94d2d34c5df2f665e7afbe0a66a1f7541
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:00:52 2020 +0100

    telit,helpers: fix format of flags built during #BND request
    generation

    We explicitly need 64bit values for 3G flags and 4G flags.

 plugins/telit/mm-modem-helpers-telit.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit ee8e81e55c187c3f1feca230d137fb25400a565e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 17:56:59 2020 +0100

    telit,helpers: use correct flag to check caps when building #BND
    request

 plugins/telit/mm-modem-helpers-telit.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 6cb9dc07dc68c04a9dd2f98f2b190ffef00c995e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 14:15:24 2020 +0100

    broadband-modem-qmi,helpers-qmi: add missing 5GNR access tech enums

    Not adding full 5GNR support in ModemManager yet, just the enums in
    QMI so that we don't fail building with -Wswitch-enum.

 src/mm-broadband-modem-qmi.c | 3 +++
 src/mm-modem-helpers-qmi.c   | 4 ++++
 2 files changed, 7 insertions(+)

commit af2bea5a54e641b9d881184147ba8c855a5395c3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 14 18:52:19 2020 +0100

    broadband-modem-mbim: avoid using the deprecated mm_pco_list_free()

 src/mm-broadband-modem-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 808f823451ac6d461513cb77d97bce72db6a0d49
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 14 18:31:02 2020 +0100

    sim-qmi: avoid using deprecated libqmi declarations

    Let's use the suggested compat symbols instead, provided in libqmi
    1.22.

      mm-sim-qmi.c: In function ‘uim_read’:
      mm-sim-qmi.c:170:5: error:
      ‘qmi_message_uim_read_transparent_input_set_session_information’
      is deprecated: Use
      'qmi_message_uim_read_transparent_input_set_session' instead
      [-Werror=deprecated-declarations]
        170 |
        qmi_message_uim_read_transparent_input_set_session_information (
            |
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /usr/include/libqmi-glib/libqmi-glib.h:40,
                       from mm-port-qmi.h:23,
                       from mm-base-modem.h:39,
                       from mm-base-sim.h:25,
                       from mm-sim-qmi.h:22,
                       from mm-sim-qmi.c:29:
      /usr/include/libqmi-glib/qmi-compat.h:1154:10: note: declared here
       1154 | gboolean
       qmi_message_uim_read_transparent_input_set_session_information (
            |
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ...

 src/mm-sim-qmi.c | 35 +++++++++++++++++++++++++----------
 1 file changed, 25 insertions(+), 10 deletions(-)

commit 53784f95aa657295e5a5eb6c0deedded0a9fc757
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 14 10:24:28 2020 +0100

    tests,fixture: fix warnings with -Wsign-compare

      tests/test-fixture.c:130:28: error: comparison of integer
      expressions of different signedness: ‘gboolean’ {aka ‘int’}
      and ‘guint’ {aka ‘unsigned int’} [-Werror=sign-compare]
        130 |         if (modem_expected == n_modems) {
            |                            ^~

 plugins/tests/test-fixture.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7655f3b35c2f732bacb7a27633c15e107c43234c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 14 10:22:33 2020 +0100

    telit: fix warnings with -Wdiscarded-qualifiers

      telit/tests/test-mm-modem-helpers-telit.c:48:9: error:
      initialization discards ‘const’ qualifier from pointer target
      type [-Werror=discarded-qualifiers]
         48 |         "#BND: (0-3)", TRUE, FALSE, FALSE, FALSE, 4,
            |         ^~~~~~~~~~~~~
      ...

 plugins/telit/tests/test-mm-modem-helpers-telit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b0f9ddd295f432e4de31ce613da96a6281ca3eb6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 14 10:21:55 2020 +0100

    icera: fix warnings with -Wsign-compare

      icera/mm-modem-helpers-icera.c:256:13: error: comparison of integer
      expressions of different signedness: ‘gint’ {aka ‘int’}
      and ‘guint’ {aka ‘unsigned int’} [-Werror=sign-compare]
        256 |         num != expected_cid) {
            |             ^~

 plugins/icera/mm-modem-helpers-icera.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 7075e852caabb164979a1192bfeda550bdd70f4f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 14 10:19:20 2020 +0100

    test-error-helpers: fix warnings with -Wsign-compare

      test-error-helpers.c: In function
      ‘test_error_helpers_connection_error’:
      test-error-helpers.c:36:39: error: comparison of integer expressions
      of different signedness: ‘guint’ {aka ‘unsigned int’}
      and ‘gint’ {aka ‘int’} [-Werror=sign-compare]
         36 |       for (i = enum_class->minimum; i <=
         enum_class->maximum; i++) {        \
            |                                       ^~

 src/tests/test-error-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7125a86e0488320449767fcacbad5c7ca2c9c719
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 14 10:17:48 2020 +0100

    test-qcdm-serial-port: fix warnings with -Wsign-compare

      test-qcdm-serial-port.c: In function ‘print_buf’:
      test-qcdm-serial-port.c:79:19: error: comparison of integer
      expressions of different signedness: ‘int’ and ‘gsize’
      {aka ‘long unsigned int’} [-Werror=sign-compare]
         79 |     for (i = 0; i < len; i++) {
            |                   ^
      test-qcdm-serial-port.c: In function ‘server_wait_request’:
      test-qcdm-serial-port.c:163:20: error: comparison of integer
      expressions of different signedness: ‘int’ and ‘long unsigned
      int’ [-Werror=sign-compare]
        163 |     } while (total < sizeof (readbuf));
            |                    ^

 src/tests/test-qcdm-serial-port.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 9ad6e1f6334773217710105162fd507b704f8530
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 14 10:16:46 2020 +0100

    test-modem-helpers: fix warnings with -Wswitch-enum

      test-modem-helpers.c: In function ‘test_cgev_indication’:
      test-modem-helpers.c:2165:9: error: enumeration value
      ‘MM_3GPP_CGEV_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
       2165 |         switch (type) {
            |         ^~~~~~
      cc1: all warnings being treated as errors

 src/tests/test-modem-helpers.c | 1 +
 1 file changed, 1 insertion(+)

commit a27c957dc5100b33dd13ef4da1bcf19e40073ffd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 14 10:15:49 2020 +0100

    test-modem-helpers: fix warnings with -Wsign-compare

      test-modem-helpers.c: In function ‘test_creg_match’:
      test-modem-helpers.c:1127:19: error: comparison of integer
      expressions of different signedness: ‘int’ and ‘guint’
      {aka ‘unsigned int’} [-Werror=sign-compare]
       1127 |     for (i = 0; i < array->len; i++) {
            |                   ^

 src/tests/test-modem-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6dcbda1c808c8e151f395bd0bcf3c06a0c094929
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 14:38:34 2020 +0100

    test-modem-helpers: fix warnings with -Wdiscarded-qualifiers

      test-modem-helpers.c: In function ‘test_cmgl_response_generic’:
      test-modem-helpers.c:294:20: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
        294 |             .pdu =
        "07914306073011F00405812261F700003130916191314095C27"
            |
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ...

 src/tests/test-modem-helpers.c | 224
 ++++++++++++++++++++---------------------
 1 file changed, 112 insertions(+), 112 deletions(-)

commit 0e59b9ec90a2e1fb3f70d1fc23838e4a5325779f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 14:36:17 2020 +0100

    kernel-device-udev: fix warnings with -Wshadow

      kerneldevice/mm-kernel-device-udev.c: In function
      ‘mm_kernel_device_udev_new_from_properties’:
      kerneldevice/mm-kernel-device-udev.c:770:70: error: declaration
      of ‘properties’ shadows a global declaration [-Werror=shadow]
        770 | mm_kernel_device_udev_new_from_properties
        (MMKernelEventProperties  *properties,
            |
            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
      kerneldevice/mm-kernel-device-udev.c:38:20: note: shadowed
      declaration is here
         38 | static GParamSpec *properties[PROP_LAST];
            |                    ^~~~~~~~~~

 src/kerneldevice/mm-kernel-device-udev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit b20d5384186482fadf93ab6d500ba695ba159ce2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 14:35:33 2020 +0100

    kernel-device-generic-rules: fix warnings with -Wswitch-default

      kerneldevice/mm-kernel-device-generic-rules.c: In function
      ‘udev_rule_clear’:
      kerneldevice/mm-kernel-device-generic-rules.c:40:5: error: switch
      missing default case [-Werror=switch-default]
         40 |     switch (rule->result.type) {
            |     ^~~~~~

 src/kerneldevice/mm-kernel-device-generic-rules.c | 1 +
 1 file changed, 1 insertion(+)

commit a13d0102c1dfa4ca7f0042ccc895f154acf36f2e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 14:34:53 2020 +0100

    kernel-device-generic: fix warnings with -Wshadow

      kerneldevice/mm-kernel-device-generic.c: In function
      ‘mm_kernel_device_generic_new_with_rules’:
      kerneldevice/mm-kernel-device-generic.c:954:68: error: declaration
      of ‘properties’ shadows a global declaration [-Werror=shadow]
        954 | mm_kernel_device_generic_new_with_rules
        (MMKernelEventProperties  *properties,
            |
            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
      kerneldevice/mm-kernel-device-generic.c:46:20: note: shadowed
      declaration is here
         46 | static GParamSpec *properties[PROP_LAST];
            |                    ^~~~~~~~~~
      kerneldevice/mm-kernel-device-generic.c: In function
      ‘mm_kernel_device_generic_new’:
      kerneldevice/mm-kernel-device-generic.c:971:57: error: declaration
      of ‘properties’ shadows a global declaration [-Werror=shadow]
        971 | mm_kernel_device_generic_new (MMKernelEventProperties
        *properties,
            |
            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
      kerneldevice/mm-kernel-device-generic.c:46:20: note: shadowed
      declaration is here
         46 | static GParamSpec *properties[PROP_LAST];
            |                    ^~~~~~~~~~

 src/kerneldevice/mm-kernel-device-generic.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit ba53d2c29fe03da93c2a3316d4286a543aeef79e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 14:31:42 2020 +0100

    kernel-device-generic: fix warnings with -Wswitch-default

      kerneldevice/mm-kernel-device-generic.c: In function
      ‘check_rule’:
      kerneldevice/mm-kernel-device-generic.c:802:9: error: switch
      missing default case [-Werror=switch-default]
        802 |         switch (rule->result.type) {
            |         ^~~~~~

 src/kerneldevice/mm-kernel-device-generic.c | 1 +
 1 file changed, 1 insertion(+)

commit f5fa2684113d7976efee066950e3da07d12c9cd2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 14:30:25 2020 +0100

    modem-helpers-mbim: fix warnings with -Wswitch-enum

      mm-modem-helpers-mbim.c: In function
      ‘mm_mobile_equipment_error_from_mbim_nw_error’:
      mm-modem-helpers-mbim.c:206:5: error: enumeration value
      ‘MBIM_NW_ERROR_IMEI_NOT_ACCEPTED’ not handled in switch
      [-Werror=switch-enum]
        206 |     switch (nw_error) {
            |     ^~~~~~
      mm-modem-helpers-mbim.c: In function
      ‘mm_bearer_ip_family_from_mbim_context_ip_type’:
      mm-modem-helpers-mbim.c:403:5: error: enumeration value
      ‘MBIM_CONTEXT_IP_TYPE_DEFAULT’ not handled in switch
      [-Werror=switch-enum]
        403 |     switch (ip_type) {
            |     ^~~~~~

 src/mm-modem-helpers-mbim.c | 37 +++++++++++++++++++++++++++++++++++--
 1 file changed, 35 insertions(+), 2 deletions(-)

commit fa2330cba40b61feda52dcfc1583c72e6ed4d5a5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 14:19:10 2020 +0100

    modem-helpers-mbim: fix warnings with -Wswitch-default

      mm-modem-helpers-mbim.c: In function
      ‘mm_modem_lock_from_mbim_pin_type’:
      mm-modem-helpers-mbim.c:49:5: error: switch missing default case
      [-Werror=switch-default]
         49 |     switch (pin_type) {
            |     ^~~~~~
      mm-modem-helpers-mbim.c: In function
      ‘mm_sms_state_from_mbim_message_status’:
      mm-modem-helpers-mbim.c:425:5: error: switch missing default case
      [-Werror=switch-default]
        425 |     switch (status) {
            |     ^~~~~~

 src/mm-modem-helpers-mbim.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 911a763a558f2571d25cd6d01006d23113389a54
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 14:17:22 2020 +0100

    modem-helpers-qmi: fix warnings with -Wlogical-op

      mm-modem-helpers-qmi.c: In function
      ‘mm_modem_capability_from_qmi_capabilities_context’:
      mm-modem-helpers-qmi.c:1455:31: error: logical ‘and’ of equal
      expressions [-Werror=logical-op]
       1455 |     else if (ctx->nas_tp_mask && (ctx->nas_tp_mask !=
       QMI_NAS_RADIO_TECHNOLOGY_PREFERENCE_AUTO))
            |                               ^~

 src/mm-modem-helpers-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 9bd54e76fcf91cc25a36da44764a961aacc110aa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 14:15:35 2020 +0100

    modem-helpers-qmi: fix warnings with -Wsign-compare

      mm-modem-helpers-qmi.c: In function
      ‘mm_qmi_unique_id_to_firmware_unique_id’:
      mm-modem-helpers-qmi.c:1653:19: error: comparison of integer
      expressions of different signedness: ‘gint’ {aka ‘int’}
      and ‘guint’ {aka ‘unsigned int’} [-Werror=sign-compare]
       1653 |     for (i = 0; i < qmi_unique_id->len; i++) {
            |                   ^
      mm-modem-helpers-qmi.c:1679:11: error: comparison of integer
      expressions of different signedness: ‘gint’ {aka ‘int’}
      and ‘guint’ {aka ‘unsigned int’} [-Werror=sign-compare]
       1679 |     if (i != qmi_unique_id->len)
            |           ^~

 src/mm-modem-helpers-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7c900c51b5d530d48f7ebd86c2358a5c25068235
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 14:09:22 2020 +0100

    modem-helpers-qmi: fix warnings with -Wswitch-enum

      mm-modem-helpers-qmi.c: In function
      ‘mm_3gpp_facility_to_qmi_uim_facility’:
      mm-modem-helpers-qmi.c:137:5: error: enumeration value
      ‘MM_MODEM_3GPP_FACILITY_NONE’ not handled in switch
      [-Werror=switch-enum]
        137 |     switch (mm) {
            |     ^~~~~~
      mm-modem-helpers-qmi.c:137:5: error: enumeration value
      ‘MM_MODEM_3GPP_FACILITY_SIM’ not handled in switch
      [-Werror=switch-enum]
      mm-modem-helpers-qmi.c:137:5: error: enumeration value
      ‘MM_MODEM_3GPP_FACILITY_FIXED_DIALING’ not handled in switch
      [-Werror=switch-enum]
      mm-modem-helpers-qmi.c:137:5: error: enumeration value
      ‘MM_MODEM_3GPP_FACILITY_PH_FSIM’ not handled in switch
      [-Werror=switch-enum]
      ...

 src/mm-modem-helpers-qmi.c | 25 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)

commit 40327b1b4814de74cd037dc0fd8f5afc23a042b6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 14:07:44 2020 +0100

    sms-part-cdma: fix warnings with -Wswitch-default

      mm-sms-part-cdma.c: In function
      ‘mm_sms_part_cdma_new_from_binary_pdu’:
      mm-sms-part-cdma.c:1138:5: error: switch missing default case
      [-Werror=switch-default]
       1138 |     switch (message_type) {
            |     ^~~~~~

 src/mm-sms-part-cdma.c | 2 ++
 1 file changed, 2 insertions(+)

commit a5c0a7849afb9a708f7ed49928b0b643fc5f598e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 14:06:48 2020 +0100

    sms-part-3gpp: fix warnings with -Wswitch-enum

      mm-sms-part-3gpp.c: In function
      ‘mm_sms_part_3gpp_new_from_binary_pdu’:
      mm-sms-part-3gpp.c:721:9: error: enumeration value
      ‘MM_SMS_ENCODING_8BIT’ not handled in switch
      [-Werror=switch-enum]
        721 |         switch (user_data_encoding) {
            |         ^~~~~~
      mm-sms-part-3gpp.c: In function
      ‘mm_sms_part_3gpp_get_submit_pdu’:
      mm-sms-part-3gpp.c:917:5: error: enumeration value
      ‘MM_SMS_ENCODING_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
        917 |     switch (mm_sms_part_get_encoding (part)) {
            |     ^~~~~~
      mm-sms-part-3gpp.c:917:5: error: enumeration value
      ‘MM_SMS_ENCODING_8BIT’ not handled in switch
      [-Werror=switch-enum]

 src/mm-sms-part-3gpp.c | 3 +++
 1 file changed, 3 insertions(+)

commit 6a7b1e7b8caa7a45386f1ea32da91d1831f2e875
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:58:44 2020 +0100

    sms-part-3gpp: fix warnings with -Wswitch-enum

      mm-sms-part-3gpp.c: In function
      ‘mm_sms_part_3gpp_new_from_binary_pdu’:
      mm-sms-part-3gpp.c:607:9: error: enumeration value
      ‘MM_SMS_ENCODING_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
        607 |         switch (user_data_encoding) {
            |         ^~~~~~
      mm-sms-part-3gpp.c:714:9: error: enumeration value
      ‘MM_SMS_ENCODING_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
        714 |         switch (user_data_encoding) {
            |         ^~~~~~

 src/mm-sms-part-3gpp.c | 2 ++
 1 file changed, 2 insertions(+)

commit 5eedad988ee626a08b275bff021feedffdedc66e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:57:08 2020 +0100

    sms-part-3gpp: fix warnings with -Wswitch-default

      mm-sms-part-3gpp.c: In function ‘sms_encoding_type’:
      mm-sms-part-3gpp.c:190:13: error: switch missing default case
      [-Werror=switch-default]
        190 |             switch (dcs & 0x0c) {
            |             ^~~~~~
      mm-sms-part-3gpp.c:219:13: error: switch missing default case
      [-Werror=switch-default]
        219 |             switch (dcs & 0x04) {
            |             ^~~~~~

 src/mm-sms-part-3gpp.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 6dfb9d7a7e1f53e5aac3f28b2f6a249db0dd2b4c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:54:03 2020 +0100

    charsets: fix warnings with -Wswitch-default

      mm-charsets.c: In function
      ‘mm_charset_take_and_convert_to_utf8’:
      mm-charsets.c:730:5: error: switch missing default case
      [-Werror=switch-default]
        730 |     switch (charset) {
            |     ^~~~~~
      mm-charsets.c: In function
      ‘mm_utf8_take_and_convert_to_charset’:
      mm-charsets.c:852:5: error: switch missing default case
      [-Werror=switch-default]
        852 |     switch (charset) {
            |     ^~~~~~

 src/mm-charsets.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 7619148aa5364f6ff2aea3914690c4db81f2c786
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:52:40 2020 +0100

    charsets: fix warnings with -Wsign-compare

      mm-charsets.c: In function ‘mm_charset_gsm_unpacked_to_utf8’:
      mm-charsets.c:423:19: error: comparison of integer expressions of
      different signedness: ‘int’ and ‘guint32’ {aka ‘unsigned
      int’} [-Werror=sign-compare]
        423 |     for (i = 0; i < len; i++) {
            |                   ^
      mm-charsets.c: In function ‘pccp437_is_subset’:
      mm-charsets.c:544:19: error: comparison of integer expressions
      of different signedness: ‘int’ and ‘long unsigned int’
      [-Werror=sign-compare]
        544 |     for (i = 0; i < G_N_ELEMENTS (t); i++) {
            |                   ^
      mm-charsets.c: In function ‘pcdn_is_subset’:
      mm-charsets.c:575:19: error: comparison of integer expressions
      of different signedness: ‘int’ and ‘long unsigned int’
      [-Werror=sign-compare]
        575 |     for (i = 0; i < sizeof (t) / sizeof (t[0]); i++) {
            |                   ^
      mm-charsets.c: In function ‘mm_charset_gsm_unpack’:
      mm-charsets.c:657:19: error: comparison of integer expressions of
      different signedness: ‘int’ and ‘guint32’ {aka ‘unsigned
      int’} [-Werror=sign-compare]
        657 |     for (i = 0; i < num_septets; i++) {
            |                   ^
      mm-charsets.c: In function ‘mm_charset_gsm_pack’:
      mm-charsets.c:701:42: error: comparison of integer expressions of
      different signedness: ‘int’ and ‘guint32’ {aka ‘unsigned
      int’} [-Werror=sign-compare]
        701 |     for (i = 0, lshift = start_offset; i < src_len; i++) {
            |                                          ^

 src/mm-charsets.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 623443d50f98fb7ce586c4ce85d24ca24895308a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:50:18 2020 +0100

    modem-helpers: fix warnings with -Wswitch-enum

      mm-modem-helpers.c: In function
      ‘mm_3gpp_get_pdp_type_from_ip_family’:
      mm-modem-helpers.c:4166:5: error: enumeration value
      ‘MM_BEARER_IP_FAMILY_NONE’ not handled in switch
      [-Werror=switch-enum]
       4166 |     switch (family) {
            |     ^~~~~~
      mm-modem-helpers.c:4166:5: error: enumeration value
      ‘MM_BEARER_IP_FAMILY_ANY’ not handled in switch
      [-Werror=switch-enum]

 src/mm-modem-helpers.c | 2 ++
 1 file changed, 2 insertions(+)

commit 520a7ec7db3557f356fd9c5bad5a99a66f082ffd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:48:15 2020 +0100

    modem-helpers: fix warnings with -Wdiscarded-qualifiers

      mm-modem-helpers.c:4019:45: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       4019 |     { MM_MODEM_3GPP_FACILITY_SIM,           "SC" },
            |                                             ^~~~
      mm-modem-helpers.c:4020:45: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       4020 |     { MM_MODEM_3GPP_FACILITY_PH_SIM,        "PS" },
            |                                             ^~~~
      mm-modem-helpers.c:4021:45: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       4021 |     { MM_MODEM_3GPP_FACILITY_PH_FSIM,       "PF" },
            |                                             ^~~~
      mm-modem-helpers.c:4022:45: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       4022 |     { MM_MODEM_3GPP_FACILITY_FIXED_DIALING, "FD" },
            |                                             ^~~~
      mm-modem-helpers.c:4023:45: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       4023 |     { MM_MODEM_3GPP_FACILITY_NET_PERS,      "PN" },
            |                                             ^~~~
      mm-modem-helpers.c:4024:45: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       4024 |     { MM_MODEM_3GPP_FACILITY_NET_SUB_PERS,  "PU" },
            |                                             ^~~~
      mm-modem-helpers.c:4025:45: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       4025 |     { MM_MODEM_3GPP_FACILITY_PROVIDER_PERS, "PP" },
            |                                             ^~~~
      mm-modem-helpers.c:4026:45: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
       4026 |     { MM_MODEM_3GPP_FACILITY_CORP_PERS,     "PC" }
            |                                             ^~~~

 src/mm-modem-helpers.c | 6 +++---
 src/mm-modem-helpers.h | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

commit 1f94d3f5f85d72a98c7e957c687a28bead54fcf5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:46:34 2020 +0100

    modem-helpers: fix warnings with -Wsign-compare

      mm-modem-helpers.c: In function ‘parse_uint’:
      mm-modem-helpers.c:1953:36: error: comparison of integer expressions
      of different signedness: ‘gulong’ {aka ‘long unsigned int’}
      and ‘glong’ {aka ‘long int’} [-Werror=sign-compare]
       1953 |         if ((nmin == nmax) || (ret >= nmin && ret <= nmax))
            |                                    ^~
      mm-modem-helpers.c:1953:51: error: comparison of integer expressions
      of different signedness: ‘gulong’ {aka ‘long unsigned int’}
      and ‘glong’ {aka ‘long int’} [-Werror=sign-compare]
       1953 |         if ((nmin == nmax) || (ret >= nmin && ret <= nmax))
            |                                                   ^~

 src/mm-modem-helpers.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 02e5015b5c98ca9903bf3ea296165aea40b9f381
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:39:36 2020 +0100

    port-qmi: fix warnings with -Wimplicit-fallthrough

      mm-port-qmi.c:353:18: error: this statement may fall through
      [-Werror=implicit-fallthrough=]
        353 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-port-qmi.c:356:5: note: here
        356 |     case PORT_OPEN_STEP_CHECK_OPENING:
            |     ^~~~
      mm-port-qmi.c:366:18: error: this statement may fall through
      [-Werror=implicit-fallthrough=]
        366 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-port-qmi.c:369:5: note: here
        369 |     case PORT_OPEN_STEP_CHECK_ALREADY_OPEN:
            |     ^~~~
      mm-port-qmi.c:376:18: error: this statement may fall through
      [-Werror=implicit-fallthrough=]
        376 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-port-qmi.c:379:5: note: here
        379 |     case PORT_OPEN_STEP_DEVICE_NEW: {
            |     ^~~~
      mm-port-qmi.c:424:18: error: this statement may fall through
      [-Werror=implicit-fallthrough=]
        424 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-port-qmi.c:427:5: note: here
        427 |     case PORT_OPEN_STEP_ALLOCATE_WDA_CLIENT:
            |     ^~~~
      mm-port-qmi.c:474:18: error: this statement may fall through
      [-Werror=implicit-fallthrough=]
        474 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-port-qmi.c:477:5: note: here
        477 |     case PORT_OPEN_STEP_SET_KERNEL_DATA_FORMAT:
            |     ^~~~

 src/mm-port-qmi.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit a4b5419287a112801ac223e37d5a3b335d2e5694
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:38:15 2020 +0100

    port-qmi: fix warnings with -Wswitch-default

      mm-port-qmi.c: In function ‘port_open_step’:
      mm-port-qmi.c:350:5: error: switch missing default case
      [-Werror=switch-default]
        350 |     switch (ctx->step) {
            |     ^~~~~~

 src/mm-port-qmi.c | 3 +++
 1 file changed, 3 insertions(+)

commit afc314e5967400e400c45633a5ce088351c60938
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:37:00 2020 +0100

    port-serial-qcdm: fix warnings with -Wsign-compare

      mm-port-serial-qcdm.c: In function ‘find_qcdm_start’:
      mm-port-serial-qcdm.c:51:19: error: comparison of integer
      expressions of different signedness: ‘int’ and ‘guint’
      {aka ‘unsigned int’} [-Werror=sign-compare]
         51 |     for (i = 0; i < response->len; i++) {
            |                   ^

 src/mm-port-serial-qcdm.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 8d3d1183b9448ae9f4b87dda66aaf3314563b427
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:34:59 2020 +0100

    port-serial: fix warnings with -Wimplicit-fallthrough

      mm-port-serial.c: In function ‘port_serial_process_command’:
      mm-port-serial.c:605:16: error: this statement may fall through
      [-Werror=implicit-fallthrough=]
        605 |             if (written > 0) {
            |                ^
      mm-port-serial.c:611:9: note: here
        611 |         case G_IO_STATUS_AGAIN:
            |         ^~~~

 src/mm-port-serial.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit a812e06b96061286a1d671cc2ba4715f9091db78
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:33:09 2020 +0100

    port-serial: fix warnings with -Wsign-compare

      mm-port-serial.c: In function ‘_close_internal’:
      mm-port-serial.c:1464:19: error: comparison of integer expressions
      of different signedness: ‘int’ and ‘guint’ {aka ‘unsigned
      int’} [-Werror=sign-compare]
       1464 |     for (i = 0; i < g_queue_get_length (self->priv->queue);
       i++) {
            |                   ^

 src/mm-port-serial.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0c16898c3058531d24f82f6224401b66a39a37fa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:32:14 2020 +0100

    port-serial: fix warnings with -Wswitch-default

      mm-port-serial.c: In function ‘port_serial_process_command’:
      mm-port-serial.c:594:9: error: switch missing default case
      [-Werror=switch-default]
        594 |         switch (write_status) {
            |         ^~~~~~
      mm-port-serial.c: In function ‘parse_response_buffer’:
      mm-port-serial.c:925:5: error: switch missing default case
      [-Werror=switch-default]
        925 |     switch (MM_PORT_SERIAL_GET_CLASS (self)->parse_response
        (self,
            |     ^~~~~~

 src/mm-port-serial.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 6d54691930003d9f01fa3d8bfc749bf87c6e4d4a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:28:45 2020 +0100

    broadband-modem-mbim: fix warnings with -Wshadow

      mm-broadband-modem-mbim.c: In function ‘ussd_cancel_ready’:
      mm-broadband-modem-mbim.c:5005:16: error: declaration of ‘task’
      shadows a parameter [-Werror=shadow]
       5005 |         GTask *task;
            |                ^~~~
      mm-broadband-modem-mbim.c:4991:34: note: shadowed declaration
      is here
       4991 |                    GTask        *task)
            |                    ~~~~~~~~~~~~~~^~~~

 src/mm-broadband-modem-mbim.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit bcd380a6f1f1b42b0ce2cf79ed46634eccbd15eb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:26:43 2020 +0100

    broadband-modem-mbim: fix warnings with -Wdouble-promotion

      mm-broadband-modem-mbim.c: In function
      ‘atds_signal_query_ready’:
      mm-broadband-modem-mbim.c:4389:49: error: implicit conversion
      from ‘float’ to ‘double’ to match other operand of binary
      expression [-Werror=double-promotion]
       4389 |         mm_signal_set_ecio (result->umts, -24.0 + ((float)
       ecno / 2));
            |                                                 ^
      mm-broadband-modem-mbim.c:4394:48: error: implicit conversion
      from ‘float’ to ‘double’ to match other operand of binary
      expression [-Werror=double-promotion]
       4394 |         mm_signal_set_rsrq (result->lte, -19.5 + ((float)
       rsrq / 2));
            |                                                ^

 src/mm-broadband-modem-mbim.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c8e4c2e751e66d0e0c86ea4a2055331e9eedca88
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:23:24 2020 +0100

    broadband-modem-mbim: fix warnings with -Wtype-limits

      mm-broadband-modem-mbim.c: In function
      ‘basic_connect_notification_signal_state’:
      /usr/include/glib-2.0/glib/gmacros.h:811:63: error: comparison of
      unsigned expression < 0 is always false [-Werror=type-limits]
        811 | ine CLAMP(x, low, high)  (((x) > (high)) ? (high) : (((x) <
        (low)) ? (low) : (x)))
            |                                                           ^

      mm-broadband-modem-mbim.c:2918:19: note: in expansion of macro
      ‘CLAMP’
       2918 |         quality = CLAMP (rssi == 99 ? 0 : rssi, 0, 31) *
       100 / 31;
            |                   ^~~~~

 src/mm-broadband-modem-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ac70712f1f5c12a2f85abf4e814efff8b41ff385
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:15:21 2020 +0100

    broadband-modem-mbim: fix warnings with -Wtype-limits

    This change is exclusively to make the compiler happy, don't even like
    it myself...

      mm-broadband-modem-mbim.c: In function
      ‘signal_state_query_ready’:
      /usr/include/glib-2.0/glib/gmacros.h:811:63: error: comparison of
      unsigned expression < 0 is always false [-Werror=type-limits]
        811 | #define CLAMP(x, low, high)  (((x) > (high)) ? (high) :
        (((x) < (low)) ? (low) : (x)))
            |
            ^
      mm-broadband-modem-mbim.c:1680:19: note: in expansion of macro
      ‘CLAMP’
       1680 |         quality = CLAMP (rssi == 99 ? 0 : rssi, 0, 31) *
       100 / 31;
            |                   ^~~~~

 src/mm-broadband-modem-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7e67cbfe42815fdaae6d4852c5832542fd90904b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:22:42 2020 +0100

    broadband-modem-mbim: fix warnings with -Wswitch-enum

      mm-broadband-modem-mbim.c: In function
      ‘query_device_services_ready’:
      mm-broadband-modem-mbim.c:2132:13: error: enumeration
      value ‘MBIM_SERVICE_INVALID’ not handled in switch
      [-Werror=switch-enum]
       2132 |             switch (service) {
            |             ^~~~~~
      mm-broadband-modem-mbim.c:2132:13: error: enumeration value
      ‘MBIM_SERVICE_BASIC_CONNECT’ not handled in switch
      [-Werror=switch-enum]
      mm-broadband-modem-mbim.c:2132:13: error: enumeration value
      ‘MBIM_SERVICE_SMS’ not handled in switch [-Werror=switch-enum]
      mm-broadband-modem-mbim.c:2132:13: error: enumeration
      value ‘MBIM_SERVICE_PHONEBOOK’ not handled in switch
      [-Werror=switch-enum]
      mm-broadband-modem-mbim.c:2132:13: error: enumeration value
      ‘MBIM_SERVICE_STK’ not handled in switch [-Werror=switch-enum]
      mm-broadband-modem-mbim.c:2132:13: error: enumeration value
      ‘MBIM_SERVICE_AUTH’ not handled in switch [-Werror=switch-enum]
      mm-broadband-modem-mbim.c:2132:13: error: enumeration value
      ‘MBIM_SERVICE_DSS’ not handled in switch [-Werror=switch-enum]
      mm-broadband-modem-mbim.c:2132:13: error: enumeration value
      ‘MBIM_SERVICE_MS_FIRMWARE_ID’ not handled in switch
      [-Werror=switch-enum]
      mm-broadband-modem-mbim.c:2132:13: error: enumeration value
      ‘MBIM_SERVICE_MS_HOST_SHUTDOWN’ not handled in switch
      [-Werror=switch-enum]
      mm-broadband-modem-mbim.c:2132:13: error: enumeration value
      ‘MBIM_SERVICE_PROXY_CONTROL’ not handled in switch
      [-Werror=switch-enum]
      mm-broadband-modem-mbim.c:2132:13: error: enumeration value
      ‘MBIM_SERVICE_QMI’ not handled in switch [-Werror=switch-enum]

 src/mm-broadband-modem-mbim.c | 96
 +++++++++++++++++++++++++------------------
 1 file changed, 57 insertions(+), 39 deletions(-)

commit 9cffa62cf6bf20f52c238c0316dfa112a96257d6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:11:51 2020 +0100

    bearer-mbim: fix warnings with -Wimplicit-fallthrough

      mm-bearer-mbim.c: In function ‘connect_context_step’:
      mm-bearer-mbim.c:843:18: error: this statement may fall through
      [-Werror=implicit-fallthrough=]
        843 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-bearer-mbim.c:845:5: note: here
        845 |     case CONNECT_STEP_PACKET_SERVICE: {
            |     ^~~~
      mm-bearer-mbim.c: In function ‘disconnect_context_step’:
      mm-bearer-mbim.c:1269:18: error: this statement may fall through
      [-Werror=implicit-fallthrough=]
       1269 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-bearer-mbim.c:1271:5: note: here
       1271 |     case DISCONNECT_STEP_DISCONNECT: {
            |     ^~~~

 src/mm-bearer-mbim.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 0a47c4bb6ab78fa49aaa6e476cb8d7bc811cd6b0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:10:34 2020 +0100

    bearer-mbim: fix warnings with -Wswitch-default

      mm-bearer-mbim.c: In function ‘connect_context_step’:
      mm-bearer-mbim.c:840:5: error: switch missing default case
      [-Werror=switch-default]
        840 |     switch (ctx->step) {
            |     ^~~~~~
      mm-bearer-mbim.c: In function ‘disconnect_context_step’:
      mm-bearer-mbim.c:1266:5: error: switch missing default case
      [-Werror=switch-default]
       1266 |     switch (ctx->step) {
            |     ^~~~~~
      ...

 src/mm-bearer-mbim.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit d068d0493e35c396a6c4fb37eaf2891e18cfcb88
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 11 13:08:22 2020 +0100

    broadband-modem-qmi: fix warnings with -Wimplicit-fallthrough

      In file included from mm-broadband-modem-qmi.c:29:
      mm-broadband-modem-qmi.c: In function
      ‘uim_get_card_status_output_parse’:
      mm-log.h:33:5: error: this statement may fall through
      [-Werror=implicit-fallthrough=]
         33 |     _mm_log (G_STRLOC, G_STRFUNC, MM_LOG_LEVEL_WARN, ##
         __VA_ARGS__ )
            |
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      mm-broadband-modem-qmi.c:894:13: note: in expansion of macro
      ‘mm_warn’
        894 |             mm_warn ("PUK2 permanently blocked");
            |             ^~~~~~~
      mm-broadband-modem-qmi.c:895:9: note: here
        895 |         case QMI_UIM_PIN_STATE_BLOCKED:
            |         ^~~~
      ...

 src/mm-broadband-modem-qmi.c | 96
 ++++++++++++++++++++++++++------------------
 1 file changed, 56 insertions(+), 40 deletions(-)

commit 581d829eb7090e3c41ebf5b1720ab2799bc4fdd0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 25 18:13:26 2019 +0100

    broadband-modem-qmi: fix warnings with -Wswitch-enum

      mm-broadband-modem-qmi.c: In function ‘qmi_dbm_valid’:
      mm-broadband-modem-qmi.c:1385:5: error: enumeration value
      ‘QMI_NAS_RADIO_INTERFACE_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
       1385 |     switch (radio_interface) {
            |     ^~~~~~
      mm-broadband-modem-qmi.c:1385:5: error: enumeration value
      ‘QMI_NAS_RADIO_INTERFACE_NONE’ not handled in switch
      [-Werror=switch-enum]
      mm-broadband-modem-qmi.c:1385:5: error: enumeration value
      ‘QMI_NAS_RADIO_INTERFACE_AMPS’ not handled in switch
      [-Werror=switch-enum]
      mm-broadband-modem-qmi.c:1385:5: error: enumeration value
      ‘QMI_NAS_RADIO_INTERFACE_GSM’ not handled in switch
      [-Werror=switch-enum]
      mm-broadband-modem-qmi.c:1385:5: error: enumeration value
      ‘QMI_NAS_RADIO_INTERFACE_LTE’ not handled in switch
      [-Werror=switch-enum]
      mm-broadband-modem-qmi.c:1385:5: error: enumeration value
      ‘QMI_NAS_RADIO_INTERFACE_TD_SCDMA’ not handled in switch
      [-Werror=switch-enum]
      ...

 src/mm-broadband-modem-qmi.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

commit 92c219480bbd2608e34f673ef424b03e3dee0ebe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 25 17:46:40 2019 +0100

    broadband-modem-qmi: fix warnings with -Wswitch-default

      mm-broadband-modem-qmi.c: In function
      ‘load_unlock_required_context_step’:
      mm-broadband-modem-qmi.c:1062:5: error: switch missing default case
      [-Werror=switch-default]
       1062 |     switch (ctx->step) {
            |     ^~~~~~
      ...

 src/mm-broadband-modem-qmi.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 8b9cb489169d5bdc53fa08524d63cacede04309f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 25 13:48:32 2019 +0100

    broadband-modem-qmi: fix warnings with -Wswitch-enum

      mm-broadband-modem-qmi.c: In function
      ‘uim_get_card_status_output_parse’:
      mm-broadband-modem-qmi.c:846:5: error: enumeration value
      ‘QMI_UIM_PIN_STATE_NOT_INITIALIZED’ not handled in switch
      [-Werror=switch-enum]
        846 |     switch (app->pin1_state) {
            |     ^~~~~~
      mm-broadband-modem-qmi.c:877:9: error: enumeration value
      ‘QMI_UIM_PIN_STATE_NOT_INITIALIZED’ not handled in switch
      [-Werror=switch-enum]
        877 |         switch (app->pin2_state) {
            |         ^~~~~~
      ...

 src/mm-broadband-modem-qmi.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 0db74e1d86cc36a3a50eccb58bb7567a9f4fbc3c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 25 13:41:32 2019 +0100

    bearer-qmi: fix warnings with -Wimplicit-fallthrough

      mm-bearer-qmi.c:168:18: error: this statement may fall through
      [-Werror=implicit-fallthrough=]
        168 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-bearer-qmi.c:169:5: note: here
        169 |     case RELOAD_STATS_CONTEXT_STEP_IPV4:
            |     ^~~~
      ...

 src/mm-bearer-qmi.c | 51
 ++++++++++++++++++++++-----------------------------
 1 file changed, 22 insertions(+), 29 deletions(-)

commit be516b5aa8719f5a7b09bad4e43f9d547909f41e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 25 13:36:36 2019 +0100

    bearer-qmi: fix warnings with -Wswitch-default

      mm-bearer-qmi.c: In function ‘reload_stats_context_step’:
      mm-bearer-qmi.c:165:5: error: switch missing default case
      [-Werror=switch-default]
        165 |     switch (ctx->step) {
            |     ^~~~~~
      mm-bearer-qmi.c: In function ‘connection_status_context_step’:
      mm-bearer-qmi.c:310:5: error: switch missing default case
      [-Werror=switch-default]
        310 |     switch (ctx->step) {
            |     ^~~~~~
      mm-bearer-qmi.c: In function ‘connect_context_step’:
      mm-bearer-qmi.c:1290:5: error: switch missing default case
      [-Werror=switch-default]
       1290 |     switch (ctx->step) {
            |     ^~~~~~
      mm-bearer-qmi.c: In function ‘disconnect_context_step’:
      mm-bearer-qmi.c:1954:5: error: switch missing default case
      [-Werror=switch-default]
       1954 |     switch (ctx->step) {
            |     ^~~~~~

 src/mm-bearer-qmi.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit f1126d535badc2607b47ff82109d8a1a885aeff6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 25 13:32:56 2019 +0100

    shared-qmi: fix warnings with -Wswitch-enum

      mm-shared-qmi.c: In function
      ‘pds_set_default_tracking_session_ready’:
      mm-shared-qmi.c:4209:5: error: enumeration value
      ‘GPS_OPERATION_MODE_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
       4209 |     switch (ctx->mode) {
            |     ^~~~~~
      mm-shared-qmi.c: In function
      ‘loc_location_set_operation_mode_indication_cb’:
      mm-shared-qmi.c:4354:5: error: enumeration value
      ‘GPS_OPERATION_MODE_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
       4354 |     switch (ctx->mode) {
            |     ^~~~~~

 src/mm-shared-qmi.c | 2 ++
 1 file changed, 2 insertions(+)

commit 8defd21bc4802fefbe32f02c5b92de4dc599af8e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 25 13:30:28 2019 +0100

    shared-qmi: fix warnings with -Wsign-compare

      mm-shared-qmi.c: In function ‘get_config_info_indication’:
      mm-shared-qmi.c:2843:19: error: comparison of integer expressions
      of different signedness: ‘int’ and ‘guint’ {aka ‘unsigned
      int’} [-Werror=sign-compare]
       2843 |     for (i = 0; i < ctx->config_list->len; i++) {
            |                   ^
      mm-shared-qmi.c:2850:11: error: comparison of integer expressions
      of different signedness: ‘int’ and ‘guint’ {aka ‘unsigned
      int’} [-Werror=sign-compare]
       2850 |     if (i == ctx->config_list->len)
            |           ^~
      mm-shared-qmi.c: In function ‘list_configs_indication’:
      mm-shared-qmi.c:2927:19: error: comparison of integer expressions
      of different signedness: ‘int’ and ‘guint’ {aka ‘unsigned
      int’} [-Werror=sign-compare]
       2927 |     for (i = 0; i < configs->len; i++) {
            |                   ^

 src/mm-shared-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 25ea9d9bdd830696cafb1eef4de79c6cad109229
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 25 13:28:09 2019 +0100

    shared-qmi: fix warnings with -Wswitch-default

      mm-shared-qmi.c: In function ‘set_current_capabilities_step’:
      mm-shared-qmi.c:601:5: error: switch missing default case
      [-Werror=switch-default]
        601 |     switch (ctx->step) {
            |     ^~~~~~
      mm-shared-qmi.c: In function ‘load_current_capabilities_step’:
      mm-shared-qmi.c:868:5: error: switch missing default case
      [-Werror=switch-default]
        868 |     switch (ctx->step) {
            |     ^~~~~~
      mm-shared-qmi.c: In function ‘setup_carrier_config_step’:
      mm-shared-qmi.c:2473:5: error: switch missing default case
      [-Werror=switch-default]
       2473 |     switch (ctx->step) {
            |     ^~~~~~

 src/mm-shared-qmi.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit a16ac01604da7c2b3f67c0f157db8e472ee100b1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 25 13:20:48 2019 +0100

    tests,at-serial-port: fix warnings with -Wdiscarded-qualifiers

      test-at-serial-port.c:29:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         29 |     { "\r\n", "\r\n" },
            |       ^~~~~~
      test-at-serial-port.c:29:15: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
         29 |     { "\r\n", "\r\n" },
            |               ^~~~~~

 src/tests/test-at-serial-port.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit de3a2f5d2e7586e02098cd7cc9c50fbeb3cdd5b3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 25 13:19:11 2019 +0100

    utils: fix warnings with -Wredundant-decls

      In file included from mm-sleep-monitor.c:30:
      mm-utils.h:28:18: error: redundant redeclaration of
      ‘singleton_instance’ [-Werror=redundant-decls]
    e     28 |     static TYPE *singleton_instance
            |                  ^~~~~~~~~~~~~~~~~~
      mm-utils.h:31:5: note: in expansion of macro
      ‘MM_DEFINE_SINGLETON_INSTANCE’
         31 |     MM_DEFINE_SINGLETON_INSTANCE (TYPE);
         \
            |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      mm-utils.h:65:5: note: in expansion of macro
      ‘MM_DEFINE_SINGLETON_WEAK_REF’
         65 |     MM_DEFINE_SINGLETON_WEAK_REF (TYPE);
         \
            |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

 src/mm-utils.h | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

commit a246c36087986829f26ca624553fd4940c37a54b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 25 13:15:14 2019 +0100

    plugin: fix warnings with -Wdiscarded-qualifiers

      mm-plugin.c:50:33: error: initialization discards ‘const’
      qualifier from pointer target type [-Werror=discarded-qualifiers]
         50 | static gchar *virtual_port[] = {"smd0", NULL};
            |                                 ^~~~~~

 src/mm-plugin.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit db45ba60c1f1e137f41737f567b3694a5cfa593a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 15:10:56 2019 +0100

    broadband-modem: fix warnings with -Wimplicit-fallthrough

      mm-broadband-modem.c: In function ‘disabling_step’:
      mm-broadband-modem.c:10498:18: error: this statement may fall
      through [-Werror=implicit-fallthrough=]
      10498 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-broadband-modem.c:10500:5: note: here
      10500 |     case DISABLING_STEP_WAIT_FOR_FINAL_STATE:
            |     ^~~~
      ...

 src/mm-broadband-modem.c | 76
 ++++++++++++++++++++++++------------------------
 1 file changed, 38 insertions(+), 38 deletions(-)

commit 91ce5e9a6892dc82ba089841678cdd0264cb7da6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 15:06:44 2019 +0100

    broadband-modem: remove unused method

    The logic in open_ports_initialization() was included in the generic
    ports_context_open() method, and the method was not being used
    anywhere.

 src/mm-broadband-modem.c | 28 ----------------------------
 1 file changed, 28 deletions(-)

commit b1e0df4f24936b70f92581397fc9aebf32c4fa9e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 14:51:57 2019 +0100

    broadband-modem: fix warnings with -Wsign-compare

      mm-broadband-modem.c: In function ‘setup_ports’:
      mm-broadband-modem.c:9955:23: error: comparison of integer
      expressions of different signedness: ‘gint’ {aka ‘int’}
      and ‘guint’ {aka ‘unsigned int’} [-Werror=sign-compare]
       9955 |         for (j = 0; j < array->len; j++) {
            |                       ^
      ...

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 51ef497634aafc29f2c49cb665090adc40967a07
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 14:50:59 2019 +0100

    port-probe: fix warnings with -Wdiscarded-qualifiers

      mm-port-probe.c:1091:7: error: initialization discards ‘const’
      qualifier from pointer target type [-Werror=discarded-qualifiers]
       1091 |     { "AT",  3, mm_port_probe_response_processor_is_at },
            |       ^~~~
      ...

 src/mm-port-probe.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

commit 337e5e96e0a0d8fd0e6ffcc02e9c90aaaf0baa91
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 14:38:09 2019 +0100

    broadband-modem: rework +CIEV URC handling

    Switch to use the helper methods to parse strings and numbers from
    match info results.

    Also, avoid warnings with -Wsign-compare.

 src/mm-broadband-modem.c | 58
 ++++++++++++++++++++++++++----------------------
 1 file changed, 32 insertions(+), 26 deletions(-)

commit f0377d6e36505fa7383c20218e223b5389a42aa3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 14:19:29 2019 +0100

    broadband-modem: fix warnings with -Wswitch-default

      mm-broadband-modem.c: In function ‘access_tech_and_mask_new’:
      mm-broadband-modem.c:2431:9: error: switch missing default case
      [-Werror=switch-default]
       2431 |         switch (ctx->sysmode) {
            |         ^~~~~~

 src/mm-broadband-modem.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit 91216cb88451bb352be2bdaf27f2221751cf1730
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 14:18:34 2019 +0100

    broadband-modem: fix warnings with -Wswitch-enum

      mm-broadband-modem.c: In function ‘cgev_process_detach’:
      mm-broadband-modem.c:2845:5: error: enumeration value
      ‘MM_3GPP_CGEV_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
       2845 |     switch (type) {
            |     ^~~~~~
      ...

 src/mm-broadband-modem.c | 71
 +++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 64 insertions(+), 7 deletions(-)

commit 517862be35559a9f12dd424dd75a1a833d4648e0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 14:16:45 2019 +0100

    broadband-modem: plug memleak if mm_parse_csim_response() fails

    The GError would be leaking.

 src/mm-broadband-modem.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

commit d5b30be6de9b8282f2f03b8201fc097accaf27cb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 14:07:43 2019 +0100

    broadband-modem: fix warnings with -Wdiscarded-qualifiers

      mm-broadband-modem.c: At top level:
      mm-broadband-modem.c:551:7: error: initialization
      discards ‘const’ qualifier from pointer target type
      [-Werror=discarded-qualifiers]
        551 |     { "+CGSM",     MM_MODEM_CAPABILITY_GSM_UMTS  },
            |       ^~~~~~~
      ...

 src/mm-broadband-modem.c | 62
 ++++++++++++++++++++++++------------------------
 1 file changed, 31 insertions(+), 31 deletions(-)

commit cf86e94b8a1ec480f1df51b53a87dddf3e22597f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 14:07:07 2019 +0100

    broadband-modem: fix warnings with -Wshadow

      mm-broadband-modem.c: In function ‘modem_create_bearer’:
      mm-broadband-modem.c:421:42: error: declaration of ‘properties’
      shadows a global declaration [-Werror=shadow]
        421 |                      MMBearerProperties *properties,
            |                      ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
      mm-broadband-modem.c:132:20: note: shadowed declaration is here
        132 | static GParamSpec *properties[PROP_LAST];
            |                    ^~~~~~~~~~

 src/mm-broadband-modem.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

commit 6887cfda71780d7be6654bde97a643032577866e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 14:06:14 2019 +0100

    iface-modem-oma: fix warnings with -Wimplicit-fallthrough

      mm-iface-modem-oma.c: In function ‘interface_disabling_step’:
      mm-iface-modem-oma.c:732:18: error: this statement may fall through
      [-Werror=implicit-fallthrough=]
        732 |         ctx->step++;
            |         ~~~~~~~~~^~
      ...

 src/mm-iface-modem-oma.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

commit e29e1f36696e8e03e379e293f2a2e0ff0e88d50f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 14:04:55 2019 +0100

    iface-modem-oma: fix warnings with -Wswitch-default

      mm-iface-modem-oma.c: In function ‘interface_disabling_step’:
      mm-iface-modem-oma.c:729:5: error: switch missing default case
      [-Werror=switch-default]
        729 |     switch (ctx->step) {
            |     ^~~~~~
      ...

 src/mm-iface-modem-oma.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit fee1ff66f76662c31c5c32c414d1889321914806
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 14:03:47 2019 +0100

    iface-modem-signal: fix warnings with -Wimplicit-fallthrough

      mm-iface-modem-signal.c:447:18: error: this statement may fall
      through [-Werror=implicit-fallthrough=]
        447 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-iface-modem-signal.c:449:5: note: here
        449 |     case INITIALIZATION_STEP_CHECK_SUPPORT:
            |     ^~~~
      ...

 src/mm-iface-modem-signal.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 8602e97e1c3608d69d9afcff79425a0f8ddbc9fe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 14:02:43 2019 +0100

    iface-modem-signal: fix warnings with -Wswitch-default

      mm-iface-modem-signal.c: In function
      ‘interface_initialization_step’:
      mm-iface-modem-signal.c:436:5: error: switch missing default case
      [-Werror=switch-default]
        436 |     switch (ctx->step) {
            |     ^~~~~~

 src/mm-iface-modem-signal.c | 3 +++
 1 file changed, 3 insertions(+)

commit f856ab08fe9d24492459e605af3dcf09ff7b2641
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 14:01:42 2019 +0100

    iface-modem-firmware: fix warnings with -Wimplicit-fallthrough

      mm-iface-modem-firmware.c:438:18: error: this statement may fall
      through [-Werror=implicit-fallthrough=]
        438 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-iface-modem-firmware.c:440:5: note: here
        440 |     case INITIALIZATION_STEP_UPDATE_SETTINGS:
            |     ^~~~
      ...

 src/mm-iface-modem-firmware.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 823d65ee9949a3067bb0ce00b0f72ddfd72a6d39
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 14:01:00 2019 +0100

    iface-modem-firmware: fix warnings with -Wswitch-default

      mm-iface-modem-firmware.c: In function
      ‘interface_initialization_step’:
      mm-iface-modem-firmware.c:435:5: error: switch missing default case
      [-Werror=switch-default]
        435 |     switch (ctx->step) {
            |     ^~~~~~

 src/mm-iface-modem-firmware.c | 3 +++
 1 file changed, 3 insertions(+)

commit a65fa9e1428b7464a13de1320270b4711dd13be0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:59:29 2019 +0100

    iface-modem-time: fix warnings with -Wimplicit-fallthrough

      mm-iface-modem-time.c: In function ‘interface_disabling_step’:
      mm-iface-modem-time.c:484:18: error: this statement may fall through
      [-Werror=implicit-fallthrough=]
        484 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-iface-modem-time.c:486:5: note: here
        486 |     case DISABLING_STEP_CANCEL_NETWORK_TIMEZONE_UPDATE:
            |     ^~~~
      ...

 src/mm-iface-modem-time.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit ecce8cb9fccaeaba6aa89dc23d93af8137c10e3a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:57:31 2019 +0100

    iface-modem-time: fix warnings with -Wswitch-default

      mm-iface-modem-time.c: In function ‘interface_disabling_step’:
      mm-iface-modem-time.c:481:5: error: switch missing default case
      [-Werror=switch-default]
        481 |     switch (ctx->step) {
            |     ^~~~~~
      ...

 src/mm-iface-modem-time.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit e8c64445ccebc615abb28f7e172257fc22b64cf6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:56:28 2019 +0100

    iface-modem-voice: fix warnings with -Wimplicit-fallthrough

      mm-iface-modem-voice.c: In function ‘interface_disabling_step’:
      mm-iface-modem-voice.c:2589:18: error: this statement may fall
      through [-Werror=implicit-fallthrough=]
       2589 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-iface-modem-voice.c:2591:5: note: here
       2591 |     case DISABLING_STEP_DISABLE_UNSOLICITED_EVENTS:
            |     ^~~~
      ...

 src/mm-iface-modem-voice.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

commit b1d4c9063cb6c263a98a1538ed68989f58640d15
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:53:57 2019 +0100

    iface-modem-voice: fix warnings with -Wswitch-default

      mm-iface-modem-voice.c: In function
      ‘in_call_setup_context_step’:
      mm-iface-modem-voice.c:1863:5: error: switch missing default case
      [-Werror=switch-default]
       1863 |     switch (ctx->step) {
            |     ^~~~~~
      ...

 src/mm-iface-modem-voice.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

commit 451eaa69c5169dc6a736dbf4b512432eab0c50f7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:46:40 2019 +0100

    iface-modem-voice: fix warnings with -Wswitch-enum

      mm-iface-modem-voice.c: In function
      ‘prepare_hold_and_accept_foreach’:
      mm-iface-modem-voice.c:804:5: error: enumeration value
      ‘MM_CALL_STATE_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
        804 |     switch (mm_base_call_get_state (call)) {
            |     ^~~~~~
      ...

 src/mm-iface-modem-voice.c | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

commit 189f1a2fb08da1ce54a11be4810619435f9b49ef
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:44:44 2019 +0100

    iface-modem-messaging: fix warnings with -Wimplicit-fallthrough

      mm-iface-modem-messaging.c: In function
      ‘interface_disabling_step’:
      mm-iface-modem-messaging.c:615:18: error: this statement may fall
      through [-Werror=implicit-fallthrough=]
        615 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-iface-modem-messaging.c:617:5: note: here
        617 |     case DISABLING_STEP_DISABLE_UNSOLICITED_EVENTS:
            |     ^~~~
      ...

 src/mm-iface-modem-messaging.c | 30 ++++++++++++++----------------
 1 file changed, 14 insertions(+), 16 deletions(-)

commit 032eab4ba74679c3c6c1a9e8c8f41d86dbe51b01
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:42:43 2019 +0100

    iface-modem-messaging: fix warnings with -Wswitch-default

      mm-iface-modem-messaging.c: In function
      ‘interface_disabling_step’:
      mm-iface-modem-messaging.c:612:5: error: switch missing default case
      [-Werror=switch-default]
        612 |     switch (ctx->step) {
            |     ^~~~~~
      ...

 src/mm-iface-modem-messaging.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 8798ea889d390a007d57f1a367aa7af2366908cf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:40:30 2019 +0100

    iface-modem-location: fix warnings with -Wimplicit-fallthrough

      mm-iface-modem-location.c: In function
      ‘interface_disabling_step’:
      mm-iface-modem-location.c:1389:18: error: this statement may fall
      through [-Werror=implicit-fallthrough=]
       1389 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-iface-modem-location.c:1391:5: note: here
       1391 |     case DISABLING_STEP_DISABLE_GATHERING:
            |     ^~~~
      ...

 src/mm-iface-modem-location.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit 3ab3968e8f0ba092cd2b34e967a3bbb89be3f00c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:39:05 2019 +0100

    iface-modem-location: fix warnings with -Wswitch-default

      mm-iface-modem-location.c: In function
      ‘interface_disabling_step’:
      mm-iface-modem-location.c:1386:5: error: switch missing default case
      [-Werror=switch-default]
       1386 |     switch (ctx->step) {
            |     ^~~~~~
      mm-iface-modem-location.c: In function
      ‘interface_enabling_step’:
      mm-iface-modem-location.c:1505:5: error: switch missing default case
      [-Werror=switch-default]
       1505 |     switch (ctx->step) {
            |     ^~~~~~
      mm-iface-modem-location.c: In function
      ‘interface_initialization_step’:
      mm-iface-modem-location.c:1709:5: error: switch missing default case
      [-Werror=switch-default]
       1709 |     switch (ctx->step) {
            |     ^~~~~~

 src/mm-iface-modem-location.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit c1ffe15b9282d80b82c348d408aa2c8b5dc06943
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:37:35 2019 +0100

    iface-modem-location: fix warnings with -Wswitch-enum

      mm-iface-modem-location.c: In function
      ‘update_location_source_status’:
      mm-iface-modem-location.c:482:5: error: enumeration value
      ‘MM_MODEM_LOCATION_SOURCE_NONE’ not handled in switch
      [-Werror=switch-enum]
        482 |     switch (source) {
            |     ^~~~~~

 src/mm-iface-modem-location.c | 1 +
 1 file changed, 1 insertion(+)

commit 8744025545236c4623b04720cf1077293d6d651d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:36:05 2019 +0100

    iface-modem-simple: fix warnings with -Wimplicit-fallthrough

      mm-iface-modem-simple.c: In function ‘connection_step’:
      mm-iface-modem-simple.c:539:18: error: this statement may fall
      through [-Werror=implicit-fallthrough=]
        539 |         ctx->step++;
            |         ~~~~~~~~~^~
      ...

 src/mm-iface-modem-simple.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

commit a4dcf5dd68f243240930bb57b5586827dc44f933
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:34:46 2019 +0100

    iface-modem-simple: fix warnings with -Wswitch-default

      mm-iface-modem-simple.c: In function ‘connection_step’:
      mm-iface-modem-simple.c:536:5: error: switch missing default case
      [-Werror=switch-default]
        536 |     switch (ctx->step) {
            |     ^~~~~~

 src/mm-iface-modem-simple.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 3659660e8718e60c5a59521f817e5384495e675d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:32:27 2019 +0100

    iface-modem-cdma: fix warnings with -Wimplicit-fallthrough

      mm-iface-modem-cdma.c: In function ‘registration_check_step’:
      mm-iface-modem-cdma.c:846:18: error: this statement may fall through
      [-Werror=implicit-fallthrough=]
        846 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-iface-modem-cdma.c:848:5: note: here
        848 |     case REGISTRATION_CHECK_STEP_SETUP_REGISTRATION_CHECKS:
            |     ^~~~
      ...

 src/mm-iface-modem-cdma.c | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

commit 8dedd45e90109a7e22a7fedc232d71c3de7af7e7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:29:52 2019 +0100

    iface-modem-cdma: fix warnings with -Wswitch-default

      mm-iface-modem-cdma.c: In function ‘handle_activate_auth_ready’:
      mm-iface-modem-cdma.c:198:5: error: switch missing default case
      [-Werror=switch-default]
        198 |     switch (modem_state) {
            |     ^~~~~~
      ...

 src/mm-iface-modem-cdma.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

commit 41bfa1f75d8ac6680034bc709149551efcad8034
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:23:14 2019 +0100

    iface-modem-3gpp-ussd: fix warnings with -Wimplicit-fallthrough

      mm-iface-modem-3gpp-ussd.c: In function
      ‘interface_disabling_step’:
      mm-iface-modem-3gpp-ussd.c:572:18: error: this statement may fall
      through [-Werror=implicit-fallthrough=]
        572 |         ctx->step++;
            |         ~~~~~~~~~^~
      ..

 src/mm-iface-modem-3gpp-ussd.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 82d30fd05255ea24dfb8556f80d5582c5517ba41
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:21:59 2019 +0100

    iface-modem-3gpp-ussd: fix warnings with -Wswitch-default

      mm-iface-modem-3gpp-ussd.c: In function ‘ensure_enabled’:
      mm-iface-modem-3gpp-ussd.c:59:5: error: switch missing default case
      [-Werror=switch-default]
         59 |     switch (modem_state) {
            |     ^~~~~~
      mm-iface-modem-3gpp-ussd.c: In function
      ‘interface_disabling_step’:
      mm-iface-modem-3gpp-ussd.c:565:5: error: switch missing default case
      [-Werror=switch-default]
        565 |     switch (ctx->step) {
            |     ^~~~~~
      mm-iface-modem-3gpp-ussd.c: In function
      ‘interface_enabling_step’:
      mm-iface-modem-3gpp-ussd.c:709:5: error: switch missing default case
      [-Werror=switch-default]
        709 |     switch (ctx->step) {
            |     ^~~~~~
      mm-iface-modem-3gpp-ussd.c: In function
      ‘interface_initialization_step’:
      mm-iface-modem-3gpp-ussd.c:831:5: error: switch missing default case
      [-Werror=switch-default]
        831 |     switch (ctx->step) {
            |     ^~~~~~

 src/mm-iface-modem-3gpp-ussd.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 5aa5e51a0eb13d4eca8a61d756bad22a17dc67fd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 23 13:16:40 2019 +0100

    iface-modem-3gpp: fix warnings with -Wimplicit-fallthrough

        mm-iface-modem-3gpp.c: In function ‘interface_disabling_step’:
        mm-iface-modem-3gpp.c:1797:18: error: this statement may fall
        through [-Werror=implicit-fallthrough=]
         1797 |         ctx->step++;
              |         ~~~~~~~~~^~
        ...

 src/mm-iface-modem-3gpp.c | 42 +++++++++++++++++++-----------------------
 1 file changed, 19 insertions(+), 23 deletions(-)

commit f6e53c41e40e6eba587219efd4ecf9b7308fd44a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 28 22:56:27 2019 +0100

    iface-modem-3gpp: fix warnings with -Wswitch-default

      mm-iface-modem-3gpp.c: In function ‘handle_register_auth_ready’:
      mm-iface-modem-3gpp.c:550:5: error: switch missing default case
      [-Werror=switch-default]
        550 |     switch (modem_state) {
            |     ^~~~~~
      mm-iface-modem-3gpp.c: In function ‘handle_scan_auth_ready’:
      mm-iface-modem-3gpp.c:738:5: error: switch missing default case
      [-Werror=switch-default]
        738 |     switch (modem_state) {
            |     ^~~~~~
      mm-iface-modem-3gpp.c: In function ‘interface_disabling_step’:
      mm-iface-modem-3gpp.c:1788:5: error: switch missing default case
      [-Werror=switch-default]
       1788 |     switch (ctx->step) {
            |     ^~~~~~
      mm-iface-modem-3gpp.c: In function ‘interface_enabling_step’:
      mm-iface-modem-3gpp.c:2092:5: error: switch missing default case
      [-Werror=switch-default]
       2092 |     switch (ctx->step) {
            |     ^~~~~~
      mm-iface-modem-3gpp.c: In function
      ‘interface_initialization_step’:
      mm-iface-modem-3gpp.c:2394:5: error: switch missing default case
      [-Werror=switch-default]
       2394 |     switch (ctx->step) {
            |     ^~~~~~

 src/mm-iface-modem-3gpp.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit 394df97acf80e36fb9b6f38f3a6a4464feeab0cf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 28 22:48:31 2019 +0100

    iface-modem: fix warnings with -Wimplicit-fallthrough

      mm-iface-modem.c: In function ‘peridic_signal_check_step’:
      mm-iface-modem.c:1311:26: error: this statement may fall through
      [-Werror=implicit-fallthrough=]
       1311 |         ctx->running_step++;
            |         ~~~~~~~~~~~~~~~~~^~
      ...

 src/mm-iface-modem.c | 77
 +++++++++++++++++++++++-----------------------------
 1 file changed, 34 insertions(+), 43 deletions(-)

commit eb04eadccefe053be0c1fcf0a2bdf2537971cbd7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 28 22:46:04 2019 +0100

    iface-modem: fix warnings with -Wswitch-default

      mm-iface-modem.c: In function ‘bearer_status_changed’:
      mm-iface-modem.c:483:9: error: switch missing default case
      [-Werror=switch-default]
        483 |         switch (mm_base_bearer_get_status (bearer)) {
            |         ^~~~~~
      mm-iface-modem.c: In function ‘peridic_signal_check_step’:
      mm-iface-modem.c:1293:5: error: switch missing default case
      [-Werror=switch-default]
       1293 |     switch (ctx->running_step) {
            |     ^~~~~~
      mm-iface-modem.c: In function ‘interface_enabling_step’:
      mm-iface-modem.c:3965:5: error: switch missing default case
      [-Werror=switch-default]
       3965 |     switch (ctx->step) {
            |     ^~~~~~
      mm-iface-modem.c: In function ‘interface_initialization_step’:
      mm-iface-modem.c:4708:5: error: switch missing default case
      [-Werror=switch-default]
       4708 |     switch (ctx->step) {
            |     ^~~~~~

 src/mm-iface-modem.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 6a3e2d6a6143d84b646fcf8cf2e49cb3f4b830fa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 28 22:42:12 2019 +0100

    base-sms: fix warnings with -Wshadow

      mm-base-sms.c: In function ‘mm_base_sms_new_from_properties’:
      mm-base-sms.c:1831:51: error: declaration of ‘properties’
      shadows a global declaration [-Werror=shadow]
       1831 |                                  MMSmsProperties
       *properties,
            |                                  ~~~~~~~~~~~~~~~~~^~~~~~~~~~
      mm-base-sms.c:53:20: note: shadowed declaration is here
         53 | static GParamSpec *properties[PROP_LAST];
            |                    ^~~~~~~~~~

 src/mm-base-sms.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

commit 1d0ead9acac6e9b0c878aca042f335aad77378e1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 28 22:40:09 2019 +0100

    base-sms: fix warnings with -Wshadow

      mm-base-sms.c: In function ‘generate_3gpp_submit_pdus’:
      mm-base-sms.c:153:19: error: declaration of ‘i’ shadows a
      previous local [-Werror=shadow]
        153 |             guint i = 0;
            |                   ^
      mm-base-sms.c:102:11: note: shadowed declaration is here
        102 |     guint i;
            |           ^

 src/mm-base-sms.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 316f2fdff8fc10e658f13faa20feabe409ca90f5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 28 22:38:24 2019 +0100

    base-modem: fix warnings with -Wswitch-enum

      mm-base-modem.c: In function ‘mm_base_modem_organize_ports’:
      mm-base-modem.c:1088:9: error: enumeration value
      ‘MM_PORT_TYPE_UNKNOWN’ not handled in switch
      [-Werror=switch-enum]
       1088 |         switch (mm_port_get_port_type (candidate)) {
            |         ^~~~~~
      mm-base-modem.c:1088:9: error: enumeration value
      ‘MM_PORT_TYPE_IGNORED’ not handled in switch
      [-Werror=switch-enum]

 src/mm-base-modem.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit c93a3cf589841f11c7f724a98a371b7f25723ffc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 28 22:35:09 2019 +0100

    bearer-list: fix warnings with -Wshadow

            mm-bearer-list.c: In function
            ‘mm_bearer_list_find_by_properties’:
            mm-bearer-list.c:151:56: error: declaration of
            ‘properties’ shadows a global declaration [-Werror=shadow]
              151 |                                    MMBearerProperties
              *properties)
                  |
                  ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
            mm-bearer-list.c:42:20: note: shadowed declaration is here
               42 | static GParamSpec *properties[PROP_LAST];
                  |                    ^~~~~~~~~~

 src/mm-bearer-list.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 71ee2e900d4c1e9af3f1fabb79de00c678a16c18
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 16:16:29 2019 +0100

    core,broadband-bearer: fix warnings with -Wimplicit-fallthrough

      mm-broadband-bearer.c: In function
      ‘cid_selection_3gpp_context_step’:
      mm-broadband-bearer.c:871:18: warning: this statement may fall
      through [-Wimplicit-fallthrough=]
        871 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-broadband-bearer.c:873:5: note: here
        873 |     case CID_SELECTION_3GPP_STEP_FORMAT:
            |     ^~~~
      mm-broadband-bearer.c: In function
      ‘interface_initialization_step’:
      mm-broadband-bearer.c:2127:18: warning: this statement may fall
      through [-Wimplicit-fallthrough=]
       2127 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-broadband-bearer.c:2129:5: note: here
       2129 |     case INITIALIZATION_STEP_CDMA_RM_PROTOCOL:
            |     ^~~~
      mm-broadband-bearer.c:2148:18: warning: this statement may fall
      through [-Wimplicit-fallthrough=]
       2148 |         ctx->step++;
            |         ~~~~~~~~~^~

 src/mm-broadband-bearer.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit cdcc44922f0195b5b3933b79232042ea62f8ebb8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 16:15:20 2019 +0100

    core,broadband-bearer: fix warnings with -Wshadow

      mm-broadband-bearer.c: In function ‘mm_broadband_bearer_new’:
      mm-broadband-bearer.c:2204:46: warning: declaration of
      ‘properties’ shadows a global declaration [-Wshadow]
       2204 |                          MMBearerProperties *properties,
            |                          ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
      mm-broadband-bearer.c:58:20: note: shadowed declaration is here
         58 | static GParamSpec *properties[PROP_LAST];
            |                    ^~~~~~~~~~

 src/mm-broadband-bearer.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 7c4220bc68c695099199c56d2d97a8f8fa34c9a2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 16:14:25 2019 +0100

    core,broadband-bearer: fix warnings with -Wswitch-default

      mm-broadband-bearer.c: In function
      ‘cid_selection_3gpp_context_step’:
      mm-broadband-bearer.c:868:5: warning: switch missing default case
      [-Wswitch-default]
        868 |     switch (ctx->step) {
            |     ^~~~~~
      mm-broadband-bearer.c: In function ‘disconnect’:
      mm-broadband-bearer.c:1842:5: warning: switch missing default case
      [-Wswitch-default]
       1842 |     switch (MM_BROADBAND_BEARER
       (self)->priv->connection_type) {
            |     ^~~~~~
      mm-broadband-bearer.c: In function
      ‘interface_initialization_step’:
      mm-broadband-bearer.c:2124:5: warning: switch missing default case
      [-Wswitch-default]
       2124 |     switch (ctx->step) {
            |     ^~~~~~

 src/mm-broadband-bearer.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 2a0e4e062fc47f9ff39542d37b6303be8344f7f2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 16:13:07 2019 +0100

    core,base-bearer: fix warnings with -Wswitch-default

      mm-base-bearer.c: In function
      ‘modem_3gpp_registration_state_changed’:
      mm-base-bearer.c:463:5: warning: switch missing default case
      [-Wswitch-default]
        463 |     switch (state) {
            |     ^~~~~~

 src/mm-base-bearer.c | 2 ++
 1 file changed, 2 insertions(+)

commit ce5689112d927cf23162777024d586c2ebf0ab31
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 16:11:55 2019 +0100

    core,base-sim: fix warnings with -Wimplicit-fallthrough

      mm-base-sim.c:1590:18: warning: this statement may fall through
      [-Wimplicit-fallthrough=]
       1590 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-base-sim.c:1592:5: note: here
       1592 |     case INITIALIZATION_STEP_SIM_IDENTIFIER:
            |     ^~~~
      mm-base-sim.c:1606:18: warning: this statement may fall through
      [-Wimplicit-fallthrough=]
       1606 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-base-sim.c:1608:5: note: here
       1608 |     case INITIALIZATION_STEP_IMSI:
            |     ^~~~
      mm-base-sim.c:1622:18: warning: this statement may fall through
      [-Wimplicit-fallthrough=]
       1622 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-base-sim.c:1624:5: note: here
       1624 |     case INITIALIZATION_STEP_OPERATOR_ID:
            |     ^~~~
      mm-base-sim.c:1638:18: warning: this statement may fall through
      [-Wimplicit-fallthrough=]
       1638 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-base-sim.c:1640:5: note: here
       1640 |     case INITIALIZATION_STEP_OPERATOR_NAME:
            |     ^~~~
      mm-base-sim.c:1654:18: warning: this statement may fall through
      [-Wimplicit-fallthrough=]
       1654 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-base-sim.c:1656:5: note: here
       1656 |     case INITIALIZATION_STEP_EMERGENCY_NUMBERS:
            |     ^~~~
      mm-base-sim.c:1670:18: warning: this statement may fall through
      [-Wimplicit-fallthrough=]
       1670 |         ctx->step++;
            |         ~~~~~~~~~^~
      mm-base-sim.c:1672:5: note: here
       1672 |     case INITIALIZATION_STEP_LAST:
            |     ^~~~

 src/mm-base-sim.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 850c6636bf26d38bdd2cd0e5d6668fe53bb0072a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 16:10:34 2019 +0100

    core,base-sim: fix warnings with -Wswitch-default

      mm-base-sim.c: In function ‘interface_initialization_step’:
      mm-base-sim.c:1587:5: warning: switch missing default case
      [-Wswitch-default]
       1587 |     switch (ctx->step) {
            |     ^~~~~~

 src/mm-base-sim.c | 3 +++
 1 file changed, 3 insertions(+)

commit 645f8e10ea44cb9668a7740b4838eb3378d0e8d7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 16:09:48 2019 +0100

    core,plugin-manager: fix warnings with -Wswitch-default

      mm-plugin-manager.c: In function ‘plugin_supports_port_ready’:
      mm-plugin-manager.c:480:5: warning: switch missing default case
      [-Wswitch-default]
        480 |     switch (support_result) {
            |     ^~~~~~

 src/mm-plugin-manager.c | 2 ++
 1 file changed, 2 insertions(+)

commit b087549c7d60050d9174a54b0fc7c450c3a9b92e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 16:06:03 2019 +0100

    core,log: fix warnings with -Wswitch-enum

      mm-log.c: In function ‘glib_to_syslog_priority’:
      mm-log.c:99:5: warning: enumeration value ‘G_LOG_FLAG_RECURSION’
      not handled in switch [-Wswitch-enum]
         99 |     switch (level) {
            |     ^~~~~~
      mm-log.c:99:5: warning: enumeration value ‘G_LOG_FLAG_FATAL’
      not handled in switch [-Wswitch-enum]
      mm-log.c:99:5: warning: enumeration value ‘G_LOG_LEVEL_INFO’
      not handled in switch [-Wswitch-enum]
      mm-log.c:99:5: warning: enumeration value ‘G_LOG_LEVEL_MASK’
      not handled in switch [-Wswitch-enum]

 src/mm-log.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit b024381be57f3ef07c1ef067c0816a52d267fa8f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 16:03:09 2019 +0100

    core,log: fix warnings with -Wswitch-default

      mm-log.c: In function ‘mm_to_syslog_priority’:
      mm-log.c:82:5: warning: switch missing default case
      [-Wswitch-default]
         82 |     switch (level) {
            |     ^~~~~~

      mm-log.c: In function ‘log_level_description’:
      mm-log.c:118:5: warning: switch missing default case
      [-Wswitch-default]
        118 |     switch (level) {
            |     ^~~~~~

 src/mm-log.c | 4 ++++
 1 file changed, 4 insertions(+)

commit a1f2429790eb4c7e106cd928cbb387fd5ba0aa46
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 16:02:21 2019 +0100

    libqcdm,reset: fix warnings with -Wdiscarded-qualifiers

      reset.c: In function ‘main’:
      reset.c:238:17: warning: passing argument 1 of ‘putenv’
      discards ‘const’ qualifier from pointer target type
      [-Wdiscarded-qualifiers]
        238 |         putenv ("QCDM_DEBUG=1");
            |                 ^~~~~~~~~~~~~~
      In file included from reset.c:22:
      /usr/include/stdlib.h:647:26: note: expected ‘char *’ but
      argument is of type ‘const char *’
        647 | extern int putenv (char *__string) __THROW __nonnull ((1));
            |                    ~~~~~~^~~~~~~~

 libqcdm/tests/reset.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 305d927ee07d7e28de4133d0edf92722155c61cf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 16:01:43 2019 +0100

    libqcdm,reset: fix warnings with -Wsign-compare

      reset.c: In function ‘print_buf’:
      reset.c:47:19: warning: comparison of integer expressions of
      different signedness: ‘int’ and ‘size_t’ {aka ‘long
      unsigned int’} [-Wsign-compare]
         47 |     for (i = 0; i < len; i++) {
            |                   ^
      reset.c: In function ‘qcdm_wait_reply’:
      reset.c:168:20: warning: comparison of integer expressions of
      different signedness: ‘int’ and ‘long unsigned int’
      [-Wsign-compare]
        168 |     } while (total < sizeof (readbuf));
            |                    ^

 libqcdm/tests/reset.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 47a380a2ae6b68cbe8b6dfc5c2ea0c37745b92b0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 16:00:32 2019 +0100

    libqcdm,ipv6pref: fix warnings with -Wdiscarded-qualifiers

      ipv6pref.c: In function ‘main’:
      ipv6pref.c:288:11: warning: passing argument 1 of ‘putenv’
      discards ‘const’ qualifier from pointer target type
      [-Wdiscarded-qualifiers]
        288 |   putenv ("QCDM_DEBUG=1");
            |           ^~~~~~~~~~~~~~

 libqcdm/tests/ipv6pref.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 07fe3bed65ebe1a1f59f3bb8d1e06de572120e3c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 16:00:01 2019 +0100

    libqcdm,ipv6pref: fix warnings with -Wsign-compare

      ipv6pref.c: In function ‘print_buf’:
      ipv6pref.c:46:16: warning: comparison of integer expressions of
      different signedness: ‘int’ and ‘size_t’ {aka ‘long
      unsigned int’} [-Wsign-compare]
         46 |  for (i = 0; i < len; i++) {
            |                ^
      ipv6pref.c: In function ‘qcdm_wait_reply’:
      ipv6pref.c:167:17: warning: comparison of integer expressions
      of different signedness: ‘int’ and ‘long unsigned int’
      [-Wsign-compare]
        167 |  } while (total < sizeof (readbuf));
            |                 ^

 libqcdm/tests/ipv6pref.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c135c66684d6fba899f26ddc1085494ee299fd4f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 15:59:07 2019 +0100

    libqcdm,modepref: fix warnings with -Wdiscarded-qualifiers

      modepref.c: In function ‘main’:
      modepref.c:539:11: warning: passing argument 1 of ‘putenv’
      discards ‘const’ qualifier from pointer target type
      [-Wdiscarded-qualifiers]
        539 |   putenv ("QCDM_DEBUG=1");
            |           ^~~~~~~~~~~~~~
      In file included from modepref.c:21:
      /usr/include/stdlib.h:647:26: note: expected ‘char *’ but
      argument is of type ‘const char *’
        647 | extern int putenv (char *__string) __THROW __nonnull ((1));
            |                    ~~~~~~^~~~~~~~

 libqcdm/tests/modepref.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 17a00ce1fcad6e0ce28d2312620ff27af12e618d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 15:57:20 2019 +0100

    libqcdm,modepref: fix warnings with -Wsign-compare

      modepref.c: In function ‘print_buf’:
      modepref.c:46:16: warning: comparison of integer expressions of
      different signedness: ‘int’ and ‘size_t’ {aka ‘long
      unsigned int’} [-Wsign-compare]
         46 |  for (i = 0; i < len; i++) {
            |                ^
      modepref.c: In function ‘qcdm_wait_reply’:
      modepref.c:167:17: warning: comparison of integer expressions
      of different signedness: ‘int’ and ‘long unsigned int’
      [-Wsign-compare]
        167 |  } while (total < sizeof (readbuf));
            |                 ^

 libqcdm/tests/modepref.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 4fa669b894cd1ff5619e834a30ec3975d11d1505
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 15:56:22 2019 +0100

    test-qcdm-com: fix warnings with -Wdouble-promotion

      test-qcdm-com.c: In function ‘test_com_pilot_sets’:
      test-qcdm-com.c:1085:59: warning: implicit conversion from
      ‘float’ to ‘double’ when passing argument to function
      [-Wdouble-promotion]
       1085 |         g_message ("      EC/IO     %d  (%.1f dB)",
       ecio, db);
            |                                                           ^~
      /usr/include/glib-2.0/glib/gmessages.h:333:32: note: in definition
      of macro ‘g_message’
        333 |                                __VA_ARGS__)
            |                                ^~~~~~~~~~~

 libqcdm/tests/test-qcdm-com.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 45c0015c0883bc8a65854d246070d5ec13bbcae8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 15:54:44 2019 +0100

    test-qcdm-com: fix warnings with -Wsign-compare

      test-qcdm-com.c: In function ‘print_buf’:
      test-qcdm-com.c:273:19: warning: comparison of integer expressions
      of different signedness: ‘int’ and ‘gsize’ {aka ‘long
      unsigned int’} [-Wsign-compare]
        273 |     for (i = 0; i < len; i++) {
            |                   ^
      test-qcdm-com.c: In function ‘wait_reply’:
      test-qcdm-com.c:367:20: warning: comparison of integer expressions
      of different signedness: ‘int’ and ‘long unsigned int’
      [-Wsign-compare]
        367 |     } while (total < sizeof (readbuf));
            |                    ^

 libqcdm/tests/test-qcdm-com.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 06567283b1687f0628ee5464fe04c4550d4788ad
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 15:53:35 2019 +0100

    libqcdm,logs: fix warnings with -Wdouble-promotion

      logs.c: In function
      ‘qcdm_log_item_evdo_pilot_sets_v2_get_pilot’:
      logs.c:179:94: warning: implicit conversion from ‘float’
      to ‘double’ to match other operand of binary expression
      [-Wdouble-promotion]
        179 |     *out_rssi_dbm = (int32_t) (-110.0 + ((float) MAX
        (le16toh (pilot->pilot_energy) - 50, 0) / 14.0));
            |

 libqcdm/src/logs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3c19b48f8c4eeaf0c5bd66c737fbaabaab407f11
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 15:51:38 2019 +0100

    libqcdm,commands: fix warnings with -Wdouble-promotion

      commands.c: In function ‘qcdm_cmd_pilot_sets_result_get_pilot’:
      commands.c:756:33: warning: implicit conversion from ‘float’
      to ‘double’ to match other operand of binary expression
      [-Wdouble-promotion]
        756 |     *out_db = (float) set->ecio * -0.5;
            |                                 ^

 libqcdm/src/commands.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9bc5d742dc6d13f6363393d68328d21210e5fa48
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 15:49:53 2019 +0100

    libqcdm,commands: fix warnings with -Wswitch-default

      commands.c: In function ‘nv_mode_pref_from_qcdm’:
      commands.c:109:5: warning: switch missing default case
      [-Wswitch-default]
        109 |     switch (qcdm) {
            |     ^~~~~~

 libqcdm/src/commands.c | 2 ++
 1 file changed, 2 insertions(+)

commit cf211c01e9f0c1ce18b154b1457e9afabffe4921
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 19 11:36:08 2019 +0100

    build-aux: fix warning in the built _get_string() methods with
    -Wsign-compare

      mm-enums-types.c: In function ‘mm_modem_lock_get_string’:
      mm-enums-types.c:165:17: warning: comparison of integer
      expressions of different signedness: ‘MMModemLock’ {aka
      ‘enum <anonymous>’} and ‘gint’ {aka ‘const int’}
      [-Wsign-compare]
        165 |         if (val == mm_modem_lock_values[i].value)
            |                 ^~

 build-aux/mm-enums-template.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1c078531a017358241a35475fb24f2bd65d501db
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 19 11:06:43 2019 +0100

    build: use AX_IS_RELEASE() and AX_COMPILER_FLAGS()

    The autoconf macros AX_COMPILER_FLAGS_{CFLAGS|GIR|LDFLAGS} test
    for compiler and linker support of various flags, and add the flags to
    the generated output.

    If the command-line option '--enable-compile-warnings' is specified to
    'configure', a number of additional warning options is also added
    to the
    output. This is the default.

    This update requires the presence of the GNU autoconf-archive in the
    system.

 cli/Makefile.am                  |  9 +++++++--
 configure.ac                     | 32 ++++++++++++++++++++++++++++++--
 libmm-glib/Makefile.am           | 12 ++++++------
 libmm-glib/generated/Makefile.am |  9 ++++++++-
 libqcdm/src/Makefile.am          | 13 ++++++++++---
 libqcdm/tests/Makefile.am        | 11 +++++++++--
 m4/compiler_warnings.m4          | 35 -----------------------------------
 plugins/Makefile.am              |  2 ++
 src/Makefile.am                  |  2 ++
 src/tests/Makefile.am            |  2 ++
 test/Makefile.am                 |  8 ++++++++
 11 files changed, 84 insertions(+), 51 deletions(-)

commit 4bfd955e64af56b47d398a857be4e8e1b16ce260
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 28 10:32:11 2020 +0100

    auth-provider: fix reference count in manager and modem objects

    The auth provider is now a singleton (since 20ab6550), one single
    object that lives throughout the whole program execution, and so we
    don't need to keep our own full references around. This fix makes
    sure we don't attempt to unref a full auth provider reference we
    don't own.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/179

 src/mm-base-manager.c | 3 +--
 src/mm-base-modem.c   | 3 ++-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 2406a5519fb3004f424a880d534121aa6469ad76
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 24 09:57:54 2020 +0100

    charsets: fix handling of 0x00 bytes at the end of GSM encoded strings

    When a GSM-7 encoded string is packed, the process of packing the
    septets into bytes may end up with one last byte holding the last bit
    of the last septet. When this situation happens, the last byte will
    end up with the 7 remaining bits set to 0.

    When this packed string is unpacked, the logic to unpack will unpack
    those last 7 bits as an additional septet, with the value 0x00.

    The 0x00 value encoded in GSM-7 is the '@' character, EXCEPT when this
    character is found at the end of the string, in which case the value
    should be considered as NUL and trigger the end of string already.

    So, fix the conversion logic between GSM-7 and UTF-8, so that whenever
    we find the 0x00 character at the end of the string, we ignore it
    instead of adding a bogus '@' trailing character.

    This commit fixes the "/MM/charsets/gsm7/default-chars" unit test
    after having it updated to perform the full conversion cycle:
       UTF-8 -> packed GSM7 -> UTF-8

 src/mm-charsets.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

commit 6c80577bec3ad6b565682dc1836881350efc4ec3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 23 16:17:31 2020 +0100

    tests,charsets: full gsm7/pack/unpack/utf8 sequence in tests

 src/tests/test-charsets.c | 88
 +++++++++++++++++++++++++----------------------
 1 file changed, 46 insertions(+), 42 deletions(-)

commit 20ab6550fbf88b6e89d7243c08fe1ba12bf44fdf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 10 14:47:40 2020 +0100

    auth-provider: refactor and simplify

    The auth provider setup is a bit over-engineered. Simplify it by
    making a single MMAuthProvider object that may or may not use polkit,
    depending on configure options. This object is also setup as a
    singleton object using the helper MM_DEFINE_SINGLETON_GETTER().

 src/Makefile.am               |   7 --
 src/mm-auth-provider-polkit.c | 197
 -----------------------------------------
 src/mm-auth-provider-polkit.h |  46 ----------
 src/mm-auth-provider.c        | 198
 ++++++++++++++++++++++++++++++++----------
 src/mm-auth-provider.h        |  53 ++++-------
 src/mm-auth.c                 |  53 -----------
 src/mm-auth.h                 |  27 ------
 src/mm-base-manager.c         |   4 +-
 src/mm-base-modem.c           |   2 +-
 src/mm-base-modem.h           |   2 +-
 10 files changed, 172 insertions(+), 417 deletions(-)

commit a6a3db21846248979f7cd1062a2551aac6f9ad3c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 22 18:19:46 2020 +0100

    base-modem: use g_steal_pointer() during dispose

    g_steal_pointer() sets the original location to NULL already, so it's
    very handy.

 src/mm-base-modem.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

commit 3490f997f99e744d567de68572933dd65f6fbbd3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 22 18:19:15 2020 +0100

    base-modem: serial ports require 'timed-out' signal disconnection
    on cleanup

    Fixes
    https://lists.freedesktop.org/archives/modemmanager-devel/2020-January/007686.html

 src/mm-base-modem.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 9b56ce8cccf83ab3d980aacfc06e5483528b89de
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 22 18:17:27 2020 +0100

    base-modem: new helper method to cleanup ports during modem dispose

    The different types of ports available in the modem will require
    different types of cleanup actions. E.g. QMI and MBIM ports need an
    explicit device close, and some other port types may need other
    cleanups.

 src/mm-base-modem.c | 91
 ++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 59 insertions(+), 32 deletions(-)

commit 377691afd431c5cb8994da6e814c083e9e3c180f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 22 13:04:32 2020 +0100

    port-qmi: asynchronous close operation always

    To be in sync with the qmi_device_close_async() underlying method,
    given that the synchronous one is deprecated.

 src/mm-base-modem.c          |  10 ++++-
 src/mm-bearer-qmi.c          |   4 +-
 src/mm-broadband-modem-qmi.c |   2 +-
 src/mm-port-probe.c          |  26 ++++++++---
 src/mm-port-qmi.c            | 104
 ++++++++++++++++++++++++++++++++++---------
 src/mm-port-qmi.h            |  25 ++++++-----
 6 files changed, 132 insertions(+), 39 deletions(-)

commit bf76fcd52627ead57fac6ba64f11b474619bb700
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 22 12:30:39 2020 +0100

    port-qmi: use qmi_device_close_async() in the port open logic

    The qmi_device_close() synchronous operation is deprecated.

 src/mm-port-qmi.c | 137
 +++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 95 insertions(+), 42 deletions(-)

commit de8b6dd01956cc7af74cbe4cbab9a903f610557c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 22 12:24:30 2020 +0100

    port-mbim: use qmi_device_close_async()

    The qmi_device_close() synchronous operation is deprecated.

 src/mm-port-mbim.c | 102
 ++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 77 insertions(+), 25 deletions(-)

commit 31c94a883b4b7b2157f402a53399003c563bacfa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 22 12:55:41 2020 +0100

    broadband-modem-qmi: no longer need QMI port cleanup in finalize()

    We're already doing it in dispose() since commit
    00bb228472ff8669b1d60a251ac533a366e507cb.

 src/mm-broadband-modem-qmi.c | 10 ----------
 1 file changed, 10 deletions(-)

commit e793e4e6d8a4db844ffb138cd72eff1185c5fec2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 22 13:06:31 2020 +0100

    base-modem: fix list iteration closing MBIM ports

    The mm_port_mbim_close() operation needs 3 arguments explicitly, so
    make sure we provide the two additional ones as NULL.

 src/mm-base-modem.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit 5e4b559f480438570f438b8f49974a6c97a081c8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 21 10:58:55 2020 +0100

    build: add note for glib < 2.55.1

 configure.ac | 2 ++
 1 file changed, 2 insertions(+)

commit ddb7d915a7509a35986ee77d83aa230ccbd028a6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 15 18:56:21 2020 +0100

    libmm-glib: unconditionally define autoptr support for all types

    As we now depend on glib 2.48

 libmm-glib/mm-bearer-ip-config.h                  |  3 ---
 libmm-glib/mm-bearer-properties.h                 |  3 ---
 libmm-glib/mm-bearer-stats.h                      |  3 ---
 libmm-glib/mm-bearer.h                            |  3 ---
 libmm-glib/mm-call-audio-format.h                 |  3 ---
 libmm-glib/mm-call-properties.h                   |  3 ---
 libmm-glib/mm-call.h                              |  3 ---
 libmm-glib/mm-cdma-manual-activation-properties.h |  3 ---
 libmm-glib/mm-common-helpers.h                    | 23
 -----------------------
 libmm-glib/mm-firmware-properties.h               |  3 ---
 libmm-glib/mm-firmware-update-settings.h          |  3 ---
 libmm-glib/mm-kernel-event-properties.h           |  3 ---
 libmm-glib/mm-location-3gpp.h                     |  3 ---
 libmm-glib/mm-location-cdma-bs.h                  |  3 ---
 libmm-glib/mm-location-gps-nmea.h                 |  3 ---
 libmm-glib/mm-location-gps-raw.h                  |  3 ---
 libmm-glib/mm-manager.h                           |  3 ---
 libmm-glib/mm-modem-3gpp-ussd.h                   |  3 ---
 libmm-glib/mm-modem-3gpp.h                        |  6 ------
 libmm-glib/mm-modem-cdma.h                        |  3 ---
 libmm-glib/mm-modem-firmware.h                    |  3 ---
 libmm-glib/mm-modem-location.h                    |  3 ---
 libmm-glib/mm-modem-messaging.h                   |  3 ---
 libmm-glib/mm-modem-oma.h                         |  3 ---
 libmm-glib/mm-modem-signal.h                      |  3 ---
 libmm-glib/mm-modem-simple.h                      |  3 ---
 libmm-glib/mm-modem-time.h                        |  3 ---
 libmm-glib/mm-modem-voice.h                       |  3 ---
 libmm-glib/mm-modem.h                             |  3 ---
 libmm-glib/mm-network-timezone.h                  |  3 ---
 libmm-glib/mm-object.h                            |  3 ---
 libmm-glib/mm-pco.h                               |  3 ---
 libmm-glib/mm-signal.h                            |  3 ---
 libmm-glib/mm-sim.h                               |  3 ---
 libmm-glib/mm-simple-connect-properties.h         |  3 ---
 libmm-glib/mm-simple-status.h                     |  3 ---
 libmm-glib/mm-sms-properties.h                    |  3 ---
 libmm-glib/mm-sms.h                               |  3 ---
 libmm-glib/mm-unlock-retries.h                    |  3 ---
 39 files changed, 140 deletions(-)

commit 40e9434cc36174506ed9bbd01c8f78eaea673a2f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 15 18:56:01 2020 +0100

    altair-lte: use autoptr support from glib

 plugins/altair/mm-modem-helpers-altair-lte.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit f7757218176b79d9703a72d5142b3b0e63aea692
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 15 18:49:09 2020 +0100

    build: bump minimum glib required version to 2.48

 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 00bb228472ff8669b1d60a251ac533a366e507cb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 15 15:37:06 2020 +0100

    broadband-modem-{qmi,mbim}: port cleanups always during dispose()

    If we need to disconnect signal handlers for the different port
    objects managed in the QMI/MBIM modems, we need to do that during
    dispose(), as there is no guarantee at all that the port objects will
    exist in the MMBaseModem by the time finalize() is run.

      ModemManager[4183]: <debug> [1579097652.255333] Modem (Sierra)
      '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8.4' completely
      disposed
      ModemManager[4183]: [/dev/cdc-wdm1] unexpected port hangup!
      ModemManager[4183]: [/dev/cdc-wdm1] channel destroyed
      ModemManager[4183]: <info>  [1579097652.258186] Connection to
      mbim-proxy for /dev/cdc-wdm1 lost, reprobing

      (ModemManager:4183): GLib-GObject-WARNING **: 15:14:12.258:
      invalid unclassed pointer in cast to 'MMBaseModem'
      ModemManager[4183]: mm_base_modem_set_reprobe: assertion
      'MM_IS_BASE_MODEM (self)' failed

      (ModemManager:4183): GLib-GObject-WARNING **: 15:14:12.258:
      invalid unclassed pointer in cast to 'MMBaseModem'
      ModemManager[4183]: mm_base_modem_set_valid: assertion
      'MM_IS_BASE_MODEM (self)' failed
      ModemManager[4183]: [/dev/cdc-wdm1] unexpected port hangup!
      ModemManager[4183]: [/dev/cdc-wdm1] channel destroyed
      ModemManager[4183]: [/dev/cdc-wdm1] MBIM error: Cannot write
      message: Broken pipe
      ModemManager[4183]: [/dev/cdc-wdm1] MBIM error: Cannot write
      message: Broken pipe
      ModemManager[4183]: [/dev/cdc-wdm1] MBIM error: Cannot write
      message: Broken pipe
      ModemManager[4183]: [/dev/cdc-wdm1] MBIM error: Cannot write
      message: Broken pipe

 src/mm-broadband-modem-mbim.c | 14 +++++++++++++-
 src/mm-broadband-modem-qmi.c  | 13 +++++++++++++
 2 files changed, 26 insertions(+), 1 deletion(-)

commit 246fe710b728c7d2637b8a30b7db1901a79fca58
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 10 13:22:33 2020 +0100

    iface-modem-location: fix big memleak when processing location updates

    The GVariants that we obtain during the processing of the "previous"
    dictionary with g_variant_iter_next() are full references, while the
    GVariants that we obtain processing the input MMLocationXX objects are
    floating references.

    The code was working well with the floating references only, as it was
    assumed that g_variant_builder_add() would take ownership of them as
    full references; but when the GVariant came from the
    g_variant_iter_next() processing, g_variant_builder_add() would take a
    full new extra reference, triggering the memory leak.

    Fix this, by making sure that we always work with full GVariant
    references in all cases, converting the floating ones with
    g_variant_ref_sink() and making sure we explicitly unref them after
    g_variant_builder_add().

      ==3146== 112 (48 direct, 64 indirect) bytes in 1 blocks are
      definitely lost in loss record 4,532 of 4,887
      ==3146==    at 0x483877F: malloc (vg_replace_malloc.c:309)
      ==3146==    by 0x50D53DA: g_malloc (gmem.c:99)
      ==3146==    by 0x50F19ED: g_slice_alloc (gslice.c:1024)
      ==3146==    by 0x511D639: g_variant_alloc (gvariant-core.c:486)
      ==3146==    by 0x511D6F9: g_variant_new_from_bytes
      (gvariant-core.c:529)
      ==3146==    by 0x51146C3: g_variant_new_from_trusted
      (gvariant.c:326)
      ==3146==    by 0x5115D28: g_variant_new_string (gvariant.c:1264)
      ==3146==    by 0x48EC642: mm_location_3gpp_get_string_variant
      (mm-location-3gpp.c:294)
      ==3146==    by 0x196350: build_location_dictionary
      (mm-iface-modem-location.c:162)
      ==3146==    by 0x197E0C: handle_setup_auth_ready
      (mm-iface-modem-location.c:891)
      ==3146==    by 0x4EC9160: g_task_return_now (gtask.c:1212)
      ==3146==    by 0x4EC92AA: g_task_return (gtask.c:1281)

      ==3146== 41,658 (35,520 direct, 6,138 indirect) bytes in 740 blocks
      are definitely lost in loss record 4,887 of 4,887
      ==3146==    at 0x483877F: malloc (vg_replace_malloc.c:309)
      ==3146==    by 0x50D53DA: g_malloc (gmem.c:99)
      ==3146==    by 0x50F19ED: g_slice_alloc (gslice.c:1024)
      ==3146==    by 0x511E02B: g_variant_get_child_value
      (gvariant-core.c:1093)
      ==3146==    by 0x5114FA7: g_variant_get_variant (gvariant.c:748)
      ==3146==    by 0x511B196: g_variant_valist_get_nnp (gvariant.c:4934)
      ==3146==    by 0x511B87B: g_variant_valist_get_leaf
      (gvariant.c:5051)
      ==3146==    by 0x511BFBF: g_variant_valist_get (gvariant.c:5232)
      ==3146==    by 0x511C145: g_variant_valist_get (gvariant.c:5267)
      ==3146==    by 0x511C953: g_variant_iter_next (gvariant.c:5667)
      ==3146==    by 0x1962F5: build_location_dictionary
      (mm-iface-modem-location.c:128)
      ==3146==    by 0x19659A: notify_gps_location_update
      (mm-iface-modem-location.c:231)

 src/mm-iface-modem-location.c | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

commit 7c66b608c977413ffae6b6900c1c1e4033f07214
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 10 13:21:16 2020 +0100

    iface-modem-location: fix very very unlikely memory leak

 src/mm-iface-modem-location.c | 1 +
 1 file changed, 1 insertion(+)

commit 97f9679b701e0d90999b8e441a8f2b4ed5ae27f3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 10 13:19:28 2020 +0100

    iface-modem-location: assert if rewriting a variant during iteration

    This should never ever happen, so assert

 src/mm-iface-modem-location.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 33b1962615febea5c34f0fbddc24eab8de5a9c7a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 9 15:05:59 2020 +0100

    bearer-qmi: simplify dispose() just by reseting connection data

 src/mm-bearer-qmi.c | 34 +++-------------------------------
 1 file changed, 3 insertions(+), 31 deletions(-)

commit 29e64f59af44a23d929107fb4896d10f44b4dfd7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 9 14:52:50 2020 +0100

    bearer-qmi: plug memleak when disposing connected bearer

    Also, explicitly close the QMI port if we had it open for the
    connected bearer.

       ==991919== 6,533 (48 direct, 6,485 indirect) bytes in 1 blocks
       are definitely lost in loss record 5,171 of 5,177
       ==991919==    at 0x5048291: g_type_create_instance (gtype.c:1844)
       ==991919==    by 0x502DFC4: g_object_new_internal (gobject.c:1827)
       ==991919==    by 0x502EFA9: g_object_new_valist (gobject.c:2152)
       ==991919==    by 0x502DB9E: g_object_new (gobject.c:1670)
       ==991919==    by 0x2215CA: mm_port_qmi_new (mm-port-qmi.c:615)
       ==991919==    by 0x16C892: mm_base_modem_grab_port
       (mm-base-modem.c:295)
       ==991919==    by 0x1CEEE5: mm_plugin_create_modem
       (mm-plugin.c:1048)
       ==991919==    by 0x157E1E: mm_device_create_modem (mm-device.c:413)
       ==991919==    by 0x1535A0: device_support_check_ready
       (mm-base-manager.c:195)
       ==991919==    by 0x4EC9160: g_task_return_now (gtask.c:1212)
       ==991919==    by 0x4EC92AA: g_task_return (gtask.c:1281)
       ==991919==    by 0x4EC9E34: g_task_return_pointer (gtask.c:1689)

 src/mm-bearer-qmi.c | 5 +++++
 1 file changed, 5 insertions(+)

commit e3e837a8a777a3c4404f8d598eb68c7467f53b19
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 9 14:06:14 2020 +0100

    broadband-modem-qmi: plug memleak when checking unlock status with
    DMS UIM

      ==990910== 28 bytes in 1 blocks are definitely lost in loss record
      1,943 of 5,051
      ==990910==    at 0x483877F: malloc (vg_replace_malloc.c:309)
      ==990910==    by 0x50D53DA: g_malloc (gmem.c:99)
      ==990910==    by 0x50F19ED: g_slice_alloc (gslice.c:1024)
      ==990910==    by 0x50F1A2D: g_slice_alloc0 (gslice.c:1050)
      ==990910==    by 0x4A3FD4A:
      __qmi_message_dms_uim_get_pin_status_response_parse (qmi-dms.c:8212)
      ==990910==    by 0x4A6AFEA: uim_get_pin_status_ready
      (qmi-dms.c:31662)
      ==990910==    by 0x4EADC8B: g_simple_async_result_complete
      (gsimpleasyncresult.c:802)
      ==990910==    by 0x4EADCBF: complete_in_idle_cb.lto_priv.0
      (gsimpleasyncresult.c:814)
      ==990910==    by 0x50CF4AE: g_idle_dispatch (gmain.c:5617)
      ==990910==    by 0x50CC6F0: g_main_dispatch (gmain.c:3179)
      ==990910==    by 0x50CD616: g_main_context_dispatch (gmain.c:3844)
      ==990910==    by 0x50CD81B: g_main_context_iterate (gmain.c:3917)

 src/mm-broadband-modem-qmi.c | 1 +
 1 file changed, 1 insertion(+)

commit fbc1e3f89e89ba980417a77df8987425a654ec55
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 2 11:59:42 2020 +0100

    device: don't reprobe if device is gone

    When a QMI/MBIM device is unplugged, we first get the notification
    from the proxy that the communication is broken, and then we get the
    kernel event reporting that the cdc-wdm port is gone.

    If we reprobe the device as soon as the proxy notifies us that the
    communication is broken, we would end up trying to reprobe the cdc-wdm
    port when it's already gone, and we end up trying to create a modem
    object when we shouldn't:

       <debug> [1577963152.429386] (ttyUSB0) unexpected port hangup!
       <debug> [1577963152.429506] (ttyUSB0) forced to close port
       <debug> [1577963152.429546] (ttyUSB0) device open count is 0
       (close)
       <debug> [1577963152.429582] (ttyUSB0) closing serial port...
       <debug> [1577963152.429653] (ttyUSB0) serial port closed
       <debug> [1577963152.430340] (ttyUSB2) unexpected port hangup!
       <debug> [1577963152.430391] (ttyUSB2) forced to close port
       <debug> [1577963152.430418] (ttyUSB2) device open count is 0
       (close)
       <debug> [1577963152.430451] (ttyUSB2) closing serial port...
       <debug> [1577963152.430517] (ttyUSB2) serial port closed
       <info>  [1577963152.436932] (tty/ttyUSB0): released by device
       '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3'
       <info>  [1577963152.439176] (tty/ttyUSB1): released by device
       '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3'
       <info>  [1577963152.440409] (tty/ttyUSB2): released by device
       '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3'
       <info>  [1577963152.447977] (net/wwan1): released by device
       '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3'
       Cannot read from istream: connection broken
       <info>  [1577963152.458878] Connection to qmi-proxy for
       /dev/cdc-wdm1 lost, reprobing
       <debug> [1577963152.459144] [device
       /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3] unexported modem
       from path '/org/freedesktop/ModemManager1/Modem/1'
       <debug> [1577963152.460151] (ttyUSB1) forced to close port
       <info>  [1577963152.460182] [device
       /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3] creating modem
       with plugin 'Sierra' and '1' ports
       <debug> [1577963152.460199] QMI-powered Sierra modem found...
       <debug> [1577963152.460382] (cdc-wdm1) type 'qmi' claimed by
       /sys/devices/pci0000:00/0000:00:14.0/usb2/2-3
       <debug> [1577963152.460417] Modem (Sierra)
       '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3' completely disposed
       <warn>  [1577963152.460431] Could not recreate modem for device
       '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3': Failed to find
       a net port in the QMI modem
       <debug> [1577963152.460526] Modem (Sierra)
       '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3' completely disposed
       <info>  [1577963152.460627] (usbmisc/cdc-wdm1): released by device
       '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3'
       <debug> [1577963152.460666] Removing empty device
       '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-3'

    Fix this by delaying the reprobing attempt some time, and make sure we
    cancel the reprobing if the device detects that all ports are gone.

 src/mm-device.c | 40 +++++++++++++++++++++++++++-------------
 1 file changed, 27 insertions(+), 13 deletions(-)

commit 941879b43af4848b444fd299ec18fb4d92729642
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 2 11:48:20 2020 +0100

    device: keep reference to object manager server

    Instead of having the reference to the object manager server only
    while the modem is exported, just keep a reference for as long as the
    device object exists. This will make it easier to handle reprobing
    logic.

 src/mm-base-manager.c | 10 ++++----
 src/mm-device.c       | 67
 +++++++++++++++++++++++++++------------------------
 src/mm-device.h       | 28 ++++++++++-----------
 3 files changed, 55 insertions(+), 50 deletions(-)

commit debec6f650e395eaa722da62ce89dab2d754a059
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 18 15:54:28 2019 +0100

    iface-modem-3gpp: forced registration is not state

    The request for forced registration is an implementation detail of
    mm_iface_modem_3gpp_register_in_network(), not part of any state to
    keep in the private info.

 src/mm-iface-modem-3gpp.c   | 11 +++++------
 src/mm-iface-modem-3gpp.h   |  1 +
 src/mm-iface-modem-simple.c |  1 +
 3 files changed, 7 insertions(+), 6 deletions(-)

commit 88983fd1572cc912ad0f905caf172a976f6433f0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 18 15:02:37 2019 +0100

    cinterion: use common re-registration logic when needed

    If the modem requires +COPS re-registration after setting modes,
    use the common logic provided by the 3GPP interface, which
    already knows e.g. whether the registration was automatic or the
    actual requested operator id in case of being manual.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 89
 +++++-------------------
 1 file changed, 18 insertions(+), 71 deletions(-)

commit a1966222e9df597f5b6ab98cc383b7065463967e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 18 14:56:50 2019 +0100

    ublox: use common re-registration logic when needed

    If the modem requires +COPS re-registration after setting bands or
    modes, use the common logic provided by the 3GPP interface, which
    already knows e.g. whether the registration was automatic or the
    actual requested operator id in case of being manual.

    This will also make the u-blox plugin use the common +COPS set command
    implemented in the broadband modem object, which has the fallback to
    use the MCCMNC encoded in the current charset if needed.

 plugins/ublox/mm-broadband-modem-ublox.c | 110
 ++++++-------------------------
 1 file changed, 21 insertions(+), 89 deletions(-)

commit 32fcac5ce7f76dae7b1eafbd663d1eb2970b5567
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 18 14:50:13 2019 +0100

    iface-modem-3gpp: allow re-registering in network with last settings

    This is going to be used by modems that require this operation
    e.g. after changing access technology or bands.

 src/mm-iface-modem-3gpp.c | 47
 +++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-iface-modem-3gpp.h | 24 ++++++++++++++++--------
 2 files changed, 61 insertions(+), 10 deletions(-)

commit 4862e42c86505cc607989bd30c2ce25390786321
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 18 14:39:20 2019 +0100

    iface-modem-3gpp: fix manual re-registration to the same operator

    We should not assume that a manual registration request to a given
    operator is successful if the modem is already registered in that
    operator, because if the registration was due to an automatic process,
    we cannot make sure the modem won't roam to a different network.

    We should only assume that a manual registration is not needed to be
    relaunched if the modem is already registered in the requested network
    AND if the registration process was manual (i.e. we asked the modem to
    lock into a given network).

 src/mm-iface-modem-3gpp.c | 29 ++++++++++++++---------------
 1 file changed, 14 insertions(+), 15 deletions(-)

commit 19618b4f51703b774c54a9ddb17187554294259d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 18 14:30:31 2019 +0100

    iface-modem-3gpp: refactor private data handling

    Instead of having separate contexts for different things, setup a
    interface-wide private struct.

 src/mm-iface-modem-3gpp.c | 488
 +++++++++++++++++++++-------------------------
 1 file changed, 226 insertions(+), 262 deletions(-)

commit cf9afc32208ca4068fc2e0a2daa088c15160e9cb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 18 12:11:22 2019 +0100

    broadband-modem: retry +COPS=1,2,<mccmnc> with current charset

    If the modem (e.g. u-blox LARA) returns a "Not supported" error when
    attempting to run +COPS=1,2,<mccmnc> with the MCCMNC encoded in ASCII
    (and current charset is different, e.g. UCS2), then attempt to re-run
    the same command with the MCCMNC encoded in the explicit current
    charset.

        <debug> (ttyACM0): --> 'AT+COPS=1,2,"21404"<CR>'
        <debug> (ttyACM0): <-- '<CR><LF>+CME ERROR: 4<CR><LF>'
        <debug> Got failure code 4: Operation not supported
        <debug> (ttyACM0): --> 'AT+COPS=1,2,"00320031003400300034"<CR>'
        <debug> (ttyACM0): <-- '<CR><LF>+CME ERROR: 111<CR><LF>

 src/mm-broadband-modem.c | 111
 ++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 91 insertions(+), 20 deletions(-)

commit 1722915f5eae0efa7b02540dadfbcaef4f513633
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 18 10:59:05 2019 +0100

    broadband-modem: +COPS=? response may give strings in UCS2

    If the charset selected via CSCS is UCS2, the modem may decide to
    return all the strings in the +COPS=? response in UCS2:

        <debug> (ttyACM0): --> 'AT+COPS=?<CR>'
        <debug> (ttyACM0): <-- '<CR><LF>+COPS:
        (2,"004D006F007600690073007400610072","004D006F007600690073007400610072","00320031003400300037",7)
        <debug> Found network '00320031003400300037'
        ('004D006F007600690073007400610072','004D006F007600690073007400610072');
        availability: current, access tech: lte

 src/mm-broadband-modem.c       |  2 +-
 src/mm-modem-helpers.c         | 10 ++++-
 src/mm-modem-helpers.h         |  5 ++-
 src/tests/test-modem-helpers.c | 98
 ++++++++++++++++++++++++++++--------------
 4 files changed, 78 insertions(+), 37 deletions(-)

commit a23040756b3aeae0fd202b77cfe29d8a272582fe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 18 10:51:59 2019 +0100

    novatel-lte: fallback to parent scan method

    There is no need to run +COPS=? in the same way as the parent does it,
    just fallback to the parent implementation.

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 47
 ++++++++++--------------
 1 file changed, 19 insertions(+), 28 deletions(-)

commit baa68f5a4aead320ed2c1a7debfc624cdd2a5e48
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jan 6 14:46:36 2020 +0100

    libmm-glib,simple-connect-properties: cleaner error handling

    If processing a key-value pair as a bearer property fails, we need to
    know if it failed due to the key being unknown or due to some other
    reason (e.g. failure parsing value of a known key).

    We'll only try with the Simple.Connect properties if the key is
    reported as unknown in the bearer properties.

    This will help us better identify errors if e.g. an invalid value is
    given to a known key. E.g. "yes" was invalid for allow-roaming here:

        daemon.notice netifd: wan (30476): simple
        connect=apn=internet,ip-type=ipv4,allow-roaming=yes
        daemon.notice netifd: wan (30476): Error parsing connect string:
        'Invalid properties string, unexpected key 'allow-roaming''

 libmm-glib/mm-bearer-properties.c         |  4 ++--
 libmm-glib/mm-simple-connect-properties.c | 18 +++++++++++++++---
 2 files changed, 17 insertions(+), 5 deletions(-)

commit 15e8a78a15e458efae781d4905134e07043aad25
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jan 6 14:39:45 2020 +0100

    libmm-glib,common-helpers: allow yes/no as booleans in string

    E.g. so that the settings passed on Simple.Connect() or
    Bearer.Connect() are parsed correctly from the user string:

      daemon.notice netifd: wan (30476): simple
      connect=apn=internet,ip-type=ipv4,allow-roaming=yes
      daemon.notice netifd: wan (30476): Error parsing connect string:
      'Invalid properties string, unexpected key 'allow-roaming''

    This also goes inline with e.g. the --create-bearer help in the man
    page that suggests using yes/no for the allow-roaming setting.

 libmm-glib/mm-common-helpers.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 0d8a5e2a43e6baff0c282a3d2b15d03063c48199
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 3 22:25:44 2020 +0100

    iface-modem-voice: fix segfault when voice support check fails

    The error returned in support_check_finish() should be treated as
    optional, as in all the other optional feature interfaces.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/172

 src/mm-iface-modem-voice.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit b774cbe658c6e7e0eba169d72c2cbee9764eddc1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 3 20:43:45 2020 +0100

    build: bump copyright years to 2020

 cli/mmcli.c                                   | 2 +-
 docs/reference/api/ModemManager-docs.xml      | 1 +
 docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
 src/mm-context.c                              | 2 +-
 4 files changed, 4 insertions(+), 2 deletions(-)

commit 70910a6713fed1996afbde69d0be18ac55ae8244
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 1 09:22:41 2020 +0100

    libmm-glib,nmea: deprecate mm_location_gps_nmea_build_full()

    The new mm_location_gps_nmea_get_traces() is a much more generic way
    to retrieve the full list of traces and suits the libmm-glib API much
    better.

 libmm-glib/mm-location-gps-nmea.c | 9 ++++++++-
 libmm-glib/mm-location-gps-nmea.h | 6 +++++-
 2 files changed, 13 insertions(+), 2 deletions(-)

commit 6c1991e93063181e152c20eb69500cef8e9b1a37
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 1 09:13:45 2020 +0100

    cli,location: use new mm_location_gps_nmea_get_traces()

 cli/mmcli-modem-location.c | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

commit 9805ffe1b0ecac78fd7009717ad4be623e74c68a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 31 16:41:28 2019 +0100

    libmm-glib,nmea: new method to get list of traces

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/120

 docs/reference/libmm-glib/libmm-glib-sections.txt |  1 +
 libmm-glib/mm-location-gps-nmea.c                 | 36
 +++++++++++++++++++++++
 libmm-glib/mm-location-gps-nmea.h                 |  7 +++--
 3 files changed, 41 insertions(+), 3 deletions(-)

commit 21e5b1d68336ec5a19f71e36c035e19d29623ca2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 31 15:40:13 2019 +0100

    port-serial: un-schedule flash operation as soon as it's cancelled

    When a flash operation is started, it is always scheduled in an idle.
    If this operation is cancelled, we should right away un-schedule it,
    otherwise we may end up calling flash_do() with the GTask in the
    private info already gone.

    See
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/178#note_330017

 src/mm-port-serial.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

commit 7a398214f9a4d85399d082634d08b2f47a8b7778
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Dec 21 09:45:08 2019 +0100

    iface-modem-simple: clear ongoing connect cancellable on early errors

    If the Simple.Connect() operation fails before the bearer connection
    process starts (e.g. during the previous SIM-PIN checks or explicit
    registration attempt), the ongoing connect cancellable is not being
    properly cleared, and this would prevent additional new connection
    attempts unless an explicit Simple.Disconnect() is called.

        $ sudo mmcli -m 1
        --simple-connect="operator-id=21403,apn=internet"
        error: couldn't connect the modem:
        'GDBus.Error:org.freedesktop.ModemManager1.Error.MobileEquipment.NetworkTimeout:
        Network timeout'
        $ sudo mmcli -m 1
        --simple-connect="operator-id=21403,apn=internet"
        error: couldn't connect the modem:
        'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.InProgress:
        Connection request forbidden: operation already in progress'
        $ sudo mmcli -m 1
        --simple-connect="operator-id=21403,apn=internet"
        error: couldn't connect the modem:
        'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.InProgress:
        Connection request forbidden: operation already in progress'

    Fix this, by making sure the ongoing connect cancellable is always
    cleared when completing the DBus method invocation that created it.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/169

 src/mm-iface-modem-simple.c | 31 ++++++++++++++++++++-----------
 1 file changed, 20 insertions(+), 11 deletions(-)

commit d83c018f9825d4244cc4254ff729e64172afbc2e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 17 10:45:52 2019 +0100

    core,tests: new test to make sure all error codes are supported

    Defining the new error codes in the headers is not enough, we also
    need to add support in the error helpers in order to create proper
    GErrors with the expected error codes.

 .gitignore                     |  1 +
 src/tests/Makefile.am          |  1 +
 src/tests/test-error-helpers.c | 86
 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 88 insertions(+)

commit 9991f2906fcaeb7c86740f3d0d19c82dc0ac86f9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 17 10:47:04 2019 +0100

    core,error-helpers: add missing ME error codes

 src/mm-error-helpers.c | 132
 +++++++++++++++++++++++++++++++------------------
 1 file changed, 83 insertions(+), 49 deletions(-)

commit ab007960092f5c494a790ce496d15858a236bb58
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 11 15:46:09 2019 +0100

    base-bearer: avoid conncheck or stats update while disconnecting

    We don't want the connection status checks to interfere with the
    disconnection logic, e.g. if they're both using the same TTY for both
    things.

    E.g. the CGACT? from the conncheck gets in the way of the
    disconnection logic:

        <debug> [1576037519.710684] Flashing data port (ttyUSB1)...
        <debug> [1576037519.710740] (ttyUSB1): port attributes not
        fully set
        <debug> [1576037520.287636] (ttyUSB1) device open count is 3
        (open)
        <debug> [1576037520.287804] (ttyUSB1): --> 'AT+CGACT?<CR>'
        <debug> [1576037520.711067] (ttyUSB1) device open count is 2
        (close)
        <debug> [1576037520.711127] (ttyUSB1): running init sequence...
        <debug> [1576037520.711231] PDP disconnection already sent
        <debug> [1576037520.711263] Disconnected bearer
        '/org/freedesktop/ModemManager1/Bearer/0'

    Instead, fully skip all conncheck and stat updates as long as the
    modem is not connected. The actual conncheck and stat update timeouts
    will be removed once completely disconnected, as it was before.

 src/mm-base-bearer.c | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)

commit 7d1e949137bf5d7d354f8d4508f876b2a07312fc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 12 10:59:29 2019 +0100

    ublox: ignore error when disconnecting last LTE bearer

    This is required in the TOBY-L2 and TOBY-L4 modules in order to report
    a proper disconnection, even if there is none in reality. The default
    LTE bearer is always reported connected while registered in LTE.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/166

 plugins/ublox/mm-broadband-bearer-ublox.c | 32
 +++++++++++++++++++++++++++----
 1 file changed, 28 insertions(+), 4 deletions(-)

commit f157d02fc668777ccd7de559c6e1b8400c102412
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 16 14:32:44 2019 +0100

    include,errors: define +CME ERROR code 151 equal to 171

    When the MT detects an attempt to disconnect the last PDN or when the
    network returns a response message with cause value #49, the "Last PDN
    disconnection not allowed" error is returned.

    The numeric error code was changed from 151 to 171 in 3GPP Rel-11, and
    therefore there are devices out there that would conform to Rel-10 or
    below and that would report +CME ERROR code 151 instead of 171. Given
    that 151 isn't defined to a different meaning in the specs, let's
    define it in the same way as 171.

 include/ModemManager-errors.h | 2 ++
 1 file changed, 2 insertions(+)

commit fcbffbd1231052fb3ea543382b59ad195cc45211
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Dec 13 18:04:02 2019 +0100

    libmm-glib,3gpp: make MMModem3gppNetwork a boxed type

    So that bindings know how to free the list of structs.

    This commit ends up triggering an API break in the bindings generated
    via GObject introspection, because the methods to access the items of
    a MMModem3gppNetwork are no longer treated as Modem3gpp class methods.

    E.g. instead of:
      ModemManager.Modem3gpp.network_get_operator_code(network)
    We should now do:
      network.get_operator_code()

    There is no API break in libmm-glib.

 docs/reference/libmm-glib/libmm-glib-sections.txt |  2 ++
 examples/network-scan-python/network-scan-python  | 10 +++++-----
 libmm-glib/mm-modem-3gpp.c                        | 17 +++++++++++++++++
 libmm-glib/mm-modem-3gpp.h                        |  7 +++++++
 4 files changed, 31 insertions(+), 5 deletions(-)

commit 248cd55f0e5d2a125569f9e7974a43d6b895d6de
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Dec 13 15:38:33 2019 +0100

    examples: new network-scan-python example

    This is currently not working completely ok because python doesn't
    know how to free the GList of MMModem3gppNetwork elements.

      /org/freedesktop/ModemManager1/Modem/1: starting network scan...
      21403: Orange - Orange (unknown, forbidden)
      21401: vodafone ES - vodafone ES (unknown, forbidden)
      21403: Orange - Orange (unknown, forbidden)
      21403: Orange - Orange (unknown, forbidden)
      21401: vodafone ES - vodafone ES (unknown, forbidden)
      21404: Yoigo - Yoigo (unknown, forbidden)
      21401: vodafone ES - vodafone ES (unknown, forbidden)
      21404: Yoigo - Yoigo (unknown, forbidden)
      21407: Movistar - Movistar (unknown, available)
      21407: Movistar - Movistar (unknown, available)
      21407: Movistar - Movistar (unknown, current)
      free(): invalid pointer
      Aborted

 configure.ac                                     |  1 +
 examples/Makefile.am                             |  2 +-
 examples/network-scan-python/Makefile.am         |  4 ++
 examples/network-scan-python/README              | 17 +++++++
 examples/network-scan-python/network-scan-python | 56
 ++++++++++++++++++++++++
 5 files changed, 79 insertions(+), 1 deletion(-)

commit f9e26fb54b96921fcb5f3cc7647ba4c4ff14085f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 12 14:53:44 2019 +0100

    Revert "build: fix order of linked libs in test apps"

    This reverts commit 3eb623e73b546a444c1fc717f4ed105b3b2d5eae.

    This change is plain wrong. The correct order was already fixed in
    commit 42dab8e8.

 test/Makefile.am | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 3eb623e73b546a444c1fc717f4ed105b3b2d5eae
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 11 16:09:25 2019 +0100

    build: fix order of linked libs in test apps

    Solving build issues with truly strict linkers, as in:
    http://lists.busybox.net/pipermail/buildroot/2019-December/268817.html

 test/Makefile.am | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 42aa9cc2f6d4de62e180e6f2b4b8989da009490b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 5 14:39:57 2019 +0100

    ublox: implement support to enable and detect +UUDTMF URCs

    Also, make sure we enable/disable the voice related unsolicited events
    in both primary and secondary ports, because it may happen that the
    primary port is connected with PPP and we're using the secondary port
    for control.

 plugins/ublox/mm-broadband-modem-ublox.c | 363
 +++++++++++++++++++++++++++----
 1 file changed, 325 insertions(+), 38 deletions(-)

commit 8d96d1d6604bbe9dd010912f9f23d7db73de0561
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 5 15:44:21 2019 +0100

    cinterion: fix using correct finish() method in AT command

    When using mm_base_modem_at_command_full(), the corresponding
    mm_base_modem_at_command_full_finish() should be used.

 plugins/cinterion/mm-shared-cinterion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5f0f2cb9d97b28f873a521128393532c8524d054
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 5 15:04:02 2019 +0100

    base-call: do not require primary port to start a call

    If the modem is connected using the primary port, we can just rely on
    the secondary port.

        # mmcli --call 0 --start
        error: couldn't start the call:
        'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Connected:
        Cannot run sequence: port is connected'

 src/mm-base-call.c | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

commit 0660b6b16270c4d8144f046b7f84783d6cbb7f70
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 4 10:10:39 2019 +0100

    broadband-modem: trivial fix in logging +CLIP setting

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 28869463a1f93d980c72ae4e8c7997c9be899535
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 3 09:55:07 2019 +0100

    iface-modem: allow Command() while in Failed state

    Allow the generic command API while in FAILED state, in case the modem
    integrator has some special commands to recover the device.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/163

 src/mm-iface-modem.c | 5 -----
 1 file changed, 5 deletions(-)

commit 03e6375a95ace2c1c1ecd8b621fc90b7e86ebe8b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 2 16:10:44 2019 +0100

    bearer-qmi: current settings are mandatory when using 'static'
    addressing

    If for any reason getting current settings fails and we require static
    IP addressing (when using raw-ip), then that must be a hard error,
    otherwise we'll end up with the modem reported as connected but
    without any IP settings to use:

     <info>  error: couldn't get current settings: QMI protocol error
     (15): 'OutOfCall'
     <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed
     (registered -> connected)
     <info>  Simple connect state (8/8): All done
     <warn>  Reloading stats failed: Couldn't get packet statistics:
     QMI protocol error (15): 'OutOfCall'

      # mmcli -b 0
      Bearer '/org/freedesktop/ModemManager1/Bearer/0'
        -------------------------
        Status             |   connected: 'yes'
                           |   suspended: 'no'
                           |   interface: 'wwan1'
                           |  IP timeout: '20'
        -------------------------
        Properties         |         apn: 'm2minternet'
                           |     roaming: 'allowed'
                           |     IP type: 'none'
                           |        user: 'none'
                           |    password: 'none'
                           |      number: 'none'
                           | Rm protocol: 'unknown'
        -------------------------
        IPv4 configuration |   method: 'unknown'
        -------------------------
        IPv6 configuration |   method: 'unknown'
        -------------------------
        Stats              |          Duration: '0'
                           |    Bytes received: 'N/A'
                           | Bytes transmitted: 'N/A'

      # mmcli -m 0

      /org/freedesktop/ModemManager1/Modem/0 (device id
      '48f6c35f3d0376aa261a91c0cf7e6340d5a91601')
        ...
        Status   |           lock: 'sim-pin2'
                 | unlock retries: 'sim-pin (3), sim-pin2 (3), sim-puk
                 (10), sim-puk2 (10)'
                 |          state: 'connected'
                 |    power state: 'on'
                 |    access tech: 'lte'
                 | signal quality: '96' (recent)

 src/mm-bearer-qmi.c | 29 ++++++++++++++++++++++++-----
 1 file changed, 24 insertions(+), 5 deletions(-)

commit 76cafbb603599a9f19592daca50e00c6e960998e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 2 13:07:23 2019 +0100

    bearer: avoid reporting disconnection error if already disconnected

    When we try to disconnect a bearer and the bearer is already
    disconnected (e.g. after a cancelled connection attempt), avoid
    reporting
    that as an error:

      <warn>  [1575287560.433398] Error disconnecting bearer
      '/org/freedesktop/ModemManager1/Bearer/0': 'Couldn't disconnect
      QMI bearer: this bearer is not connected'. Will assume disconnected
      anyway.

 src/mm-bearer-mbim.c      | 20 ++++++++------------
 src/mm-bearer-qmi.c       | 13 +++++--------
 src/mm-broadband-bearer.c | 28 ++++++++++------------------
 3 files changed, 23 insertions(+), 38 deletions(-)

commit 991e615736c1b467d7ab7041f0475297e6ef86d2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 25 10:40:10 2019 +0100

    bearer-qmi: handle disconnection indications during connection
    attempts

    If a WDS indication is received telling us that the modem is no longer
    connected, abort the ongoing connection attempt right away with an
    error and cleanup all allocated clients (implicitly disconnecting them
    if required)..

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/155

 src/mm-bearer-qmi.c | 97
 +++++++++++++++++++++++++++++++++++++++++------------
 1 file changed, 75 insertions(+), 22 deletions(-)

commit ae53b0458bd5ca110c04aef42069e9e7b4cd2af5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 25 10:37:42 2019 +0100

    bearer-qmi: common complete method for the connection attempt

    Refactor the logic and setup a common complete_connect() method that
    helps us complete the GTask associated to the connection attempt.

 src/mm-bearer-qmi.c | 131
 ++++++++++++++++++++++++++++++----------------------
 1 file changed, 76 insertions(+), 55 deletions(-)

commit 2790074c7e00b94f5079ba7bda8911a12ab0e28c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 25 10:04:18 2019 +0100

    bearer-qmi: close QMI port if it was open during connection

    If the bearer is using a QMI port that is not the primary one, we need
    to explicitly open it during the connection attempt. Keep track of
    that, and make sure we close it during normal disconnection or if the
    connection attempt fails.

 src/mm-bearer-qmi.c | 37 +++++++++++++++++++++++++++++++++----
 1 file changed, 33 insertions(+), 4 deletions(-)

commit 32d1f1dedabf3567af3519cc3f0bf6df355b3889
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 9 15:57:13 2014 +0200

    sierra: implement manual CDMA activation

 plugins/sierra/mm-broadband-modem-sierra.c | 157
 +++++++++++++++++++++++++++++
 1 file changed, 157 insertions(+)

commit af08492209bcc5a027112835321c9b93472b8443
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 9 15:47:11 2014 +0200

    sierra: implement automatic CDMA activation

 plugins/sierra/mm-broadband-modem-sierra.c | 137
 +++++++++++++++++++++++++++++
 1 file changed, 137 insertions(+)

commit 8fa622ddbb136999e4dd89c15a06a7ddc7f173d3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 3 22:17:01 2014 +0200

    novatel: implement manual CDMA activation

    Including IOTA-based update, e.g. for Sprint.

 plugins/novatel/mm-broadband-modem-novatel.c | 213
 +++++++++++++++++++++++++++
 1 file changed, 213 insertions(+)

commit 5712c71593067bc1d60146f7031cbff08406492f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 3 16:23:37 2014 +0200

    novatel: implement automatic CDMA activation

 plugins/novatel/mm-broadband-modem-novatel.c | 76
 ++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)

commit 2bcd1e42719a731b2fbdb84998832a87ecebd3bf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 28 13:51:49 2019 +0100

    iface-modem-cdma: don't allow multiple concurrent activation attempts

 src/mm-iface-modem-cdma.c | 88
 +++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 78 insertions(+), 10 deletions(-)

commit bfa5fd660c9b66aa91acfa9268c5c41ba1e8fdac
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 5 07:06:05 2014 +0200

    iface-modem-cdma: disallow empty carrier code in automatic activation

 src/mm-iface-modem-cdma.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit e60132284be762323519e6a2b3f3f4d91ee5382b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 9 18:22:36 2014 +0200

    libmm-glib: SID value '0' is actually a good one

 libmm-glib/mm-cdma-manual-activation-properties.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit f7418da3bc26dbbd03a3961f48462e8577fc944e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Oct 18 12:12:46 2019 +0200

    huawei: avoid using the QCDM port during a voice call

 plugins/huawei/mm-broadband-modem-huawei.c | 52
 +++++++++++++++++++++++++++++-
 1 file changed, 51 insertions(+), 1 deletion(-)

commit 09619e8cc437ee9449a2e5228af07a86ebafd07f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 2 12:38:30 2019 +0100

    data: added valgrind suppressions file imported from NM

 data/valgrind.suppressions | 487
 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 487 insertions(+)

commit 9e785e145f4f48907bee9d350aae2961037b3a23
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 2 12:27:19 2019 +0100

    mmcli,output: skip printing empty value lists

    E.g. we shouldn't print emergency numbers field if there is none
    available:

      $ mmcli -i 0
        -------------------------------
        General    |         dbus path:
        /org/freedesktop/ModemManager1/SIM/0
        -------------------------------
        Properties |              imsi: 901700000026890
                   |             iccid: 8988211000000268907
                   |       operator id: 90170
                   |     operator name: 901 70
                   | emergency numbers:

 cli/mmcli-output.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a28f88b6846b352b055ed692082542e5c459c400
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 28 22:25:36 2019 +0100

    broadband-modem-mbim: implement reset in Intel-based devices

 src/mm-broadband-modem-mbim.c | 118
 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 116 insertions(+), 2 deletions(-)

commit 9ef658f697c53f51df220378de0efa14968588ff
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 28 17:17:21 2019 +0100

    iface-modem-voice: plug task memleaks when returning error if
    cancelled

 src/mm-iface-modem-voice.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit dc3bd91b53abbe9b9592812a8e6935016204a903
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 28 14:58:31 2019 +0100

    broadband-modem-mbim: plug task leak when completing USSD operation

 src/mm-broadband-modem-mbim.c | 1 +
 1 file changed, 1 insertion(+)

commit d27b108efbc32343444bc8d4c3976ebfbee9369c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 28 14:47:21 2019 +0100

    iface-modem-signal: avoid logging about signal refresh context if
    not enabled

 src/mm-iface-modem-signal.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 551f0e0250e4610200d9b79a7543948424002d46
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 27 17:30:07 2019 +0100

    port-mbim: before attempting to use QMI over MBIM, check device
    services

    If we blindly try to use QMI over MBIM on devices that don't support
    it, the logic works ok but it's very slow, given that the QMI device
    open operation has several internal retries, and all those end up
    timing out.

    Avoid that lost time by checking the list of services supported by the
    MBIM modem, and if the QMI over MBIM service is not listed, we'll
    avoid trying to open the QMI device right away.

 src/mm-port-mbim.c | 108
 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 95 insertions(+), 13 deletions(-)

commit 792f15648ca30a15097c7c90c4ebfd1cc0a13d30
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 13:59:45 2019 +0100

    ci: redefine when jobs are run

     * single-plugin builds only on schedules
     * with/without qmi/mbim builds on master and merge requests
     * default build always, including on branches and when git pushing

 .gitlab-ci.yml | 28 ++++++++++++++++++++++++++--
 1 file changed, 26 insertions(+), 2 deletions(-)

commit c4991165c262d3e8cc1c1cac3c5a63cce9aaf524
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 13:55:14 2019 +0100

    ci: new job to build all single-plugin configurations

 .gitlab-ci.yml | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

commit 09080073ff724cf7a13e23edd1dfef7c8c98f727
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 21 18:28:51 2019 +0100

    build: setup plugin selection logic

 configure.ac                    |  130 ++++-
 m4/mm-enable-plugin.m4          |   57 ++
 plugins/Makefile.am             | 1100
 ++++++++++++++++++++++-----------------
 plugins/tests/test-keyfiles.c   |    5 +
 plugins/tests/test-udev-rules.c |   80 ++-
 5 files changed, 893 insertions(+), 479 deletions(-)

commit 1d1f597b5534d01d2df61a1543ed549ac9a3621b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 17 14:38:57 2019 +0100

    telit: setup as loadable 'shared' utils

 plugins/Makefile.am       | 184
 +++++++++++++++++++++++-----------------------
 plugins/telit/mm-shared.c |  20 +++++
 2 files changed, 114 insertions(+), 90 deletions(-)

commit 7bcb8c951597e0c78df3980f9778942391e79324
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 17 14:26:02 2019 +0100

    foxconn: setup as loadable 'shared' utils

 plugins/Makefile.am         | 11 ++++++-----
 plugins/foxconn/mm-shared.c | 20 ++++++++++++++++++++
 2 files changed, 26 insertions(+), 5 deletions(-)

commit fce7892058dbe027089ec03909eab739e00af03e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 17 14:22:11 2019 +0100

    xmm: setup as loadable 'shared' utils

 plugins/Makefile.am     | 14 +++++++-------
 plugins/xmm/mm-shared.c | 20 ++++++++++++++++++++
 2 files changed, 27 insertions(+), 7 deletions(-)

commit b765e88e5718ddaad968fb079bcc98f55808a353
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 17 14:14:17 2019 +0100

    novatel: setup as loadable 'shared' utils

 plugins/Makefile.am         | 10 +++++-----
 plugins/novatel/mm-shared.c | 20 ++++++++++++++++++++
 2 files changed, 25 insertions(+), 5 deletions(-)

commit 2d779b97c4b7c79fff00f17d25b0c210de384f00
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 17 14:12:40 2019 +0100

    option: setup as loadable 'shared' utils

 plugins/Makefile.am        | 10 +++++-----
 plugins/option/mm-shared.c | 20 ++++++++++++++++++++
 2 files changed, 25 insertions(+), 5 deletions(-)

commit 23df25f25c2bb1fb6c4867152141219151bd1942
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 17 14:09:03 2019 +0100

    sierra: setup as loadable 'shared' utils

 plugins/Makefile.am        | 12 ++++++------
 plugins/sierra/mm-shared.c | 20 ++++++++++++++++++++
 2 files changed, 26 insertions(+), 6 deletions(-)

commit 9907407fd1a5713f0366438394bd0e3776c2cf4e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 17 14:05:40 2019 +0100

    mbm: skip setting up as common utils library

    The Ericsson MBM modem management is only used by the MBM plugin.

 plugins/Makefile.am | 70
 +++++++++++++++++++++--------------------------------
 1 file changed, 27 insertions(+), 43 deletions(-)

commit a6d76cfcebab95c8e6338ab996df07b77f733e37
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 17 13:45:45 2019 +0100

    icera: setup as loadable 'shared' utils

 plugins/Makefile.am                      | 15 +++++++--------
 plugins/icera/mm-broadband-modem-icera.h |  2 ++
 plugins/icera/mm-shared.c                | 20 ++++++++++++++++++++
 3 files changed, 29 insertions(+), 8 deletions(-)

commit 8fcc470a5cdea2987536df9436e99a19a58473eb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 17 13:50:42 2019 +0100

    plugin-manager: always make sure all needed symbols are available

    Never do lazy loading, we'll always make sure that a plugin will only
    be fully loaded if all the symbols it requires are already available.

 src/mm-plugin-manager.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit b1c3f1eb1c740975b3ea387ae5e08dc426643c8b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 17 13:45:07 2019 +0100

    plugin-manager: dynamically load 'shared' util libraries

 plugins/Makefile.am     |  8 +++++
 src/Makefile.am         |  1 +
 src/mm-plugin-manager.c | 91
 +++++++++++++++++++++++++++++++++++++++++++------
 src/mm-shared.h         | 35 +++++++++++++++++++
 4 files changed, 124 insertions(+), 11 deletions(-)

commit 1bd6980510e4f8f4471debff173845cd67fe8ccb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 17 10:20:35 2019 +0100

    plugins: add README explaining plugin relationships

 plugins/README.txt | 155
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 155 insertions(+)

commit 95dd8aaf9043a70bc7fb84c01b57af2d7578666b
Author: Rafael Fontenelle <rafaelff@gnome.org>
Date:   Mon Nov 25 03:20:20 2019 +0000

    po: update Brazilian Portuguese translation

 po/pt_BR.po | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

commit b4dcb76d5a924d0f49850a2115a377cd8ae6ccf5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 13 15:16:42 2019 +0100

    plugin-manager: allow new ports up to 1500ms since last port added

    Until now we had only a 2500ms timeout initialized since the first
    port was exposed until we decided we were ready to consider all ports
    notified by the kernel.

    With this new logic, we add an additional condition: even if the
    2500ms initial timeout has elapsed already, we leave an additional
    1500ms since the last port addition for new ports to appear.

    This new logic is useful when relying on the ReportKernelEvent() DBus
    method, as it is the user the one responsible for reporting the kernel
    events instead of udev. Now, the user is not forced to make sure all
    ports are exposed in 2500ms; instead, we also allow ports to be
    reported in more than 2500ms as long as the time between port
    additions reported is less than 1500ms.

    Note that this does not mean that the whole probing time will now
    always be 4000ms. On well behaved systems (like when based on udev)
    this new 'extra' probing timeout may expire long before the 'min'
    probing timeout we already had as well.

    E.g. in this setup, the reporting of the NET port was done 1100ms
    later than the last ttyUSB3, and that was already too late as the
    original 2500ms threshold had already expired.

     [1573536994.593874] (tty/ttyUSB0): first port in device
     /sys/devices/platform/ehci-platform/usb1/1-1
     [1573536994.596659] [plugin manager] task 1: port grabbed: ttyUSB0
     [1573536995.093579] (tty/ttyUSB1): additional port in device
     /sys/devices/platform/ehci-platform/usb1/1-1
     [1573536995.094172] [plugin manager] task 1: port grabbed: ttyUSB1
     [1573536995.603206] (tty/ttyUSB2): additional port in device
     /sys/devices/platform/ehci-platform/usb1/1-1
     [1573536995.603822] [plugin manager] task 1: port grabbed: ttyUSB2
     [1573536996.111564] (tty/ttyUSB3): additional port in device
     /sys/devices/platform/ehci-platform/usb1/1-1
     [1573536996.112257] [plugin manager] task 1: port grabbed: ttyUSB3
     [1573536996.814816] [device
     /sys/devices/platform/ehci-platform/usb1/1-1] creating modem with
     plugin 'Quectel' and '4' ports
     [1573536997.265820] (net/wwan0): additional port in device
     /sys/devices/platform/ehci-platform/usb1/1-1
     [1573536997.296935] (usbmisc/cdc-wdm0): additional port in device
     /sys/devices/platform/ehci-platform/usb1/1-1

 src/mm-plugin-manager.c | 52
 +++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 48 insertions(+), 4 deletions(-)

commit 8f21f40674d7b33b58762fff2e7a8487d6b7efbd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 27 08:56:14 2019 +0100

    broadband-modem-mbim: avoid LTE attach config/status if unsupported

    If we know that the LTE attach status/configuration CIDs in the Basic
    Connect Extensions service are unsupported, don't even try to use
    them, so that we avoid timeouts in the requests.

 src/mm-broadband-modem-mbim.c | 49
 ++++++++++++++++++++++++++++++++-----------
 1 file changed, 37 insertions(+), 12 deletions(-)

commit c523d5bdc31946f4106976c4f38f34b8f61690d7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 25 09:48:05 2019 +0100

    bearer-qmi: plug memleaks when connection attempt fails early

    The data and qmi objects were not being correctly disposed on several
    error conditions.

 src/mm-bearer-qmi.c | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

commit 260d34be76a94b2562b7cbfda2af43bc1ed57c70
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 25 12:28:56 2019 +0100

    bearer-qmi: plug memleaks during network disconnection

 src/mm-bearer-qmi.c | 2 ++
 1 file changed, 2 insertions(+)

commit 7297b3fc90ec06023194aceae67e1c60e88801d4
Author: Amol Lad <amol.lad@4rf.com>
Date:   Sat Nov 23 14:57:48 2019 +0530

    mbim: release all allocated CIDs during shutdown

 src/mm-port-mbim.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 913f0d638d5380658c1ef008af67a69953323273
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 11:06:26 2019 +0100

    ci: require autoconf-archive

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8f4b5b52ee905b856cd1a73adadfb8dc70342d4a
Author: Amol Lad <amol.lad@4rf.com>
Date:   Tue Nov 19 16:01:41 2019 +0530

    sierra: add port hints for EM7565 modem

 plugins/sierra/77-mm-sierra.rules | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 42dab8e827d84b86d0f7253ce68748758f29aef1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 15 09:52:39 2019 +0100

    build,test: fix order of included libraries

    Symbols are resolved forward, so if libhelpers depends on libmm-glib,
    it needs to be specified first.

 test/Makefile.am | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 16f40391595dfd880fc44260a4144d4b5952b429
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 15 09:26:17 2019 +0100

    cli,modem: avoid using deprecated mm_pco_list_free()

 cli/mmcli-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5e8c64d092e85f6d5479675499463464e1a42de6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 13 18:20:27 2019 +0100

    iface-modem-simple: don't assert ongoing connect cancellable

        [11642]: <debug> [1573665255.321490] Couldn't reload current
        power state: QMI operation failed: Transaction timed out
        [11642]: <debug> [1573665255.321697] No need to change power
        state: already in 'on' power state
        [11642]: <debug> [1573665255.330864] Modem (Quectel)
        '/sys/devices/platform/ehci-platform/usb1/1-1' completely disposed
        **
        ERROR:mm-iface-modem-simple.c:44:private_free: assertion failed:
        (!priv->ongoing_connect)

    If the modem goes away in the middle of a connection attempt, there's
    no explicit connection cancellation performed, we just cleanup the
    modem object. In this case, the ongoing attempt cancellable will still
    exist, so just clean it up as well.

 src/mm-iface-modem-simple.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3da82d10501aae216d3a77c85d2d42c9b0d8a6d1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 13 15:32:04 2019 +0100

    plugin-manager: cancel timeouts when device probing is cancelled

    There is no need to wait for the minimum wait/probing time before we
    can cancel the device probing.

 src/mm-plugin-manager.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 76e862597cbffd6073523eeb842a886f5d5742e9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 13 15:03:39 2019 +0100

    plugin-manager: fix waiting the minimum probing time

    The device port probings were being finished before the minimum
    probing time, making this timeout effectively useless.

 src/mm-plugin-manager.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

commit d7d2b9108e12f86f50f82f124066fab46792bd44
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 12 10:55:06 2019 +0100

    foxconn: new plugin to support the T77W968

    The Dell DW5821e is really a re-branded Foxconn T77W968.

 configure.ac                                       |   2 +-
 plugins/Makefile.am                                |  51 +++++++--
 plugins/dell/mm-broadband-modem-dell-dw5821e.h     |  49 --------
 plugins/dell/mm-plugin-dell.c                      |  16 +--
 plugins/foxconn/77-mm-foxconn-port-types.rules     |  26 +++++
 .../mm-broadband-modem-foxconn-t77w968.c}          | 104
 ++++++++---------
 .../foxconn/mm-broadband-modem-foxconn-t77w968.h   |  49 ++++++++
 .../mm-foxconn-t77w968-carrier-mapping.conf}       |   4 +-
 plugins/foxconn/mm-plugin-foxconn.c                | 127
 +++++++++++++++++++++
 plugins/foxconn/mm-plugin-foxconn.h                |  46 ++++++++
 plugins/tests/test-keyfiles.c                      |   6 +-
 11 files changed, 355 insertions(+), 125 deletions(-)

commit 5ab5593edbf86a268f9b6d196f30e303c1e1b879
Author: Yuri Chornoivan <yurchor@ukr.net>
Date:   Sun Nov 10 14:35:46 2019 +0200

    uk: update Ukrainian translation

 po/uk.po | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

commit 81daaa25be658c44fa1f656ae0c1ca61b1af76c8
Author: emintufan <etcetin@gmail.com>
Date:   Sun Nov 10 07:22:20 2019 +0000

    po: update Turkish translation

 po/tr.po | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

commit ad371cecd1782894ab884f2d9843abc55471eb7a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 7 12:29:07 2019 +0100

    dell,dw5821e: add support for the DW5821e with eSIM variant

    Same port layout as the default one, just a different PID.

 plugins/dell/77-mm-dell-port-types.rules | 6 +++++-
 plugins/dell/mm-plugin-dell.c            | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)

commit 0c554aec9e58391ec5699d131e2f15b445510788
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 6 13:15:47 2019 +0100

    build: post-release version bump to 1.13.0

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8c2a6629d7e7e76c18fb785fd61f3d98942f5a7a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 6 12:58:45 2019 +0100

    release: bump version to 1.12.0

 configure.ac | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 929ed9f9396cfcff38e4cf97652b4e85bc145ebe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 5 21:53:43 2019 +0100

    NEWS: update for 1.12.0

 NEWS | 106
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 106 insertions(+)

commit 16f90f1ebed591e8a3fbdfb10724df944dfdf14e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 5 21:00:53 2019 +0100

    build: require libqmi 1.24.0

    The 1.24.0 stable release can be used as minimum requirement for the
    new ModemManager 1.12.0 release.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 41e30cfa9ebf184ff14f1e6989c03380e2655665
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 5 20:57:42 2019 +0100

    AUTHORS: update for 1.12

    Based on:
    $ git shortlog -s -n

 AUTHORS | 76
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 72 insertions(+), 4 deletions(-)

commit c9e603a38878497c4405ce0bfdea6a9e9ea46e53
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Tue Nov 5 15:52:31 2019 +0100

    telit: add AT$GPSNMUN description

 plugins/telit/mm-broadband-modem-telit.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 4a2e907e3005712064b80e12989cf3af1fe2ecba
Author: Krzysztof Drobinski <krzysiek.drobinski@gmail.com>
Date:   Sat Nov 2 17:32:56 2019 +0100

    telit: minor coding style fix

 plugins/telit/mm-broadband-modem-telit.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit c79d94507323c38c9e12f2255c7d836cc90ba7a2
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Tue Oct 29 12:19:22 2019 -0700

    mm-modem-helpers-telit: fix undefined bitshifts

    Since this plugin uses a bitmask to represent bands, we have
    to be wary of shifting outside the precision of the bitmask
    storage type. In this case, it was possible to generate 1 << 31
    in a signed integer type as an intermediate step of B3G_FLAG,
    which is undefined behavior (and usually results in INT_MIN,
    breaking comparisons with the value).

    Bug was reported to the chromium tracker at crbug.com/1019301

    Original patch updated by Aleksander Morgado to leave
    MM_MODEM_BAND_TELIT_3G_LAST as MM_MODEM_BAND_UTRAN_19, as that is the
    highest 3G band supported by the current implementation. Worth noting
    that this was not a real bug as the maximum flag we would have been
    setting was (1 << 19) anyway.

 plugins/telit/mm-modem-helpers-telit.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

commit e0f0d62369d0998e5f587cc8e27a8bf5eed98626
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 31 15:14:27 2019 +0100

    telit: fix crash if AT$GPSP=? is supported but no GPS data port

    We would have been de-referencing a NULL GError.

 plugins/telit/mm-broadband-modem-telit.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 5def58d32717de8b47990dbbf66e6fca3f076a8f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 31 15:12:54 2019 +0100

    telit: minor coding style fixes

 plugins/telit/mm-broadband-modem-telit.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit eb3f17ddccf9d54a1edd028eb0bd65380a93795a
Author: Krzysztof Drobinski <k.drobinski@camlintechnologies.com>
Date:   Mon Oct 14 13:39:11 2019 +0200

    telit: Allow enabling GNSS events if NMEA port was detected

 plugins/telit/mm-broadband-modem-telit.c | 342
 ++++++++++++++++++++++++++++++-
 1 file changed, 341 insertions(+), 1 deletion(-)

commit da729943b15f2e769469c0e7644a3d8f21e1768f
Author: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
Date:   Wed Oct 30 11:22:19 2019 +0100

    quectel: Add port type hints for BG96

    Signed-off-by: Sven Schwermer
    <sven.schwermer@disruptive-technologies.com>

 plugins/quectel/77-mm-quectel-port-types.rules | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 9e63037c5a6bd4b936152d41251723cab7ce42ec
Author: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
Date:   Wed Oct 30 11:15:23 2019 +0100

    quectel: Fix port type hints for EG91

    Signed-off-by: Sven Schwermer
    <sven.schwermer@disruptive-technologies.com>

 plugins/quectel/77-mm-quectel-port-types.rules | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit b076653ef0a6fd6a10f08239b728f9d192de9513
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 28 10:39:22 2019 +0100

    libmm-glib,pco: deprecate mm_pco_list_free()

    Use g_list_free_full() using g_object_unref() as #GDestroyNotify
    function instead.

 libmm-glib/mm-modem-3gpp.c | 7 +++----
 libmm-glib/mm-pco.c        | 6 ++++++
 libmm-glib/mm-pco.h        | 7 ++++++-
 3 files changed, 15 insertions(+), 5 deletions(-)

commit 5dd829174f63a950b528c76f411e2b3ee276b4b6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 26 23:43:08 2019 +0200

    libmm-glib: flag as (skip) all non-API methods

    So that the GI scanner ignores them.

 libmm-glib/mm-bearer-ip-config.c                  | 27
 +++++++++++++++++++
 libmm-glib/mm-bearer-properties.c                 | 18 +++++++++++++
 libmm-glib/mm-bearer-stats.c                      | 18 +++++++++++++
 libmm-glib/mm-call-audio-format.c                 | 18 +++++++++++++
 libmm-glib/mm-call-properties.c                   |  9 +++++++
 libmm-glib/mm-cdma-manual-activation-properties.c |  9 +++++++
 libmm-glib/mm-firmware-properties.c               | 24 +++++++++++++++++
 libmm-glib/mm-firmware-update-settings.c          | 18 +++++++++++++
 libmm-glib/mm-kernel-event-properties.c           |  9 +++++++
 libmm-glib/mm-location-3gpp.c                     | 27
 +++++++++++++++++++
 libmm-glib/mm-location-cdma-bs.c                  | 12 +++++++++
 libmm-glib/mm-location-gps-nmea.c                 | 12 +++++++++
 libmm-glib/mm-location-gps-raw.c                  | 12 +++++++++
 libmm-glib/mm-network-timezone.c                  | 18 +++++++++++++
 libmm-glib/mm-pco.c                               | 18 +++++++++++++
 libmm-glib/mm-signal.c                            | 33
 +++++++++++++++++++++++
 libmm-glib/mm-simple-connect-properties.c         | 12 +++++++++
 libmm-glib/mm-simple-status.c                     |  9 +++++++
 libmm-glib/mm-sms-properties.c                    |  9 +++++++
 libmm-glib/mm-unlock-retries.c                    | 21 +++++++++++++++
 20 files changed, 333 insertions(+)

commit 037b774b189b03eea0144899812c0b1f56d5f770
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 26 23:22:13 2019 +0200

    simple-status: deprecate 'subscription state' property

    This property was already deprecated in libmm-glib and removed from
    the daemon in 1.10, so the counterpart property in MMSimpleStatus
    should also be deprecated.

 libmm-glib/mm-simple-status.c | 26 ++++++++++----------------
 libmm-glib/mm-simple-status.h |  3 +++
 2 files changed, 13 insertions(+), 16 deletions(-)

commit 651028c2b7b205f713e49df373d4bd016364c547
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Oct 25 13:36:32 2019 +0200

    libmm-glib: remove unused _dup() methods

 libmm-glib/mm-bearer-ip-config.c        | 19 -------------------
 libmm-glib/mm-bearer-ip-config.h        |  2 --
 libmm-glib/mm-bearer-properties.c       | 19 -------------------
 libmm-glib/mm-bearer-properties.h       |  2 --
 libmm-glib/mm-call-audio-format.c       | 19 -------------------
 libmm-glib/mm-call-audio-format.h       |  2 --
 libmm-glib/mm-call-properties.c         | 19 -------------------
 libmm-glib/mm-call-properties.h         |  9 +++------
 libmm-glib/mm-kernel-event-properties.c | 19 -------------------
 libmm-glib/mm-kernel-event-properties.h |  2 --
 libmm-glib/mm-sms-properties.c          | 19 -------------------
 libmm-glib/mm-sms-properties.h          |  2 --
 12 files changed, 3 insertions(+), 130 deletions(-)

commit 856619535d2af66a2793bdf4bedaaa3fc7810a73
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 24 23:12:32 2019 +0200

    api,voice: CreateCall() expects only the 'number' property

    There is absolutely no reason to provide any other property when the
    user creates a new call.

 .../org.freedesktop.ModemManager1.Modem.Voice.xml  |   5 +-
 libmm-glib/mm-call-properties.c                    | 132
 ++++++---------------
 libmm-glib/mm-call-properties.h                    |  31 +++--
 3 files changed, 58 insertions(+), 110 deletions(-)

commit 08d23dd64d4566423579d8fbe609ec6145eae861
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 24 22:58:42 2019 +0200

    docs,libmm-glib: provide per-version indices

 docs/reference/libmm-glib/libmm-glib-docs.xml     |  48 +-
 libmm-glib/mm-bearer-ip-config.c                  |  29 +-
 libmm-glib/mm-bearer-properties.c                 |  59 +-
 libmm-glib/mm-bearer-stats.c                      |   6 +
 libmm-glib/mm-bearer.c                            | 120 ++-
 libmm-glib/mm-call-audio-format.c                 |  20 +-
 libmm-glib/mm-call-properties.c                   |  38 +-
 libmm-glib/mm-call.c                              | 183 ++++-
 libmm-glib/mm-cdma-manual-activation-properties.c |  90 ++-
 libmm-glib/mm-firmware-properties.c               |  70 +-
 libmm-glib/mm-firmware-update-settings.c          |  41 +-
 libmm-glib/mm-helper-types.c                      |   2 +
 libmm-glib/mm-helper-types.h                      |   9 +-
 libmm-glib/mm-kernel-event-properties.c           |  41 +-
 libmm-glib/mm-location-3gpp.c                     |  10 +
 libmm-glib/mm-location-cdma-bs.c                  |   4 +
 libmm-glib/mm-location-common.h                   |   6 +
 libmm-glib/mm-location-gps-nmea.c                 |  14 +-
 libmm-glib/mm-location-gps-raw.c                  |  15 +-
 libmm-glib/mm-manager.c                           | 141 +++-
 libmm-glib/mm-modem-3gpp-ussd.c                   | 159 ++--
 libmm-glib/mm-modem-3gpp.c                        | 258 +++++--
 libmm-glib/mm-modem-cdma.c                        | 117 ++-
 libmm-glib/mm-modem-firmware.c                    |  92 ++-
 libmm-glib/mm-modem-location.c                    | 368 ++++++---
 libmm-glib/mm-modem-messaging.c                   | 114 ++-
 libmm-glib/mm-modem-oma.c                         | 141 +++-
 libmm-glib/mm-modem-signal.c                      | 142 ++--
 libmm-glib/mm-modem-simple.c                      | 112 ++-
 libmm-glib/mm-modem-time.c                        |  62 +-
 libmm-glib/mm-modem-voice.c                       | 247 ++++--
 libmm-glib/mm-modem.c                             | 891
 +++++++++++++++-------
 libmm-glib/mm-network-timezone.c                  |  11 +-
 libmm-glib/mm-network-timezone.h                  |   6 +-
 libmm-glib/mm-object.c                            | 242 ++++--
 libmm-glib/mm-pco.c                               |  34 +-
 libmm-glib/mm-signal.c                            |  34 +-
 libmm-glib/mm-signal.h                            |   2 +
 libmm-glib/mm-sim.c                               | 209 +++--
 libmm-glib/mm-simple-connect-properties.c         |  76 +-
 libmm-glib/mm-simple-status.c                     |  44 +-
 libmm-glib/mm-sms-properties.c                    |  78 +-
 libmm-glib/mm-sms.c                               | 188 +++--
 libmm-glib/mm-unlock-retries.c                    |   8 +-
 libmm-glib/mm-unlock-retries.h                    |   4 +
 45 files changed, 3268 insertions(+), 1317 deletions(-)

commit 53a7dc2f63ac26edb1a3a8db8368b52cf0417de7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 28 09:53:26 2019 +0100

    docs,api: rework how indices are exposed in docs

    Use <chapter> so that all per-version indices are included in
    the docs.

 docs/reference/api/ModemManager-docs.xml | 74
 +++++++++++++++-----------------
 1 file changed, 35 insertions(+), 39 deletions(-)

commit b325270296f89f9bca1c054b4661906984f6b19a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 26 22:43:53 2019 +0200

    libmm-glib,pco: mm_pco_list_add() is not part of the API

    This method is used by the daemon to modify the GList of MMPco
    objects, the client should not need to use this method for anything.

 docs/reference/libmm-glib/libmm-glib-sections.txt |  2 +-
 libmm-glib/mm-pco.c                               | 10 +---------
 libmm-glib/mm-pco.h                               |  4 ++--
 3 files changed, 4 insertions(+), 12 deletions(-)

commit d09aa38552606e175fcda92a12efec5b9d8f5bc8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Oct 25 13:27:39 2019 +0200

    libmm-glib,location: fix 'unknown' lat/long/alt numeric values

    G_MINDOUBLE is 0.0, which is a valid altitude, latitude, and
    longitude. Change the 'unknown' location values to -G_MAXDOUBLE
    instead, which is a completely invalid value in all cases.

    This is strictly an ABI break, but it's also true that until now the
    methods returning these 'unknown' values could also return valid 0.0
    values that would have been detected as 'unknown' by the caller.
    So, just stop this madness and don't consider this any ABI break.

    This is the same thing we had to do with MM_SIGNAL_UNKNOWN in
    fe66bdf65e57fa7dee3dcb8dea068fb3fc7aec34.

 libmm-glib/mm-location-common.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit f9ea0c1d9cfe6b57a556060b7d9374a64457d183
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 27 15:52:37 2019 +0100

    cli,output: fix truncated array output when == 10 elements

    The extra character size was only being applied when > 10 elements,
    leaving the == 10 case out of it, so the output was being truncated.
    Fix it, by using a more generic way to computing how many extra
    characters we need in the size.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/151

 cli/mmcli-output.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 1576c7d8009f4e1ca60004863b8a88b2105c103f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 24 14:22:46 2019 +0200

    docs,libmm-glib: add missing references to the 'emergency numbers'
    property methods

 docs/reference/libmm-glib/libmm-glib-sections.txt | 5 +++++
 1 file changed, 5 insertions(+)

commit e5ac843a7c5a0d43a9c57571bc45d9cba417df00
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 24 14:18:56 2019 +0200

    api,compat: fix warnings during doc build

    We just move the MM_DISABLE_DEPRECATED check to after the
    MM_DEPRECATED symbol definition, because gtkdoc-scan gets pretty
    confused, likely due to the symbol ending with the "_DEPRECATED"
    suffix.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/91

 include/ModemManager-compat.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit cc7fd0ad237ea3ffa44044e5845e000de0b8ff8f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 24 13:05:25 2019 +0200

    docs,api: add missing reference to ID_MM_PORT_TYPE_AUDIO

 docs/reference/api/ModemManager-sections.txt | 1 +
 1 file changed, 1 insertion(+)

commit cf14fba5b7d8fa7f707d2c6cc6c5fe352b48826c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 24 12:06:02 2019 +0200

    docs,api: provide per-version indices

 docs/reference/api/ModemManager-docs.xml |  41 ++-
 include/ModemManager-compat.h            | 134 ++++-----
 include/ModemManager-enums.h             | 448
 ++++++++++++++++++-------------
 include/ModemManager-errors.h            |  20 +-
 include/ModemManager-tags.h              |  30 +++
 include/ModemManager-version.h.in        |   8 +
 include/ModemManager.h                   |   2 +-
 7 files changed, 424 insertions(+), 259 deletions(-)

commit f3d1d50bf4260f8001326fa7a26c3f27735f1ddf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 24 12:00:29 2019 +0200

    introspection,firmware: avoid <term> in <para>

      DOC   Building HTML
    Element term in namespace '' encountered in para, but no template
    matches.
      DOC   Fixing cross-references

 introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 866b4e7686c7282a394274b2589dff281152f68e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 24 11:57:55 2019 +0200

    introspection,voice: untabify

 introspection/org.freedesktop.ModemManager1.Modem.Voice.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 465067f0c31e68b7efdefbf06101bdfafd9609a3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 24 11:57:26 2019 +0200

    introspection,sim: untabify

 introspection/org.freedesktop.ModemManager1.Sim.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ef30dd800c1dd802fc18b6e627224a065f4b5223
Author: Krzysztof Drobinski <k.drobinski@camlintechnologies.com>
Date:   Wed Sep 11 17:48:00 2019 +0200

    telit: increase timeout for AT#REBOOT

    It was observed that sporadically it may take more than 5 seconds
    for modem to
    respond to AT#REBOOT. Increase the timeout on AT command to not report
    unnecessary errors to the user.

 plugins/telit/mm-broadband-modem-telit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4a0de586dbf6c0c268eadd6c8ff506ba38420e18
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 26 18:42:49 2019 +0200

    base-call: if start() fails, always terminated

 src/mm-base-call.c | 3 +++
 1 file changed, 3 insertions(+)

commit 2c0281aac9430731766cd4203c638848b9434633
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 14:41:58 2019 +0200

    call: disallow non-emergency calls when in emergency-only state

 src/mm-base-call.c         |   7 +++
 src/mm-base-sim.c          |  22 ++++++++++
 src/mm-base-sim.h          |   3 ++
 src/mm-iface-modem-voice.c | 103
 +++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-voice.h |   5 +++
 5 files changed, 140 insertions(+)

commit d6f9d5e9ec36e403be9836c55c8ffd19422605ef
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 11:28:53 2019 +0200

    sim: load emergency numbers from EF_ECC

 src/mm-base-sim.c              | 81
 +++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-helpers.c         | 64 +++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |  2 ++
 src/tests/test-modem-helpers.c | 51 ++++++++++++++++++++++++++
 4 files changed, 197 insertions(+), 1 deletion(-)

commit 1f6c006976211111c1ccdbe7cbbd146c8338ba38
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 24 16:08:47 2019 +0200

    api,sim: new 'Emergency Numbers' property

 cli/mmcli-output.c                                 |  1 +
 cli/mmcli-output.h                                 |  1 +
 cli/mmcli-sim.c                                    | 11 +++---
 .../org.freedesktop.ModemManager1.Sim.xml          | 10 +++++
 libmm-glib/mm-sim.c                                | 39
 ++++++++++++++++++++
 libmm-glib/mm-sim.h                                |  3 ++
 src/mm-base-sim.c                                  | 43
 ++++++++++++++++++++++
 src/mm-base-sim.h                                  |  8 ++++
 8 files changed, 111 insertions(+), 5 deletions(-)

commit 45cf1ba20a59917fb43a60c9851cc89a75844c52
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 24 14:53:42 2019 +0200

    cinterion: don't cache voice support check AT commands

    The result of these commands may be different before and after SIM-PIN
    unlock, so never cache them.

 plugins/cinterion/mm-shared-cinterion.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 57e7841308324340e967db2f0bdfe5a73d63dd2d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 24 14:37:47 2019 +0200

    iface-modem-voice: always completely reinitialize the interface

    The supported voice features may be different before and after SIM-PIN
    unlock, so do not cache the result of the support check operation.

 src/mm-iface-modem-voice.c | 131
 +++++++++++++++++----------------------------
 1 file changed, 50 insertions(+), 81 deletions(-)

commit 98066d24b7fa95b603ceb11fa30b853099b36cfd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 24 14:36:46 2019 +0200

    broadband-modem: don't cache voice support check AT commands

    The result of these commands may be different before and after SIM-PIN
    unlock, so never cache them.

 src/mm-broadband-modem.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 5fef14176a54b9a213837d3fbc7f120766231497
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 24 14:36:30 2019 +0200

    broadband-modem: ignore SIM-related errors in voice support check

 src/mm-broadband-modem.c | 26 +++++++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)

commit 6347a7d783d51ac1ff619bba90eed0675d583c9e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 24 13:09:05 2019 +0200

    base-call: catch terminated errors before ATD replies

    If we get one of the in-call termination errors before ATD replies OK,
    we need to cancel the start() operation right away and return an
    error to the caller.

    Otherwise, the Call will be reported as "terminated" right away, but
    the caller would not get an error back until 90s later:

        $ sudo mmcli --call 0 --start
        error: couldn't start the call:
        'GDBus.Error:org.freedesktop.ModemManager1.Error.Serial.ResponseTimeout:
        Serial command timed out'

 src/mm-base-call.c | 42 ++++++++++++++++++++++++++++++++++++------
 src/mm-base-call.h |  1 +
 2 files changed, 37 insertions(+), 6 deletions(-)

commit eaf665475014878772cec24e042130ae207c7ef7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 23 15:59:44 2019 +0200

    broadband-modem: keep ports context open while in-call

    This is so that we can receive and process URCs even if the modem is
    not fully enabled yet.

 src/mm-broadband-modem.c | 68
 ++++++++++++++++++++++++++++++++++++------------
 1 file changed, 52 insertions(+), 16 deletions(-)

commit c99f767f04553beaa9bc16faf4c77f8bd17a870c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 23 15:57:55 2019 +0200

    broadband-modem: reorder generic port context logic in sources

 src/mm-broadband-modem.c | 227
 +++++++++++++++++++++++------------------------
 1 file changed, 113 insertions(+), 114 deletions(-)

commit ba1f3af342356583fb46dfffc32046676f1957b8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 23 15:44:26 2019 +0200

    broadband-modem: new generic ports_context_open()

    Used during initialization, enabling and sim hotswap context setup.
    The secondary AT and QCDM ports will only be open during enabling.

 src/mm-broadband-modem.c | 150
 +++++++++++++++++++++++++----------------------
 1 file changed, 79 insertions(+), 71 deletions(-)

commit 7c8d0d1718446e32a107c7a9363cf936d5865d39
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 23 15:32:51 2019 +0200

    broadband-modem: skip redundant ATE0/AT+CMEE=1 settings

    These are already given in the logic behind the
    "MM_PORT_SERIAL_AT_INIT_SEQUENCE"  property:

        (ttyACM1): --> 'ATE0<CR>'
        (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
        (ttyACM1): --> 'ATV1<CR>'
        (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
        (ttyACM1): --> 'AT+CMEE=1<CR>'
        (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
        (ttyACM1): --> 'ATX4<CR>'
        (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
        (ttyACM1): --> 'AT&C1<CR>'
        (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
        (ttyACM1): --> 'ATE0<CR>'               --> redundant
        (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
        (ttyACM1): --> 'AT+CMEE=1<CR>'          --> redundant
        (ttyACM1): <-- '<CR><LF>OK<CR><LF>'

 src/mm-broadband-modem.c | 11 -----------
 1 file changed, 11 deletions(-)

commit 657833a40050d1a7fe53b94dd394d0f0ad008f9a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 23 10:30:43 2019 +0200

    voice,api: new 'EmergencyOnly' boolean flag

    This new flag allows users of the API to know whether general purpose
    voice calls are allowed or otherwise only voice calls to the
    registered emergency numbers should be performed.

    ModemManager won't really do any distinction between emergency and
    non-emergency calls at this point, this flag is just an early
    indication for the user of the API that no normal voice call should be
    attempted.

 cli/mmcli-modem-voice.c                            | 28
 +++++++++++++++++++++-
 cli/mmcli-output.c                                 |  2 ++
 cli/mmcli-output.h                                 |  3 +++
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  3 +++
 .../org.freedesktop.ModemManager1.Modem.Voice.xml  | 10 ++++++++
 libmm-glib/mm-modem-voice.c                        | 14 +++++++++++
 libmm-glib/mm-modem-voice.h                        |  5 ++--
 src/mm-iface-modem-voice.c                         | 20 ++++++++++++++++
 8 files changed, 82 insertions(+), 3 deletions(-)

commit 7971844318b01851bc9565b8adb9fdbeef686451
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 23 10:03:37 2019 +0200

    iface-modem-voice: all methods available even if not enabled

 cli/mmcli-modem-voice.c    |   5 --
 src/mm-iface-modem-voice.c | 147
 +++------------------------------------------
 2 files changed, 10 insertions(+), 142 deletions(-)

commit ed3a1264af3bce088eb377553826c5b222330694
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 23 10:40:06 2019 +0200

    iface-modem-voice: call list setup during initialization

    We're going to allow emergency calls at any point, so prepare the call
    list handling logic during initialization, not when the modem is first
    enabled.

 src/mm-iface-modem-voice.c | 101
 ++++++++++++++++++++++-----------------------
 1 file changed, 50 insertions(+), 51 deletions(-)

commit 00a39cd060ef882211ffd36ab5d4cf79144c2c92
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 22 11:02:12 2019 +0200

    broadband-modem: voice interface available in failed/locked state

 src/mm-broadband-modem.c | 79
 ++++++++++++++++++++++++------------------------
 1 file changed, 40 insertions(+), 39 deletions(-)

commit 27405a44ca0015918c493af50e92dfb56f5d6cf8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 22 10:56:59 2019 +0200

    broadband-modem: new initialization step when failed/locked

    Instead of using the firmware step as fallback when the modem goes
    into failed or locked state, use an independent step in the
    initialization state machine, just to make it clearer.

 src/mm-broadband-modem.c | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

commit d555c4c45caee603abf90869728c46402e26db68
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 8 15:41:04 2019 +0200

    iface-modem-simple: allow single ongoing Connect() attempt

    We only allow one single Simple.Connect() attempt at a time. If more
    than one arrives, the second and next ones will be forbidden.

    The ongoing connection attempt can now always be cancelled via
    Simple.Disconnect(), not only *after* the bearer object connection has
    started. i.e. if Simple.Disconnect() is called e.g. while waiting to
    be registered, we would also be cancelled properly.

 src/mm-iface-modem-simple.c | 112
 ++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 108 insertions(+), 4 deletions(-)

commit f228d0dd6fb06f6b6268a988f00f903acfcc4a09
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 8 15:06:38 2019 +0200

    base-bearer,iface-modem-simple: log user requests to
    connect/disconnect

 src/mm-base-bearer.c        | 4 ++++
 src/mm-iface-modem-simple.c | 7 ++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

commit 667d1613a83ccc8bc7956193c0da5ec3bf1a6599
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 16 11:02:55 2019 +0200

    x22x: add support for the Alcatel X602D

    As discussed in
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/130

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/130
    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/129

 plugins/x22x/77-mm-x22x-port-types.rules | 7 +++++++
 1 file changed, 7 insertions(+)

commit 407cfa0cd79d28a4b7286f4726f78744c5b04fb3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 16 11:02:28 2019 +0200

    x22x: ignore unhandled URCs in the Alcatel X602D

 plugins/x22x/mm-broadband-modem-x22x.c | 85
 ++++++++++++++++++++++++++++++++++
 plugins/x22x/mm-broadband-modem-x22x.h |  2 +
 2 files changed, 87 insertions(+)

commit f30d3d46b975ea26d88326a287029d9e71523d89
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 16 18:33:48 2019 +0200

    ci: ignore errors on apt update

    Just to avoid e.g. invalid signature errors. The important command is
    the actual install of required packages.

 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5316e9e4e56faa606c2ae4f19087ae98b8c3944d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 16 18:03:53 2019 +0200

    simtech: handle 'MISSED_CALL' URCs

    https://source.puri.sm/Librem5/ModemManager/issues/6

 plugins/simtech/mm-modem-helpers-simtech.c         | 30 +++++++++++++++++
 plugins/simtech/mm-modem-helpers-simtech.h         |  8 +++++
 plugins/simtech/mm-shared-simtech.c                | 27 +++++++++++++++
 plugins/simtech/tests/test-modem-helpers-simtech.c | 38
 ++++++++++++++++++++++
 4 files changed, 103 insertions(+)

commit eb66e8ae6844dfd065b68523bc9b5e3b2bf0d979
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 15 11:39:44 2019 +0200

    simtech: setup USB audio channel when in-call

    We'll use +CPCMREG=1/0 to start/stop USB audio function, and we will
    also report the specific ttyUSB port to be used for audio in the Call
    interface.

 plugins/simtech/77-mm-simtech-port-types.rules   |   2 +-
 plugins/simtech/mm-broadband-modem-qmi-simtech.c |   4 +
 plugins/simtech/mm-broadband-modem-simtech.c     |   5 +
 plugins/simtech/mm-shared-simtech.c              | 123
 ++++++++++++++++++++++-
 plugins/simtech/mm-shared-simtech.h              |  15 +++
 5 files changed, 146 insertions(+), 3 deletions(-)

commit e3a1364ddc43e13fe86e98dfca24ef7f6f267b38
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 15 12:35:11 2019 +0200

    core: allow flagging ports as 'audio'

    Instead of flagging them as 'ignored' so that they aren't probed, we
    can also flag them as 'audio' now, so that the logic knows which port
    to report as used for audio in the Call object.

 include/ModemManager-enums.h |  4 +++-
 include/ModemManager-tags.h  | 10 ++++++++++
 src/mm-base-modem.c          | 34 ++++++++++++++++++++++++++++++++++
 src/mm-base-modem.h          |  2 ++
 src/mm-port-probe.c          | 14 ++++++++++++++
 src/mm-port.h                |  3 ++-
 6 files changed, 65 insertions(+), 2 deletions(-)

commit d61cb4a21cc1f3509c54f841e2eafafc3ea9a4a9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 15 11:07:41 2019 +0200

    simtech: handle '+RXDTMF' URCs reporting DTMF tones

 plugins/simtech/mm-modem-helpers-simtech.c         | 16 +++++++
 plugins/simtech/mm-modem-helpers-simtech.h         |  5 +++
 plugins/simtech/mm-shared-simtech.c                | 23 ++++++++++
 plugins/simtech/tests/test-modem-helpers-simtech.c | 50
 ++++++++++++++++++++++
 4 files changed, 94 insertions(+)

commit 345922caa10fc86dad181ccd83239af1f43fd30e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 15 10:40:11 2019 +0200

    simtech: handle non-standard '+CRING' URCs

    The SIM7600E ends up emitting these URCs with too many <CR>s, and the
    generic +CRING handler doesn't catch them, interfering with other
    actions, e.g.:

      $ sudo mmcli --call 1 --accept
      error: couldn't accept the call:
      'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Failed:
      Couldn't accept the call: Unhandled response '+CRING: VOICE

      +CRING: VOICE''

 plugins/simtech/mm-modem-helpers-simtech.c         | 13 +++++++
 plugins/simtech/mm-modem-helpers-simtech.h         |  5 +++
 plugins/simtech/mm-shared-simtech.c                | 30 +++++++++++++++
 plugins/simtech/tests/test-modem-helpers-simtech.c | 44
 ++++++++++++++++++++++
 4 files changed, 92 insertions(+)

commit 395b22178c4f6dd24d552e82d2d46dfb24c65297
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 15 10:30:00 2019 +0200

    simtech: handle 'VOICE CALL' URCs

    Just processing and parsing them for now, so that they don't interfere
    with other commands:

      $ sudo mmcli --call 1 --accept
      error: couldn't accept the call:
      'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Failed:
      Couldn't accept the call: Unhandled response '

      VOICE CALL: BEGIN''

 plugins/simtech/mm-modem-helpers-simtech.c         | 55
 ++++++++++++++++++++++
 plugins/simtech/mm-modem-helpers-simtech.h         |  9 ++++
 plugins/simtech/mm-shared-simtech.c                | 46
 +++++++++++++++---
 plugins/simtech/tests/test-modem-helpers-simtech.c | 54
 +++++++++++++++++++++
 4 files changed, 158 insertions(+), 6 deletions(-)

commit 1a17996ccb3560c29e2a27c596ad0e9c7bbaaa61
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 14 15:54:56 2019 +0200

    iface-modem-voice: ignore unknown calls reported as terminated

    If the full list reporting includes calls in terminated state (e.g. on
    modems managed by the Simtech plugin), then ignore those no longer
    known to us, because it just means that they have already been
    processed.

        <debug> [1571060859.227759] (ttyUSB2): <-- '<CR><LF>+CLCC:
        1,0,6,0,0,"639335936",129<CR><LF>'
        <debug> [1571060859.227890] Reported 1 ongoing calls
        <debug> [1571060859.227913] call at index 1: direction outgoing,
        state terminated, number 639335936
        <debug> [1571060859.227946] call info matched (matched
        direction/state no, matched index yes, matched terminated no)
        with call at '/org/freedesktop/ModemManager1/Call/1'
        <debug> [1571060859.227963]   state updated: terminated
        <info>  [1571060859.227978] Call state changed: dialing ->
        terminated (unknown)
        <debug> [1571060859.228173] (ttyUSB3): <-- '<CR><LF>+CLCC:
        1,0,6,0,0,"639335936",129<CR><LF>'
        <debug> [1571060859.228234] Reported 1 ongoing calls
        <debug> [1571060859.228251] call at index 1: direction outgoing,
        state terminated, number 639335936
        <warn>  [1571060859.228274] unexpected outgoing call to number
        '639335936' report2ed in call list: state terminated

 src/mm-iface-modem-voice.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 089faef88cfa5347e209e46cb5990f21648c26a2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 14 15:45:18 2019 +0200

    modem-helpers: support reporting 'terminated' call state in +CLCC

 src/mm-modem-helpers.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 89c9566ede8cd7b587d0a383bef2a3973897c4c5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 14 13:47:48 2019 +0200

    simtech: implement +CLCC URC based call list management

 plugins/Makefile.am                                |  20 +
 plugins/simtech/mm-broadband-modem-qmi-simtech.c   |  28 ++
 plugins/simtech/mm-broadband-modem-simtech.c       |  28 ++
 plugins/simtech/mm-modem-helpers-simtech.c         |  95 ++++
 plugins/simtech/mm-modem-helpers-simtech.h         |  39 ++
 plugins/simtech/mm-shared-simtech.c                | 542
 ++++++++++++++++++++-
 plugins/simtech/mm-shared-simtech.h                |  43 +-
 plugins/simtech/tests/test-modem-helpers-simtech.c | 177 +++++++
 8 files changed, 968 insertions(+), 4 deletions(-)

commit b99597b59405315e7a71a272bcbde1ebab86c5e1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 14 15:12:27 2019 +0200

    tests,helpers: minor alignment fix

 plugins/tests/test-helpers.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit d5d0ed0b24eecb12f93c9b8ce65ac59fe188f60a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 14 15:09:28 2019 +0200

    tests: print MM logs only on verbose test mode

    Therefore, avoid needing ENABLE_TEST_MESSAGE_TRACES build symbol.

 plugins/cinterion/tests/test-modem-helpers-cinterion.c |  6 +++---
 plugins/huawei/tests/test-modem-helpers-huawei.c       | 12 +++---------
 plugins/icera/tests/test-modem-helpers-icera.c         |  6 +++---
 plugins/linktop/tests/test-modem-helpers-linktop.c     |  8 +++-----
 plugins/mbm/tests/test-modem-helpers-mbm.c             |  8 +++-----
 plugins/sierra/tests/test-modem-helpers-sierra.c       |  6 +++---
 plugins/telit/tests/test-mm-modem-helpers-telit.c      |  6 +++---
 plugins/tests/test-keyfiles.c                          |  6 +++---
 plugins/tests/test-udev-rules.c                        |  9 +++------
 plugins/thuraya/tests/test-mm-modem-helpers-thuraya.c  |  6 +++---
 plugins/ublox/tests/test-modem-helpers-ublox.c         |  6 +++---
 plugins/xmm/tests/test-modem-helpers-xmm.c             |  6 +++---
 src/tests/test-at-serial-port.c                        |  6 +++---
 src/tests/test-charsets.c                              |  6 +++---
 src/tests/test-modem-helpers-qmi.c                     |  6 +++---
 src/tests/test-modem-helpers.c                         |  6 +++---
 src/tests/test-qcdm-serial-port.c                      |  6 +++---
 src/tests/test-sms-part-3gpp.c                         |  6 +++---
 src/tests/test-sms-part-cdma.c                         |  6 +++---
 src/tests/test-udev-rules.c                            |  9 +++------
 20 files changed, 60 insertions(+), 76 deletions(-)

commit 03223fe78612b9551f34f9740d8ba52b951e6226
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 14 14:59:30 2019 +0200

    tests,sms: print PDUs only on verbose test mode

    Therefore, avoid needing TEST_SMS_PART_ENABLE_TRACE build symbol.

 src/tests/test-sms-part-3gpp.c | 35 +++++++++++++++++------------------
 src/tests/test-sms-part-cdma.c | 35 +++++++++++++++++------------------
 2 files changed, 34 insertions(+), 36 deletions(-)

commit 3b18d21ba5d276f8fa4d22a91faaa71e62dc3c28
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 14 14:54:59 2019 +0200

    tests: avoid g_print() and use g_debug() instead

    The debug-level logs won't be printed e.g. during 'make check', but
    will be included when running the tester manually.

 .../cinterion/tests/test-modem-helpers-cinterion.c |  4 +-
 .../thuraya/tests/test-mm-modem-helpers-thuraya.c  |  8 +--
 src/tests/test-charsets.c                          |  8 +--
 src/tests/test-modem-helpers.c                     | 79
 ++++++++++------------
 4 files changed, 40 insertions(+), 59 deletions(-)

commit cc4e7f6cfdd4b07f578f84d6994ce38ee811b288
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 14 12:44:47 2019 +0200

    shared-qmi: fix NAS SSP support check during supported caps loading

 src/mm-shared-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c8d715e5f031dec05d2ce79e2554be74c2a802fd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 14 10:50:45 2019 +0200

    api: set enum values not part of the API as private

    So that we can avoid gtk-doc complaining about them:

      2019-10-14
      10:46:59,583:common.py:ParseEnumDeclaration:427:WARNING:Cannot
      parse enumeration member:
      ../../../include/ModemManager-enums.h:924:
      warning: Value description for
      MMModemLocationSource::MM_MODEM_LOCATION_SOURCE_FIRST is missing
      in source code comment block.
      ../../../include/ModemManager-enums.h:924: warning: Value
      description for MMModemLocationSource::MM_MODEM_LOCATION_SOURCE_LAST
      is missing in source code comment block.

 include/ModemManager-enums.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 33140e1fc34b86bb5fdc02db142399561b05ec55
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Fri Oct 11 16:04:36 2019 -0700

    mm-broadband-modem-mbim: fix incorrect log message

    The log message would display a value based on combining the
    notification flags with a CID, which doesn't make sense. Test
    against the flag for this notification instead.

 src/mm-broadband-modem-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6cbeb96aa0b2f18e16ebf43e158a204281ad6b92
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 17 13:05:47 2019 +0200

    simtech: +CNSMOD value may have multiple digits

    We don't expect them in the set of values we support, but they may
    happen according to the spec.

 plugins/simtech/mm-broadband-modem-simtech.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e1d18afe39550c3ff9bc178d17075e2bb146fac7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 17 13:01:23 2019 +0200

    simtech: add support for reporting LTE

 plugins/simtech/mm-broadband-modem-simtech.c | 1 +
 1 file changed, 1 insertion(+)

commit 61f3c3c8c4a275f3e9320de33720bfb34d7304c8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 17 13:00:50 2019 +0200

    simtech: rework access tech value mapping

 plugins/simtech/mm-broadband-modem-simtech.c | 28
 ++++++++++++----------------
 1 file changed, 12 insertions(+), 16 deletions(-)

commit 7fcefc7af0f8e0975096da177e51a9d969b583c8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 17 12:39:20 2019 +0200

    simtech: rework enabling/disabling unsolicited events

    We will explicitly query for +AUTOCSQ and +CNSMOD support before
    trying to enable them.

    If +AUTOCSQ is supported and correctly enabled, we'll request signal
    quality polling to be disabled.

    If +CNSMOD is supported and correctly enabled, we'll request access
    technology polling to be disabled.

 plugins/simtech/mm-broadband-modem-simtech.c | 437
 ++++++++++++++++++++++-----
 1 file changed, 359 insertions(+), 78 deletions(-)

commit 1277ebb4cc3fdc9b70461aea2400ceae71da71a7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 17 11:59:34 2019 +0200

    iface-modem: allow plugins to disable access technology polling

    Same as with the signal quality polling, we may want to disable
    explicitly the access technology polling if we can rely on plugin
    specific URCs for this purpose.

 src/mm-broadband-modem.c | 13 ++++++++
 src/mm-iface-modem.c     | 80
 ++++++++++++++++++++++++++++--------------------
 src/mm-iface-modem.h     |  3 +-
 3 files changed, 62 insertions(+), 34 deletions(-)

commit 45a238bca3dfe39adfa444445e278c7752786f9d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 17 12:46:41 2019 +0200

    iface-modem: allow disabling signal quality polling during runtime

    E.g. if we have a specific command to enable the signal quality URCs,
    we should only disable polling if the command is supported by the
    specific modem and the command succeeds. If unsupported or fails, we
    shouldn't disable the polling.

 src/mm-iface-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c820e02ff8929897da23f699eae01a6db46405ed
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 17 11:14:33 2019 +0200

    simtech: enable +CSQ URC support

    The +AUTOCSQ setup enables automatic signal quality reporting via +CSQ
    URCs, which unfortunately have the same format as the +CSQ command
    responses.

    Therefore, we need to subclass load_signal_quality() explicitly in
    order to ignore those cases where the response to the +CSQ command is
    received empty (already processed as a URC).

 plugins/simtech/mm-broadband-modem-simtech.c | 111
 +++++++++++++++++++++++++++
 1 file changed, 111 insertions(+)

commit 765f26a40e3171840b6b9a3c1da2b8c85a5704dc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 17 13:28:51 2019 +0200

    iface-modem: don't log error if it's in progress

    If we're loading signal quality or access technology, skip reporting
    any error message if the specific error received is 'in-progress'.

    Plugins will use this error when they cannot process the response to
    the operation, e.g. if it was already consumed by a URC handler.

 src/mm-iface-modem.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 1f6f9eec4de507c4505981439d5890afc328b3f8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 17 11:09:27 2019 +0200

    simtech: keep access tech URC regex in private struct

 plugins/simtech/mm-broadband-modem-simtech.c | 34
 ++++++++++++++++++++++------
 plugins/simtech/mm-broadband-modem-simtech.h |  2 ++
 2 files changed, 29 insertions(+), 7 deletions(-)

commit c98a1a9dc8e02b78ae23de354f441270dfb394c1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 16 17:41:42 2019 +0200

    simtech: disable CMER/CIND support explicitly

    The logic to setup the generic +CIND indications in the SIM7600E seems
    to end up breaking connectivity when in TTY+PPP mode. If we issue the
    AT+CMER=3,0,0,1 command, this will end up in the modem not replying a
    correct CONNECT response to the ATD command.

    Let's disable these +CIND indications completely in the simtech
    plugin, as there is even no AT command reference saying those are
    supported.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/144

 plugins/simtech/mm-broadband-modem-qmi-simtech.c | 1 +
 plugins/simtech/mm-broadband-modem-simtech.c     | 1 +
 src/mm-broadband-modem.c                         | 7 ++++---
 3 files changed, 6 insertions(+), 3 deletions(-)

commit feb6c8264a0b1bb4c68a5dd6cd115b665b982392
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 16 17:37:56 2019 +0200

    broadband-modem: allow disabling +CIND URC setup

    Not all modems support correctly +CIND URCs and +CMER settings.

 src/mm-broadband-modem.c | 20 ++++++++++++++++++--
 src/mm-broadband-modem.h |  3 ++-
 2 files changed, 20 insertions(+), 3 deletions(-)

commit 81795f3023a7a03dac5da28fd4b5bf48100a457d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 15 15:02:45 2019 +0200

    simtech: implement GPS support with AT+CGPS

    The new logic is available in a new 'MMSharedSimtech' interface which
    is implemented both by the generic AT-based MMBroadbandModemSimtech
    modem, and by a new QMI-based new MMBroadbandModemQmiSimtech.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/112

 plugins/Makefile.am                              |   8 +
 plugins/simtech/mm-broadband-modem-qmi-simtech.c |  91 ++++
 plugins/simtech/mm-broadband-modem-qmi-simtech.h |  47 +++
 plugins/simtech/mm-broadband-modem-simtech.c     |  62 ++-
 plugins/simtech/mm-plugin-simtech.c              |  12 +-
 plugins/simtech/mm-shared-simtech.c              | 515
 +++++++++++++++++++++++
 plugins/simtech/mm-shared-simtech.h              |  73 ++++
 7 files changed, 787 insertions(+), 21 deletions(-)

commit 583d53a7dfe5a05ea201ea09f248e15e852bf3b3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 15 14:05:25 2019 +0200

    simtech: port type hints for the SIM7000/SIM7600 family

    E.g. the SIM7600E shows up as:

      P:  Vendor=1e0e ProdID=9001 Rev=03.18
      S:  Manufacturer=SimTech, Incorporated
      S:  Product=SimTech, Incorporated
      S:  SerialNumber=0123456789ABCDEF
      C:  #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA
      I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00
      Driver=option
      I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00
      Driver=option
      I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00
      Driver=option
      I:  If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00
      Driver=option
      I:  If#=0x5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=qmi_wwan

 plugins/simtech/77-mm-simtech-port-types.rules | 7 +++++++
 1 file changed, 7 insertions(+)

commit eeb1f7390620a89d94da6491ff3e49e146803a0a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 15 14:02:50 2019 +0200

    simtech: remove unused ID_MM_SIMTECH_TAGGED tag

    The plugin already has a VID filter for 0x1e0e, this tag is useless.

 plugins/simtech/77-mm-simtech-port-types.rules | 3 ---
 1 file changed, 3 deletions(-)

commit 55c3f7d3f693029ee759bd8f77573eef3ae5204b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 13:23:42 2019 +0200

    systemd: always start MM after polkit service if enabling policy

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/113

 configure.ac                 | 4 ++++
 data/Makefile.am             | 3 ++-
 data/ModemManager.service.in | 2 ++
 3 files changed, 8 insertions(+), 1 deletion(-)

commit 803c7705519e40f9b831afeb385ee47b501183da
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 16 15:33:07 2019 +0200

    broadband-modem-qmi: fix when >1 PRI images for the same modem image

 src/mm-broadband-modem-qmi.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

commit 227c2907785c5add14a13f36d9129e3fca30a372
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 16 14:51:27 2019 +0200

    mmcli,firmware: don't use tabs when printing human-friendly list

 cli/mmcli-output.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 6977b41adb6adaad4a7fe00d34bd2a0eb82d46d1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 16 14:45:10 2019 +0200

    broadband-modem-qmi: prefer ASCII unique IDs

    If the manufacturer uses QMI unique IDs in ASCII, use the same format
    in our APIs, instead of blindly converting them to a 16-byte HEX
    string.

    This makes user operations much nicer, e.g. instead of:

        $ sudo mmcli -m 0 --firmware-list
          ----------------
          Firmware | list: 02.20.03.00_GENERIC
                   |        current: yes
                   |        gobi pri unique id:
                   3030322E3031375F3030300000000000
                   |        gobi modem unique id:
                   3F5F3F00000000000000000000000000
                   |       02.14.03.02_SPRINT
                   |        current: no
                   |        gobi pri unique id:
                   3030322E3031325F3030310000000000
                   |        gobi modem unique id:
                   3F5F3F00000000000000000000000000
                   |       02.20.03.22_VERIZON
                   |        current: no
                   |        gobi pri unique id:
                   3030322E3032365F3030300000000000
                   |        gobi modem unique id:
                   3F5F3F00000000000000000000000000
                   |       02.14.03.00_VODAFONE
                   |        current: no
                   |        gobi pri unique id:
                   3030302E3030385F3030300000000000
                   |        gobi modem unique id:
                   3F5F3F00000000000000000000000000

    We will have:

        $ sudo mmcli -m 1 --firmware-list
          ----------------
          Firmware | list: 02.20.03.00_GENERIC
                   |        current: no
                   |        gobi pri unique id: 002.017_000
                   |        gobi modem unique id: ?_?
                   |       02.14.03.02_SPRINT
                   |        current: no
                   |        gobi pri unique id: 002.012_001
                   |        gobi modem unique id: ?_?
                   |       02.20.03.22_VERIZON
                   |        current: yes
                   |        gobi pri unique id: 002.026_000
                   |        gobi modem unique id: ?_?
                   |       02.14.03.00_VODAFONE
                   |        current: no
                   |        gobi pri unique id: 000.008_000
                   |        gobi modem unique id: ?_?

 src/mm-broadband-modem-qmi.c | 101 ++++++++++++++++++++++--------------
 src/mm-modem-helpers-qmi.c   | 121
 +++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.h   |   8 +++
 3 files changed, 192 insertions(+), 38 deletions(-)

commit a55543d11e2eb4fa4114932573e6a84656bc99ea
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 16 13:19:10 2019 +0200

    broadband-modem-qmi: fix listing images when 'Get Stored Image Info'
    is unsupported

 src/mm-broadband-modem-qmi.c | 240
 ++++++++++++++++++++++++-------------------
 1 file changed, 133 insertions(+), 107 deletions(-)

commit 1b29f7524c114435539870b6ab06875ade598661
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 16 12:37:58 2019 +0200

    broadband-modem-qmi: move pri/modem pair list building to separate
    method

 src/mm-broadband-modem-qmi.c | 114
 ++++++++++++++++++++++++-------------------
 1 file changed, 64 insertions(+), 50 deletions(-)

commit 7986b2737da85e37591c45bc1c5fc335081e99ab
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 16 12:23:27 2019 +0200

    broadband-modem-qmi: move pri/modem list index lookup to separate
    method

 src/mm-broadband-modem-qmi.c | 128
 +++++++++++++++++++++++--------------------
 1 file changed, 68 insertions(+), 60 deletions(-)

commit 5b8da2e1b96e8319bda959119de123f03b988d61
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 16 11:45:21 2019 +0200

    broadband-modem-qmi: add note about index_of_running_image known issue

    Since 02.20.xx.xx, the 'index_of_running_image' reported for MODEM
    images is wrong.

    https://forum.sierrawireless.com/t/mc74xx-wrong-running-image-in-qmi-get-stored-images/8998

 src/mm-broadband-modem-qmi.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 66192288f9997ae1ef54fa3e6d6ee30e27ce16a1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 16 11:40:31 2019 +0200

    broadband-modem-qmi: fix minor typo in comment

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3f15293a0b10bc7e296c2a735f34463d62cb65bf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 8 16:15:04 2019 +0200

    daemon: register G_IO_ERROR_CANCELLED as "Cancelled" in DBus

    We have deprecated the use of MM_CORE_ERROR_CANCELLED inside the
    daemon in favor of using G_IO_ERROR_CANCELLED right away, and so, we
    will now register G_IO_ERROR_CANCELLED as the error mapped to the
    "Cancelled" error in the ModemManager error domain in DBus.

    We therefore avoid sending unknown/unmapped errors via DBus, as in
    this case:

        $ sudo ./test.sh
        error: couldn't connect the modem:
        'GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dio_2derror_2dquark.Code19:
        Operation was cancelled'
        successfully disconnected all bearers in the modem
        error: couldn't connect the modem:
        'GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dio_2derror_2dquark.Code19:
        Operation was cancelled'
        successfully disconnected all bearers in the modem
        successfully disconnected all bearers in the modem
        error: couldn't connect the modem:
        'GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dio_2derror_2dquark.Code19:
        Operation was cancelled'
        successfully disconnected all bearers in the modem
        error: couldn't connect the modem:
        'GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dio_2derror_2dquark.Code19:
        Operation was cancelled'
        successfully disconnected all bearers in the modem
        error: couldn't connect the modem:
        'GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dio_2derror_2dquark.Code19:
        Operation was cancelled'
        error: couldn't connect the modem:
        'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Cancelled:
        Connection attempt cancelled'
        successfully disconnected all bearers in the modem
        error: couldn't connect the modem:
        'GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dio_2derror_2dquark.Code19:
        Operation was cancelled'
        successfully disconnected all bearers in the modem
        successfully disconnected all bearers in the modem
        error: couldn't connect the modem:
        'GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dio_2derror_2dquark.Code19:
        Operation was cancelled'
        error: couldn't connect the modem:
        'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Cancelled:
        Connection attempt cancelled'
        successfully disconnected all bearers in the modem
        error: couldn't connect the modem:
        'GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dio_2derror_2dquark.Code19:
        Operation was cancelled'
        successfully disconnected all bearers in the modem

 src/main.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

commit cf0d3f36fdad77999fe5411f6ab5607367f0dd83
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 9 10:49:25 2019 +0200

    iface-modem: avoid using MM_CORE_ERROR_CANCELLED

 src/mm-iface-modem.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 651bfd62b4c0ad06613541f8e8168832fc57da9a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 9 10:49:20 2019 +0200

    port-serial: avoid using MM_CORE_ERROR_CANCELLED

 src/mm-port-serial.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

commit fa453a17a5197ebec793056bb23895a887fb093a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 9 10:49:13 2019 +0200

    iface-modem-voice: avoid using MM_CORE_ERROR_CANCELLED

 src/mm-iface-modem-voice.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit cff3be23c0f8dfa49641a8381f9d811b0f7fd0c7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 9 10:49:05 2019 +0200

    broadband-modem: avoid using MM_CORE_ERROR_CANCELLED

 src/mm-broadband-modem.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 7974933de87dabbfcad357be1beb73fe4fb4ae5c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 9 10:48:55 2019 +0200

    broadband-modem-mbim: avoid using MM_CORE_ERROR_CANCELLED

 src/mm-broadband-modem-mbim.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit c0e1bde03ee1aef418644c515060b525872af436
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 9 10:48:47 2019 +0200

    base-modem-at: avoid using MM_CORE_ERROR_CANCELLED

 src/mm-base-modem-at.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

commit def5c76cf98f7416f3e8f17529bebbf1b2cbe0d5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 9 10:48:36 2019 +0200

    huawei,bearer: avoid using MM_CORE_ERROR_CANCELLED

 plugins/huawei/mm-broadband-bearer-huawei.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit 6de9c8cb29a93d826b9718169469c2010feac987
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 9 10:48:28 2019 +0200

    base-bearer: avoid using MM_CORE_ERROR_CANCELLED

 src/mm-base-bearer.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

commit 15b8156061a072d9c28e82fe785e5863b1fa80cd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 9 12:12:38 2019 +0200

    iface-modem-simple: fix Simple.Disconnect() when bearer path given

    The Simple.Disconnect() method handler was totally broken when a
    specific bearer path was given, because the user-provided bearer path
    was never being stored in the DisconnectionContext struct...

    This is an extremely bad error, but it also gives us an indication
    that no one is really using this method to disconnect one single
    bearer, mainly because we also have the Bearer.Disconnect() method,
    which makes more sense. mmcli didn't even allow passing a bearer path
    to --simple-disconnect.

 src/mm-iface-modem-simple.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

commit 3a9c553184ad1247dad89cfa8ba3f96f8b7195ff
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 2 10:00:23 2019 +0200

    libmm-glib,oma: avoid plural in type

 libmm-glib/mm-modem-oma.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 19652e101ce05835d2318ffdf59886e8cd4072e7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 2 09:58:07 2019 +0200

    libmm-glib,call: fix typo in documentation

 libmm-glib/mm-call.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a64223cac243dc9a0d17ad6d5e5b9ba8c3cd88c5
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sat Sep 28 15:09:53 2019 +0200

    po: update Polish translation

 po/pl.po | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

commit 0a85254d1765db6e55770d36e24b1e6349e789f4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 14:41:20 2019 +0200

    cli: fix typo when looking for a specific call fails

    $ sudo mmcli --call 1 --hangup
    error: couldn't find sms at '/org/freedesktop/ModemManager1/Call/1':
    'no modems found'

    (cherry picked from commit e71a4282db94f8f18b5884fe7966b95febc18a6d)

 cli/mmcli-common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4352c273ba461af95cd04ad28355dfc26dfc9d67
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 13:08:09 2019 +0200

    po: updated after new Time policy setup

 po/cs.po    | 23 +++++++++++++++++------
 po/da.po    | 23 +++++++++++++++++------
 po/de.po    | 23 +++++++++++++++++------
 po/fr.po    | 23 +++++++++++++++++------
 po/fur.po   | 23 +++++++++++++++++------
 po/hu.po    | 23 +++++++++++++++++------
 po/id.po    | 23 +++++++++++++++++------
 po/it.po    | 23 +++++++++++++++++------
 po/lt.po    | 23 +++++++++++++++++------
 po/pl.po    | 23 +++++++++++++++++------
 po/pt_BR.po | 23 +++++++++++++++++------
 po/sk.po    | 23 +++++++++++++++++------
 po/sv.po    | 23 +++++++++++++++++------
 po/tr.po    | 23 +++++++++++++++++------
 po/uk.po    | 23 +++++++++++++++++------
 po/zh_CN.po | 21 +++++++++++++++------
 16 files changed, 270 insertions(+), 96 deletions(-)

commit 8a652179deb5d0e496dd084d0a18ac457c833f62
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 13:04:53 2019 +0200

    policy: USSD policy requires user authentication in strict mode

 data/org.freedesktop.ModemManager1.policy.in.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 958c2434895043ffb4d2e256ec1a150140b534c7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 12:47:30 2019 +0200

    polkit,conf: trivial comment update regarding Signal.Setup()

 data/org.freedesktop.ModemManager1.conf.polkit | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1cd24a310682b5a6ad85536938f75e92cc82a4aa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 12:46:52 2019 +0200

    iface-modem-firmware: use the explicit Firmware policy

    The Firmware policy is always 'auth_admin'.

 src/mm-iface-modem-firmware.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 110f6fd02188d3fa2cdcfbfc29b571c7e8752d48
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 12:42:51 2019 +0200

    polkit,conf: add missing firmware management methods

 data/org.freedesktop.ModemManager1.conf.polkit | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 2e5af74db8cc5ba6269c350c87f4520d6f0ff082
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 12:40:03 2019 +0200

    polkit,conf: add missing OMA methods

 data/org.freedesktop.ModemManager1.conf.polkit | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

commit 7a7b3aa5cba44759ebe3276d5a6e4e25f7d2e850
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 12:37:08 2019 +0200

    polkit,time: protect GetNetworkTime() with a new 'Time' policy rule

 data/org.freedesktop.ModemManager1.conf.polkit  |  7 +++
 data/org.freedesktop.ModemManager1.policy.in.in |  9 +++
 src/mm-auth-provider.h                          |  1 +
 src/mm-iface-modem-time.c                       | 74
 +++++++++++++++----------
 4 files changed, 63 insertions(+), 28 deletions(-)

commit be2500b02a837a368d178ef7d71124273ee22263
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 12:24:35 2019 +0200

    polkit,conf: add missing supplementary voice service methods

 data/org.freedesktop.ModemManager1.conf.polkit | 36
 ++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

commit 01acd9a0d92d2b6791c5487081b90b759dae11ba
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 12:24:13 2019 +0200

    polkit,conf: add missing InjectAssistanceData

 data/org.freedesktop.ModemManager1.conf.polkit | 4 ++++
 1 file changed, 4 insertions(+)

commit 9e24d1c12f4e786893b798fee7842f5d3807ce86
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 12:23:59 2019 +0200

    polkit,conf: add missing SetInitialEpsBearerSettings

 data/org.freedesktop.ModemManager1.conf.polkit | 4 ++++
 1 file changed, 4 insertions(+)

commit 614c7fbc7e126a1288d9a7ef33c42391d1ec9d94
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 12:23:44 2019 +0200

    polkit,conf: add missing SetEpsUeModeOperation

 data/org.freedesktop.ModemManager1.conf.polkit | 4 ++++
 1 file changed, 4 insertions(+)

commit f2182a73bf31223772a30ba39fe1bf1c0988b0e9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 12:21:48 2019 +0200

    polkit,conf: add missing SetCurrentCapabilities

 data/org.freedesktop.ModemManager1.conf.polkit | 4 ++++
 1 file changed, 4 insertions(+)

commit 3696a009c5bf0813f9aae59dbe9e8d2732211ab4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 12:21:32 2019 +0200

    polkit,conf: add missing SetPowerState

 data/org.freedesktop.ModemManager1.conf.polkit | 4 ++++
 1 file changed, 4 insertions(+)

commit d3e75eec9740f7062d2486a2c40d4f4532c785e5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 25 12:06:47 2019 +0200

    policy,conf: use SetCurrentBands instead of SetBands

 data/org.freedesktop.ModemManager1.conf.polkit | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e21e7ddfae3d68418ad9c6f4d589b720b7b85b8b
Author: Mohammed Sadiq <sadiq@sadiqpk.org>
Date:   Tue Sep 24 19:10:29 2019 +0530

    policy: Use SetCurrentModes instead of SetAllowedModes

    There is no DBus API for SetAllowedModes, but only for
    SetCurrentModes.

 data/org.freedesktop.ModemManager1.conf.polkit | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 79a39656844336e5b1c2cc23657f6dc470d28533
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 23 17:48:21 2019 +0200

    broadband-modem: shutdown firmware interface on dispose()

 src/mm-broadband-modem.c | 5 +++++
 1 file changed, 5 insertions(+)

commit dcf50efdd51e64e7a6bf3a65986434aa9a35d0bb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 23 18:08:38 2019 +0200

    ublox: fix calling setup_unsolicited_events_finish()

 plugins/ublox/mm-broadband-modem-ublox.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit a1148f878b034bbb7744a32836ab5975d0d5e00d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 23 18:09:22 2019 +0200

    cinterion: fix calling setup_unsolicited_events_finish()

 plugins/cinterion/mm-shared-cinterion.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c8af22ab7ab324b0ba40f99996690d645b632109
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 23 10:25:36 2019 +0200

    cli,messaging: trivial fix in comment

 cli/mmcli-modem-messaging.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6c9027b22342e26fcd4ece479749b729af7a776f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 22 09:21:37 2019 +0200

    docs,libmm-glib: add missing references to call waiting query/setup

 docs/reference/libmm-glib/libmm-glib-sections.txt | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 16145c29def4dfb7202fd0167d567f0b1a9caef4
Author: amol.lad <amol.lad@4rf.com>
Date:   Thu Sep 19 16:49:15 2019 +0530

    sms-part-3gpp: SMS timestamp in ISO8601 format

 src/mm-sms-part-3gpp.c         | 31 ++++++++++++++++---------------
 src/tests/test-sms-part-3gpp.c | 26 +++++++++++++-------------
 2 files changed, 29 insertions(+), 28 deletions(-)

commit 59e82b3f32a35b351be8c4921e9092ad337aa1ea
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Tue Sep 17 15:00:38 2019 -0700

    mm-plugin: fix inverted condition in port grabbing

    If QMI support was not compiled in, then every net port that wasn't
    a QMI port would be force-ignored unless it had the qmi_wwan driver.
    Instead, we want to ignore ports with only the qmi_wwan driver.

 src/mm-plugin.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a9797f44aedac4dcbb6d57def2b8824068462605
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 16 17:58:19 2019 +0200

    base-bearer: debug log only when ignoring disconnection from CGACT?

    There are modems out there (e.g. SIM7600E) where we connect a given
    CID >1 but once connected, only CID=1 is reported as connected, and
    not the one we explicitly attempted to connect. In this situation the
    modem is connected successfully, and we're properly ignoring the
    disconnection report detected from CGACT? responses, but we're
    probably better logging this situation only in debug level, not as
    info, because this check is done periodically every 5s...

        <debug> [1568649020.333263] (ttyUSB5): -->
        'AT+CGDCONT=7,"IP","inet.es"<CR>'
        <debug> [1568649020.383517] (ttyUSB5): <-- '<CR><LF>OK<CR><LF>'
        <debug> [1568649020.383617] (ttyUSB5) device open count is 3
        (open)
        <debug> [1568649020.383655] Connection through a plain serial
        AT port (ttyUSB5)
        <debug> [1568649020.383683] (ttyUSB5) device open count is 4
        (open)
        <debug> [1568649020.383802] (ttyUSB5) device open count is 3
        (close)
        <debug> [1568649020.383873] (ttyUSB5): --> 'ATD*99***7#<CR>'
        <debug> [1568649020.405767] (ttyUSB5): <-- '<CR><LF>CONNECT
        115200<CR><LF>'
        <debug> [1568649020.405853] [ttyUSB5] Setting flow control:
        rts-cts
        <debug> [1568649020.405878] (ttyUSB5): enabling RTS/CTS flow
        control
        <debug> [1568649020.405897] (ttyUSB5): port attributes not
        fully set
        <debug> [1568649020.405910] (ttyUSB5): flow control settings
        updated to rts-cts
        <debug> [1568649020.405940] (ttyUSB5): port now connected
        <debug> [1568649020.405983] Connected bearer
        '/org/freedesktop/ModemManager1/Bearer/0'
        <debug> [1568649020.406081] PPP is required for connection,
        will ignore disconnection reports
        <info>  [1568649020.406155] Modem
        /org/freedesktop/ModemManager1/Modem/0: state changed (connecting
        -> connected)
        <info>  [1568649020.406361] Simple connect state (8/8): All done
        <debug> [1568649020.406461] (ttyUSB5) device open count is 2
        (close)
        <debug> [1568649020.448483] (net/ppp0): adding device at sysfs
        path: /sys/devices/virtual/net/ppp0
        <debug> [1568649020.448738] (net/ppp0) could not get
        vendor/product id
        <debug> [1568649020.448776] [filter] (net/ppp0) port filtered:
        virtual device
        <debug> [1568649050.395662] (ttyUSB6) device open count is 2
        (open)
        <debug> [1568649050.395871] (ttyUSB6): --> 'AT+CGACT?<CR>'
        <debug> [1568649050.408638] (ttyUSB6): <-- '<CR><LF>+CGACT:
        1,1<CR><LF>+CGACT: 2,0<CR><LF>+CGACT: 3,0<CR><LF>+CGACT:
        4,0<CR><LF>+CGACT: 5,0<CR><LF>+CGACT: 6,0<CR><LF>+CGACT:
        7,0<CR><LF><CR><LF>OK<CR><LF>'
        <debug> [1568649050.408803] connection status loaded: disconnected
    ---> <info>  [1568649050.408825] ignoring disconnection report for
    bearer '/org/freedesktop/ModemManager1/Bearer/0'
        <debug> [1568649050.408848] (ttyUSB6) device open count is 1
        (close)
        <debug> [1568649055.398994] (ttyUSB6) device open count is 2
        (open)
        <debug> [1568649055.399084] (ttyUSB6): --> 'AT+CGACT?<CR>'
        <debug> [1568649055.411489] (ttyUSB6): <-- '<CR><LF>+CGACT:
        1,1<CR><LF>+CGACT: 2,0<CR><LF>+CGACT: 3,0<CR><LF>+CGACT:
        4,0<CR><LF>+CGACT: 5,0<CR><LF>+CGACT: 6,0<CR><LF>+CGACT:
        7,0<CR><LF><CR><LF>OK<CR><LF>'
        <debug> [1568649055.411652] connection status loaded: disconnected
    ---> <info>  [1568649055.411674] ignoring disconnection report for
    bearer '/org/freedesktop/ModemManager1/Bearer/0'

 src/mm-base-bearer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit be4fa661c12a45b4b6c278c3906e7c126ddae3e8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 9 15:01:56 2019 +0200

    plugins,telit: refactor #BND command support

    And added support for several new things, including:
     * Setting "any" band now attempts to set all supported bands.
     * Added new 2G band value '5' (egsm+dcs+pcs+g850).
     * Setup support for two different 3G band combinations, a default one
       plus an alternate one applicable to the LM940/960 models only. The
       alternate combination is selected via udev tags.

    During the refactor, the following Telit-specific helpers were also
    removed and exchanged with more generic counterparts.
     * mm_telit_bands_contains() -> mm_common_bands_garray_lookup()
     * mm_telit_get_band_flags_from_string() -> mm_parse_uint_list()

 libmm-glib/mm-common-helpers.c                    |  14 +
 libmm-glib/mm-common-helpers.h                    |   5 +-
 plugins/Makefile.am                               |   6 +-
 plugins/telit/77-mm-telit-port-types.rules        |   6 +
 plugins/telit/mm-broadband-modem-mbim-telit.c     |   4 +-
 plugins/telit/mm-broadband-modem-telit.c          |   4 +-
 plugins/telit/mm-modem-helpers-telit.c            | 820
 ++++++++++++----------
 plugins/telit/mm-modem-helpers-telit.h            |  98 +--
 plugins/telit/mm-shared-telit.c                   | 301 ++++----
 plugins/telit/mm-shared-telit.h                   |  10 +-
 plugins/telit/tests/test-mm-modem-helpers-telit.c | 675
 ++++++++++--------
 11 files changed, 1061 insertions(+), 882 deletions(-)

commit 40521e315fc8cc94837c1508dca94efeed939f82
Author: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Date:   Tue Sep 17 07:53:21 2019 +0300

    mmcli: fix value escaping in new JSON output support

    Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>

 cli/mmcli-output.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

commit 21be687336b1f422b18d0d0bc4d1c1f1cffce81c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 16 18:11:48 2019 +0200

    broadband-modem: do not add +CSQ response to cache

    Otherwise, the +CSQ reported signal quality will never change!

    Fixes edc117406888f489d4ebd29b6d08ea67d60bb99c

 src/mm-broadband-modem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 1da694e9e0011634803cf8088e79e6ac0a296948
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 16 17:08:58 2019 +0200

    iface-modem-3gpp: trivial macro rename to make it shorter

 src/mm-iface-modem-3gpp.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 76b8c7d0bad41fe080a33ba26fdd949976080cc4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 15 16:19:04 2019 +0200

    iface-modem-3gpp: fix reporting 'denied' registration state

    If all CS/PS/EPS report 'denied', we should not report 'unknown' as
    consolidated...
        <debug> [1568556573.833928] building consolidated registration
        state: cs 'denied', ps 'denied', eps 'denied' --> 'unknown'

 src/mm-iface-modem-3gpp.c | 31 +++++++++++--------------------
 1 file changed, 11 insertions(+), 20 deletions(-)

commit abede5b9e330f74ce5a2da2440d0630d551edc13
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 15 15:16:11 2019 +0200

    simtech: increase +CNSMOD command timeout

    From 5s to 20s, as it seems it could take much more to complete and
    get a response, as seen in the logs below.

        <debug> [1568553228.546862] (ttyUSB3): --> 'AT+CNSMOD=1<CR>'
        <debug> [1568553233.799470] (ttyUSB3): --> 'AT+AUTOCSQ=1,1<CR>'
        <debug> [1568553238.798866] (ttyUSB3) setting up 3GPP unsolicited
        registration messages handlers
        <debug> [1568553238.798932] (ttyUSB2) setting up 3GPP unsolicited
        registration messages handlers
        <debug> [1568553238.798990] (ttyUSB3) device open count is 1
        (close)
        <warn>  [1568553238.799029] (tty/ttyUSB3) at port timed out 2
        consecutive times
        <debug> [1568553238.799094] (ttyUSB3) device open count is 2
        (open)
        <debug> [1568553238.799148] (ttyUSB3): --> 'AT+CREG=2<CR>'
        <warn>  [1568553241.798727] (tty/ttyUSB3) at port timed out 3
        consecutive times
        <debug> [1568553241.798799] (ttyUSB3): --> 'AT+CREG=1<CR>'
        <debug> [1568553244.795389] Enabling unsolicited registration
        events in primary port failed: 'AT sequence failed'
        <debug> [1568553244.795462] (ttyUSB2) device open count is 2
        (open)
        <debug> [1568553244.795507] (ttyUSB3) device open count is 1
        (close)
        <warn>  [1568553244.795545] (tty/ttyUSB3) at port timed out 4
        consecutive times
        <debug> [1568553244.795588] (ttyUSB2): --> 'AT+CREG=2<CR>'
        <debug> [1568553244.800815] (ttyUSB3): <--
        '<CR><LF>OK<CR><LF><CR><LF>OK<CR><LF>'
        <debug> [1568553244.801624] (ttyUSB3): <--
        '<CR><LF>OK<CR><LF><CR><LF>OK<CR><LF>'
        <debug> [1568553244.808710] (ttyUSB2): <-- '<CR><LF>OK<CR><LF>'

 plugins/simtech/mm-broadband-modem-simtech.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ec4fe83db8ce96894357b716e113f054db501f86
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 13 18:38:06 2019 +0200

    broadband-modem-qmi: retry lock check on 'SIM not inserted' errors

    Very much like the MBIM implementation, we will now retry the lock
    check if we get a 'SIM not inserted' error reported, because it may
    very well be that the device has just been powered up and the SIM is
    not fully detected yet.

 src/mm-broadband-modem-qmi.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 6493f5f933b1b090495e6c88c0fd7181ea765625
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 13 18:29:03 2019 +0200

    broadband-modem-mbim: use retry logic from generic modem interface

    If the modem interface reports that this is the last attempt to load
    the lock status and the modem is still reporting no sim, then, we'll
    report a hard error right away. Otherwise, we'll let the generic logic
    retry the operation, instead of doing it ourselves.

 src/mm-broadband-modem-mbim.c | 48
 +++++++++++++++++++++++--------------------
 1 file changed, 26 insertions(+), 22 deletions(-)

commit f2f42e193e478cc2e83336ad7b535a3793712d0f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 13 18:25:32 2019 +0200

    iface-modem: report last attempt to load_unlock_required
    implementations

    The load_unlock_required() step will be automatically retried by the
    generic interface logic unless some specific errors happen (e.g. it
    won't be retried if a SIM missing error is received).

    This patch allows telling the implementation of the method whether
    this time being run is the last one before reporting a hard error or
    not.

 src/mm-broadband-modem-mbim.c | 1 +
 src/mm-broadband-modem-qmi.c  | 1 +
 src/mm-broadband-modem.c      | 1 +
 src/mm-iface-modem.c          | 1 +
 src/mm-iface-modem.h          | 1 +
 5 files changed, 5 insertions(+)

commit 137ece0f2fd1a9592c5dd79812588037723e7fa3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 13 09:46:42 2019 +0200

    broadband-bearer: setup cid selection as a testable method

    Rework how the broadband bearer runs CGDCONT? and CGDCONT=? and setup
    a helper method to perform the CID selection logic.

    Also, implement unit tests for the CID selection logic.

 src/mm-broadband-bearer.c      | 489
 +++++++++++++++++++----------------------
 src/mm-modem-helpers.c         | 125 +++++++++++
 src/mm-modem-helpers.h         |   8 +
 src/tests/test-modem-helpers.c | 167 ++++++++++++++
 4 files changed, 521 insertions(+), 268 deletions(-)

commit 80703b667bbf8e23298e9d6bded3ef3250986cc9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 13 10:02:32 2019 +0200

    broadband-bearer: fix logic looking for unused CID

    When looking for the first unused CID, we should also consider those
    contexts defined with a different PDP type, not just the ones with the
    same PDP type.

 src/mm-broadband-bearer.c | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

commit e7881e4e29770b87e60cc633ee0980ce68f2e01f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 12 10:43:14 2019 +0200

    broadband-bearer: prefer unused CID to overwriting an existing one

    There are two places where we look for unused CIDs:

     * First, while processing the list of existing contexts returned by
       CGDCONT?, we look for gaps in the used CIDs. E.g. if the first
       context has CID=1 and the next one has CID=3, we can definitely use
       the unused CID=2.

     * Then, while processing the response of CGDCONT=?, we try to see
       whether there is any empty CID available after the last existing
       one found. E.g. if the last existing context has CID=3 and the
       format tells us that the max allowed CID is 16, we can definitely
       use the unused CID=4.

    In both these cases, we should prefer using such an unused CID found
    to overwriting other CIDs that are already defined.

    This logic will now overwrite existing CIDs only if there are no
    unused CIDs, and the preference to overwrite is as follows:

     * If there is any existing context defined without an explicit APN,
       overwrite it.

     * Otherwise, overwrite the last existing CID found.

     * And in the worst case, when no list of contexts was loaded
       properly (e.g. some Android phones don't allow querying), fallback
       to overwriting CID=1.

 src/mm-broadband-bearer.c | 116
 ++++++++++++++++++++++++++++------------------
 1 file changed, 71 insertions(+), 45 deletions(-)

commit e93b5c1c1f4f5afce4a3476c239e4d9aa15c9b32
Author: Matthew Starr <mstarr@hedonline.com>
Date:   Wed Jun 12 16:24:04 2019 -0500

    mm-broadband-bearer: fixed non-sequential CID selection

    When a modem reported back non-sequential CIDs, MM was using the next
    larger CID number after the last CID found.  In cases where the
    last CID
    found was the highest numbered CID allowed and is not a modifiable
    CID,
    MM would give up and fail to establish a data connection.

    The above issue occurs on u-blox TOBY-R200 modems as of firmware 30.33
    A02.02.  In this firmware version there are two default CIDs
    programmed
    into the modem, one at CID 1 and another at CID 31.  The CID at 31 is
    the highest CID number that can be used and cannot be modified.

    This change makes it so while parsing CIDs for a match, if a jump
    in CID
    numbers is detected, so not sequential, the first open CID will
    be used
    before using the max CID +1 or replacing the max CID.  If an exact
    match for IP type and APN is found, then that will still be used
    first.

 src/mm-broadband-bearer.c | 31 ++++++++++++++++++++++++++-----
 1 file changed, 26 insertions(+), 5 deletions(-)

commit 2ecb96b6adbc288df7c92eac9c87b1d8b1d7c49e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 13 16:32:56 2019 +0200

    telit: add LE922 port type hints

      P:  Vendor=1bc7 ProdID=1040 Rev=03.10
      S:  Manufacturer=Android
      S:  Product=Android
      S:  SerialNumber=2d9e48a4
      C:  #Ifs= 7 Cfg#= 1 Atr=80 MxPwr=500mA
      I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01
      Driver=(none)
      I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=qmi_wwan
      I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00
      Driver=option
      I:  If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00
      Driver=option
      I:  If#=0x5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00
      Driver=option
      I:  If#=0x6 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00
      Driver=option

 plugins/telit/77-mm-telit-port-types.rules | 7 +++++++
 1 file changed, 7 insertions(+)

commit 60d5aefa1b46e625075a9bf310e14a9230427641
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 13 16:35:37 2019 +0200

    broadband-modem: increase default CPIN? timeout

    The Telit LE922 seems to take just a bit more than 3s to reply. Let's
    increase it up to 10s to be on the safe side.

      <debug> [1568385270.124866] (ttyUSB3): --> 'AT+CPIN?<CR>'
      <debug> [1568385273.396659] Couldn't check if unlock required:
      'Serial command timed out'
      <warn>  [1568385273.396847] Modem couldn't be initialized: Couldn't
      check unlock status: Serial command timed out
      <info>  [1568385273.397009] Modem: state changed (unknown -> failed)
      <debug> [1568385273.397215] (ttyUSB3) device open count is 1 (close)
      <debug> [1568385273.397268] Creating ports context for SIM hot swap
      <debug> [1568385273.397289] (ttyUSB3) device open count is 2 (open)
      <debug> [1568385273.397309] (ttyUSB4) opening serial port...
      <debug> [1568385273.397676] (ttyUSB4): setting up baudrate: 57600
      <debug> [1568385273.397699] (ttyUSB4): no flow control explicitly
      requested for device
      <debug> [1568385273.397724] (ttyUSB4): port attributes not fully set
      <debug> [1568385273.397760] (ttyUSB4) device open count is 1 (open)
      <debug> [1568385273.397776] (ttyUSB4): running init sequence...
      <debug> [1568385273.397856] Extended signal information reporting
      disabled
      <debug> [1568385273.397927] Couldn't finish initialization in the
      current state: 'Modem is unusable, cannot fully initialize'
      <debug> [1568385273.398432] [device
      /sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.1]
      exported modem at path '/org/freedesktop/ModemManager1/Modem/0'
      <debug> [1568385273.398464] [device
      /sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.1]
      plugin:  Telit
      <debug> [1568385273.398484] [device
      /sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.1]
      vid:pid: 0x1BC7:0x1040
      <debug> [1568385273.398509] (ttyUSB3) device open count is 1 (close)
      <debug> [1568385273.398546] (ttyUSB4): --> 'ATE0<CR>'
      <debug> [1568385273.400412] (ttyUSB3): <-- '<CR><LF>+CPIN:
      READY<CR><LF><CR><LF>OK<CR><LF>'
      <debug> [1568385273.404870] (ttyUSB4): <-- '<CR><LF>OK<CR><LF>'

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 06b6d0ce100a55682a2ce47b33f78b2689a90738
Author: Matthew Starr <mstarr@hedonline.com>
Date:   Thu Sep 12 11:23:49 2019 -0500

    mm-broadband-bearer: Increase CGACT timeout on deactivation

    On u-blox modems it has been observed that attempting to force
    down the
    bearer when the modem had an active data connection, lost the
    connection
    but the bearer is still up, and the modem is searching for the
    network,
    ModemManager would timeout before the CGACT command could return.
    This
    can put the modem in a state where the ModemManager state does
    not match
    the modem's actual state of being connected.

    When deactivating the current active bearer, the timeout has been
    changed from 10 seconds to 45 seconds.  u-blox modems can take up
    to 40
    seconds to respond to deactivation requests through the AT+CGACT
    command according to the u-blox AT command reference.

 src/mm-broadband-bearer.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 51c4626471ce5ddf9035b0c7570141b12929a52d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 8 22:22:37 2019 +0200

    filter: update plugin whitelist logic to use 'allowed product ids'

    Several plugins define the specific device vid:pid pairs they
    support. Let's use this information as a direct indication that
    ModemManager can probe the devices.

 src/mm-filter.c         | 51
 +++++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-filter.h         |  7 +++++--
 src/mm-plugin-manager.c | 18 ++++++++++++++++-
 src/mm-plugin.c         |  6 ++++++
 src/mm-plugin.h         |  5 +++--
 5 files changed, 80 insertions(+), 7 deletions(-)

commit 0e02771e5cb185d8939930e65cc6e63ca226b6f7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 6 15:51:00 2019 +0200

    filter: require >1 port in devices with AT-capable ttyACMs

    Instead of blindly allowing to be probed all ttyACM ports that report
    them as AT-capable, we will now instead forbid all ttyACM ports that
    don't report themselves as AT-capable.

    Also, require the modem to expose other additional ports (of any kind
    usable by ModemManager) in addition to the AT-capable ttyACM port.

    This update should avoid automatically probing Arduino devices that
    wrongly report their exposed single ttyACM port as AT-capable.

    https://github.com/arduino/ArduinoCore-avr/pull/92
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/140
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/127
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=930264

 src/mm-filter.c | 59
 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 44 insertions(+), 15 deletions(-)

commit 2a8d20292abc55f28cc8b1d8218513626878a7d8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 10 15:57:49 2019 +0200

    port-serial: force-close the port if reopen fails

    If the reopening operation fails when attempting to recover the
    previous open count, it could mean the port is already gone. We didn't
    get a HUP in the TTY because the channel I/O monitoring isn't in place
    during this time, so this is the best way to detect that at this
    point.

    And if we do see an error, we'll flag the port as forced closed so
    that we do not attempt to reopen it again.

      ModemManager[4219]: <debug> [1568123246.421399] Disconnecting bearer
      '/org/freedesktop/ModemManager1/Bearer/0'
      ModemManager[4219]: <info>  [1568123246.421465] Modem
      /org/freedesktop/ModemManager1/Modem/0: state changed (connected
      -> disconnecting)
      ModemManager[4219]: <debug> [1568123246.421698] Reopening data port
      (modemu)...
      ModemManager[4219]: <debug> [1568123246.421722] (modemu) reopening
      port (2)
      ModemManager[4219]: <debug> [1568123246.421740] (modemu) device
      open count is 1 (close)
      ModemManager[4219]: <debug> [1568123246.421754] (modemu) device
      open count is 0 (close)
      ModemManager[4219]: <debug> [1568123246.421770] (modemu) closing
      serial port...
      ModemManager[4219]: <debug> [1568123246.421786] (modemu): port
      now disconnected
      ModemManager[4219]: <debug> [1568123246.421816] (modemu) serial
      port closed
      ModemManager[4219]: <info>  [1568123248.028573] (tty/modemu):
      released by device '/sys/devices/pci0000:00/0000:00:00.0'
      ModemManager[4219]: <debug> [1568123248.028637] Removing empty
      device '/sys/devices/pci0000:00/0000:00:00.0'
      ModemManager[4219]: <debug> [1568123248.028866] Removing from DBus
      bearer at '/org/freedesktop/ModemManager1/Bearer/0'
      ModemManager[4219]: <debug> [1568123248.028914] [device
      /sys/devices/pci0000:00/0000:00:00.0] unexported modem from path
      '/org/freedesktop/ModemManager1/Modem/0'
      ModemManager[4219]: <debug> [1568123248.028944] Periodic signal
      checks disabled
      ModemManager[4219]: <debug> [1568123256.401738] Connection
      monitoring is unsupported by the device
      ModemManager[4219]: <debug> [1568123256.422939] (modemu) opening
      serial port...
      ModemManager[4219]: <warn>  [1568123256.423062] (modemu) could
      not open serial device (2)
      ModemManager[4219]: <debug> [1568123256.423104] Couldn't disconnect
      bearer '/org/freedesktop/ModemManager1/Bearer/0': Couldn't reopen
      port (0): Could not open serial device modemu: No such file or
      directory
      ModemManager[4219]: _close_internal: assertion
      'self->priv->open_count > 0' failed

      Thread 1 "ModemManager" received signal SIGTRAP, Trace/breakpoint
      trap.
      0x00007ffff77894e6 in ?? () from /usr/lib/libglib-2.0.so.0
      (gdb)
      (gdb) bt
      #0  0x00007ffff77894e6 in  () at /usr/lib/libglib-2.0.so.0
      #1  0x00007ffff7789738 in g_logv () at /usr/lib/libglib-2.0.so.0
      #2  0x00007ffff777ff80 in g_log () at /usr/lib/libglib-2.0.so.0
      #3  0x0000555555661115 in _close_internal (self=0x555555796380,
      force=0) at mm-port-serial.c:1378
      #4  0x0000555555661865 in mm_port_serial_close (self=0x555555796380)
      at mm-port-serial.c:1503
      #5  0x00005555556078cc in ports_context_unref (ctx=0x5555557c4ca0)
      at mm-broadband-modem.c:9801
      #6  0x000055555560e33a in finalize (object=0x5555557a4250) at
      mm-broadband-modem.c:11940
      #7  0x00007ffff787b351 in g_object_unref () at
      /usr/lib/libgobject-2.0.so.0
      #8  0x00005555555b1c71 in detailed_disconnect_context_free
      (ctx=0x555555785000) at mm-broadband-bearer.c:1369
      #9  0x00007ffff795d62a in  () at /usr/lib/libgio-2.0.so.0
      #10 0x00007ffff787b351 in g_object_unref () at
      /usr/lib/libgobject-2.0.so.0
      #11 0x00005555555b2532 in data_reopen_3gpp_ready
      (data=0x555555796380, res=0x55555573a580, task=0x55555573a040)
      at mm-broadband-bearer.c:1605
      #12 0x00007ffff795d584 in  () at /usr/lib/libgio-2.0.so.0
      #13 0x00007ffff7962a87 in  () at /usr/lib/libgio-2.0.so.0
      #14 0x0000555555661bc6 in reopen_do (self=0x555555796380) at
      mm-port-serial.c:1607
      #15 0x00007ffff778e3c4 in  () at /usr/lib/libglib-2.0.so.0
      #16 0x00007ffff778ebb0 in g_main_context_dispatch () at
      /usr/lib/libglib-2.0.so.0
      #17 0x00007ffff7790b11 in  () at /usr/lib/libglib-2.0.so.0
      #18 0x00007ffff7791a63 in g_main_loop_run () at
      /usr/lib/libglib-2.0.so.0
      #19 0x000055555559afb0 in main (argc=3, argv=0x7fffffffea58)
      at main.c:181

 src/mm-port-serial.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

commit 25011ec733f75e4b4d4b8c4124428ab341d735a2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 10 15:29:03 2019 +0200

    port-serial: flash cancellation always completed in idle

    We cannot complete the flash task cancellation right away because this
    may be called from within _close_internal() during a forced port close
    after the TTY has gone, which would mean the object is fully disposed
    already after the flash cancellation has been requested.

    By making the task cancellation complete in idle, we're sure that
    there will be at least one reference valid (the one in the task)
    during the port close operation.

      ModemManager[25156]: <debug> [1568121341.696563] Modem (Generic)
      '/sys/devices/pci0000:00/0000:00:00.0' completely disposed
      **
      ERROR:mm-port-serial.c:2067:finalize: assertion failed:
      (self->priv->iochannel == NULL)

      (gdb) bt
      #0  0x00007ffff757c755 in raise () at /usr/lib/libc.so.6
      #1  0x00007ffff7567851 in abort () at /usr/lib/libc.so.6
      #2  0x00007ffff7741062 in  () at /usr/lib/libglib-2.0.so.0
      #3  0x00007ffff776d99d in g_assertion_message_expr () at
      /usr/lib/libglib-2.0.so.0
      #4  0x0000555555662f0a in finalize (object=0x55555577a380) at
      mm-port-serial.c:2067
      #5  0x0000555555664d81 in finalize (object=0x55555577a380) at
      mm-port-serial-at.c:632
      #6  0x00007ffff787b351 in g_object_unref () at
      /usr/lib/libgobject-2.0.so.0
      #7  0x00007ffff795d5eb in  () at /usr/lib/libgio-2.0.so.0
      #8  0x00007ffff787b351 in g_object_unref () at
      /usr/lib/libgobject-2.0.so.0
      #9  0x0000555555662126 in mm_port_serial_flash_cancel
      (self=0x55555577a380) at mm-port-serial.c:1747
      #10 0x0000555555661224 in _close_internal (self=0x55555577a380,
      force=1) at mm-port-serial.c:1397
      #11 0x000055555566197b in port_serial_close_force
      (self=0x55555577a380) at mm-port-serial.c:1526
      #12 0x000055555565fbe5 in common_input_available
      (self=0x55555577a380, condition=(G_IO_IN | G_IO_ERR | G_IO_HUP))
      at mm-port-serial.c:971
      #13 0x00005555556600c0 in iochannel_input_available
      (iochannel=0x55555578a0a0, condition=(G_IO_IN | G_IO_ERR |
      G_IO_HUP), data=0x55555577a380) at mm-port-serial.c:1073
      #14 0x00007ffff778ebb0 in g_main_context_dispatch () at
      /usr/lib/libglib-2.0.so.0
      #15 0x00007ffff7790b11 in  () at /usr/lib/libglib-2.0.so.0
      #16 0x00007ffff7791a63 in g_main_loop_run () at
      /usr/lib/libglib-2.0.so.0
      #17 0x000055555559afb0 in main (argc=3, argv=0x7fffffffea58)
      at main.c:181

 src/mm-port-serial.c | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

commit 7b3df735cdb905fe5edd9c5619a7463752561bb6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 8 23:17:08 2019 +0200

    tplink: new plugin

    Includes port type hints for the TP-Link MA260.

      P:  Vendor=2357 ProdID=9000 Rev=00.00
      S:  Manufacturer=TP-LINK, Incorporated
      S:  Product=TP-LINK HSPA+ Modem
      S:  SerialNumber=863745010845895
      C:  #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
      I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x2 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50
      Driver=usb-storage
      I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=qmi_wwan

 plugins/Makefile.am                          | 16 +++++
 plugins/tplink/77-mm-tplink-port-types.rules | 15 +++++
 plugins/tplink/mm-plugin-tplink.c            | 94
 ++++++++++++++++++++++++++++
 plugins/tplink/mm-plugin-tplink.h            | 40 ++++++++++++
 4 files changed, 165 insertions(+)

commit 1334f689e29adf45cd4681a08518e4fae360567b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 8 23:04:11 2019 +0200

    dlink: new plugin

    Includes port type hints for the D-Link DWM-222.

      P:  Vendor=2001 ProdID=7e35 Rev=02.28
      S:  Manufacturer=Mobile Connect
      S:  Product=Mobile Connect
      S:  SerialNumber=0123456789ABCDEF
      C:  #Ifs= 6 Cfg#= 1 Atr=80 MxPwr=500mA
      I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=option
      I:  If#=0x1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00
      Driver=option
      I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00
      Driver=option
      I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00
      Driver=option
      I:  If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff
      Driver=qmi_wwan
      I:  If#=0x5 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50
      Driver=usb-storage

 plugins/Makefile.am                        | 16 +++++
 plugins/dlink/77-mm-dlink-port-types.rules | 16 +++++
 plugins/dlink/mm-plugin-dlink.c            | 94
 ++++++++++++++++++++++++++++++
 plugins/dlink/mm-plugin-dlink.h            | 40 +++++++++++++
 4 files changed, 166 insertions(+)

commit f116fb4d1c401bb902fd66ae010b839500641825
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 10 15:38:20 2019 +0200

    base-bearer: include disconnection error message in log

 src/mm-base-bearer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 87224e083cfe08d629f8ebca86a6c9cb6c335ae2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 10 12:20:00 2019 +0200

    tests,helpers: minor indentation fix

 plugins/tests/test-helpers.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 141e69bc0078427dd2e92794593522606a23894f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 13 23:00:29 2019 +0200

    plugins,tests: setup new helper utilities for tests

    For now, including a handy method from the ublox tests that allows
    comparing arrays of bands that may not be sorted.

 plugins/Makefile.am                            | 18 +++++++--
 plugins/tests/test-helpers.c                   | 52
 ++++++++++++++++++++++++++
 plugins/tests/test-helpers.h                   | 26 +++++++++++++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 50
 ++++++++-----------------
 4 files changed, 107 insertions(+), 39 deletions(-)

commit edac8c37e8a63b68ca3ae9cbf866682f5769c4a2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 9 12:18:48 2019 +0200

    telit: add port type hints for the ME910 using the correct PID

 plugins/telit/77-mm-telit-port-types.rules | 5 +++++
 1 file changed, 5 insertions(+)

commit e6932c93363eedeb76b4694daa83e7ed2e5c4cfe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 9 12:17:22 2019 +0200

    Revert "telit: additional port type hints for the ME910"

    This reverts commit ef89dd154bdeda1c727190ea8b7c66766659f919.

    The PID of the ME910 is 1101, not 1011... :D

 plugins/telit/77-mm-telit-port-types.rules | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit c1257579f84b1d353d515e11d2e1ac9130d0ad72
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 6 15:13:49 2019 +0200

    filter: new plugin whitelist logic

    Several plugins define specific udev tags that must be available in
    the device in order for the plugins to use them. Let's use these tags
    as a direct indication that ModemManager can probe the devices.

    In particular, this change would make all Ericsson MBM modems probed
    right away also in STRICT filter mode, without needing to check the
    ttyACM interface type or the available net ports.

 src/mm-filter.c         | 49
 ++++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-filter.h         | 34 ++++++++++++++++++++++------------
 src/mm-plugin-manager.c | 18 ++++++++++++++++++
 src/mm-plugin.c         |  6 ++++++
 src/mm-plugin.h         |  3 ++-
 5 files changed, 96 insertions(+), 14 deletions(-)

commit a45508ba40fd6d1b76493cbe12b4e58a314938c4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 6 15:06:37 2019 +0200

    plugin: minor coding style update

 src/mm-plugin.h | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit cc5880898c4d06c3a7791e8355b63936f6cfe8e7
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 4 10:37:39 2019 -0700

    decode: untabify

 decode/packet.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 65f26b3875c690a544a52efe46d4d571370bba94
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 4 10:35:52 2019 -0700

    README: fix typo

 README | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit f684c7130a71a2112eac7ee8fe6b952a667279c7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 4 14:16:08 2019 +0200

    port-serial: don't assume connected_id signal handler is always
    connected

    If the signal is automatically disconnected during object disposal, we
    shouldn't explicitly try to disconnect it ourselves during finalize().

    Reported by: Lubomir Rintel <lkundrak@v3.sk>

 src/mm-port-serial.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit f6d5490eebd22d2ce679442b03a72e110d113fa9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 7 15:13:00 2019 +0200

    udev: remove ID_MM_PLATFORM_DRIVER_PROBE tag

    This tag is completely redundant because users can whitelist the
    platform TTY ports to use with the more generic ID_MM_DEVICE_PROCESS
    tag, which is part of the explicit whitelist filter rule.

 docs/reference/api/ModemManager-overview.xml |  8 +-------
 docs/reference/api/ModemManager-sections.txt |  1 -
 include/ModemManager-tags.h                  | 16 ----------------
 src/mm-filter.c                              |  8 ++------
 4 files changed, 3 insertions(+), 30 deletions(-)

commit 118b19bb751cfd7821b95528cc18483c7285465f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 7 14:59:54 2019 +0200

    udev: rename ID_MM_DEVICE_MANUAL_SCAN_ONLY to
    ID_MM_TTY_MANUAL_SCAN_ONLY

    The udev tag that allows flagging devices that MAY be modems
    (e.g. USB<->RS232 adapters) is only applicable to TTY devices, so
    explicitly specify that in the tag name as well.

 docs/reference/api/ModemManager-overview.xml |  2 +-
 docs/reference/api/ModemManager-sections.txt |  2 +-
 include/ModemManager-tags.h                  |  4 +--
 src/77-mm-usb-serial-adapters-greylist.rules | 38
 ++++++++++++++--------------
 src/mm-filter.c                              |  4 +--
 5 files changed, 25 insertions(+), 25 deletions(-)

commit 250639e3da531dd91a99950614f95b7227bc84c0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 7 14:35:31 2019 +0200

    udev: repurpose ID_MM_DEVICE_IGNORE and new
    MM_FILTER_RULE_EXPLICIT_BLACKLIST

    Until now the ID_MM_DEVICE_IGNORE udev tag was being used in the
    internal blacklist of devices shipped by ModemManager when running in
    either DEFAULT or PARANOID filter modes. The name of the tag is
    extremely misleading because it doesn't really make the full device be
    ignored, the tag only applied to TTY ports.

    This commit repurposes the tag so that it applies to ANY kind of
    port (e.g. TTY, NET, cdc-wdm...) and also to any kind of filter type
    (i.e. also applicable in STRICT mode).

    The internal blacklist shipped by ModemManager, which should NOT be
    used in STRICT mode, uses a new tag name, ID_MM_TTY_BLACKLIST.

    The new ID_MM_DEVICE_IGNORE tag is therefore much more usable and its
    name is really meaningful. If there are users or third-party projects
    adding their own udev rules with the ID_MM_DEVICE_IGNORE tag name,
    they should have no problem as the new rule is more restrictive than
    the old one.

 docs/reference/api/ModemManager-overview.xml |  23 +++-
 docs/reference/api/ModemManager-sections.txt |   3 +-
 include/ModemManager-tags.h                  |  20 +++-
 src/77-mm-pcmcia-device-blacklist.rules      |   2 +-
 src/77-mm-usb-device-blacklist.rules         | 162
 +++++++++++++--------------
 src/mm-filter.c                              |  12 +-
 src/mm-filter.h                              |  29 +++--
 7 files changed, 150 insertions(+), 101 deletions(-)

commit 07c8a2b4f6366f3f9d9e7c5771a7e75caa95ae20
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 29 10:51:23 2019 -0700

    base-sim: avoid unnecessary MM_BASE_MODEM() call on MMBaseModem object

    The 'modem' field in _MMBaseSimPrivate is already a MMBaseModem
    object.

 src/mm-base-sim.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit b954f4760a2ef9f289f5ccc08644db3c5d1cad73
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 22 22:15:52 2019 +0200

    quectel: allow tty-only devices

 plugins/quectel/mm-plugin-quectel.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit ee8695178d8176d5e1e3e7c38a0b5a2cfa96b4ad
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 28 16:35:22 2019 -0700

    docs: untabify

 docs/reference/api/ModemManager-docs.xml      | 28
 +++++++++++++--------------
 docs/reference/libmm-glib/libmm-glib-docs.xml | 14 +++++++-------
 2 files changed, 21 insertions(+), 21 deletions(-)

commit 6f0c72e4f297a3fa2ac4eb3f32a1b83b228845b9
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 28 16:33:54 2019 -0700

    introspection: untabify

 introspection/org.freedesktop.ModemManager1.Call.xml     |  8 ++++----
 .../org.freedesktop.ModemManager1.Modem.Voice.xml        | 12
 ++++++------
 introspection/org.freedesktop.ModemManager1.Modem.xml    | 16
 ++++++++--------
 introspection/org.freedesktop.ModemManager1.Sms.xml      |  4 ++--
 4 files changed, 20 insertions(+), 20 deletions(-)

commit c1982ffcbc2a5470d4a1df6c4f6aeb5023b83b92
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 29 13:44:02 2019 +0200

    broadband-modem: remove unused contacts interface logic

 src/mm-broadband-modem.c | 15 ---------------
 1 file changed, 15 deletions(-)

commit ae55fbf96401e5da31887ddab22f961cf18fed32
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 28 18:10:48 2019 +0200

    mmcli: coding style fixes in the new JSON output support

 cli/mmcli-output.c | 83
 +++++++++++++++++++++++++++++++-----------------------
 cli/mmcli.c        | 11 ++++++--
 2 files changed, 57 insertions(+), 37 deletions(-)

commit d1ac5ca16bfbc2475eb379b48e981e035f908b50
Author: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
Date:   Thu Aug 8 11:12:33 2019 +0300

    mmcli: add json output support

    Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>

 cli/mmcli-output.c | 119
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli-output.h |   1 +
 cli/mmcli.c        |  16 +++++--
 3 files changed, 133 insertions(+), 3 deletions(-)

commit b0ec3030a3e5519d75c2268fa20062edd2dacf4e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 26 09:07:35 2019 +0200

    sierra: add port type hints for the MC74xx modules

    As suggested by Paul Bartell <paul.bartell@gmail.com>

 plugins/sierra/77-mm-sierra.rules | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

commit 5efa15b83f5c7b6a84b1cd92e90a4a820e0d280f
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 20 13:39:29 2019 -0700

    broadband-modem-mbim: fix potential dereference of null GByteArray

    ussd_decode() expects a non-null GByteArray while
    process_ussd_message()
    could potentially passes a null GByteArray to ussd_decode(). This
    patch fixes the issue by having process_ussd_message() always
    creates a
    GByteArray.

 src/mm-broadband-modem-mbim.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit f2c878e79661af660d5a5c9e2a820a2b682ef39e
Author: Reinhard Speyerer <rspmn@arcor.de>
Date:   Mon Aug 19 16:31:23 2019 +0200

    mm-modem-helpers-qmi: avoid SIGSEGV with mmcli --set-current-bands

    For devices which do not provide feature_extended_lte_band_preference
    mm_modem_bands_to_qmi_band_preference() gets called from
    mm_shared_qmi_set_current_bands() with extended_qmi_lte_bands
    set to NULL which may cause a SIGSEGV in the memset() call in
    mm_modem_bands_to_qmi_band_preference().

    Avoid this by checking whether extended_qmi_lte_bands is non-NULL
    before calling memset().

    Reported-by: Nick <mips171@icloud.com>

 src/mm-modem-helpers-qmi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit e78ef2a67f8296f252e59fb042d27288763d5b4b
Author: Reinhard Speyerer <rspmn@arcor.de>
Date:   Sat Aug 17 22:43:30 2019 +0200

    mm-modem-helpers-qmi: add missing LTE bands to nas_lte_bands_map

    Add the missing QMI LTE bands 26 to 32 to nas_lte_bands_map to
    make them
    usable in ModemManager.

 src/mm-modem-helpers-qmi.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 53d24775779b7566b64048f427bd65709185596c
Author: Reinhard Speyerer <rspmn@arcor.de>
Date:   Sat Aug 17 18:48:14 2019 +0200

    mm-modem-helpers-qmi: add missing LTE bands to dms_lte_bands_map

    Add the missing QMI LTE bands 26 to 32 to dms_lte_bands_map to
    make them
    usable in ModemManager.

 src/mm-modem-helpers-qmi.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 5f29bd64de8127cb326488d68a2a2b64a45e1f45
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 1 09:27:27 2019 +0200

    base-bearer: if method is PPP, require explicit bearer disconnection

    Never automatically flag the bearer as disconnected if it's using PPP,
    because we could end up using the TTY at the same time as pppd, with
    the wrong CLOCAL settings.

    So, whenever we detect that the bearer requires PPP, we will ignore
    all disconnection reports generated by ModemManager itself.

 src/mm-base-bearer.c | 52
 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 50 insertions(+), 2 deletions(-)

commit c6cf7cf094f9974e8f5b9d3640e7d34ebc2a0482
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Aug 3 09:12:57 2019 -0700

    libmm-glib,firmware-update-settings: handle null self pointer

    mm_firmware_update_settings_get_variant() checks for a null `self'
    pointer when accessing `self->priv->method', but doesn't perform the
    null check when accessing other members of
    MMFirmwareUpdateSettingsPrivate.

    This patch fixes mm_firmware_update_settings_get_variant() to fully
    handle a null `self' pointer.

 libmm-glib/mm-firmware-update-settings.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ee63bf40331349b68d3c7c1f875745042953dc8f
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Aug 2 20:02:49 2019 -0700

    cinterion: fix memory leak in common_test_ctzu_urc()

 plugins/cinterion/tests/test-modem-helpers-cinterion.c | 1 +
 1 file changed, 1 insertion(+)

commit 13cf94a187f1de53f29c6cf65dc5c1b895cd01d1
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Aug 2 09:40:30 2019 -0700

    iface-modem-firmware: remove explicit GDestroyNotify cast on g_free

    g_free is in form of  `void (*)(gpointer)`, which matches the
    GDestroyNotify signature. An explicit GDestroyNotify cast on g_free is
    thus not needed.

 src/mm-iface-modem-firmware.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c363c598403857b869bd84e68d0fa247dfa90bef
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Aug 2 09:35:00 2019 -0700

    charsets: use `G_N_ELEMENTS (t)' instead of `sizeof (t) / sizeof
    (t[0])'

 src/mm-charsets.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c61bd846f35287558da57e6f188176f516327627
Author: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
Date:   Wed Jul 24 10:46:47 2019 +0200

    quectel: Add port type hints for the Quectel EG91

    Signed-off-by: Sven Schwermer
    <sven.schwermer@disruptive-technologies.com>

 plugins/quectel/77-mm-quectel-port-types.rules | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

commit bf54159e930d9cb3749ecfb3c1476c2737d540c4
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 31 22:25:22 2019 -0700

    test: untabify

 plugins/generic/tests/test-service-generic.c |   2 +-
 test/lsudev.c                                | 200
 +++++++++++++--------------
 test/mmsmspdu.c                              |  18 +--
 3 files changed, 110 insertions(+), 110 deletions(-)

commit 500844af73a9a707794fc0694218d80f0514d2b8
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jul 26 17:04:30 2019 -0700

    shared-qmi: fix potentially uninitialized 'mcc' variable

    mm-shared-qmi.c:358:9: error: variable 'mcc' is used uninitialized
    whenever '&&' condition is false [-Werror,-Wsometimes-uninitialized]
        if (operator_id && !mm_3gpp_parse_operator_id (operator_id,
        &mcc, &mnc, &error)) {
            ^~~~~~~~~~~
    mm-shared-qmi.c:367:9: note: uninitialized use occurs here
        if (mcc) {
            ^~~
    mm-shared-qmi.c:358:9: note: remove the '&&' if its condition is
    always true
        if (operator_id && !mm_3gpp_parse_operator_id (operator_id,
        &mcc, &mnc, &error)) {
            ^~~~~~~~~~~~~~
    mm-shared-qmi.c:339:51: note: initialize the variable 'mcc' to
    silence this warning
        guint16                                    mcc;
                                                      ^
                                                       = 0

 src/mm-shared-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d7696d8ec1ae33cc202fc112949f487ec7002111
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 21 22:17:48 2019 +0200

    iface-modem: don't assume that setting modes is immediate

    The modem may take the request to set modes and reply right away with
    a success before actually changing the current modes in use.

    Therefore, If we reload modes right after we receive the set response,
    we may still see the old modes instead of the new ones. Try to avoid
    this, by reloading current modes a couple of times after we have set
    them if they are not yet the expected ones.

 src/mm-iface-modem.c | 104
 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 91 insertions(+), 13 deletions(-)

commit f1dcc71e7126ffbf00356c76257e578401f517be
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 21 11:22:30 2019 +0200

    iface-modem: don't assume that setting bands is immediate

    The modem may take the request to set bands and reply right away with
    a success before actually changing the current bands in use.

    Therefore, If we reload bands right after we receive the set response,
    we may still see the old band mask instead of the new one. Try to
    avoid this, by reloading current bands a couple of times after we have
    set them if the band mask is not the expected one.

 src/mm-iface-modem.c | 133
 ++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 101 insertions(+), 32 deletions(-)

commit f39dbe72e5fceacd9a45f48049b14f734f515ee3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 15 17:13:21 2019 +0200

    broadband-modem,voice: implement call waiting status setup/query
    with +CCWA

 src/mm-broadband-modem.c       | 72
 ++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.c         | 79
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |  6 ++++
 src/tests/test-modem-helpers.c | 58 +++++++++++++++++++++++++++++++
 4 files changed, 215 insertions(+)

commit 9263e79dc341f7b698721d859ed6a4141718e9f6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 15 16:04:58 2019 +0200

    api,voice: new CallWaitingSetup() and CallWaitingQuery() methods

    These new methods allow querying and updating the status of the call
    waiting network service, as per 3GPP TS 22.083.

    The status of the service is not a property because we don't want to
    unconditionally load it on every boot, given that the process involves
    talking to the network (i.e. it is not a device setting).

 cli/mmcli-modem-voice.c                            | 130 ++++++++++++-
 .../org.freedesktop.ModemManager1.Modem.Voice.xml  |  26 +++
 libmm-glib/mm-modem-voice.c                        | 169 ++++++++++++++++
 libmm-glib/mm-modem-voice.h                        |  26 +++
 src/mm-iface-modem-voice.c                         | 214
 ++++++++++++++++++++-
 src/mm-iface-modem-voice.h                         |  18 ++
 6 files changed, 575 insertions(+), 8 deletions(-)

commit 0c921bbc94b466464b97f33d7f54c64c768402eb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 16 10:29:27 2019 +0200

    sms: initialize common fields early for multipart messages

    Do not wait until all parts are received in order to initialize all
    fields that are common to all parts in the SMS message, do it as soon
    as the first part is received.

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/137

 src/mm-base-sms.c | 77
 +++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 49 insertions(+), 28 deletions(-)

commit 756480de6a0a46098b6326ef799920a134a2edec
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 17 09:36:37 2019 +0200

    test: new 'mmsmsmonitor' tool to monitor SMS messages

    The tool monitors SMS message additions and SMS state updates, e.g.:

      $ sudo ./test/mmsmsmonitor
      [/org/freedesktop/ModemManager1/SMS/0] sms found: received
      [/org/freedesktop/ModemManager1/SMS/1] sms found: received
      [/org/freedesktop/ModemManager1/SMS/2] sms found: received
      [/org/freedesktop/ModemManager1/SMS/3] sms found: received
      [/org/freedesktop/ModemManager1/SMS/4] sms found: received
      [/org/freedesktop/ModemManager1/SMS/5] sms found: received
      [/org/freedesktop/ModemManager1/SMS/6] sms found: received
      [/org/freedesktop/ModemManager1/SMS/7] new sms: receiving
      [/org/freedesktop/ModemManager1/SMS/7] sms updated: received

 .gitignore          |   1 +
 test/Makefile.am    |  25 +++++++
 test/mmsmsmonitor.c | 195
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 221 insertions(+)

commit 4a4779729af1cb93437f5ccb1fa7eac775b049b2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 15 13:43:37 2019 +0200

    test: new 'mmsmspdu' tool to parse PDUs given in hex

 .gitignore       |   1 +
 test/Makefile.am |  25 ++++++
 test/mmsmspdu.c  | 233
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 259 insertions(+)

commit 5a25776807081fc83b89781de5fba8325862daca
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 15 13:42:45 2019 +0200

    sms-list: improve logging of multipart related fields

    We were not logging anywhere the "concat max" field for example.

 src/mm-sms-list.c | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

commit 22afa8a74e959642e664806cf8d8e6bd896bfa2f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 12 10:45:46 2019 +0200

    shared-qmi: monitor attempt after NAS initiate network register

    The QMI NAS Initiate Network Register command will return a successful
    response when the request to register is received and accepted by the
    module, but this does not mean the requested registration has been
    completed yet.

    This issue was making e.g. manual registration attempts to a forbidden
    network report success right away, even if the actual registration
    would end up failing.

    In order to avoid that, the QMI based network registration relies on
    receiving QMI NAS Serving System indications after QMI NAS Initiate
    Network Register replies. As soon as we get a non-searching
    registration state in the indication, we'll report the operation as
    successful.

    Note that the 3GPP interface logic is anyway in charge of checking
    if the specific request was successful or not, no need to do that
    explicitly in the QMI implementation.

 src/mm-shared-qmi.c | 170
 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 162 insertions(+), 8 deletions(-)

commit 417c0ed882847f2258d2c07aa210b4ad2abc5ac5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 12 09:38:54 2019 +0200

    iface-modem-3gpp: denied if all reg states idle except for one

    If there is one registration state which is denied and the remaining
    ones are either unknown or idle, then report denied.

 src/mm-iface-modem-3gpp.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

commit e9f5700d5f40f3a27f1563aaf4fbaecd3f585a19
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 12 00:06:44 2019 +0200

    iface-modem-3gpp: make registered state checking a macro

 src/mm-iface-modem-3gpp.c | 27 ++++++++++++---------------
 1 file changed, 12 insertions(+), 15 deletions(-)

commit d9615bfc2e838dc1394fbf84c23e96623c0902ca
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 12 00:04:08 2019 +0200

    iface-modem-3gpp: log how the consolidated registration state is built

 src/mm-iface-modem-3gpp.c | 72
 ++++++++++++++++++++++++++++++++---------------
 1 file changed, 50 insertions(+), 22 deletions(-)

commit ef89dd154bdeda1c727190ea8b7c66766659f919
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 13 22:35:07 2019 +0200

    telit: additional port type hints for the ME910

 plugins/telit/77-mm-telit-port-types.rules | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 8c8e0e8805db59f999f8d84a7d8a3fa8c22a3269
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 12 11:31:04 2019 +0200

    voice,call,cinterion: add Purism as copyright holder

    The GSM supplementary services related changes, as well as the rework
    done to manage calls per call id, is copyrighted by Purism SPC.

 introspection/org.freedesktop.ModemManager1.Call.xml        | 1 +
 introspection/org.freedesktop.ModemManager1.Modem.Voice.xml | 1 +
 plugins/cinterion/mm-modem-helpers-cinterion.c              | 5 +++--
 plugins/cinterion/mm-modem-helpers-cinterion.h              | 5 +++--
 plugins/cinterion/mm-shared-cinterion.c                     | 1 +
 plugins/cinterion/mm-shared-cinterion.h                     | 1 +
 src/mm-base-call.c                                          | 1 +
 src/mm-base-call.h                                          | 1 +
 src/mm-broadband-modem.c                                    | 3 ++-
 src/mm-iface-modem-voice.c                                  | 3 ++-
 src/mm-iface-modem-voice.h                                  | 3 ++-
 11 files changed, 18 insertions(+), 7 deletions(-)

commit d833b8644c67ecbacb677e31e29aea67b051f258
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 9 13:55:51 2019 +0200

    cinterion: setup/cleanup time unsolicited events

    We will parse +CTZU URCs, which end up getting in the way of other
    commands if we don't process them.

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/135

 plugins/cinterion/mm-broadband-modem-cinterion.c   |  21 +++
 .../cinterion/mm-broadband-modem-qmi-cinterion.c   |  23 ++-
 plugins/cinterion/mm-shared-cinterion.c            | 195
 ++++++++++++++++++++-
 plugins/cinterion/mm-shared-cinterion.h            |  26 ++-
 4 files changed, 262 insertions(+), 3 deletions(-)

commit fe11a3fa1f96471c335e007b45508f0ca3642aca
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 9 13:55:24 2019 +0200

    cinterion: new +CTZU URC parser

 plugins/cinterion/mm-modem-helpers-cinterion.c     | 70
 ++++++++++++++++++++++
 plugins/cinterion/mm-modem-helpers-cinterion.h     | 11 ++++
 .../cinterion/tests/test-modem-helpers-cinterion.c | 65
 ++++++++++++++++++++
 3 files changed, 146 insertions(+)

commit b9a3290871166a7044d9db2f701e36cccc20d13f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 9 13:54:42 2019 +0200

    iface-modem-time: allow updating network timezone via URCs

 src/mm-iface-modem-time.c | 21 +++++++++++++++++++++
 src/mm-iface-modem-time.h |  6 ++++--
 2 files changed, 25 insertions(+), 2 deletions(-)

commit 63ccd363615a678c0cd86ce65e030b1a70df9bb5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 8 22:44:33 2019 +0200

    huawei: cleanup/setup voice unsolicited events

 plugins/huawei/mm-broadband-modem-huawei.c | 94
 ++++++++++++++++++++++++++++++
 1 file changed, 94 insertions(+)

commit 4c2aa2b54e011e3f05fcb637952ee017cc242543
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 18:59:03 2019 +0200

    base-call: use g_object_connect() to connect all handlers

 src/mm-base-call.c | 35 ++++++++---------------------------
 1 file changed, 8 insertions(+), 27 deletions(-)

commit 272abc6394ae4dc29d8a3ac2d38e5943a9347f05
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 18:56:54 2019 +0200

    iface-modem-voice: use g_object_connect() to connect all handlers

 src/mm-iface-modem-voice.c | 41 ++++++++++-------------------------------
 1 file changed, 10 insertions(+), 31 deletions(-)

commit 148466f7680c287d4b7c8204203c3292a6250de4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 18:19:18 2019 +0200

    broadband-modem: implement LeaveMultiparty() with +CHLD=2x

 src/mm-broadband-modem.c | 57
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

commit 75d2431f960318c2f8b87ee821056bb38336cb16
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 18:19:09 2019 +0200

    broadband-modem: implement JoinMultiparty() with +CHLD=3

 src/mm-broadband-modem.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit 511b0ff2442f26257be442963ac833f5ba06f80c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 17:53:25 2019 +0200

    api,call: new JoinMultiparty() and LeaveMultiparty() methods

 cli/mmcli-call.c                                   | 106 ++++++++
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  14 +
 .../org.freedesktop.ModemManager1.Call.xml         |  27 ++
 libmm-glib/mm-call.c                               | 150 +++++++++++
 libmm-glib/mm-call.h                               |  25 ++
 src/mm-base-call.c                                 | 159 ++++++++++++
 src/mm-iface-modem-voice.c                         | 282
 +++++++++++++++++++++
 src/mm-iface-modem-voice.h                         |  38 +++
 8 files changed, 801 insertions(+)

commit 6f235192393fbc345bf79bcf8205d7279f584f91
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 14:52:00 2019 +0200

    iface-modem-voice: disable special terminated match on multiparty
    calls

 src/mm-iface-modem-voice.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit 213c60b76d1c0455a4f95b927514de2ef1388ed5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 14:38:49 2019 +0200

    api,call: new Multiparty boolean property

    It will be set to TRUE if this call is part of a multiparty call.

 cli/mmcli-call.c                                   |  1 +
 cli/mmcli-output.c                                 |  1 +
 cli/mmcli-output.h                                 |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  3 +++
 .../org.freedesktop.ModemManager1.Call.xml         |  7 ++++++
 libmm-glib/mm-call.c                               | 18 ++++++++++++++
 libmm-glib/mm-call.h                               |  2 ++
 src/mm-base-call.c                                 | 13 ++++++++++
 src/mm-base-call.h                                 | 29
 ++++++++++++----------
 9 files changed, 62 insertions(+), 13 deletions(-)

commit 8bc38110c98566955de89b3af57910cedaedbf68
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 14:30:27 2019 +0200

    base-call: remove in-call event and audio settings logic

    The in-call unsolicited events and the in-call audio settings are
    managed exclusively at modem level, and no longer at call object
    level. This is because these two things are applicable to all calls
    that may be active at the same time.

 src/mm-base-call.c | 250
 ++++++-----------------------------------------------
 src/mm-base-call.h |  22 -----
 2 files changed, 25 insertions(+), 247 deletions(-)

commit 73096c0596b6b56dd95081ac0d78b2cc59d53267
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 14:29:35 2019 +0200

    broadband-modem: setup in-call unsolicited event handling

    The in-call handlers will monitor events that report the call being
    terminated.

 src/mm-broadband-modem.c | 93
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

commit 24c0c7aa6b027911a30c9b1cd9784ad221abac5d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 13:43:00 2019 +0200

    huawei: audio channel setup at modem-level

    The audio channel setup is shared between all ongoing calls, so it is
    a modem-level feature, not specific to a single call.

 plugins/Makefile.am                        |   2 -
 plugins/huawei/mm-broadband-modem-huawei.c | 107 ++++++++++--
 plugins/huawei/mm-call-huawei.c            | 261
 -----------------------------
 plugins/huawei/mm-call-huawei.h            |  55 ------
 4 files changed, 93 insertions(+), 332 deletions(-)

commit b7fa4e3661075ad8c9585e2b17c6738f63e83e60
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 13:25:09 2019 +0200

    base-call: allow updating audio settings from out of the call object

    E.g. if we want the modem-level in-call state management to provide
    what audio settings are expected in all ongoing calls.

 src/mm-base-call.c | 14 +++++++-------
 src/mm-base-call.h |  4 ++++
 2 files changed, 11 insertions(+), 7 deletions(-)

commit 12bad162e384e0d4a7217d40c5fcfc2189741b48
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 12:38:03 2019 +0200

    huawei: voice-related URCs are not in-call

    The URCs report the specific call index they apply to, so they should
    be managed by the modem object and reported to the Voice interface.

 plugins/huawei/mm-broadband-modem-huawei.c | 233
 ++++++++++++++++++++++++++---
 plugins/huawei/mm-call-huawei.c            | 188 +----------------------
 2 files changed, 212 insertions(+), 209 deletions(-)

commit ee2f3fb904688f07593122ad1e798166735f253f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 12:20:51 2019 +0200

    iface-modem-voice: allow reporting received DTMF by call index

    If the URC reporting the DTMF does not specify the call index,
    mark it as received in all active ones.

 src/mm-iface-modem-voice.c | 41 +++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-voice.h |  5 +++++
 2 files changed, 46 insertions(+)

commit fca8955721e6c8c535c120c7483e86d332093b4f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 11:20:45 2019 +0200

    ublox: +UCALLSTAT as device-level URC, not in-call

    +UCALLSTAT is used to report the state of specific calls by index, and
    therefore this is not an in-call URC.

 plugins/Makefile.am                      |   2 -
 plugins/ublox/mm-broadband-modem-ublox.c | 191
 +++++++++++++++++++++++++++++-
 plugins/ublox/mm-call-ublox.c            | 194
 -------------------------------
 plugins/ublox/mm-call-ublox.h            |  50 --------
 4 files changed, 187 insertions(+), 250 deletions(-)

commit 55e37a6836a358e60a67b0aff3dfea77c1c78f30
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 10:56:18 2019 +0200

    iface-modem-voice: allow reporting state updates of any single call

    Instead of providing a method to exclusively provide incoming call
    updates, make it more generic so that we allow plugins to provide
    state updates for any kind of call, not just incoming ones.

    The logic to match the call info provided by URCs is updated so that
    it can be reused also by the single call reports, in addition to the
    full call list reports.

 src/mm-broadband-modem.c   |  65 +++++++++-----
 src/mm-iface-modem-voice.c | 220
 +++++++++++++++++++++++++++++++--------------
 src/mm-iface-modem-voice.h |   7 +-
 3 files changed, 202 insertions(+), 90 deletions(-)

commit 86aeb84f950c3b3e3be63c8920e63877a9c622f2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 1 20:52:56 2019 +0200

    iface-modem-voice: handle in-call state at modem level

    We cannot handle in-call state at call level because the state may
    apply to multiple active calls at the same time:
     * the modem is in-call if there is at least one ongoing call (>=1).
     * the modem is not in-call if there are no ongoing calls (==0).

    The new logic implements call state monitoring for all available call
    objects, and whenever the state of one or more calls change, we'll go
    over all of them to see how many of the calls can be considered to be
    ongoing (i.e. not terminated, not unknown). If we have at least one
    call ongoing, we'll setup the in-call state and otherwise, we'll clean
    it up.

    Setting up and cleaning up the in-call state involves unsolicited
    message and audio channel settings management operations.

 src/mm-iface-modem-voice.c | 577
 ++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem-voice.h |  34 +++
 2 files changed, 609 insertions(+), 2 deletions(-)

commit de2c24ec440c0a9f618f6c83b34a8bdf67d10fc2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 1 20:52:40 2019 +0200

    call-list: allow getting call object by DBus path

 src/mm-call-list.c | 13 +++++++++++++
 src/mm-call-list.h |  3 +++
 2 files changed, 16 insertions(+)

commit 13b4c9f6ac91baa89a37135cef40b04d2ad2ca1b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 1 15:52:41 2019 +0200

    iface-modem-voice: minor logging update

 src/mm-iface-modem-voice.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

commit df8918ff8c0668068eb1244921092d885439af6c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 1 15:25:24 2019 +0200

    base-call: implement Deflect() with +CTFR

 src/mm-base-call.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

commit 222874299eb16cba8e71ff2b4152d364615f2235
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 1 15:21:18 2019 +0200

    api,call: new Deflect() method

    This method allows deflecting an incoming or waiting call to a
    different number.

 cli/mmcli-call.c                                   |  65 +++++++++++-
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   7 ++
 include/ModemManager-enums.h                       |   2 +
 .../org.freedesktop.ModemManager1.Call.xml         |  15 +++
 libmm-glib/mm-call.c                               |  85 ++++++++++++++++
 libmm-glib/mm-call.h                               |  15 +++
 src/mm-base-call.c                                 | 111
 +++++++++++++++++++++
 src/mm-base-call.h                                 |   9 ++
 8 files changed, 304 insertions(+), 5 deletions(-)

commit 81f1483eecb26ff16576e28a7058b37f095584c1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 27 14:51:50 2019 +0200

    broadband-modem: implement Transfer() with +CHLD=4

 src/mm-broadband-modem.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit 8b01958cb4f1060c9cda114228168be32090c639
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 27 14:50:00 2019 +0200

    api,voice: new Transfer() method

    This method will join all active and held calls into a single
    multiparty call, and then request the network to terminate the call on
    the subscriber's end and transfer the control of the call to the
    parties that are still in the call.

 cli/mmcli-modem-voice.c                            |  51 +++++++-
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   7 ++
 include/ModemManager-enums.h                       |   4 +-
 .../org.freedesktop.ModemManager1.Modem.Voice.xml  |  11 ++
 libmm-glib/mm-modem-voice.c                        |  79 ++++++++++++
 libmm-glib/mm-modem-voice.h                        |  11 ++
 src/mm-iface-modem-voice.c                         | 135
 +++++++++++++++++++++
 src/mm-iface-modem-voice.h                         |   8 ++
 8 files changed, 304 insertions(+), 2 deletions(-)

commit 7ceac6f789e4ae65f1c38166f30a906751023aa6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 27 14:30:34 2019 +0200

    broadband-modem: implement HangupAll() with +CHUP

 src/mm-broadband-modem.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit efcc4c60fedf018ebeb0e34b395365caa36c7cae
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 27 14:25:14 2019 +0200

    api,voice: new HangupAll() method

    This method will terminate all ongoing calls.

 cli/mmcli-modem-voice.c                            |  51 ++++++-
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   7 +
 .../org.freedesktop.ModemManager1.Modem.Voice.xml  |  12 ++
 libmm-glib/mm-modem-voice.c                        |  79 ++++++++++
 libmm-glib/mm-modem-voice.h                        |  11 ++
 src/mm-iface-modem-voice.c                         | 159
 +++++++++++++++++++++
 src/mm-iface-modem-voice.h                         |   8 ++
 7 files changed, 326 insertions(+), 1 deletion(-)

commit f065105f1740885e11311be8f4e9dcbcfff0a84b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 27 14:12:10 2019 +0200

    broadband-modem: implement HoldAndAccept() with +CHLD=2

 src/mm-broadband-modem.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit c713c2c5f9ef8b1e674833932e9b91fbcca97050
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 27 14:03:19 2019 +0200

    api,voice: new HoldAndAccept() method

    This method will put the currently active call on hold, and right away
    accept the next available call.

    The user of the API does not need to specify explicitly which is the
    next call to accept, because that is decided automatically:
      * If there is any waiting call, it will accept it right away.
      * If there is no waiting call but there is a held call, it will make
      the held call active again.

 cli/mmcli-modem-voice.c                            |  49 +++++++
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   7 +
 .../org.freedesktop.ModemManager1.Modem.Voice.xml  |  17 +++
 libmm-glib/mm-modem-voice.c                        |  79 +++++++++++
 libmm-glib/mm-modem-voice.h                        |  11 ++
 src/mm-iface-modem-voice.c                         | 146
 +++++++++++++++++++++
 src/mm-iface-modem-voice.h                         |   8 ++
 7 files changed, 317 insertions(+)

commit 5de3c4893fd0dc5b36a9a13c8d2bf8bdb682c9fe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 27 12:56:37 2019 +0200

    broadband-modem: implement HangupAndAccept() with +CHLD=1

 src/mm-broadband-modem.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit d56d1b265625ba94c1308f6c0aa43201bab83db3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 27 12:02:36 2019 +0200

    api,voice: new HangupAndAccept() method

    This method will hangup the currently active call and right away
    accept the next available call.

    The user of the API does not need to specify explicitly which is the
    next call to accept, because that is decided automatically:
      * If there is any waiting call, it will accept it right away.
      * If there is no waiting call but there is a held call, it will make
        the held call active again.

 cli/mmcli-modem-voice.c                            |  51 ++++++-
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   7 +
 .../org.freedesktop.ModemManager1.Modem.Voice.xml  |  19 +++
 libmm-glib/mm-modem-voice.c                        |  79 +++++++++++
 libmm-glib/mm-modem-voice.h                        |  11 ++
 src/mm-iface-modem-voice.c                         | 146
 +++++++++++++++++++++
 src/mm-iface-modem-voice.h                         |   8 ++
 7 files changed, 320 insertions(+), 1 deletion(-)

commit f994982cce641cb770d28c7172ecf09a8a25b124
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 27 11:00:53 2019 +0200

    base-call: support hanging up specific calls

    E.g. we can hangup a waiting call without interfering with the active
    one.

 src/mm-base-call.c | 68
 ++++++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 58 insertions(+), 10 deletions(-)

commit 4b2f9e7d3e9eb07663c8541609005dfbe875cd8c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 17 00:00:14 2019 +0200

    broadband-modem: implement call list polling with +CLCC

 src/mm-broadband-modem.c | 63
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

commit f699308958736a220b90c752ba7dcef997d25097
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 16 23:15:29 2019 +0200

    cinterion: disable call list polling if ^SLCC is supported

    Early detect that ^SLCC is supported, and disable the call list
    polling in the interface if so.

 plugins/cinterion/mm-broadband-modem-cinterion.c   |  2 +
 .../cinterion/mm-broadband-modem-qmi-cinterion.c   |  2 +
 plugins/cinterion/mm-shared-cinterion.c            | 89
 ++++++++++++++++++++--
 plugins/cinterion/mm-shared-cinterion.h            |  7 ++
 4 files changed, 93 insertions(+), 7 deletions(-)

commit d0c0e925b6e9bd86fb49524309c0335fc01ca8b4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 16 23:13:14 2019 +0200

    iface-modem-voice: setup full call list polling logic

    If the modem supports call list polling, we'll setup a timeout to poll
    for the full call list periodically, in order to get detailed call
    states.

    The timeout is setup as soon as a new call is created, and it will be
    kept enabled as long as there is a call being established (i.e. not
    unknown, not terminated, not active).

 src/mm-broadband-modem.c   |  13 ++++
 src/mm-iface-modem-voice.c | 184
 ++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem-voice.h |  16 +++-
 3 files changed, 208 insertions(+), 5 deletions(-)

commit faaaf2027662b3f00bbdb90076abd72d5eed9397
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 16 16:15:28 2019 +0200

    cinterion: when ^SLCC is supported, detailed call state updates
    are implicit

 plugins/cinterion/mm-broadband-modem-cinterion.c   |  2 ++
 .../cinterion/mm-broadband-modem-qmi-cinterion.c   |  2 ++
 plugins/cinterion/mm-shared-cinterion.c            | 29
 ++++++++++++++++++++++
 plugins/cinterion/mm-shared-cinterion.h            |  7 ++++++
 4 files changed, 40 insertions(+)

commit b22f90c4c4f874b5bef0e0b7a45b8888328e6aa4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 16 16:15:02 2019 +0200

    broadband-modem: if +CLCC is supported, call supports detailed events

 src/mm-base-call.c       | 13 ++++++++-----
 src/mm-base-call.h       |  5 ++++-
 src/mm-broadband-modem.c | 40 ++++++++++++++++++++++++++++++++++------
 3 files changed, 46 insertions(+), 12 deletions(-)

commit 47dd9fffac61f0bb8c83e0c83232c6dc117fedca
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 14 17:53:09 2019 +0200

    cinterion: support ^SLCC URCs as part of voice management

    This command will give us URCs whenever the extended list of current
    calls changes, which includes information about the actual state of
    each call, even for calls in waiting state.

    Therefore, as this is a URC that applies to all calls, it's enabled
    and disabled as part of the modem voice interface, instead of doing it
    as part of the call object itself (i.e. not treated as an in-call
    URC).

 plugins/cinterion/mm-broadband-modem-cinterion.c   |  26 ++
 .../cinterion/mm-broadband-modem-qmi-cinterion.c   |  26 ++
 plugins/cinterion/mm-modem-helpers-cinterion.c     | 128 ++++++
 plugins/cinterion/mm-modem-helpers-cinterion.h     |  11 +
 plugins/cinterion/mm-shared-cinterion.c            | 446
 ++++++++++++++++++++-
 plugins/cinterion/mm-shared-cinterion.h            |  32 ++
 .../cinterion/tests/test-modem-helpers-cinterion.c | 129 ++++++
 7 files changed, 797 insertions(+), 1 deletion(-)

commit e931c0ae9c19342895875994d91e78f3e79b7b23
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 14 15:23:46 2019 +0200

    cinterion: implement reset

 plugins/cinterion/mm-broadband-modem-cinterion.c | 26
 ++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit 0f8580f36e92099c527a53358ba201cfb9e785f9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 14 15:29:38 2019 +0200

    cinterion: port type hints for the PLS8

    The first two ports are AT control ports (application/modem). We rely
    on AT^SQPORT to decide which one is which.

    The last two ports are unknown and we explicitly ignore them to make
    port probing much quicker.

 plugins/cinterion/77-mm-cinterion-port-types.rules | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit ca88cdb9f71915f0d8b2d478633a25c69a95b64b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 15 23:16:27 2019 +0200

    iface-modem-voice: allow reporting the state of all ongoing calls

    E.g. as per the AT+CLCC output.

 src/mm-iface-modem-voice.c | 175
 ++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem-voice.h |   8 ++-
 2 files changed, 179 insertions(+), 4 deletions(-)

commit 1cc31df4252a10c7c54a627d4e3eeb7a0837dfbd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 16 11:57:08 2019 +0200

    helpers: new '+CLCC' test response parser

 src/mm-modem-helpers.c         | 115
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |  12 +++++
 src/tests/test-modem-helpers.c | 109
 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 236 insertions(+)

commit 67cc9992664601888fce7bcbc602a4dbf4ef07aa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 15 23:34:23 2019 +0200

    base-call: if incoming call is reported terminated, cleanup timeout

 src/mm-base-call.c | 5 +++++
 1 file changed, 5 insertions(+)

commit cd2e851b8cfe45cd20da48bd596a4d142c4c55c5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 15 22:59:51 2019 +0200

    base-call: allow skipping the timeout in incoming calls

    E.g. if the modem supports reporting incoming call updates explicitly.

 src/mm-base-call.c | 19 +++++++++++++++++++
 src/mm-base-call.h |  1 +
 2 files changed, 20 insertions(+)

commit 3873fda83f130b7bc76059dea8ffd6e4e34d1669
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 15 22:59:22 2019 +0200

    base-call: allow keeping ongoing call index for easy call matching

 src/mm-base-call.c | 23 +++++++++++++++++++++++
 src/mm-base-call.h |  3 +++
 2 files changed, 26 insertions(+)

commit a006ed0744a7d505ead16a86eaf8ec708e7f46fe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 15 21:44:21 2019 +0200

    base-call: add simple getters for the MmGdbusCall properties

 src/mm-base-call.c | 27 +++++++++++++++++++++++++++
 src/mm-base-call.h | 13 ++++++++++---
 2 files changed, 37 insertions(+), 3 deletions(-)

commit 8d267228cf3a14d4aca3f04163a380a174c22e0e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 15 21:28:33 2019 +0200

    call-list: allow iterating elements

 src/mm-call-list.c | 14 ++++++++++++++
 src/mm-call-list.h |  6 ++++++
 2 files changed, 20 insertions(+)

commit dca00271ce8a5020b78e46d6f0e3eca90ef69d67
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 7 18:06:53 2019 +0200

    broadband-modem: implement +CCWA URC handling

 src/mm-broadband-modem.c       | 28 ++++++++++++++++++++---
 src/mm-modem-helpers.c         | 17 ++++++++++++++
 src/mm-modem-helpers.h         |  2 ++
 src/tests/test-modem-helpers.c | 50
 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 94 insertions(+), 3 deletions(-)

commit d9a7b403eeb12b22f9d63aae9c6956d735cdd97a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 7 18:06:42 2019 +0200

    iface-modem-voice: allow creating incoming calls in waiting state

 src/mm-call-list.c         |  7 +++++--
 src/mm-call-list.h         |  3 ++-
 src/mm-iface-modem-voice.c | 11 +++++++----
 src/mm-iface-modem-voice.h |  3 ++-
 4 files changed, 16 insertions(+), 8 deletions(-)

commit d3ef177f532101dfd8db8415ce57091154d5e97d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 7 18:06:37 2019 +0200

    broadband-modem,voice: enable/disable call waiting indications

 src/mm-broadband-modem.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

commit ed7be29111e1178aef72909a03d180625b6f0540
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 7 18:06:35 2019 +0200

    broadband-modem,voice: disable unsolicited events

 plugins/huawei/mm-broadband-modem-huawei.c | 32
 ++++++++++++++++++++++------
 plugins/ublox/mm-broadband-modem-ublox.c   | 33
 +++++++++++++++++++++++------
 src/mm-broadband-modem.c                   | 34
 ++++++++++++++++++++++++++----
 3 files changed, 83 insertions(+), 16 deletions(-)

commit aa4ad459079419494e13f1a53754041c6d15c7c2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 7 18:06:33 2019 +0200

    broadband-modem,voice: rework enabling of unsolicited events

    The previous logic would end up returning an error if either +CLIP or
    +CRC reported an error, and we should really avoid that, because our
    setup is able to manage the voice calls even without those settings.

    So, convert the logic into a small state machine and try to configure
    the settings both in the primary and secondary ports, instead of just
    in the primary one.

 src/mm-broadband-modem.c | 166
 ++++++++++++++++++++++++++++++++++-------------
 1 file changed, 121 insertions(+), 45 deletions(-)

commit 45c548c4dd2377ba08ffa28d4a2de535522534f3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 11 11:15:15 2019 +0200

    docs: add missing MMCallStateReason documentation

 include/ModemManager-enums.h | 2 ++
 1 file changed, 2 insertions(+)

commit 413205296522ee61aa18942b0803a859ba79c88d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 11 11:14:32 2019 +0200

    docs: add missing MMCallDirection documentation

 include/ModemManager-enums.h | 2 ++
 1 file changed, 2 insertions(+)

commit 220a4cbf43d77c71c11a9d2ebc28670f29079956
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 11 11:13:54 2019 +0200

    docs: add missing short description for compat section

 include/ModemManager-compat.h | 1 +
 1 file changed, 1 insertion(+)

commit c96b03d3a90237d026aaa1b88e538081788ef87d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 11 11:13:40 2019 +0200

    docs: add missing MM_CHECK_VERSION documentation

 include/ModemManager-version.h.in | 2 ++
 1 file changed, 2 insertions(+)

commit 8d8b3a722aaeac5ba0e3b735b63e39bb007eee23
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 10 12:29:40 2019 -0700

    misc: use g_regex_match() for simplicity

    This CL converts a few g_regex_match_full() expressions to their
    equivalent g_regex_match() in order to simplify the code, i.e.

      g_regex_match_full (regex, str, strlen (str), 0, 0, &match_info,
      NULL)

    is equivalent to:

      g_regex_match_full (regex, str, -1, 0, 0, &match_info, NULL)

    or simply:

      g_regex_match (regex, str, 0, &match_info)

 plugins/cinterion/mm-modem-helpers-cinterion.c |  4 ++--
 plugins/thuraya/mm-modem-helpers-thuraya.c     |  2 +-
 plugins/wavecom/mm-broadband-modem-wavecom.c   |  2 +-
 src/mm-broadband-modem.c                       |  2 +-
 src/mm-modem-helpers.c                         | 16 ++++++++--------
 5 files changed, 13 insertions(+), 13 deletions(-)

commit ea93aad8a414a3cdcf6864649e09e3bdf9ac4e5d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 9 16:55:48 2019 +0200

    base-sms: wait up to 60s when sending SMS messages

    The operation sending the raw data of the SMS may timeout because the
    current value of 10s is too low.

    When this happens, we may end up marking the modem as invalid if the
    operation takes much longer, as in
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/133

      <debug> [1561707204.192676] (ttyUSB3): --> 'AT+CMGS=22<CR>'
      <debug> [1561707204.207212] (ttyUSB3): <-- '<CR><LF>> '
      <debug> [1561707204.207562] (ttyUSB3) device open count is 3 (open)
      <debug> [1561707204.207695] (ttyUSB3) device open count is 2 (close)
      <debug> [1561707204.207841] (ttyUSB3): -->
      '0021000B9164xxxxxxxxFx00000AEDF6989D06D1CB733A\26'
      <debug> [1561707204.261028] (ttyUSB3): <-- '<CR><LF>'
      <debug> [1561707205.197464] (ttyUSB3) device open count is 3 (open)
      <debug> [1561707207.197763] loading signal quality...
      <debug> [1561707207.197990] (ttyUSB3) device open count is 4 (open)
      <debug> [1561707210.199337] (ttyUSB3) device open count is 5 (open)
      <debug> [1561707214.197198] (ttyUSB3) device open count is 4 (close)
      <debug> [1561707214.197443] (ttyUSB3): --> 'AT+CGACT?<CR>'
      <debug> [1561707215.196530] (ttyUSB3) device open count is 5 (open)
      <warn>  [1561707217.196750] checking if connected failed: Couldn't
      check current list of active PDP contexts: Serial command timed out
      <debug> [1561707217.196928] (ttyUSB3) device open count is 4 (close)
      <warn>  [1561707217.197065] (tty/ttyUSB3) at port timed out 2
      consecutive times
      <debug> [1561707217.197187] (ttyUSB3): --> 'AT+CIND?<CR>'
      <debug> [1561707220.198180] (ttyUSB3) device open count is 5 (open)
      <debug> [1561707222.196792] (ttyUSB3) device open count is 6 (open)
      <debug> [1561707222.196983] (ttyUSB3) device open count is 5 (close)
      <warn>  [1561707222.197125] (tty/ttyUSB3) at port timed out 3
      consecutive times
      <debug> [1561707222.197257] (ttyUSB3): --> 'AT+CGACT?<CR>'
      <debug> [1561707225.198384] (ttyUSB3) device open count is 6 (open)
      <warn>  [1561707225.198616] checking if connected failed: Couldn't
      check current list of active PDP contexts: Serial command timed out
      <debug> [1561707225.198703] (ttyUSB3) device open count is 5 (close)
      <warn>  [1561707225.198814] (tty/ttyUSB3) at port timed out 4
      consecutive times
      <debug> [1561707225.199437] (ttyUSB3): --> 'AT+CGACT?<CR>'
      <warn>  [1561707228.196747] checking if connected failed: Couldn't
      check current list of active PDP contexts: Serial command timed out
      <debug> [1561707228.196915] (ttyUSB3) device open count is 4 (close)
      <warn>  [1561707228.197050] (tty/ttyUSB3) at port timed out 5
      consecutive times
      <debug> [1561707228.197175] (ttyUSB3): --> 'AT+CGACT?<CR>'
      <debug> [1561707230.197709] (ttyUSB3) device open count is 5 (open)
      <warn>  [1561707231.197089] checking if connected failed: Couldn't
      check current list of active PDP contexts: Serial command timed out
      <debug> [1561707231.197256] (ttyUSB3) device open count is 4 (close)
      <warn>  [1561707231.197387] (tty/ttyUSB3) at port timed out 6
      consecutive times
      <debug> [1561707231.197519] (ttyUSB3): --> 'AT+CSQ<CR>'
      <debug> [1561707234.199671] Couldn't refresh signal quality:
      'Serial command timed out'
      <debug> [1561707234.199897] (ttyUSB3) device open count is 5 (open)
      <debug> [1561707234.200038] (ttyUSB3) device open count is 4 (close)
      <warn>  [1561707234.200161] (tty/ttyUSB3) at port timed out 7
      consecutive times
      <debug> [1561707234.200291] (ttyUSB3): --> 'AT+CGACT?<CR>'
      <debug> [1561707235.197071] (ttyUSB3) device open count is 5 (open)
      <debug> [1561707237.198460] Signal quality value not updated in 60s,
      marking as not being recent
      <warn>  [1561707237.198846] checking if connected failed: Couldn't
      check current list of active PDP contexts: Serial command timed out
      <debug> [1561707237.198949] (ttyUSB3) device open count is 4 (close)
      <warn>  [1561707237.199060] (tty/ttyUSB3) at port timed out 8
      consecutive times
      <debug> [1561707237.199636] (ttyUSB3): --> 'AT+CGACT?<CR>'
      <debug> [1561707240.198778] (ttyUSB3) device open count is 5 (open)
      <warn>  [1561707240.199031] checking if connected failed: Couldn't
      check current list of active PDP contexts: Serial command timed out
      <debug> [1561707240.199127] (ttyUSB3) device open count is 4 (close)
      <warn>  [1561707240.199244] (tty/ttyUSB3) at port timed out 9
      consecutive times
      <debug> [1561707240.199363] (ttyUSB3): --> 'AT+CNSMOD?<CR>'
      <debug> [1561707243.198163] Couldn't refresh access technologies:
      'Serial command timed out'
      <debug> [1561707243.198294] Periodic signal quality checks scheduled
      in 30s
      <debug> [1561707243.198402] (ttyUSB3) device open count is 3 (close)
      <error> [1561707243.198528] (tty/ttyUSB3) at port
      timed out 10 consecutive times, marking modem
      '/org/freedesktop/ModemManager1/Modem/0' as invalid
      <debug> [1561707243.198699] (ttyUSB3): --> 'AT+CGACT?<CR>'

    Or we may end up aborting other actions that the modem is doing...

      <debug> [1560473069.956036] (ttyACM2): --> 'AT+CMGS=70<CR>'
      <debug> [1560473069.963667] Added CALL at
      '/org/freedesktop/ModemManager1/Call/1'
      <debug> [1560473069.977937] (ttyACM2): <-- '<CR><LF>> '
      <debug> [1560473069.978558] (ttyACM2) device open count is 3 (open)
      <debug> [1560473069.978812] (ttyACM2) device open count is 2 (close)
      <debug> [1560473069.979152] (ttyACM2): -->
      '0001000D8......................\26'
      <debug> [1560473080.317049] (ttyACM2): --> 'ATD123456789;<CR>'
      <debug> [1560473092.293458] (ttyACM2): <-- '<CR><LF>+CMGS:
      1<CR><LF><CR><LF>OK<CR><LF>'
      <warn>  [1560473092.293854] Couldn't start call : 'Couldn't start
      the call: Unhandled response '+CMGS: 1''
      <info>  [1560473092.293936] Call state changed: dialing ->
      terminated (unknown)
      <debug> [1560473092.293987] Cleaning up in-call unsolicited
      events...

    So, update the raw data sending timeout to a much longer value.

 src/mm-base-sms.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 3e3dfc784d0790f099aa8c2a7016e6d87d9473f0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 18:39:41 2019 +0200

    docs: add deprecated items to sections file

 docs/reference/api/ModemManager-sections.txt | 2 ++
 1 file changed, 2 insertions(+)

commit 2d171207bb0b07222ff678e960d7111e5fa1879e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 2 18:28:58 2019 +0200

    api,location: fix A-GPS MSA/MSB documentation links

 introspection/org.freedesktop.ModemManager1.Modem.Location.xml |
 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit addc53a0d330e3992a099717ccf317071c281c54
Author: wi24rd <i@wi24rd.ml>
Date:   Fri May 3 00:23:16 2019 +0800

    po: Add zh_CN translation

 po/LINGUAS  |  1 +
 po/zh_CN.po | 93
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 94 insertions(+)

commit f62e5009a21a953d19c45b56db9b34e31ce1b950
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 27 10:47:33 2019 +0200

    introspection,voice: fix documentation of CallAdded() signal

 introspection/org.freedesktop.ModemManager1.Modem.Voice.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 312e5dd623f6f26060fd904ee3dac5fd635777ff
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 7 18:06:40 2019 +0200

    modem-helpers: ignore format of unneeded fields in +CLIP URC

    The regex was expecting empty values in several of the fields, which
    is wrong. Instead of matching empty fields, just ignore all fields
    that we don't require in our logic.

 src/mm-modem-helpers.c         | 12 +++++++----
 src/tests/test-modem-helpers.c | 46
 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 54 insertions(+), 4 deletions(-)

commit 4656b5b606bbe7fce3426bf34dc2d231be757687
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 7 18:06:30 2019 +0200

    broadband-modem: fix logging whether enabling or disabling URCs

 src/mm-broadband-modem.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit d1b716abaf4fca0a31498ce77b17fbc7216a5936
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 24 10:41:14 2019 +0200

    iface-modem-3gpp: use correct finish() method to complete user
    registration

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/131

 src/mm-iface-modem-3gpp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1d52e5c24da3bde30feba6067e2b7040c58f4129
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 13 18:43:06 2019 +0200

    cinterion: make custom +CIEV parser much more generic

    The custom +CIEV parser configured for Cinterion modems was
    exclusively matching the "psinfo" indicator updates, which were the
    ones really used afterwards.

    But, in order to avoid having undesired URCs mixed with other command
    responses, we should anyway match any +CIEV indicator reported, not
    only "psinfo".

    The text indicator ids used in +CIEV seem to bee specific to Cinterion
    devices when they're configured via AT^SIND, so we do a generic match
    for any lowercase ascii text as indicator id.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 41
 +++++++++++++-----------
 1 file changed, 23 insertions(+), 18 deletions(-)

commit ca5f2e8b3e0e7fbe27b14ff8e51748364969e4e1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 13 11:28:26 2019 +0200

    ublox,tests: expect error if empty band list when parsing UACT?

 plugins/ublox/tests/test-modem-helpers-ublox.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 20c5d7fd922bfbf5d611c5c5b6cf78cb438437e0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 13 10:25:38 2019 +0200

    ublox: return error when no bands are parsed

    If load_current_bands_finish() returns a NULL GArray, we must set the
    GError or otherwise the daemon will segfault when the caller
    dereferences the GError:

        current_bands = MM_IFACE_MODEM_GET_INTERFACE
        (self)->load_current_bands_finish (self, res, &error);
        if (!current_bands) {
            /* Errors when getting current bands won't be critical */
            mm_warn ("couldn't load current Bands: '%s'", error->message);
            g_error_free (error);
        }

    This may happen with an empty but balid +UACT response, e.g.:
       AT+UACT?
       +UACT: ,,,
       OK

    Or when it replies a full empty string:
       AT+UACT?
       OK

 plugins/ublox/mm-modem-helpers-ublox.c | 4 ++++
 1 file changed, 4 insertions(+)

commit d19738009595c3ad39c1629e61b6df99a422a990
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 11 16:28:06 2019 +0200

    modem-helpers: minor coding style fixes

 src/mm-modem-helpers.h | 34 ++++++++++++----------------------
 1 file changed, 12 insertions(+), 22 deletions(-)

commit 72bdb1b36576f21533b93222ac950734c04ca03f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu May 16 18:18:01 2019 +0200

    port-serial-at: raw commands always run next

    We use the raw commands exclusively when we're sending SMS data to the
    device. Until this change, all raw commands were added at the tail of
    the queue of pending commands, and that meant that if any unrelated AT
    command was interleaved between e.g. our AT+CGMS and the actual SMS
    data sent, the operation would have failed.

    With this fix, we're making sure that all raw commands are added at
    the head of the queue, so we're making sure that the next command
    picked after e.g. CGMS is actually the raw SMS data to be sent.

    We would be avoiding issues like this one, where an outgoing voice
    call attempt gets in the way before we send the SMS data:

      [1556246081.786284] (ttyACM2): --> 'AT+CMGS=70<CR>'
      [1556246081.814861] (ttyACM2): <-- '<CR><LF>> '
      [1556246081.819382] (ttyACM2): --> 'ATD1234567890;<CR>'
      [1556246081.839685] (ttyACM2): <-- '<CR><LF>> '
      [1556246081.840123] Couldn't start call : 'Couldn't start the call:
      Unhandled response '> ''
      [1556246081.856254] (ttyACM2): --> '0001000D810..............
      [1556246081.922470] (ttyACM2): <-- '<CR><LF>+CME ERROR: 4<CR><LF>'

 src/mm-base-sms.c       | 13 +++++++++++--
 src/mm-port-serial-at.c |  2 +-
 2 files changed, 12 insertions(+), 3 deletions(-)

commit 8092e301fc55c84a5523a8cb3f75461b53ac2e9a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu May 16 18:12:01 2019 +0200

    port-serial: allow deciding whether the command is queued last or
    run next

    By default all the commands we were sending through the serial port
    were added at the tail of the pending queue, but we may want to queue
    them at the head in very specific cases (e.g. while sending an SMS).

 plugins/mbm/mm-broadband-modem-mbm.c | 3 ++-
 src/mm-port-serial-at.c              | 1 +
 src/mm-port-serial-qcdm.c            | 1 +
 src/mm-port-serial.c                 | 8 +++++++-
 src/mm-port-serial.h                 | 1 +
 5 files changed, 12 insertions(+), 2 deletions(-)

commit c78ba5ea0ad37dcff4c2a5ca3b7bca21526eba08
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 1 10:23:15 2019 +0200

    build: allow unconditionally enabling Modem.Command() method

    If ModemManager is being used in a custom system, make it easy to
    unconditionally enable the Modem.Command() method, in case the modem
    needs to be configured in some way that is not supported via standard
    modem interfaces.

 configure.ac         | 18 ++++++++++++++++++
 src/mm-iface-modem.c |  2 ++
 2 files changed, 20 insertions(+)

commit 8ec9789e3c611f8156e0a95ce7b8306862b3030b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu May 30 17:25:48 2019 +0200

    quectel: add port type hints for the Quectel LTE-A EG06

     ttyUSB0 (if #0): QCDM/DIAG port
     ttyUSB1 (if #1): GPS data port
     ttyUSB2 (if #2): AT primary port
     ttyUSB3 (if #3): AT secondary port

 plugins/Makefile.am                            |  2 ++
 plugins/quectel/77-mm-quectel-port-types.rules | 20 ++++++++++++++++++++
 2 files changed, 22 insertions(+)

commit aa223879371fc859bb0f5409f37aef475d1d84d2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 28 17:59:30 2019 +0200

    iface-modem: fix reporting state while registration is denied

    When registration is denied, we should be reporting the modem with
    'enabled' state instead of 'registered'. This was not happening
    because the logic to build the consolidated state (for 3GPP+3GPP2
    modems) was using as default initial state the current old state, and
    so if the old one was 'registered' it never allowed getting a
    consolidated state of 'enabled', because 'registered' > 'enabled'.

    Instead of using the old initial state, the consolidated modem state
    should use 'enabled' as default initial value, which is the lowest
    among 'enabled, 'searching' and 'registered'.

 src/mm-iface-modem.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

commit 7f822fbc50fa7acc2d9358f461e8a56882dd817e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 28 22:56:54 2019 +0200

    xmm,shared: don't assume parent object implements location support

    E.g. when MM is built without QMI support, the MBIM modem won't have
    any location support, as the only location implementation is based on
    QMI over MBIM.

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/125

 plugins/xmm/mm-shared-xmm.c | 37 ++++++++++++++++++++++++-------------
 1 file changed, 24 insertions(+), 13 deletions(-)

commit fd1a26fc36df005d66627109875631264d2f8e19
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 22 23:20:30 2019 +0200

    plugin: ignore unwanted net ports

     * For QMI modems, make sure we only grab QMI data ports (flag the
       rest as ignored).
     * For MBIM modems, make sure we only grab MBIM data ports (flag the
       rest as ignored).
     * For other plugins that use NET ports in their logic, make sure we
       only grab non-QMI and non-MBIM data ports.

 src/mm-plugin.c | 120
 +++++++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 89 insertions(+), 31 deletions(-)

commit 6dc6a825b339372a1033c84499e832fd3c6ce0a7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri May 17 10:26:53 2019 +0200

    base-modem-at: don't ignore allow_cached flag in first command
    in sequence

 src/mm-base-modem-at.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 254da81ebd7cbcbd62dd5a85ff53840c6677670a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri May 17 10:22:03 2019 +0200

    telit: loading access tech should never use cached replies

 plugins/telit/mm-broadband-modem-telit.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 50fc46c17089fbb55595327a5c3fc82d83f792fd
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Fri May 3 18:07:33 2019 +0200

    bearer-qmi: do not call cleanup_event_report_unsolicited_events()
    w/o indication_id

    If a disconnection fails (because stop_network() failed), base-bearer
    flips the state back to CONNECTED. Oops. At that point something is
    clearly messed up, but it seems correct to assume the bearer is
    connected.

    Nevertheless, we will have already have unhooked the unsolicited
    events
    reporting. A subsequent attempt to disconnect the bearer will trip the
    assertion:

      #0  0x00007ffff75f2eb5 in __GI_raise (sig=sig@entry=6) at
      ../sysdeps/unix/sysv/linux/raise.c:50
      #1  0x00007ffff75dd895 in __GI_abort () at abort.c:79
      #2  0x00007ffff77beb53 in g_assertion_message
          (domain=<optimized out>, file=<optimized out>,
          line=<optimized out>, func=0x5088e0 <__FUNCTION__.56253>
          "cleanup_event_report_unsolicited_events", message=<optimized
          out>) at ../glib/gtestutils.c:2878
      #3  0x00007ffff781a96f in g_assertion_message_expr
          (domain=domain@entry=0x0, file=file@entry=0x507aad
          "mm-bearer-qmi.c", line=line@entry=1138,
          func=func@entry=0x5088e0 <__FUNCTION__.56253>
          "cleanup_event_report_unsolicited_events",
          expr=expr@entry=0x507ae5 "*indication_id != 0") at
          ../glib/gtestutils.c:2904
      #4  0x00000000004a0c49 in cleanup_event_report_unsolicited_events
      (client=<optimized out>, indication_id=0x5bb30c, self=<optimized
      out>)
          at mm-bearer-qmi.c:1138
      #5  0x00000000004a0c49 in cleanup_event_report_unsolicited_events
          (client=<optimized out>,
          indication_id=indication_id@entry=0x5bb30c, self=0x5bb420
          [MMBearerQmi]) at mm-bearer-qmi.c:1132
      #6  0x00000000004a0ee3 in disconnect_context_step
      (task=0x7fffe8012100 [GTask]) at mm-bearer-qmi.c:1854
      #7  0x000000000046e889 in disconnect_auth_ready (self=<optimized
      out>, res=<optimized out>, ctx=ctx@entry=0x654630)
          at mm-iface-modem-simple.c:865
      #8  0x00007ffff79cfa9a in g_task_return_now (task=0x7fffe8012640
      [GTask]) at ../gio/gtask.c:1209
      ...

    Add checks for indication_id to calls to
    cleanup_event_report_unsolicited_events() on
    DISCONNECT_STEP_STOP_NETWORK_IPV4 or
    DISCONNECT_STEP_STOP_NETWORK_IPV6, as
    is done elsewhere.

 src/mm-bearer-qmi.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

commit eaaf64ffced6e5a870b3f79ff18cf6ee5bb8bb35
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Fri May 3 18:45:22 2019 +0200

    base-bearer: fix check for cancellation

    If we cancel connect_cancellable, the connect task will return a
    G_IO_ERROR_CANCELLED. We may need to do some cleanup (like, disconnect
    if the connection went far enough to actually start the network
    connection), thus it's important we check for cancellation correctly.

 src/mm-base-bearer.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit aaea6c77f28d653bfc37ad47bdc50cbfa2168ce5
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Fri May 3 19:35:43 2019 +0200

    bearer-qmi: remove unused DisconnectContext::data

 src/mm-bearer-qmi.c | 3 ---
 1 file changed, 3 deletions(-)

commit 7753eb0013ecd8cb2c906969c6064cccf6bf473d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 8 20:26:03 2019 +0200

    iface-modem-messaging: flush sms list update before notifying
    added/removed

    So that clients are able to have the full updated list before the list
    update notification.

 src/mm-iface-modem-messaging.c | 2 ++
 1 file changed, 2 insertions(+)

commit 8e364b72b9804a1d5f3d1476add4546567343ee9
Author: Johny Mattsson <jmattsson@dius.com.au>
Date:   Tue Nov 13 13:22:51 2018 +1100

    mmcli: allow use of modem UID to specify SIM operation

    Fixes
    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/107

 cli/mmcli-common.c | 47 ++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 38 insertions(+), 9 deletions(-)

commit d56bc301dd6b65fce56affa55ddd86b4e3ff335f
Author: yparitcher <y@paritcher.com>
Date:   Wed May 1 15:36:32 2019 -0500

    mm-broadband-modem: fix error propagation in cdma service status

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7a6e92727f1034f17d5d21f631f3e904b8a6011a
Author: Lech Perczak <l.perczak@camlintechnologies.com>
Date:   Thu Mar 21 16:43:49 2019 +0000

    broadband-modem-mbim: parse nw_error in register_state_set_ready
    only if MBIM_STATUS_FAILURE

    Some modems (Namely: Telit LE910 V2) report nonzero NwError code,
    outside of 3GPP TS 24.008 - in "register-state set command-done"
    response,
    while status code equals MBIM_STATUS_ERROR_NONE.
    In such cases network is operational.
    According to MBIM specification 1.0 table 10.5.9.8 "Status codes",
    NwError shall be nonzero only if Status Code equals
    MBIM_STATUS_FAILURE,
    and client shall parse NwError only in such cases.
    Also, MBIM specification does not explicitly state that 'NwError ==
    0' equals
    no error, rather than that it is unknown error, hence raise an error
    unconditionally if MBIM status code is MBIM_STATUS_FAILURE.

    Therefore, check NwError IFF MBIM response status code equals
    MBIM_STATUS_FAILURE, instead of MBIM_STATUS_SUCCESS.

    Fixes: 854c371c8aa9 ("broadband-modem-mbim: implement 3GPP
    registration request")
    Signed-off-by: Lech Perczak <l.perczak@camlintechnologies.com>

 src/mm-broadband-modem-mbim.c | 47
 +++++++++++++++++++++++++++++--------------
 1 file changed, 32 insertions(+), 15 deletions(-)

commit 81ad40d27eca1d04d9036a319d7c8e68f57bd633
Author: Moo <hazap@hotmail.com>
Date:   Sat Apr 13 18:56:51 2019 +0000

    i18n: Added Lithuanian translation

 po/LINGUAS |   1 +
 po/lt.po   | 110
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 111 insertions(+)

commit de1ae549fa469b771704b2fb06eeb98a9eca110b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Apr 15 10:43:57 2019 +0200

    shared-qmi: config list may be empty

    Reported by: Enrico Mioso <mrkiko.rs@gmail.com>

 src/mm-shared-qmi.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 44eac9e97424d6b9c8fe40ab0e6fcbe089407030
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 14 11:41:33 2019 +0100

    shared-xmm: implement support for MSB A-GPS

 plugins/xmm/mm-shared-xmm.c | 28 +++++++++++++++++++---------
 1 file changed, 19 insertions(+), 9 deletions(-)

commit 791c582df367f719f8519e99524a8f4ae4354356
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 14 09:24:20 2019 +0100

    shared-qmi: implement support for MSB A-GPS

 src/mm-shared-qmi.c | 124
 +++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 89 insertions(+), 35 deletions(-)

commit d5dc9751b6e5d8472dec7b4ef076297e1df3d1f1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 14 09:22:30 2019 +0100

    location,agps: include support for MSB A-GPS

 cli/mmcli-modem-location.c                         | 22 ++++++++++++++--
 docs/man/mmcli.1                                   | 14 ++++++++--
 include/ModemManager-enums.h                       |  4 ++-
 ...rg.freedesktop.ModemManager1.Modem.Location.xml | 10 +++++++-
 src/mm-iface-modem-location.c                      | 30
 +++++++++++++++++++---
 5 files changed, 70 insertions(+), 10 deletions(-)

commit caa1f8fdc1ad8c489a5584a4a0c50b1d0ff62f2a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 14 08:07:27 2019 +0100

    iface-modem-location: define first and last location sources

    Much clearer to understand when looping through them.

 include/ModemManager-enums.h  | 5 +++++
 src/Makefile.am               | 1 +
 src/mm-iface-modem-location.c | 8 ++++----
 3 files changed, 10 insertions(+), 4 deletions(-)

commit b77aa7ab0eaae2aca4e2f01f8328f1015260356d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 14 08:02:18 2019 +0100

    location,agps: explicitly specify that MSA A-GPS is implemented

    The A-GPS based implementations we currently have assume MSA A-GPS, so
    rename the MMModemLocationSource enum value to reflect that.

 cli/mmcli-modem-location.c                         | 26
 +++++++++++-----------
 docs/man/mmcli.1                                   | 10 ++++-----
 include/ModemManager-compat.h                      | 14 ++++++++++++
 include/ModemManager-enums.h                       |  4 ++--
 ...rg.freedesktop.ModemManager1.Modem.Location.xml |  4 ++--
 plugins/xmm/mm-shared-xmm.c                        |  8 +++----
 src/mm-iface-modem-location.c                      | 16 ++++++-------
 src/mm-shared-qmi.c                                | 16 ++++++-------
 8 files changed, 56 insertions(+), 42 deletions(-)

commit 619d2ce5ac1639ffe1229b594a4028a1520ac1b3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 14 09:40:44 2019 +0100

    cli,location: minor refactor to handle the location setup flags

 cli/mmcli-modem-location.c | 64
 ++++++++++++----------------------------------
 1 file changed, 17 insertions(+), 47 deletions(-)

commit 79df43f0d7b5ff0281f3608ea55ca77848b9a9c4
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Apr 8 14:30:59 2019 -0700

    broadband-modem: remove unused CallManagerStateContext defintion

 src/mm-broadband-modem.c | 6 ------
 1 file changed, 6 deletions(-)

commit 49f391b10d1a3093af49ce84bd8bbef67c817e57
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Apr 8 13:28:10 2019 -0700

    altair-lte: remove unused fields in DetailedDisconnectContext

 plugins/altair/mm-broadband-bearer-altair-lte.c | 2 --
 1 file changed, 2 deletions(-)

commit 210dc0be47825fac059911863ee56b1de5f5629b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Apr 8 12:38:47 2019 +0200

    plugins,dell: port type hints for the DW5820e module

 plugins/dell/77-mm-dell-port-types.rules | 6 ++++++
 1 file changed, 6 insertions(+)

commit 9dac5ece77ef75ace284a0b3145f06feb099d0f9
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Apr 3 10:44:57 2019 -0700

    build: make compiler warning options compatible with clang

    This patch updates m4/compiler-warnings.m4 as follows to make it more
    compatible with clang:

    * clang doesn't support -Wunused-but-set-variable, which can be
    replaced
      with -Wunused-variable as the latter covers unused variables with or
      without an assigned value and is supported by gcc and clang.

    * -Wno-unused-function is added to let clang ignore unused functions
    that
      are auto-generated.

 m4/compiler_warnings.m4 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 7f78ef50100f7f125ddcd47a721676d80e86d1fe
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Apr 3 10:57:14 2019 -0700

    via: fix memory leak in parent_setup_registration_checks_ready

    This patch fixes a potential memory leak in
    parent_setup_registration_checks_ready() where the allocated
    SetupRegistrationChecksResults may be leaked when the MMIfaceModemCdma
    parent's setup_registration_checks() fails.

 plugins/via/mm-broadband-modem-via.c | 1 +
 1 file changed, 1 insertion(+)

commit 84fe52a1e6f1521ecc95666c5a17e37a4937b22a
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Apr 3 10:53:01 2019 -0700

    modem-helpers: fix memory leak in mm_3gpp_parse_pdu_cmgl_response

    This patch fixes a potential memory leak in
    mm_3gpp_parse_pdu_cmgl_response() where the allocated MM3gppPduInfo
    may
    be leaked when failing to parse the +CMGL response.

 src/mm-modem-helpers.c | 1 +
 1 file changed, 1 insertion(+)

commit 7e4a8d9566b178de09618c7c5272565ac185e3d1
Author: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
Date:   Wed Apr 3 13:17:19 2019 +0200

    ublox: add LISA/SARA-U2 alternative port types

    When configuring these modems with AT+UUSBCONF=2, i.e. CDC-ECM + 4x
    CDC-ACM, they also enumerate with a different PID on the USB. We
    need to
    adjust the udev rules for that case in order to ignore the non-AT
    ports.

    Signed-off-by: Sven Schwermer
    <sven.schwermer@disruptive-technologies.com>

 plugins/ublox/77-mm-ublox-port-types.rules | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

commit 1c14ca7262403ef6dc30319e3dc2aaa3ba47a225
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Apr 2 11:17:21 2019 -0500

    libwmc: remove it

    The WMC protocol was only present on older Panasonic/Verizon devices
    from the 2006 - 2011 timeframe. The last device to support WMC was
    the UML290 which also supported QMI (which is much more functional).
    ModemManager also never used WMC support and it was never
    significantly
    reverse engineered.

    So remove WMC code from git; it'll still be in the history if anyone
    cares in the future.

 .gitignore                       |   4 -
 Makefile.am                      |   2 -
 configure.ac                     |   5 -
 libwmc/AUTHORS                   |   0
 libwmc/ChangeLog                 |   0
 libwmc/Makefile.am               |   2 -
 libwmc/NEWS                      |   0
 libwmc/README                    |   0
 libwmc/autogen.sh                |  22 --
 libwmc/configure.ac              |  48 ---
 libwmc/src/Makefile.am           |  25 --
 libwmc/src/com.c                 |  56 ---
 libwmc/src/com.h                 |  23 --
 libwmc/src/commands.c            | 466 -------------------------
 libwmc/src/commands.h            | 116 -------
 libwmc/src/errors.c              |  58 ----
 libwmc/src/errors.h              |  78 -----
 libwmc/src/protocol.h            | 462 -------------------------
 libwmc/src/result-private.h      |  37 --
 libwmc/src/result.c              | 297 ----------------
 libwmc/src/result.h              |  41 ---
 libwmc/src/utils.c               | 459 -------------------------
 libwmc/src/utils.h               |  87 -----
 libwmc/tests/Makefile.am         |  31 --
 libwmc/tests/test-wmc-com.c      | 504 ---------------------------
 libwmc/tests/test-wmc-com.h      |  37 --
 libwmc/tests/test-wmc-crc.c      |  65 ----
 libwmc/tests/test-wmc-crc.h      |  25 --
 libwmc/tests/test-wmc-escaping.c | 165 ---------
 libwmc/tests/test-wmc-escaping.h |  28 --
 libwmc/tests/test-wmc-utils.c    | 223 ------------
 libwmc/tests/test-wmc-utils.h    |  34 --
 libwmc/tests/test-wmc.c          | 110 ------
 libwmc/uml290.txt                | 206 -----------
 uml290/Makefile.am               |  10 -
 uml290/uml290mode.c              | 721
 ---------------------------------------
 36 files changed, 4447 deletions(-)

commit 88fac7f14a8898a7856a6868bbd94d4cf576723a
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Apr 2 09:16:12 2019 -0500

    build: fix -Wunused-but-set-variable support and handle clang better

    By default the build used -Wno-unused-but-set-variable but that's
    clearly not what we want. Fix those problems.

    When using clang, the compiler doesn't error on unknown compile
    options, so let's add -Werror to the checking too.

    CC='clang'
    configure:3408: checking for gcc
    configure:3435: result: clang
    ...
    configure:17644: checking whether gcc understands
    -Wno-unused-but-set-variable
    configure:17657: clang -c -Wall -std=gnu89 -g
    -O2 -Wmissing-declarations -Wmissing-prototypes
    -Wdeclaration-after-statement -Wstrict-prototypes
    -Wno-unused-parameter -Wno-sign-compare -Wno-deprecated-declarations
    -Wno-unused-but-set-variable  conftest.c >&5
    warning: unknown warning option '-Wno-unused-but-set-variable';
    did you mean '-Wno-unused-const-variable'? [-Wunknown-warning-option]
    1 warning generated.
    configure:17657: $? = 0
    configure:17666: result: yes

    Reported-by: Torsten Hilbrich <torsten.hilbrich@secunet.com>

 m4/compiler_warnings.m4       |  4 +--
 src/mm-broadband-bearer.c     |  2 --
 src/mm-broadband-modem-mbim.c | 68
 ++++++++++++++++++++-----------------------
 src/mm-port-probe.c           | 22 +++++++-------
 src/mm-shared-qmi.c           | 20 -------------
 5 files changed, 45 insertions(+), 71 deletions(-)

commit 093174c84da265059eda2591cf79593abb567f3a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 3 13:26:01 2019 +0100

    shared-qmi: always use newest carrier config if more than one found

 src/mm-shared-qmi.c | 57
 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 51 insertions(+), 6 deletions(-)

commit c09e8c8a2a27d8eea9ad4bb7d1b24028b6e99b51
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 26 14:57:40 2019 +0100

    shared-qmi: if requested config not installed, fallback to generic

    If there is a known match for a specific config, but the config is not
    available in the module, we should fallback to the generic
    configuration.

 src/mm-shared-qmi.c | 70
 ++++++++++++++++++++++++++++++-----------------------
 1 file changed, 40 insertions(+), 30 deletions(-)

commit 0029f846cd2ec5794edf9aec2498229efbc8d05b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 30 13:09:38 2019 +0100

    shared-qmi: no active carrier config means default is in use

    In addition to any installed MCFG file, the firmware itself as a
    'default' config that will be selected when no carrier config is
    installed.

    So it is not an error if 'QMI PDC Get Selected Config' doesn't return
    the 'Active ID' TLV, it just means the default one is selected.

 src/mm-shared-qmi.c | 59
 ++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 38 insertions(+), 21 deletions(-)

commit 52b67dc7c3a2b432f6c64b8e4d56b7f2e4d28066
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 18 16:57:07 2018 +0100

    api,modem: new 'CarrierConfigurationRevision' property

    Which reports the version of the currently active carrier
    configuration.

    We also update the firmware 'version' reported in the firmware
    settings so that carrier-specific upgrades can be performed (e.g. when
    the firmware stays the same but the MCFG is updated).

 cli/mmcli-modem.c                                  |  3 +-
 cli/mmcli-output.c                                 |  5 +--
 cli/mmcli-output.h                                 |  3 +-
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  5 +++
 .../org.freedesktop.ModemManager1.Modem.xml        |  7 ++++
 libmm-glib/mm-modem.c                              | 41
 ++++++++++++++++++++++
 libmm-glib/mm-modem.h                              |  6 ++--
 src/mm-iface-modem-firmware.c                      | 22 ++++++++----
 src/mm-iface-modem.c                               | 33 +++++++++--------
 src/mm-iface-modem.h                               | 12 ++++---
 src/mm-shared-qmi.c                                | 25 +++++++++----
 src/mm-shared-qmi.h                                |  4 ++-
 12 files changed, 128 insertions(+), 38 deletions(-)

commit c479d036f7717adbc922e52ba305df8a304bd690
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 18 16:22:52 2018 +0100

    firmware: export a device id containing the carrier info

    In order to support different per-carrier upgrade paths in fwupd.

 src/mm-iface-modem-firmware.c | 11 +++++++++++
 src/mm-iface-modem.c          | 18 ++++++++++++++++++
 src/mm-iface-modem.h          |  5 +++--
 3 files changed, 32 insertions(+), 2 deletions(-)

commit 147facd2ec780ef54d12fe7ad49286ea68c81e52
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 16 13:23:34 2018 +0100

    plugins,test: setup new simple keyfile tester

 .gitignore                    |  1 +
 plugins/Makefile.am           | 17 ++++++++-
 plugins/tests/test-keyfiles.c | 82
 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 99 insertions(+), 1 deletion(-)

commit 2719265cbde280e5ebbbde9ab98e8b369d516463
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 16 12:39:10 2018 +0100

    dell,dw5821e: install carrier config mapping

 plugins/Makefile.am                               |   6 +
 plugins/dell/mm-broadband-modem-dell-dw5821e.c    |   5 +-
 plugins/dell/mm-dell-dw5821e-carrier-mapping.conf | 281
 ++++++++++++++++++++++
 3 files changed, 290 insertions(+), 2 deletions(-)

commit b4b6dc9e650ddb869a4577f3afa269d2aeb231cc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 18 14:53:05 2018 +0100

    shared-qmi: implement QMI PDC based carrier config support

    We implement both loading the current configuration in use, as well as
    automatically switching to a different one if a mapping file is
    available.

 src/mm-broadband-modem-mbim.c |   5 +
 src/mm-broadband-modem-qmi.c  |   5 +
 src/mm-broadband-modem.c      |  14 +
 src/mm-shared-qmi.c           | 918
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-shared-qmi.h           |  14 +
 5 files changed, 956 insertions(+)

commit 94cf7f0ceb8c00a413d279a1fbdb491c01240d81
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 18 14:52:44 2018 +0100

    iface-modem: new carrier config support

    During initialization phase we will allow querying the modem for the
    details of which carrier-specific configuration is being used, and
    will expose a description string in the API.

    In addition to showing the current configuration, we will also allow
    automatically switching the configuration based on the SIM card
    detected in the device. In order to allow this, plugins/modems will
    need to provide the expected mapping between carrier config
    description and MCCMNC. This mapping cannot be generic, because
    different manufacturers may use different description strings.

 cli/mmcli-modem.c                                  |   1 +
 cli/mmcli-output.c                                 |   1 +
 cli/mmcli-output.h                                 |   1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   5 +
 .../org.freedesktop.ModemManager1.Modem.xml        |   7 ++
 libmm-glib/mm-modem.c                              |  41 ++++++++
 libmm-glib/mm-modem.h                              |   3 +
 src/mm-iface-modem.c                               | 113
 +++++++++++++++++++++
 src/mm-iface-modem.h                               |  19 ++++
 9 files changed, 191 insertions(+)

commit b8daedd3c015e150955d2063b9e79589640693e5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 16 17:41:57 2018 +0100

    broadband-modem-mbim: static array to define used QMI services

 src/mm-broadband-modem-mbim.c | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

commit 51a5b628ad5daadbeea3254100f5485785ba6833
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 16 14:00:59 2018 +0100

    broadband-modem-qmi: static array to define used QMI services

 src/mm-broadband-modem-qmi.c | 29 ++++++++++++++---------------
 1 file changed, 14 insertions(+), 15 deletions(-)

commit 8c053f637af1c232a6bf591c0643c6ea7e090378
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 3 22:41:13 2019 +0100

    dell,dw5821e: allow unmanaged GPS even when raw/nmea enabled

    The raw/nmea GPS source setup is using QMI LOC operations, so there is
    no point in disallowing the control of the unmanaged GPS source, as
    the GPS data TTY is exclusively used for unmanaged GPS.

 plugins/dell/mm-broadband-modem-dell-dw5821e.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit a0cb8b4dd56d4127f27854e5d58d9eccee5e2c8b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 3 22:39:36 2019 +0100

    iface-modem-location: allow enabling unmanaged gps even if raw/nmea
    enabled

    But only if the plugin implementation allows to do so.

 src/mm-broadband-modem.c      | 12 ++++++++++++
 src/mm-iface-modem-location.c | 29 +++++++++++++++++++++--------
 src/mm-iface-modem-location.h |  3 ++-
 3 files changed, 35 insertions(+), 9 deletions(-)

commit 5bbcfa831818f12cba77679ca7bbe4d8ca0a5f7d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 2 00:40:57 2019 +0200

    base-manager: fix inhibition alloc/dealloc mixup

 src/mm-base-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 43d454ab7f186c5d7feb7cc9f73119864e419554
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Mar 29 11:53:53 2019 -0700

    ublox: fix out-of-bounds array accesses

    This patch fixes several invalid checks like this:

       array[i] && i < G_N_ELEMENTS (array)

    which should instead be:

       i < G_N_ELEMENTS (array) && array[i]

    to avoid an out-of-bounds access of the array.

    Fixes: c1aa658802940327369a6a4cc50d35a4a6a9b04e

 plugins/ublox/mm-modem-helpers-ublox.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit 0944e592522f932ec72f0e88837252c39bd4df98
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 5 10:17:25 2019 +0100

    ublox: parse +UGCNTRD stats as unsigned 64bit values

      [1551646332.583651] (ttyACM2): --> 'AT+UGCNTRD<CR>'
      [1551646332.626567] (ttyACM2): <--
      '<CR><LF>+UGCNTRD: 1,0,0,0,0<CR><LF><CR><LF>+UGCNTRD:
      2,1397316870,113728263578,1397316870,113728263578<CR><LF><CR><LF>OK<CR><LF>'
      [1551646332.627120] Reloading stats failed: Couldn't load primary
      PDP context 2 statistics: Error parsing session RX bytes

 plugins/ublox/mm-broadband-bearer-ublox.c      |  5 ++---
 plugins/ublox/mm-modem-helpers-ublox.c         | 24
 ++++++++++++------------
 plugins/ublox/mm-modem-helpers-ublox.h         |  8 ++++----
 plugins/ublox/tests/test-modem-helpers-ublox.c | 24
 ++++++++++++++++--------
 4 files changed, 34 insertions(+), 27 deletions(-)

commit 7330f6d5812df26c0518e04eccd3092833c6e4f3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 5 10:06:45 2019 +0100

    libmm-glib,common: new helper methods to read guint64 values

    We use strtoull() to read a "unsigned long long" that is always at
    least 64bits, even in 32bit systems.

 libmm-glib/mm-common-helpers.c | 89
 ++++++++++++++++++++++++------------------
 libmm-glib/mm-common-helpers.h | 35 ++++++++++-------
 2 files changed, 73 insertions(+), 51 deletions(-)

commit 0a5d63872685691d43a87a27c0b700a327cf5098
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 13 13:27:30 2019 +0100

    ci: run distcheck on default build

 .gitlab-ci.yml | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 8fba3a23189779f36f5e0fdeff78385ee395a9b3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 13 10:58:16 2019 +0100

    ci: include builds without qmi and/or without mbim

 .gitlab-ci.yml | 80
 +++++++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 62 insertions(+), 18 deletions(-)

commit 5ef3c8eeb1f8efac06a3f5a03bd886a7a5f0583a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 13 10:57:43 2019 +0100

    dell,dw5821e: firmware update support only if QMI is enabled

 plugins/dell/mm-broadband-modem-dell-dw5821e.c | 32
 +++++++++++++++++++++-----
 1 file changed, 26 insertions(+), 6 deletions(-)

commit efcbdd9144d137134dce2dfa982ba6b805579c00
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 3 22:34:11 2019 +0100

    broadband-modem: reorder voice properties after messaging properties

 src/mm-broadband-modem.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit c7be4af542b8d68b7b76a835093bb73fe234570d
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Mon Feb 25 14:55:13 2019 +0100

    telit: add Telit MBIM broadband modem

    Modes and band support are added through AT commands.

 plugins/Makefile.am                           |   7 +
 plugins/telit/mm-broadband-modem-mbim-telit.c | 181
 ++++++++++++++++++++++++++
 plugins/telit/mm-broadband-modem-mbim-telit.h |  47 +++++++
 plugins/telit/mm-plugin-telit.c               |  12 +-
 4 files changed, 241 insertions(+), 6 deletions(-)

commit 3921c120b3683e8e27fa76b78a3ed4a1537c26d8
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Mon Feb 25 14:11:14 2019 +0100

    telit: move shared functions to mm-shared-telit

 plugins/Makefile.am                      |   2 +
 plugins/telit/mm-broadband-modem-telit.c | 457
 ++-----------------------------
 plugins/telit/mm-modem-helpers-telit.c   |  44 +++
 plugins/telit/mm-modem-helpers-telit.h   |   1 +
 plugins/telit/mm-shared-telit.c          | 451
 ++++++++++++++++++++++++++++++
 plugins/telit/mm-shared-telit.h          |  86 ++++++
 6 files changed, 604 insertions(+), 437 deletions(-)

commit 1093c124b4cb0185f97de65ecce15901ec8ec9d8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 26 17:05:42 2019 +0100

    dell,dw5821e: use DMS extension method to load properly formatted
    firmware version

    And require libqmi 1.23.1.

 configure.ac                                   |  2 +-
 plugins/dell/mm-broadband-modem-dell-dw5821e.c | 67
 +++++++++++++++++++++++---
 2 files changed, 61 insertions(+), 8 deletions(-)

commit 301bdcfef7e3407a675b37b99d2c57ddb249baa8
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Fri Feb 22 13:44:29 2019 +0100

    port-qmi: increase qmi_device_open retries

    Telit modems LM940/960 need more time for becoming responsive
    to qmi requests after device appearance.

 src/mm-port-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 35d84ac840dca47ae4bcca54d8ce4fed764be8b4
Author: Beniamino Galvani <bgalvani@redhat.com>
Date:   Thu Feb 14 15:57:58 2019 +0100

    broadband-modem-qmi: log reason of QMI port open failure

    If ModemManager fails to open a QMI port with data format update, it
    retries without update. It would be useful to log the reason why the
    first try failed; for example on RHEL 7.6 ModemManager fails to write
    to sysfs due to SELinux. With this commit, the following message would
    be logged:

     <debug> QMI port open operation finished
     <debug> Couldn't open QMI port with data format update: Expected data
     format not updated properly: Failed to open file
     '/sys/class/net/wwp0s29u1u2i8/qmi/raw_ip' for R/W: Permission denied
     <debug> Opening QMI device...

    instead of just:

     <debug> QMI port open operation finished
     <debug> Opening QMI device...

    While at it, also fix the GError leak.

 src/mm-broadband-modem-qmi.c | 2 ++
 1 file changed, 2 insertions(+)

commit bf0b5a07ca2dab3c42749644d97f5faed6f58654
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Wed Feb 13 13:54:36 2019 -0800

    Add .gitlab-ci.yml

    This allows us to run unit tests on every commit to the gitlab
    instance.

 .gitlab-ci.yml | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

commit 94e14d7cfc86299c8d6986e39cb81e0aebefa943
Author: scootergrisen <scootergrisen@gmail.com>
Date:   Sun Feb 10 15:48:46 2019 +0000

    po: add Danish translation

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/merge_requests/68

 po/LINGUAS |   1 +
 po/da.po   | 101
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 102 insertions(+)

commit de81520c4347f5203a179eeedb9f5188d89ab7c6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Feb 11 15:04:53 2019 +0100

    cli: report modem removal in --monitor-state

    If the modem ends up not being managed by ModemManager, detect it
    during the '--monitor-state' mmcli operation and report it.

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/106

 cli/mmcli-modem.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit 0f6f89801e6bac35e1dbcc2df06265a078b923cc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 2 10:40:08 2019 +0100

    ublox: fix parser to report only bands supported by the module

    We were filtering the 4G bands supported by the module when parsing
    +UBANDSEL responses, e.g. so that we would not reply unsupported bands
    for a given ubandsel value.

    But we need the same filtering in 2G and 3G bands, because for example
    some modules may support a specific 4G band with a given ubandsel
    value, but NOT the associated 3G band. E.g. the TOBY-R200 supports
    EUTRAN-4 but not UTRAN-4.

 plugins/ublox/mm-modem-helpers-ublox.c | 31
 ++++++++++++++++++++++---------
 1 file changed, 22 insertions(+), 9 deletions(-)

commit 278a72643aaf8e05925b14560b4e48818a4b36a7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 2 10:39:46 2019 +0100

    ublox,tests: fix R-200 UBANDSEL response tester

 plugins/ublox/tests/test-modem-helpers-ublox.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 74bdc97b345f8df8cc8c19e969bb50b741cebae1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 2 10:30:41 2019 +0100

    ublox: use fixed array sizes when iterating

 plugins/ublox/mm-modem-helpers-ublox.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8b9053822b28023eb10e3d5e83a3c9a829da7a63
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 2 10:26:19 2019 +0100

    ublox: fix loop looking for a specific 4g band value

    We cannot have the ubandsel value comparision inside the for(;;) stop
    conditions, because that would mean the loop would stop whenever the
    comparison fails. We want to look for a value, so we need to loop the
    whole array and stop once we find it only.

 plugins/ublox/mm-modem-helpers-ublox.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

commit 36b5e1ee2029f2aa6cd189918d61153d913415a5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 2 10:18:16 2019 +0100

    ublox: the whole list of supported bands is known

    So, assert() if for any reason we're asking to use a band that we
    don't find in the list.

 plugins/ublox/mm-modem-helpers-ublox.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit fec1c43f809d6bffffd8f56554807497d7be5ac0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 2 10:11:22 2019 +0100

    ublox: don't create array with totally unrelated size

 plugins/ublox/mm-modem-helpers-ublox.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit de5b9e441f282cd33b03f0d5b69863d56e3afac6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 2 10:04:41 2019 +0100

    ublox: coding style fixes

 plugins/ublox/mm-modem-helpers-ublox.c | 79
 ++++++++++++++++------------------
 1 file changed, 38 insertions(+), 41 deletions(-)

commit d8cf219644c673af69f71c3322669a03f5de63fc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 1 19:07:09 2019 +0100

    ublox,helpers: remove unit tests for supported bands

    We're hardcoding the supported bands for each u-blox model, so there
    really is no point in having unit tests for them.

 plugins/ublox/tests/test-modem-helpers-ublox.c | 108
 +------------------------
 1 file changed, 4 insertions(+), 104 deletions(-)

commit 437fb830c8071c3eca1de5f14378a269f48476f9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 1 18:56:35 2019 +0100

    ublox,helpers: assume all SARA/LARA devices require COPS

 plugins/ublox/mm-modem-helpers-ublox.c | 60
 +++++++++++++++++-----------------
 1 file changed, 30 insertions(+), 30 deletions(-)

commit ea01ac73e209ba9a2577140f993ce57ff541821a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 1 18:50:03 2019 +0100

    ublox: COPS based registration requests with 120s AT command timeout

 plugins/ublox/mm-broadband-modem-ublox.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1d7f2c1a6140285f0ed025c1cdd88afa68348fe9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 1 18:47:25 2019 +0100

    ublox: initial power state logic only required when CFUN used

    When we're changing modes or bands, we only need to keep track of the
    initial power state when CFUN=4/CFUN=1 based logic is used. When using
    COPS, we do not need to track initial power state or recover it after
    the operation.

 plugins/ublox/mm-broadband-modem-ublox.c | 110
 +++++++++++++++++--------------
 1 file changed, 62 insertions(+), 48 deletions(-)

commit d12b91978733a919ab47b7767b2bb73dd3f7624e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 24 16:50:07 2018 +0100

    ublox,helpers: fix missing ubandsel support initializations

 plugins/ublox/mm-modem-helpers-ublox.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

commit b1d69a69f9aaeb7c8e2b32a24517c275f34f2035
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 24 16:33:43 2018 +0100

    ublox,helpers: rename enum

    We're not going to use CFUN/COPS just for bands, but also for modes,
    so use more generic names.

 plugins/ublox/mm-broadband-modem-ublox.c |  18 +++---
 plugins/ublox/mm-modem-helpers-ublox.c   | 106
 +++++++++++++++----------------
 plugins/ublox/mm-modem-helpers-ublox.h   |  16 ++---
 3 files changed, 70 insertions(+), 70 deletions(-)

commit 308d9e4ddb0f98bd3653e7f8255517f74cdf4dfc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 24 16:27:28 2018 +0100

    ublox: fix band setting operation

    If both UBANDSEL and UACT are unsupported, we were not initializing
    the command variable.

 plugins/ublox/mm-broadband-modem-ublox.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2677524f6a7bbe9dab3cef106857491e5f65059e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 24 16:22:45 2018 +0100

    ublox: fix current bands loading completion

    If both UACT and UBANDSEL are unsupported, the async operation was
    never completed.

 plugins/ublox/mm-broadband-modem-ublox.c | 85
 +++++++++++++++++++++++++-------
 1 file changed, 68 insertions(+), 17 deletions(-)

commit c3f4fe063f59a706bec35fab3839f9f873420c75
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 24 16:09:06 2018 +0100

    ublox: rework support config loading

    Make mm_ublox_get_support_config() return FALSE only when GError is
    set. And also, prepare a preload_support_config() method to be run
    before using any information from the support configuration (i.e.
    don't do it in load_supported_bands(), do it in load_current_bands()
    or in set_current_bands().

 plugins/ublox/mm-broadband-modem-ublox.c | 85
 +++++++++++++++++++++++++++-----
 plugins/ublox/mm-modem-helpers-ublox.c   | 38 +++++++-------
 plugins/ublox/mm-modem-helpers-ublox.h   |  1 +
 3 files changed, 95 insertions(+), 29 deletions(-)

commit f2e3798bb328aac2d27896274d4737c314caf257
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 24 16:01:12 2018 +0100

    ublox: really subclass register_in_network()

    The implemented register_in_network() was totally unused.

 plugins/ublox/mm-broadband-modem-ublox.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 755964c9eb1825cc57666800e1757056219b6d64
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 24 15:58:08 2018 +0100

    ublox: fix missing return in method definition

        acquire_power_operation (MMBroadbandModemUblox  *self,
         ^~~~~~~~~~~~~~~~~~~~~~~
        ublox/mm-broadband-modem-ublox.c:74:1: error: no
        previous prototype for ‘acquire_power_operation’
        [-Werror=missing-prototypes]

 plugins/ublox/mm-broadband-modem-ublox.c | 1 +
 1 file changed, 1 insertion(+)

commit 421b5e48e04ae2aeb88bde55dcbfbf2501af9b7f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 24 15:53:37 2018 +0100

    ublox,helpers: remove unused variable

        ublox/mm-modem-helpers-ublox.c:1291:14: error: unused variable
        ‘found’ [-Werror=unused-variable]
             gboolean found;
                      ^~~~~

 plugins/ublox/mm-modem-helpers-ublox.c | 1 -
 1 file changed, 1 deletion(-)

commit 3575fe352812b6eb05298aef451b81adbc723ce1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 24 15:52:40 2018 +0100

    ublox,helpers: fix mixed declarations and code

      ublox/mm-modem-helpers-ublox.c:1298:5: error: ISO C90 forbids
      mixed declarations and code [-Werror=declaration-after-statement]
           guint i, j, k;
           ^~~~~

 plugins/ublox/mm-modem-helpers-ublox.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 4b507f3255f89c9880388e73256198da5e3e2cb6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 24 15:20:08 2018 +0100

    ublox: fix double task completion

    If mm_ublox_get_supported_bands() and mm_ublox_get_support_config()
    both failed, we would be completing the GTask twice. Fix it by
    chaining both steps so that the second one is not run if the first one
    is already failed.

 plugins/ublox/mm-broadband-modem-ublox.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

commit bbb96cd3f9fefc4884e0239a166d5e64423b83f4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 24 15:13:15 2018 +0100

    ublox: minor indentation fixes

 plugins/ublox/mm-broadband-modem-ublox.c | 70 +++++++++++++--------------
 plugins/ublox/mm-modem-helpers-ublox.c   | 82
 ++++++++++++++++----------------
 plugins/ublox/mm-modem-helpers-ublox.h   |  7 +--
 3 files changed, 80 insertions(+), 79 deletions(-)

commit c1aa658802940327369a6a4cc50d35a4a6a9b04e
Author: Mark-Jablonsky <mjablonsky1@gmail.com>
Date:   Wed Nov 28 13:28:00 2018 -0600

    ublox: add band detection support for additional modems

    The u-blox plugin was originally written to support the TOBY-L4 only.
    This caused issues with mmcli reporting the correct supported and
    current bands because the logic was based only for the TOBY-L4 and
    the AT commands used in the implementaion are only supported by
    a couple of modems.

    There is now a hard-coded modem list that contains the supported bands
    and the supported modes. A hard-coded list was chosen over a logic
    based list because ublox modems only report the frequency of the bands
    they support in the current mode they are in. For further
    justification,
    the reported frequency could relate to multiple bands that are not all
    supported by the modem, and not all the supported bands are always
    caught
    depending on the mode the modem is in (e.g. 2G, 3G, 4G). The only
    realiable way to retrieve the correct supported bands is to have
    the list
    hard-coded. Based off of the modem, the code chooses whether it is
    appropriate to issue +UACT or +UBANDSEL to retrieve the current
    bands list.
    Additionally, the appropriate AT command of +CFUN=4 or +COPS=2
    is chosen
    to detach from the network when the mmcli --set-current-bands
    command is
    issued. The new setup also adds a header file that contains the
    modem list.
    This should make adding support for future additional modems easier
    as long
    as future modems stick to the same AT command interface that is
    currently
    supported by the plugin.

 plugins/ublox/mm-broadband-bearer-ublox.c      |   6 -
 plugins/ublox/mm-broadband-modem-ublox.c       | 285 +++++----
 plugins/ublox/mm-modem-helpers-ublox.c         | 823
 +++++++++++++++++++++----
 plugins/ublox/mm-modem-helpers-ublox.h         |  37 +-
 plugins/ublox/tests/test-modem-helpers-ublox.c |  42 +-
 5 files changed, 924 insertions(+), 269 deletions(-)

commit 2d80dbfbfedbb849dad09981f253d788aac9e5cd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 17 16:37:19 2019 +0100

    build: post release version bump to 1.11.0

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9268d4f9ef445ca7c9bf731fe125f432cf6385ac
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 17 16:14:25 2019 +0100

    release: bump version to 1.10.0

 configure.ac | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit f49f325715b8bc8078bafa3339f1d77dbe35392e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 16 15:56:59 2019 +0100

    libmm-glib,firmware-update-settings: skip dictionary if method is NONE

    No need to process the detailed dictionary if no explicit method is
    reported as supported. Avoids unnecessary warnings:

      $ mmcli -m 1 --firmware-status
      ** (mmcli:6887): WARNING **: 15:52:54.664: Invalid initial update
      settings: Missing required 'device-ids' setting
      error: firmware status unsupported

 libmm-glib/mm-firmware-update-settings.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6dd8876124aab1873a40abadcf40e8271dfc9f6b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 15 17:42:50 2019 +0100

    NEWS: update for MM 1.10

 NEWS | 119
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 119 insertions(+)

commit 5123add8601e012944e7ea9e1cf28ce17b2f03bd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 15 15:40:10 2019 +0100

    api,doc: add note about when each modem interface is available

 introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml       |
 5 ++++-
 introspection/org.freedesktop.ModemManager1.Modem.Location.xml       |
 5 +++++
 introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml      |
 5 +++++
 introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml |
 5 +++++
 introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml      |
 5 +++++
 introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml      |
 5 +++++
 introspection/org.freedesktop.ModemManager1.Modem.Oma.xml            |
 5 +++++
 introspection/org.freedesktop.ModemManager1.Modem.Signal.xml         |
 5 +++++
 introspection/org.freedesktop.ModemManager1.Modem.Simple.xml         |
 5 +++++
 introspection/org.freedesktop.ModemManager1.Modem.Time.xml           |
 5 +++++
 introspection/org.freedesktop.ModemManager1.Modem.Voice.xml          |
 5 +++++
 introspection/org.freedesktop.ModemManager1.Modem.xml                |
 3 +++
 12 files changed, 57 insertions(+), 1 deletion(-)

commit 478a076d30b8ad44821e24652a4ebad5a8b3a6bb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 13 18:11:41 2019 +0100

    libmm-glib,manager: use g_async_initable_new_finish() explicitly

    We're running g_async_initable_new_async() ourselves in
    mm_manager_new(), so our finish() method should call
    g_async_initable_new_finish() explicitly.

    There's no change in the logic here, as the generated
    mm_gdbus_object_manager_client_new_finish() was already doing this
    implicitly.

 libmm-glib/mm-manager.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 495a466aaaa3b5c42d1b22f3447cb36eb89fa7a6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 13 18:02:22 2019 +0100

    libmm-glib,manager: simplify object creation

    The G_OBJECT() casts accept NULL safely.

 libmm-glib/mm-manager.c | 27 ++++++++++-----------------
 1 file changed, 10 insertions(+), 17 deletions(-)

commit 3eb3854fcb19529b7e82f224419d177fa56c569c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 13 18:01:54 2019 +0100

    libmm-glib,manager: cleanup internal proxy on name owner updates

    The MMManager object keeps an internal proxy object for the Manager
    interface, and we must make sure we cleanup this object any time
    the MM
    daemon is restarted. Otherwise, the MMManager may end up trying to use
    a stale proxy associated to a previous run of the daemon, and e.g. not
    showing properly the runtime version info.

    E.g., in this sequence with the example python tester, the runtime
    version of the daemon was valid only for the first time the daemon
    runs, and if the daemon is restarted, mm_manager_get_version()
    would keep returning NULL.

        $ ./modem-watcher-python
        [ModemWatcher] ModemManager service not available in bus
        [ModemWatcher] ModemManager 1.9.990 service is available in bus
        [ModemWatcher] Dell Inc. (DW5821e Snapdragon
        X20 LTE) modem managed by ModemManager [None]:
        /org/freedesktop/ModemManager1/Modem/0
        [ModemWatcher] ModemManager service not available in bus
        [ModemWatcher] ModemManager None service is available in bus
        [ModemWatcher] Dell Inc. (DW5821e Snapdragon
        X20 LTE) modem managed by ModemManager [None]:
        /org/freedesktop/ModemManager1/Modem/0
        [ModemWatcher] ModemManager service not available in bus
        [ModemWatcher] ModemManager None service is available in bus
        [ModemWatcher] Dell Inc. (DW5821e Snapdragon
        X20 LTE) modem managed by ModemManager [None]:
        /org/freedesktop/ModemManager1/Modem/0

 libmm-glib/mm-manager.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit 479590412e6b746365645eb9bbc9c605c20ab8bc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 13 17:33:05 2019 +0100

    examples,watcher: print runtime MM version

 examples/modem-watcher-javascript/modemWatcher.js | 2 +-
 examples/modem-watcher-python/ModemWatcher.py     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit bb0820d012112bbf609fe56c55a74a4791687766
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 13 14:37:45 2019 +0100

    port-mbim: do not clear the progress flag until really finished
    opening

    When the MBIM port open involved transparently trying to open a QMI
    device as well, we were clearing the progress flag before the full
    operation had finished, and so the port could have been closed by
    the time we really finish the open operation, leading to a crash:

        ModemManager[28824]: <info>  [1547386038.726136]
        (usbmisc/cdc-wdm3): released by device
        '/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/usb3/3-2/3-2.3'
        ModemManager[28824]: <info>  [1547386038.728084]
        (tty/ttyUSB0): released by device
        '/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/usb3/3-2/3-2.3'
        ModemManager[28824]: <info>  [1547386038.728738]
        (tty/ttyUSB1): released by device
        '/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/usb3/3-2/3-2.3'
        ModemManager[28824]: <info>  [1547386038.730769]
        (tty/ttyUSB2): released by device
        '/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/usb3/3-2/3-2.3'
        ModemManager[28824]: <info>  [1547386038.731256]
        (tty/ttyUSB3): released by device
        '/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/usb3/3-2/3-2.3'
        ModemManager[28824]: <debug>
        [1547386038.731301] Removing empty device
        '/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/usb3/3-2/3-2.3'
        ModemManager[28824]: <debug> [1547386038.731445] (ttyUSB0)
        forced to close port
        ModemManager[28824]: <debug> [1547386038.731547] (ttyUSB1)
        forced to close port
        ModemManager[28824]: <debug> [1547386038.731638] (ttyUSB2)
        forced to close port
        ModemManager[28824]: <debug> [1547386038.731715] (ttyUSB3)
        forced to close port
        ModemManager[28824]: <debug> [1547386039.580136] [cdc-wdm3]
        error: couldn't open QmiDevice: MBIM error: Transaction timed out
        ModemManager[28824]: <info>  [1547386039.580190] [cdc-wdm3]
        MBIM device is not QMI capable
        **
        ERROR:mm-broadband-modem-mbim.c:2119:track_mbim_device_removed:
        assertion failed: (device)

        Thread 1 "ModemManager" received signal SIGABRT, Aborted.
        0x00007ffff7390d7f in raise () from /usr/lib/libc.so.6

        (gdb) bt
        #0  0x00007ffff7390d7f in raise () at /usr/lib/libc.so.6
        #1  0x00007ffff737b672 in abort () at /usr/lib/libc.so.6
        #2  0x00007ffff7559042 in  () at /usr/lib/libglib-2.0.so.0
        #3  0x00007ffff75865dc in g_assertion_message_expr () at
        /usr/lib/libglib-2.0.so.0
        #4  0x00005555556407f9 in track_mbim_device_removed
        (self=0x5555557a2830, mbim=0x5555557ea190) at
        mm-broadband-modem-mbim.c:2119
        #5  0x000055555564093e in mbim_port_open_ready
        (mbim=0x5555557ea190, res=0x55555573fcf0, task=0x5555557d29d0)
        at mm-broadband-modem-mbim.c:2161
        #6  0x00007ffff77742f4 in  () at /usr/lib/libgio-2.0.so.0
        #7  0x00007ffff7776cd7 in  () at /usr/lib/libgio-2.0.so.0
        #8  0x000055555565fcd5 in qmi_device_open_ready
        (dev=0x55555578f250, res=0x55555573fb50, task=0x55555573fcf0)
        at mm-port-mbim.c:191
        #9  0x00007ffff77742f4 in  () at /usr/lib/libgio-2.0.so.0
        #10 0x00007ffff7776cd7 in  () at /usr/lib/libgio-2.0.so.0
        #11 0x00007ffff7c03fe6 in open_version_info_ready
        (client_ctl=0x7fffe8010c20, res=0x555555739e80,
        task=0x55555573fb50) at qmi-device.c:2050
        #12 0x00007ffff77742f4 in  () at /usr/lib/libgio-2.0.so.0
        #13 0x00007ffff7776cd7 in  () at /usr/lib/libgio-2.0.so.0
        #14 0x00007ffff7c2034f in get_version_info_ready
        (device=0x55555578f250, res=0x5555557ea2a0, task=0x555555739e80)
        at qmi-ctl.c:3746
        #15 0x00007ffff778ebcf in g_simple_async_result_complete ()
        at /usr/lib/libgio-2.0.so.0
        #16 0x00007ffff778ec5a in  () at /usr/lib/libgio-2.0.so.0
        #17 0x00007ffff75a98d1 in g_main_context_dispatch () at
        /usr/lib/libglib-2.0.so.0
        #18 0x00007ffff75ab5e9 in  () at /usr/lib/libglib-2.0.so.0
        #19 0x00007ffff75ac5c2 in g_main_loop_run () at
        /usr/lib/libglib-2.0.so.0
        #20 0x0000555555599eb0 in main (argc=2, argv=0x7fffffffe4c8)
        at main.c:181

 src/mm-port-mbim.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 0f588888080140f35bf67991af2dc20ac612d1a0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 12 16:07:18 2019 +0100

    cli,firmware: fix reporting fastboot AT command

    The update method is a bitmask, so check for the flag.

 cli/mmcli-modem-firmware.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

commit 3ba89881cc19ff94860c12909acd3cdc01ece7fc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 12 16:06:23 2019 +0100

    cli,firmware: fix reporting firmware update methods in key-value
    output

    It's a bitmask, so we report a list of strings.

 cli/mmcli-modem-firmware.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 251ca4a847792262e28a3476f9a4ca99d5d5a883
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 11 15:57:36 2019 +0100

    build: update copyright years to 2019

 cli/mmcli.c                                   | 2 +-
 docs/reference/api/ModemManager-docs.xml      | 1 +
 docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
 src/mm-context.c                              | 2 +-
 4 files changed, 4 insertions(+), 2 deletions(-)

commit 5869efff7277e3154e01fec64ae4183020590033
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 11 15:54:14 2019 +0100

    man,mmcli: update for MM 1.10

 docs/man/mmcli.1 | 395
 +++++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 299 insertions(+), 96 deletions(-)

commit 4ae62ace7f62be94b3ae2d114be33916bd11cc48
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 8 15:42:14 2019 +0100

    build: bump version to 1.9.990 (1.10-rc1)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 86c0ed814aa0f1f45ee3e9f9fd03b161551acb34
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 8 15:48:40 2019 +0100

    api,firmware: fix html generation

 introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml | 1 +
 1 file changed, 1 insertion(+)

commit e826a24e440e90696e4db6dddf576f2c4c70f737
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 8 15:35:16 2019 +0100

    build: require libmbim 1.18.0 and libqmi 1.22.0

 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 09c5ac061b35ed26f0cf14488c20d8bffddff8ed
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 17 14:10:26 2018 +0100

    mmcli,modem: new `--inhibit` action on the modem object

    Modem device inhibition is really a manager action for which we
    provide the full modem device 'uid'.

    This new operation allows to perform device inhibition using the modem
    object as reference, which is more handy than first looking at the
    device 'uid' and then running the manager action.

        $ sudo mmcli -m 0 --inhibit
        successfully inhibited device with uid
        '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-12/1-12.2'
        type Ctrl+C to abort this program and remove the inhibition
        ^C cancelling the operation...
        successfully uninhibited device with uid
        '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-12/1-12.2'

 cli/mmcli-modem.c | 63
 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 60 insertions(+), 3 deletions(-)

commit 2212d3e054fbe218c64fa76eeac8480f82d9f623
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Dec 7 16:12:35 2018 +0100

    api,manager: new InhibitDevice() method

    This new method allows users of the ModemManager API to take full
    control of a given device.

    Unlike other operations in the API, the inhibition is maintained as
    long as the caller exists in the bus, or until the same caller
    uninhibits the device.

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/98

 cli/mmcli-manager.c                               |  54 ++-
 docs/reference/libmm-glib/libmm-glib-sections.txt |  10 +
 introspection/org.freedesktop.ModemManager1.xml   |  21 ++
 libmm-glib/mm-manager.c                           | 236 +++++++++++++
 libmm-glib/mm-manager.h                           |  26 ++
 src/mm-base-manager.c                             | 383
 +++++++++++++++++++++-
 src/mm-device.c                                   | 103 ++++++
 src/mm-device.h                                   |  13 +
 8 files changed, 829 insertions(+), 17 deletions(-)

commit e3766aef5d93d6cfec27432c81da3548bdd18ea6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Dec 28 13:03:52 2018 +0100

    dell,dw5821e: also report QMI PDC based update available

 include/ModemManager-enums.h                   | 2 ++
 plugins/dell/mm-broadband-modem-dell-dw5821e.c | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

commit 87712c27f5868e2f05c03d4fdc2ee79f0ac1c243
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Dec 28 12:59:55 2018 +0100

    api,firmware: MMModemFirmwareUpdateMethod as flags, not enum

    Devices may require/support more than one update method, so instead of
    reporting the method as a single enum value, use a set of flags
    instead.

 cli/mmcli-modem-firmware.c                         |  8 ++---
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  4 +--
 include/ModemManager-enums.h                       |  6 ++--
 ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 25 +++++++++++-----
 libmm-glib/mm-firmware-update-settings.c           | 34
 +++++++++-------------
 plugins/quectel/mm-shared-quectel.c                |  2 +-
 6 files changed, 41 insertions(+), 38 deletions(-)

commit f35d64a8992a06e75585c774090e407ae21f24fe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 18 15:50:53 2018 +0100

    api,firmware: expose firmware version

 cli/mmcli-modem-firmware.c                         |  5 +-
 cli/mmcli-output.c                                 |  1 +
 cli/mmcli-output.h                                 |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  2 +
 ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 10 ++++
 libmm-glib/mm-firmware-update-settings.c           | 52
 +++++++++++++++++++--
 libmm-glib/mm-firmware-update-settings.h           |  3 ++
 src/mm-iface-modem-firmware.c                      | 53
 +++++++++++++++++-----
 src/mm-iface-modem.c                               | 18 ++++++++
 src/mm-iface-modem.h                               |  5 +-
 10 files changed, 133 insertions(+), 17 deletions(-)

commit 67b3b830c87e79827a9934362e673e1a23116026
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 17 17:37:36 2018 +0100

    api,firmware: expose device ids

 cli/mmcli-modem-firmware.c                         | 16 +++--
 cli/mmcli-output.c                                 |  1 +
 cli/mmcli-output.h                                 |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  2 +
 ...rg.freedesktop.ModemManager1.Modem.Firmware.xml |  8 +++
 libmm-glib/mm-firmware-update-settings.c           | 74
 ++++++++++++++++------
 libmm-glib/mm-firmware-update-settings.h           |  7 ++
 src/mm-iface-modem-firmware.c                      | 56 +++++++++++++++-
 8 files changed, 139 insertions(+), 26 deletions(-)

commit bc39201f761bd667bcd0c5eb53643a180ce53327
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 17 16:32:57 2018 +0100

    kerneldevice: allow loading device revision

 src/kerneldevice/mm-kernel-device-generic.c | 34
 ++++++++++++++++++++++++++
 src/kerneldevice/mm-kernel-device-udev.c    | 37
 ++++++++++++++++++++++++++---
 src/kerneldevice/mm-kernel-device.c         | 10 ++++++++
 src/kerneldevice/mm-kernel-device.h         |  2 ++
 4 files changed, 80 insertions(+), 3 deletions(-)

commit dcd49dee8899bfb4ccae7a0bbc200a0a62aeeb04
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 17 14:58:09 2018 +0100

    mmcli,firmware: avoid empty output if firmware status unsupported

 cli/mmcli-modem-firmware.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

commit f69098819b58a6f2f7012376e34035503daa876c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 17 13:53:55 2018 +0100

    iface-modem-firmware: List() and Select() are now optional

    Since the Firmware interface now contains more actions and properties
    apart from List() and Select(), these two actions are now optional.

    Not all modems implementing the Firmware interface must implement
    these two methods.

 src/mm-iface-modem-firmware.c | 31 +++++++++++++++++++++++--------
 1 file changed, 23 insertions(+), 8 deletions(-)

commit fc02b1320c91367be8f1b9d073fc0da473538647
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 9 15:54:38 2018 +0100

    quectel: report fastboot-based firmware update method and settings

    We'll check for AT+QFASTBOOT support during runtime.

 plugins/Makefile.am                              | 10 +++
 plugins/quectel/mm-broadband-modem-qmi-quectel.c | 67 ++++++++++++++++
 plugins/quectel/mm-broadband-modem-qmi-quectel.h | 47 ++++++++++++
 plugins/quectel/mm-broadband-modem-quectel.c     | 67 ++++++++++++++++
 plugins/quectel/mm-broadband-modem-quectel.h     | 47 ++++++++++++
 plugins/quectel/mm-plugin-quectel.c              | 24 +++---
 plugins/quectel/mm-shared-quectel.c              | 98
 ++++++++++++++++++++++++
 plugins/quectel/mm-shared-quectel.h              | 49 ++++++++++++
 8 files changed, 397 insertions(+), 12 deletions(-)

commit 4b21546f532991dceddab8e573ae6fbb87b28576
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 9 15:31:21 2018 +0100

    dell,dw5821e: report fastboot-based firmware update method and
    settings

    The DW5821e uses the AT^FASTBOOT command to reset the module in
    fastboot mode, ready to download new firmware.

    Note: we cannot use AT^FASTBOOT=? to query for support, as that
    command also triggers the reset :/

 plugins/dell/mm-broadband-modem-dell-dw5821e.c | 40
 +++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)

commit 3c7437d791cf4e805d989ef940aa805f9ecc3848
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 9 15:20:12 2018 +0100

    iface-modem-firmware: make the interface always available

    We no longer "check for support" of this interface, it will always be
    available for all modem objects.

    The only implementation that used this interface was the QMI one, and
    only for a very small subset of devices (those supporting the "QMI DMS
    List Stored Images" operation). The logic was changed so that the list
    of stored images wasn't preloaded during the support check; it will
    now instead be preloaded during the first call to List().

 src/mm-broadband-modem-qmi.c  | 109 ++++++++++++++++++++++--------------
 src/mm-iface-modem-firmware.c | 126
 ++++++------------------------------------
 src/mm-iface-modem-firmware.h |   8 ---
 3 files changed, 87 insertions(+), 156 deletions(-)

commit 8e342cf1204379a11bfe55941d4e722575cb364f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 9 13:54:31 2018 +0100

    api,firmware: new UpdateSettings property

 cli/mmcli-modem-firmware.c                         |  49 ++-
 cli/mmcli-output.c                                 | 415
 +++++++++++----------
 cli/mmcli-output.h                                 |   5 +-
 docs/reference/api/ModemManager-sections.txt       |   1 +
 docs/reference/libmm-glib/libmm-glib-docs.xml      |   1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  34 ++
 include/ModemManager-enums.h                       |  12 +
 ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 168 +++++----
 libmm-glib/Makefile.am                             |   3 +
 libmm-glib/libmm-glib.h                            |   1 +
 libmm-glib/mm-firmware-update-settings.c           | 259 +++++++++++++
 libmm-glib/mm-firmware-update-settings.h           |  89 +++++
 libmm-glib/mm-modem-firmware.c                     | 145 +++++++
 libmm-glib/mm-modem-firmware.h                     |   8 +-
 src/mm-iface-modem-firmware.c                      |  44 +++
 src/mm-iface-modem-firmware.h                      |   8 +
 16 files changed, 967 insertions(+), 275 deletions(-)

commit edf8d349390ec5be8d35f6e7105cde483849aae0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 9 11:27:33 2018 +0100

    api,firmware: remove unimplemented Install() method details

 .../org.freedesktop.ModemManager1.Modem.Firmware.xml | 20
 --------------------
 1 file changed, 20 deletions(-)

commit 55c3026643ee6c75c0a68171abd884edf035b9ba
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 13 10:46:58 2018 +0100

    api: deprecate 'number' in bearer properties

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/99

 cli/mmcli-bearer.c                        |  3 ---
 libmm-glib/mm-bearer-properties.c         | 44
 +++++++++++++++----------------
 libmm-glib/mm-bearer-properties.h         | 11 +++++---
 libmm-glib/mm-simple-connect-properties.c | 16 ++++++++---
 libmm-glib/mm-simple-connect-properties.h | 11 +++++---
 src/mm-broadband-bearer.c                 | 17 ++----------
 src/mm-iface-modem-simple.c               |  2 --
 7 files changed, 53 insertions(+), 51 deletions(-)

commit 5dc79ce6069a388db8c94a9fbe35cfee07445bb0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 17 15:18:07 2018 +0100

    libmm-glib: add autoptr cleanup functions for all types

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/100

 libmm-glib/mm-bearer-ip-config.h                  | 4 ++++
 libmm-glib/mm-bearer-properties.h                 | 4 ++++
 libmm-glib/mm-bearer-stats.h                      | 4 ++++
 libmm-glib/mm-bearer.h                            | 4 ++++
 libmm-glib/mm-call-audio-format.h                 | 4 ++++
 libmm-glib/mm-call-properties.h                   | 4 ++++
 libmm-glib/mm-call.h                              | 4 ++++
 libmm-glib/mm-cdma-manual-activation-properties.h | 4 ++++
 libmm-glib/mm-firmware-properties.h               | 4 ++++
 libmm-glib/mm-kernel-event-properties.h           | 4 ++++
 libmm-glib/mm-location-3gpp.h                     | 4 ++++
 libmm-glib/mm-location-cdma-bs.h                  | 4 ++++
 libmm-glib/mm-location-gps-nmea.h                 | 4 ++++
 libmm-glib/mm-location-gps-raw.h                  | 4 ++++
 libmm-glib/mm-manager.h                           | 4 ++++
 libmm-glib/mm-modem-3gpp-ussd.h                   | 4 ++++
 libmm-glib/mm-modem-3gpp.h                        | 4 ++++
 libmm-glib/mm-modem-cdma.h                        | 4 ++++
 libmm-glib/mm-modem-firmware.h                    | 4 ++++
 libmm-glib/mm-modem-location.h                    | 4 ++++
 libmm-glib/mm-modem-messaging.h                   | 4 ++++
 libmm-glib/mm-modem-oma.h                         | 4 ++++
 libmm-glib/mm-modem-signal.h                      | 4 ++++
 libmm-glib/mm-modem-simple.h                      | 4 ++++
 libmm-glib/mm-modem-time.h                        | 4 ++++
 libmm-glib/mm-modem-voice.h                       | 4 ++++
 libmm-glib/mm-modem.h                             | 4 ++++
 libmm-glib/mm-network-timezone.h                  | 4 ++++
 libmm-glib/mm-object.h                            | 4 ++++
 libmm-glib/mm-pco.h                               | 3 +++
 libmm-glib/mm-signal.h                            | 4 ++++
 libmm-glib/mm-sim.h                               | 4 ++++
 libmm-glib/mm-simple-connect-properties.h         | 4 ++++
 libmm-glib/mm-simple-status.h                     | 3 +++
 libmm-glib/mm-sms-properties.h                    | 4 ++++
 libmm-glib/mm-sms.h                               | 4 ++++
 libmm-glib/mm-unlock-retries.h                    | 4 ++++
 37 files changed, 146 insertions(+)

commit 2b18af89b4b46bdf1dc8701ba96c48a76d706336
Author: Khem Raj <raj.khem@gmail.com>
Date:   Tue Dec 18 23:10:44 2018 -0800

    Do not pass null string to %s printf formatted string

    Here the string is already decided to be NULL and passing
    a null pointer to %s will not work

    Fixes
    error: '%s' directive argument is null

    Signed-off-by: Khem Raj <raj.khem@gmail.com>

 plugins/mtk/mm-broadband-modem-mtk.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ef942ca56442ecac3a22803cc87b18ce9b8cd97c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 17 15:04:25 2018 +0100

    iface-modem-firmware: fix reporting empty firmware list

        ModemManager[2804]: <warn>  [1545055222.508649] No valid firmware
        images listed. Assuming firmware unsupported.
        ModemManager[2804]: <debug> [1545055222.508665] firmware list
        loading failed: unsupported
        ModemManager[2804]: <debug> [1545055222.508683] Couldn't load
        firmware image list: firmware list unknown
        ModemManager[2804]: <debug> [1545055222.508728] Couldn't load
        current firmware image: current firmware unknown

        (ModemManager:2804): GLib-CRITICAL **:
        15:00:22.508: g_variant_builder_end: assertion
        '!GVSB(builder)->uniform_item_types ||
        GVSB(builder)->prev_item_type != NULL ||
        g_variant_type_is_definite (GVSB(builder)->type)' failed

        Thread 1 "ModemManager" received signal SIGTRAP, Trace/breakpoint
        trap.
        0x00007ffff75b39b6 in ?? () from /usr/lib/libglib-2.0.so.0
        (gdb) bt
        #0  0x00007ffff75b39b6 in  () at /usr/lib/libglib-2.0.so.0
        #1  0x00007ffff75b4363 in g_logv () at /usr/lib/libglib-2.0.so.0
        #2  0x00007ffff75b4560 in g_log () at /usr/lib/libglib-2.0.so.0
        #3  0x00007ffff758867d in g_variant_builder_end () at
        /usr/lib/libglib-2.0.so.0
        #4  0x00005555555e4d12 in load_current_ready
        (self=0x55555579c330, res=0x5555557388e0, ctx=0x5555557d6d80)
        at mm-iface-modem-firmware.c:84
        #5  0x00007ffff778f194 in  () at /usr/lib/libgio-2.0.so.0
        #6  0x00007ffff778f1c9 in  () at /usr/lib/libgio-2.0.so.0
        #7  0x00007ffff75c4271 in g_main_context_dispatch () at
        /usr/lib/libglib-2.0.so.0
        #8  0x00007ffff75c5f89 in  () at /usr/lib/libglib-2.0.so.0
        #9  0x00007ffff75c6f62 in g_main_loop_run () at
        /usr/lib/libglib-2.0.so.0
        #10 0x0000555555597aa0 in main (argc=2, argv=0x7fffffffe488)
        at main.c:181

 src/mm-iface-modem-firmware.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 85ac6f12f5ebd54e3865d72e7c968310fabebd85
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 17 14:32:48 2018 +0100

    docs,libmm-glib: update copyright

 docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
 1 file changed, 1 insertion(+)

commit 1a14b687deb717ad1ea51075f0d92a0a9e35d2d8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 16 09:20:35 2018 +0100

    ublox,tests: avoid using deprecated band symbols

 plugins/ublox/tests/test-modem-helpers-ublox.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 7d9c7e0bf440f7d0cc03ea06fb24d30bd0379406
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 16 09:20:25 2018 +0100

    telit: avoid using deprecated band symbols

 plugins/telit/mm-modem-helpers-telit.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 04720d079520e5a71a52845c9ebe156744cba894
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 13 15:27:28 2018 +0100

    libmm-glib,modem-3gpp: add guards around deprecated symbols

 libmm-glib/mm-modem-3gpp.c | 4 ++++
 libmm-glib/mm-modem-3gpp.h | 5 ++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

commit 0d6e2dc9f57888e72ee3433e702e469c58022651
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Dec 12 16:58:46 2018 -0800

    altair-lte: use mm_autoptr instead of g_autoptr

    commit 397faef3c5ce ("mm-common-helpers: add mm_autoptr helpers for
    GRegex and GMatchInfo") introduces mm_autoptr(), which implements
    g_autoptr() that isn't available before glib 2.44. This patch
    fixes the
    code to consistently uses mm_autoptr().

 plugins/altair/mm-modem-helpers-altair-lte.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 1cee215f83461b0d141ce68abddb093d870c2ea8
Author: Bob Ham <bob.ham@puri.sm>
Date:   Wed Sep 26 06:59:42 2018 +0000

    base-call: Increase incoming call timeout to ten seconds

    The standard says a RING or CRING should be emitted whenever the
    network sends an incoming call notification, which is nation-specific:

      "Interpretation of indications from the network to determine what
      constitutes a "ring" is defined by national regulations.  This
      result code should be repeated each time the network repeats the
      incoming call indication."  -- ITU-T Rec. V.250, p. 42

    On the giffgaff (O2) network in the UK, a SIMCom SIM7100E modem emits
    RING indicators every six seconds.  The current timeout is only five
    seconds resulting in a stream of timed-out ModemManager call objects
    whenever there is an incoming call.  To fix this, we increase the
    timeout to ten seconds.

 src/mm-base-call.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 318d45353231c778d157ea3a4693eab0dcb51756
Author: Bob Ham <bob.ham@puri.sm>
Date:   Wed Dec 12 11:13:02 2018 +0000

    base-call: Fix in-call URC regex to match handler logic

    The handler assumes the regex sub-expressions each have the same index
    so they need to be within the same set of parentheses rather than each
    individually parenthesised.  Without this fix, call state changes are
    missed.

 src/mm-base-call.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6d273839e961734fd8e9b042205c68c738fd89f8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 9 10:12:57 2018 +0100

    docs,libmm-glib: add missing methods for the Version property

 docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +++
 1 file changed, 3 insertions(+)

commit 26e269ec70fbd986ae2818254c6cd5131e94b985
Author: LiuQiFeng <liuqf@fibocom.com>
Date:   Mon Dec 10 13:13:53 2018 +0100

    dell: support XMM-based devices

 plugins/Makefile.am           | 19 ++++++++++++++++---
 plugins/dell/mm-plugin-dell.c | 38 ++++++++++++++++++++++++++++++--------
 2 files changed, 46 insertions(+), 11 deletions(-)

commit e198ec7f2ada7b2b3a92a9661c3218852aa6b47a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Dec 8 10:08:39 2018 +0100

    base-manager: load subsys/name once in device_added()

 src/mm-base-manager.c | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

commit e34699cc9e3a66bd6316479f3c5ee86da4cd71e3
Author: Bob Ham <bob.ham@puri.sm>
Date:   Fri Dec 7 15:19:05 2018 +0000

    policy: Call method name should be SendDtmf rather than SendTone

    The method on MMBaseCall is send_tone but the D-Bus method call is
    SendDtmf.  Without this patch, calls return
    org.freedesktop.DBus.Error.AccessDenied.

 data/org.freedesktop.ModemManager1.conf.polkit | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit cae7377a61db232c2cc0ccc0ad6bbdd1c709712b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 6 14:54:19 2018 +0100

    iface-modem: always connect all method handlers, even in failed state

    So that the returned error is much more descriptive.

    E.g. instead of this:
        $ sudo mmcli -m 0 -e
        error: couldn't enable the modem:
        'GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod:
        Method Enable is not implemented on interface
        org.freedesktop.ModemManager1.Modem'
    We'll get this:
        $ sudo mmcli -m 0 -e
        error: couldn't enable the modem:
        'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.WrongState:
        modem in failed state'

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/96

 src/mm-iface-modem.c | 157
 +++++++++++++++++++++++----------------------------
 1 file changed, 72 insertions(+), 85 deletions(-)

commit 27276bf8626894b3814791d0e170ee56c177e3f0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 6 14:14:58 2018 +0100

    iface-modem: remove redundant logic to update failed state

    When the MMIfaceModem initialization returns with the SIM_NOT_INSERTED
    error, the base logic is already updating the modem failed reason to
    SIM_MISSING. There is no need to do that explicitly for the case where
    SIM hot swap is supported.

 src/mm-iface-modem.c | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

commit f4941ede665bffbf1cd25266781da6625fb09fb0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 6 14:06:56 2018 +0100

    xmm,dell: add defaults for MBIM-derived objects

    For subclasses of MMBroadbandModemMbim, also apply the same property
    defaults. E.g. we want to avoid peridic signal quality polling and we
    also want to report that SIM hot swap is supported.

 plugins/dell/mm-broadband-modem-dell-dw5821e.c | 4 ++++
 plugins/xmm/mm-broadband-modem-mbim-xmm.c      | 3 +++
 2 files changed, 7 insertions(+)

commit 88e4c0492ddf89f76fb700816fe0c421601d354d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 6 15:11:49 2018 +0100

    cli,modem: output should include all 3GPP EPS fields always

    Even if some fields wouldn't apply to some modem, we're always
    including all in the output so that clients can assume the fields are
    always given.

    Fix adding the 3GPP EPS related fields unconditionally.

 cli/mmcli-modem.c | 50 +++++++++++++++++++++++---------------------------
 1 file changed, 23 insertions(+), 27 deletions(-)

commit c12b5fa0271cc5a38dd437078c0c3d44ff484687
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 20 10:17:44 2018 +0100

    broadband-modem-mbim: implement initial EPS bearer settings updating

    We use the "LTE attach config" extension defined by Microsoft
    to update
    the initial EPS bearer settings.

    https://docs.microsoft.com/en-us/windows-hardware/drivers/network/mb-lte-attach-operations

 src/mm-broadband-modem-mbim.c | 171
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 171 insertions(+)

commit 2b25673f3460821cf9294f6feda9faffcb0e85ef
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 6 08:06:57 2018 +0100

    broadband-modem-mbim: implement initial EPS bearer settings loading

    We use the "LTE attach config" extension defined by Microsoft to query
    the initial EPS bearer settings.

    https://docs.microsoft.com/en-us/windows-hardware/drivers/network/mb-lte-attach-operations

 src/mm-broadband-modem-mbim.c | 122
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 122 insertions(+)

commit 1e09b586a72bf4d7ff8ea6badc65289f57ade760
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 20 10:17:38 2018 +0100

    broadband-modem-mbim: implement initial EPS bearer status support

    We use the "LTE attach status" extension defined by Microsoft to query
    and monitor the initial EPS bearer settings.

    https://docs.microsoft.com/en-us/windows-hardware/drivers/network/mb-lte-attach-operations

 src/mm-broadband-modem-mbim.c | 181
 +++++++++++++++++++++++++++++++++++++++---
 src/mm-iface-modem-3gpp.c     |  30 +++----
 2 files changed, 185 insertions(+), 26 deletions(-)

commit 48ba504f4e7e59cde380954fba84a790d34eaef4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 14 18:00:38 2018 +0100

    helpers-mbim: new method to convert IP type settings to/from MM

 src/mm-bearer-mbim.c        | 26 +++------------------
 src/mm-modem-helpers-mbim.c | 56
 ++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-helpers-mbim.h |  3 +++
 3 files changed, 61 insertions(+), 24 deletions(-)

commit d6e2c69129900f50dd8c0ed6cb9a7a17c141a85e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 14 17:46:38 2018 +0100

    helpers-mbim: new method to convert auth settings to/from MM

 src/mm-bearer-mbim.c        | 26 ++++-------------------
 src/mm-modem-helpers-mbim.c | 50
 +++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-mbim.h |  4 ++++
 3 files changed, 58 insertions(+), 22 deletions(-)

commit 4cb6751dafc20a55192b61eb8a6ab97d3c95c398
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 6 08:04:13 2018 +0100

    api,modem-3gpp: new 'SetInitialEpsBearerSettings' method

    This method allows users to modify the settings used during the
    initial LTE attach procedure.

 cli/mmcli-modem-3gpp.c                             |  76 ++++++++++
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   7 +
 ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml |  28 ++++
 libmm-glib/mm-modem-3gpp.c                         |  86 +++++++++++
 libmm-glib/mm-modem-3gpp.h                         |  13 ++
 src/mm-iface-modem-3gpp.c                          | 161
 +++++++++++++++++++++
 src/mm-iface-modem-3gpp.h                          |   9 ++
 7 files changed, 380 insertions(+)

commit 8281b5048bc002dd2b049fdad041a35b7175eca7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 6 07:55:58 2018 +0100

    api,modem-3gpp: new 'InitialEpsBearerSettings' property

    This property shows the settings stored in the device to be used
    during the initial LTE attach procedure.

 cli/mmcli-modem.c                                  |  21 ++
 cli/mmcli-output.c                                 | 316
 +++++++++++----------
 cli/mmcli-output.h                                 |   4 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   5 +
 ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml |  13 +
 libmm-glib/mm-modem-3gpp.c                         | 147 ++++++++++
 libmm-glib/mm-modem-3gpp.h                         |   8 +-
 src/mm-iface-modem-3gpp.c                          |  44 +++
 src/mm-iface-modem-3gpp.h                          |   8 +
 9 files changed, 408 insertions(+), 158 deletions(-)

commit 9c3ac2fb6023b87d065221f845969b0f06e26363
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 13 12:31:47 2018 +0100

    api,modem-3gpp: new 'InitialEpsBearer' property

    This property contains the DBus path of a Bearer object of type
    MM_BEARER_TYPE_DEFAULT_ATTACH, which is automatically exposed by the
    modem when registered in the LTE network.

    Unlike standard bearer objects created by the user, this bearer won't
    allow any connection/disconnection request, as its status is bound to
    the LTE registration exclusively.

    The bearer settings exposed by the object include the APN details that
    have been used during the initial packet network attach, which may be
    defined by modem settings (e.g. if previously configured in the
    firmware which APN to use for the given SIM card operator) or by the
    network itself (e.g. if none configured, or if a network override is
    required as when roaming).

    The bearer object will be created as soon as the LTE attach status
    details are known, and only while the modem is enabled. The
    implementation allows modems to update the LTE attach status details
    during runtime, so the bearer object with the settings may be
    recreated during runtime as well.

 cli/mmcli-bearer.c                                 |   8 +-
 cli/mmcli-common.c                                 | 129 +++++++--
 cli/mmcli-modem.c                                  |   8 +-
 cli/mmcli-output.c                                 | 312
 +++++++++++----------
 cli/mmcli-output.h                                 |   5 +-
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  11 +-
 ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml |   7 +
 .../org.freedesktop.ModemManager1.Modem.xml        |   5 +-
 libmm-glib/mm-modem-3gpp.c                         | 179 ++++++++++++
 libmm-glib/mm-modem-3gpp.h                         |  17 +-
 src/mm-base-bearer.c                               |  28 +-
 src/mm-broadband-modem.c                           |  37 +++
 src/mm-iface-modem-3gpp.c                          | 107 +++++++
 src/mm-iface-modem-3gpp.h                          |  16 ++
 14 files changed, 675 insertions(+), 194 deletions(-)

commit dc154cf005bbcb2f0bd1123093f6ac3c402c4de8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 11 14:46:53 2018 +0100

    api,bearer: new 'BearerType' property

    Until now we have only allowed to use and setup 'default bearers' (in
    4G) or 'primary contexts' (in 2G/3G).

    We can define a couple of additional bearer types, though:

    * The 'dedicated bearers' (in 4G) or 'secondary contexts' (in 2G/3G),
      which are associated to a specific default/primary one, but which
      provide specific QoS settings configured via traffic flow templates.

    * The 'initial default EPS bearer', which is a special case of default
      bearer in LTE, which is automatically created and connected when the
      modem is registered in the LTE network.

    This commit introduces a new 'MMBearerType' enumeration that will be
    associated to each bearer through a 'BearerType' property in the
    org.freedesktop.ModemManager1.Bearer interface, showing what kind of
    bearer/context this is.

    By default, right now, all bearer objects created are 'default'
    bearers.

 cli/mmcli-bearer.c                                 |  1 +
 cli/mmcli-output.c                                 |  1 +
 cli/mmcli-output.h                                 |  1 +
 docs/reference/api/ModemManager-sections.txt       |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  7 +++++++
 include/ModemManager-enums.h                       | 22
 ++++++++++++++++++++++
 .../org.freedesktop.ModemManager1.Bearer.xml       |  7 +++++++
 .../org.freedesktop.ModemManager1.Modem.xml        |  4 +++-
 libmm-glib/mm-bearer.c                             | 18
 ++++++++++++++++++
 libmm-glib/mm-bearer.h                             | 16 +++++++++-------
 src/mm-base-bearer.c                               | 19
 ++++++++++---------
 11 files changed, 80 insertions(+), 17 deletions(-)

commit 46d627ff831b7d4d609060d77cd852f42cfcfa83
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Dec 7 17:00:36 2018 +0100

    libmm-glib: fix mm_manager_scan() operation

    The reporting of the operation result was reversed in the async
    method.

 libmm-glib/mm-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1ef58be792e992f0c4fee3e2f8ac274d2b832a40
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Dec 7 16:58:35 2018 +0100

    libmm-glib: fix mm_manager_set_logging() operation

    The reporting of the operation result was reversed in the async
    method.

 libmm-glib/mm-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 397faef3c5ce9eb5274adc73d31bd8002dd28c21
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Dec 3 11:40:43 2018 -0600

    mm-common-helpers: add mm_autoptr helpers for GRegex and GMatchInfo

    Alias them to g_autoptr() on glib >= 2.44, otherwise re-implement.

 libmm-glib/mm-common-helpers.h               | 23 +++++++++++++++++++++++
 plugins/altair/mm-modem-helpers-altair-lte.c | 27
 ++++++---------------------
 2 files changed, 29 insertions(+), 21 deletions(-)

commit 9c15579347c0e8adfafbc11aeaccdfebaa8ac626
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 4 14:18:23 2018 +0100

    build: version bump to flag existence of new API (runtime version
    reporting)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c7af14cc80509fd05500c747bda379f93a62582d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 3 15:21:29 2018 +0100

    api,manager: new 'Version' property

    This string shows the runtime version of the ModemManager daemon.

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/94

 cli/mmcli-manager.c                               | 18 ++++++++++++--
 docs/reference/libmm-glib/libmm-glib-sections.txt |  1 +
 introspection/org.freedesktop.ModemManager1.xml   |  7 ++++++
 libmm-glib/mm-manager.c                           | 29
 ++++++++++++++++++++---
 libmm-glib/mm-manager.h                           |  2 ++
 src/mm-base-manager.c                             |  2 ++
 6 files changed, 54 insertions(+), 5 deletions(-)

commit d0bb8d1d503f2ce01ea85625294c238aa831d298
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 4 09:55:58 2018 +0100

    libmm-glib,manager: fix manager interface proxy creation

    We were re-using the GDBusObjectManagerClientFlags set in the
    MMManager object as GDBusProxyFlags for the Manager1 interface proxy
    object, and that was completely broken.

    Instead of setting "DO_NOT_AUTO_START" in the proxy, we were actually
    setting "DO_NOT_LOAD_PROPERTIES"...

 libmm-glib/mm-manager.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

commit 3b743dcc362c0859958d4be5a52abb453222b3c2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Dec 1 18:02:17 2018 +0100

    helpers-qmi: fix UTRAN band 6 vs band 19 mapping

    Looks like the original band 6 mapping was ok, and the mismatch was
    introduced when adding support for band 19.

    https://forum.sierrawireless.com/t/utran-19-band-configuration-in-sdk/14625

    Fixes 518d62e731534cb4834a10e86f32ee31300de98b.

 src/mm-modem-helpers-qmi.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 03fdb33e1c2e39cab2629ed3f16ddbc05b7752d8
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Nov 29 16:37:58 2018 -0800

    cli,output: include string.h for strlen()

    This patch fixes the following compiler warning:

    mmcli-output.c:783:19: error: implicitly declaring library
    function 'strlen' with type 'unsigned long (const char *)'
    [-Werror,-Wimplicit-function-declaration]
                aux = strlen
                (section_infos[field_infos[item_l->field].section].name);
                      ^

 cli/mmcli-output.c | 1 +
 1 file changed, 1 insertion(+)

commit 9389265bababbacab0ab73388ed74db66e29cc26
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Nov 29 16:35:44 2018 -0800

    cli,call: fix incorrect string conversion of MMCallStateReason enum

    This patch fixes the following issue with string conversion of a
    MMCallStateReason enum:

    mmcli-call.c:160:88: error: implicit conversion from enumeration
    type 'MMCallStateReason' to different enumeration type 'MMCallState'
    [-Werror,-Wenum-conversion]
        mmcli_output_string (MMC_F_CALL_PROPERTIES_STATE_REASON,
        mm_call_state_get_string (mm_call_get_state_reason (call)));
                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~
                                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 cli/mmcli-call.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7510b3355d7c1a670ab1eff373ef04bc5a8ad282
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 28 11:58:33 2018 +0100

    base-modem: fix segfault when disposing modem

    If we have a modem reference around during an ongoing operation but
    the modem has already been disposed after getting removed from the
    system, we were trying to iterate a NULL hash table, which led to a
    crash.

    https://lists.freedesktop.org/archives/modemmanager-devel/2018-November/006915.html

    Reported by Sebastien Fabre <sebastien.fabre@sigfox.com>

 src/mm-base-modem.c | 3 +++
 1 file changed, 3 insertions(+)

commit b0fba14b1e122522a1db2581779ffb94ee7cfa37
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 27 14:46:38 2018 +0200

    cli: allow multiple output format types

    In addition to the standard human-friendly output, we now allow a
    machine-friendly key-value pair output, much easier to parse and use
    by programs that look at the mmcli output.

    This new key-value pair output should be treated as API from now
    on, so
    third-party programs can assume the output is compatible from one
    release to another.

 cli/Makefile.am             |    4 +-
 cli/mmcli-bearer.c          |  248 +++++-----
 cli/mmcli-call.c            |   51 +-
 cli/mmcli-manager.c         |   66 +--
 cli/mmcli-modem-3gpp.c      |   68 +--
 cli/mmcli-modem-firmware.c  |   46 +-
 cli/mmcli-modem-location.c  |  185 +++-----
 cli/mmcli-modem-messaging.c |   63 +--
 cli/mmcli-modem-oma.c       |   50 +-
 cli/mmcli-modem-signal.c    |  106 +++--
 cli/mmcli-modem-time.c      |   36 +-
 cli/mmcli-modem-voice.c     |   40 +-
 cli/mmcli-modem.c           |  358 +++++---------
 cli/mmcli-output.c          | 1099
 +++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli-output.h          |  324 +++++++++++++
 cli/mmcli-sim.c             |   25 +-
 cli/mmcli-sms.c             |  117 ++---
 cli/mmcli.c                 |   16 +
 18 files changed, 1994 insertions(+), 908 deletions(-)

commit cafc40245d2007ad3a9a33875fc6b71d25e6a254
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Nov 3 12:04:01 2018 +0100

    cli,location: remove redundant --location-get-XXX actions

    The --location-get action provides full location information from all
    sources, which is better than per-source actions, as those were anyway
    using the same API method to load location information as the global
    one.

 cli/mmcli-modem-location.c | 221
 +++++++++++++++------------------------------
 1 file changed, 71 insertions(+), 150 deletions(-)

commit 613aceabda4bbcfd037be746567e568339a37ed0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 2 21:24:01 2018 +0100

    cli,simple: remove redundant --simple-status action

    The Simple.GetStatus() method is useful for simple DBus clients that
    don't need all the information associated to the modem, just the most
    important bits. But, in our case, the information provided by this
    method is already given by the standard modem info output, so it is
    totally redundant.

 cli/mmcli-modem-simple.c | 168
 +----------------------------------------------
 1 file changed, 1 insertion(+), 167 deletions(-)

commit 72674225caf25e680003fb52fa805bf4615ad18f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 1 21:46:37 2018 +0100

    api,modem: deprecate ListBearers() method

    This method is completely unnecessary as we have the readable Bearers
    property already in place, so let's deprecate it.

    Worth noting that the mm_modem_list_bearers() async/sync methods in
    libmm-glib were not really using the ListBearers() method anyway, they
    are using the property directly. These methods are NOT deprecated,
    because they allow us to get a list of MMBearer objects, instead of
    just the list of DBus paths that we get when reading the Bearers
    property directly.

    We also remove --list-bearers from the mmcli operation list as we have
    already the same information in the standard modem output.

 cli/mmcli-modem.c                                  | 68
 ----------------------
 .../org.freedesktop.ModemManager1.Modem.xml        |  3 +
 2 files changed, 3 insertions(+), 68 deletions(-)

commit a15193b7ca7c1b18f3aa6ee290f1c2866ab40a8c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Oct 19 15:55:21 2018 +0200

    broadband-modem: enable and handle +CGEV indications

    The +CGEV indications allow us to get notified of packet domain
    events like network-initiated or ME-initiated disconnections on
    specific connected contexts, as well as full PS detach events (all
    contexts disconnected). If the modem supports these indications, we
    will enable them with +CGEREP and will then process them when they are
    emitted by the modem.

    If a full PS detach event happens, we will explicitly disconnect all
    connected bearers.

    If a deactivation inidication is received for a single context, we
    will look for the associated bearer by CID and explicitly disconnect
    it.

 src/mm-broadband-modem.c       | 548
 +++++++++++++++++++++++++++++++++--------
 src/mm-modem-helpers.c         | 315 +++++++++++++++++++++++
 src/mm-modem-helpers.h         |  42 ++++
 src/tests/test-modem-helpers.c | 157 ++++++++++++
 4 files changed, 953 insertions(+), 109 deletions(-)

commit 73df7087fd218e9d95fb72c00fbcdf0cc5ccf1ac
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 19 13:17:29 2018 +0100

    cli,signal: fix missing separator in GSM block

    Each group of items should have a separator.

 cli/mmcli-modem-signal.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit b98accf66022fe104d113190a54cefbe8cd29d82
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 19 12:11:52 2018 +0100

    cli,signal: fix unknown value reporting

    At this point we want the values enclosed between single quotes,
    e.g. so that the fields are parsed easier by scripts.

    This issue will not have any practical relevance as soon as the
    key-value pair output support is merged.

 cli/mmcli-modem-signal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit cc6a286cc43bc2718e287f730b30ef0bbdce87a5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 12 12:25:33 2018 +0100

    dell: don't ignore ttyUSB1 in the DW5821e

    This port was ignored because it was non-functional in early
    development firmware images, and made device probing very slow.

    This has been solved in the first production images of the DW5821e
    module.

 plugins/dell/77-mm-dell-port-types.rules | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit ce945dc15f147e0287c40a6d84bf2553d6568738
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 11 14:34:40 2018 +0100

    doc,libmm-glib: mm_pco_new() is not part of public API

 docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 270d3318eaa239dc594e87f9525a41f30f512736
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 11 14:33:15 2018 +0100

    docs,libmm-glib: flag as private the mm_location_3gpp_reset() method

 docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 8b8bc0773f70961807d0208449a132b9fd673aab
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 11 14:30:33 2018 +0100

    libmm-glib,bearer-properties: don't document non-public API

    To avoid gtk-doc complaining about that.

 libmm-glib/mm-bearer-properties.c | 19 -------------------
 1 file changed, 19 deletions(-)

commit e9fd90a70c8bf9b4d58387607ab52c294efbec2e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 11 14:27:34 2018 +0100

    libmm-glib,3gpp: add missing set_eps_ue_mode_operation() API docs

 libmm-glib/mm-modem-3gpp.c | 43
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

commit ae84e3faf48fdb235d40f59d2f449d47dd1a1967
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 11 14:21:50 2018 +0100

    docs: remove duplicated mm-call-audio-format section

 docs/reference/libmm-glib/libmm-glib-sections.txt | 28
 -----------------------
 1 file changed, 28 deletions(-)

commit bf1b396596f2bbe9bc47c4ee5fb6176c3f14711e
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Nov 7 10:26:23 2018 -0800

    tests: use memcmp() instead of g_assert_cmpmem() for now

    g_assert_cmpmem() isn't available until glib 2.46, while the minimum
    glib version required by ModemManager is 2.36. This patch replaces the
    uses of g_assert_cmpmem() with memcmp() instead.

 libmm-glib/tests/test-pco.c                          | 3 +--
 plugins/altair/tests/test-modem-helpers-altair-lte.c | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

commit 2522efb35964154cc5607f37941a7381c3eb0d09
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Nov 6 13:40:43 2018 -0800

    broadband-modem-mbim: update ms-basic-connect-extensions naming

    libmbim 1.17.4 (commit 3eeaa4248b98 "ms-basic-connect-extensions:
    rename
    service") added a MS prefix to the Basic Connectivity Extensions
    service. This patch updates the MMBroadbandModemMbim code accordingly.

 configure.ac                  |  2 +-
 src/mm-broadband-modem-mbim.c | 22 +++++++++++-----------
 2 files changed, 12 insertions(+), 12 deletions(-)

commit 98fbc7a8b39aa84c905a7ce3c7b412ee04566f26
Author: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
Date:   Wed Oct 31 08:26:11 2018 +0100

    ublox: Add CDC-ECM support for SARA/LISA-U2xx

    The SARA-U2xx and LISA-U20x require the PDP context to be activated
    via
    +UCEDATA instead of +CGACT=1 when using the CDC-ECM USB profile.
    Furthermore, they expect the DHCP discover packet from the TE
    while the
    command is running, i.e. while the modem has not replied yet. In order
    to achieve that, the bearer is marked as connected as soon as the
    command is issued. This makes the NetworkManager start the DHCP
    process.
    If the modem replies with an error, the bearer will be marked
    disconnected later on.

    Signed-off-by: Sven Schwermer
    <sven.schwermer@disruptive-technologies.com>

 plugins/ublox/mm-broadband-bearer-ublox.c | 106
 +++++++++++++++++++++++++++---
 1 file changed, 96 insertions(+), 10 deletions(-)

commit 668d6af408ef45bda75e43b269625385635ec1de
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 27 11:18:47 2018 +0200

    docs: add missing MMCallAudioFormat reference in docs

 docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
 1 file changed, 1 insertion(+)

commit a32883d358834d2c2aea8b75fcfb46078e76a54f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 27 10:13:50 2018 +0200

    doc: fix multiple missing references

 docs/reference/api/ModemManager-sections.txt      |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt | 55
 +++++++++++++++++++++--
 2 files changed, 52 insertions(+), 4 deletions(-)

commit 864679543b2a858d2066b77edc53737cd96f39ec
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 26 21:42:11 2018 -0700

    build: ignore generated ChangeLog

 .gitignore | 1 +
 1 file changed, 1 insertion(+)

commit aa85aeae3d5659f7f14fb7facd4bfe078587c463
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 26 23:00:06 2018 -0700

    libqcdm: remove useless checks on always true condition

    result.c: In function ‘qcdm_result_add_u8_array’:
    result.c:338:36: error: comparison of unsigned expression >= 0 is
    always true [-Werror=type-limits]
         qcdm_return_if_fail (array_len >= 0);

    result.c: In function ‘qcdm_result_add_u16_array’:
    result.c:418:36: error: comparison of unsigned expression >= 0 is
    always true [-Werror=type-limits]
         qcdm_return_if_fail (array_len >= 0);
                                        ^

 libqcdm/src/result.c | 2 --
 1 file changed, 2 deletions(-)

commit 737eff557dd1231db11249fcbb8106803ca86272
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 26 23:00:05 2018 -0700

    modem-helpers: remove useless checks on always true condition

    mm-modem-helpers.c:3075:31: error: comparison of unsigned expression
    >= 0 is always true [-Werror=type-limits]
         g_return_val_if_fail (idx >= 0, NULL);
                                   ^

 src/mm-modem-helpers.c | 1 -
 1 file changed, 1 deletion(-)

commit b76db60313139126c6d932da89479a5ed1d5074f
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 26 10:56:57 2018 -0700

    ublox: fix username and password passed to +UAUTHREQ

 plugins/ublox/mm-broadband-bearer-ublox.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit be81f7e5a21cd42b708ab3b5af5c56cd4fdff35c
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Oct 11 11:36:00 2018 -0700

    sim-qmi: use QMI UIM service to read IMSI if needed

    If a QMI modem doesn't support the deprecated DMS_UIM_GET_IMSI
    command,
    use the UIM_READ_TRANSPARENT command to read EFimsi on the SIM to
    determine the IMSI.

 src/mm-sim-qmi.c | 77
 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 70 insertions(+), 7 deletions(-)

commit 055177fdf0b9cc461920bf0c488fab461d1ced06
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Oct 11 11:36:00 2018 -0700

    sim-qmi: use QMI UIM service to read ICCID if needed

    If a QMI modem doesn't support the deprecated DMS_UIM_GET_ICCID
    command,
    use the UIM_READ_TRANSPARENT command to read EFiccid on the SIM to
    determine the ICCID.

 src/mm-sim-qmi.c | 166
 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 159 insertions(+), 7 deletions(-)

commit 942bdeaec26eb587f39e9709dff0174bc4bfdd42
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Oct 20 20:20:54 2018 -0700

    modem-helpers: new helper to convert binary-coded decimals

    This patch adds a mm_bcd_to_string() helper function to convert a byte
    array representing a binary-coded decimal (BCD) number to a string
    representing the equivalent decimal number.

 src/mm-modem-helpers.c         | 20 ++++++++++++++++++++
 src/mm-modem-helpers.h         |  2 ++
 src/tests/test-modem-helpers.c | 38
 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 60 insertions(+)

commit 025fcb7e92dde84c45085a1087375413c23d8ab7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 28 22:34:00 2018 +0200

    api: deprecate SubscriptionState property

 ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml |  4 ++
 libmm-glib/mm-modem-3gpp.c                         | 12 +++-
 libmm-glib/mm-modem-3gpp.h                         |  5 +-
 src/mm-broadband-modem.c                           | 33 ---------
 src/mm-iface-modem-3gpp.c                          | 80
 ----------------------
 src/mm-iface-modem-3gpp.h                          |  8 ---
 6 files changed, 17 insertions(+), 125 deletions(-)

commit 408a2a9c6cef91e11a3ed5e09c140e175534822d
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Oct 18 16:37:19 2018 -0700

    altair-lte: migrate from SubscriptionState to Pco property

    In preparation of deprecating the SubscriptionState property in the
    Modem3gpp interface, this CL updates the altair-lte plugin to
    update the
    Pco property in the Modem3gpp interface upon receiving %PCOINFO
    notification.

 plugins/altair/mm-broadband-modem-altair-lte.c     | 186
 +++++----------------
 plugins/altair/mm-modem-helpers-altair-lte.c       | 123 +++++++-------
 plugins/altair/mm-modem-helpers-altair-lte.h       |   5 +-
 .../altair/tests/test-modem-helpers-altair-lte.c   | 109 ++++++++----
 4 files changed, 183 insertions(+), 240 deletions(-)

commit beb1aab17885bd2577964790986c5a79b6c120d7
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Oct 20 11:15:36 2018 -0700

    sierra: remove unused 'self' variable in scact_periodic_query_ready()

 plugins/sierra/mm-broadband-bearer-sierra.c | 2 --
 1 file changed, 2 deletions(-)

commit 55e011b5da14ee611f6ea21d89d48e429da7a1bb
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Oct 20 11:15:23 2018 -0700

    broadband-bearer: remove unused 'self' variables

 src/mm-broadband-bearer.c | 5 -----
 1 file changed, 5 deletions(-)

commit 14ca3efb7f1291075a55f85cd8d6df61db270d65
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Oct 20 00:47:19 2018 -0700

    xmm: remove unused 'priv' variable in xact_query_bands_ready()

 plugins/xmm/mm-shared-xmm.c | 3 ---
 1 file changed, 3 deletions(-)

commit 9c03ce033c558302ec65f7a2858feb715f672682
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Oct 20 00:46:44 2018 -0700

    base-call: remove unused 'self' variables

 src/mm-base-call.c | 9 ---------
 1 file changed, 9 deletions(-)

commit 436f9ef7e6d5f04ef1c01e595831a7ae9a4f2cbf
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Oct 17 23:06:49 2018 -0700

    core: use g_clear_pointer() to avoid explicitly checking and
    resetting pointers

 src/mm-base-sms.c             | 10 ++--------
 src/mm-broadband-modem-mbim.c | 10 ++--------
 2 files changed, 4 insertions(+), 16 deletions(-)

commit 7de6b6f2e176ed60f1f74d0d8704f73e39585891
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Oct 17 23:06:48 2018 -0700

    core: remove unnecessary NULL checks for g_match_info_free()

    g_match_info_free() already check if the given pointer is NULL
    and does
    nothing on a NULL pointer.

 plugins/cinterion/mm-modem-helpers-cinterion.c | 12 ++++--------
 plugins/huawei/mm-modem-helpers-huawei.c       | 21 +++++++--------------
 plugins/mbm/mm-modem-helpers-mbm.c             |  3 +--
 plugins/mtk/mm-broadband-modem-mtk.c           | 13 ++++---------
 plugins/novatel/mm-broadband-modem-novatel.c   |  3 +--
 plugins/sierra/mm-broadband-modem-sierra.c     |  6 ++----
 plugins/sierra/mm-modem-helpers-sierra.c       |  3 +--
 plugins/ublox/mm-modem-helpers-ublox.c         | 24
 ++++++++----------------
 plugins/wavecom/mm-broadband-modem-wavecom.c   |  3 +--
 plugins/xmm/mm-modem-helpers-xmm.c             | 10 +++-------
 plugins/zte/mm-broadband-modem-zte.c           |  3 +--
 src/mm-modem-helpers.c                         | 24
 +++++++-----------------
 12 files changed, 40 insertions(+), 85 deletions(-)

commit 749b806c30b41512dec4901808976425cdf3e56b
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Oct 17 23:06:47 2018 -0700

    core: remove unnecessary NULL checks for g_free()

    g_free() already check if the given pointer is NULL and does
    nothing on
    a NULL pointer.

 libmm-glib/mm-location-gps-raw.c | 3 +--
 src/mm-base-sms.c                | 6 ++----
 src/mm-broadband-bearer.c        | 3 +--
 3 files changed, 4 insertions(+), 8 deletions(-)

commit 4156fd27186a517fcae938aaf23783000f6f34aa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 10 15:54:23 2018 +0200

    xmm: implement A-GPS support

 plugins/xmm/mm-broadband-modem-mbim-xmm.c  |   4 +
 plugins/xmm/mm-broadband-modem-xmm.c       |   4 +
 plugins/xmm/mm-modem-helpers-xmm.c         |  85 +++++++++++++-
 plugins/xmm/mm-modem-helpers-xmm.h         |   7 ++
 plugins/xmm/mm-shared-xmm.c                | 178
 ++++++++++++++++++++++++++---
 plugins/xmm/mm-shared-xmm.h                |  13 +++
 plugins/xmm/tests/test-modem-helpers-xmm.c |  64 +++++++++--
 7 files changed, 333 insertions(+), 22 deletions(-)

commit fe05383fe5bfda64b873869d84a660b6d795325f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 10 15:54:02 2018 +0200

    libmm-glib,gps-raw: prefer $GNGGA over $GPGGA

    The $GNGGA traces provide "combined" values when multiple satellite
    constellations are used (e.g. GPS+GLONASS). Prefer these values over
    the GPS-only $GPGGA traces if both are received.

 libmm-glib/mm-location-gps-raw.c | 36
 +++++++++++++++++++++++++-----------
 1 file changed, 25 insertions(+), 11 deletions(-)

commit 2ffd0adf05616854dbd3fc49af589175a2e21650
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 10 15:53:55 2018 +0200

    xmm: implement XLCSLSR based GPS management and report

 plugins/xmm/mm-broadband-modem-mbim-xmm.c  |  39 +-
 plugins/xmm/mm-broadband-modem-xmm.c       |  37 ++
 plugins/xmm/mm-modem-helpers-xmm.c         | 122 ++++++
 plugins/xmm/mm-modem-helpers-xmm.h         |   8 +
 plugins/xmm/mm-shared-xmm.c                | 638
 +++++++++++++++++++++++++++++
 plugins/xmm/mm-shared-xmm.h                |  33 ++
 plugins/xmm/tests/test-modem-helpers-xmm.c |  57 +++
 7 files changed, 932 insertions(+), 2 deletions(-)

commit 04ca18c01ffde15c33f1fcbdbcd8f3a0fa556112
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Oct 16 15:42:44 2018 -0700

    modem-helpers-qmi: include string.h for memset()

    This patch fixes the following compiler warning:

    mm-modem-helpers-qmi.c:568:5: error: implicitly declaring library
    function 'memset' with type 'void *(void *, int, unsigned int)'
    [-Werror,-Wimplicit-function-declaration]
        memset (extended_qmi_lte_bands, 0, extended_qmi_lte_bands_size *
        sizeof (guint64));
        ^

 src/mm-modem-helpers-qmi.c | 2 ++
 1 file changed, 2 insertions(+)

commit b1342725322aa39aab26f5a2d8613b117819ebd7
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Oct 10 22:06:46 2018 -0700

    sim-qmi: avoid unnecessary MM_SIM_QMI() call on MMSimQmi object

 src/mm-sim-qmi.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit c9a56605cae68501b99252707e1731353567b92a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 10 15:03:11 2018 +0200

    huawei,call: check for ^CVOICE support and enable audio streaming

    USB sticks only support voice if ^CVOICE returns 0.  And to enable
    audio
    streaming on the "Application" port (whatever is returned by
    AT^DDSETEX=?)
    we need to send AT^DDSETEX=<port> after starting the call.  After that
    the serial port will send and accept signed 16-bit 8000hz PCM
    audio, or
    whatever format is returned by ^CVOICE?.

    This patch is a rework of the original implementation by:
    Dan Williams <dcbw@redhat.com>

 plugins/huawei/mm-broadband-modem-huawei.c |  95 ++++++++++++-
 plugins/huawei/mm-call-huawei.c            | 208
 +++++++++++++++++++++++++++--
 plugins/huawei/mm-call-huawei.h            |   7 +-
 plugins/huawei/mm-modem-helpers-huawei.c   |  63 +++++++++
 plugins/huawei/mm-modem-helpers-huawei.h   |   8 ++
 5 files changed, 369 insertions(+), 12 deletions(-)

commit e5f65d1b277cc8e26d3ba291643fa81af63381f6
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 17 00:19:09 2017 -0500

    port-serial: don't allow opens when a port is connected

 src/mm-port-serial.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 329caff84f1a3918b17f04b457afbc4a43c771c7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 10 13:52:06 2018 +0200

    base-call: implement generic audio channel setup/cleanup handlers

    Modems that require specific commands to setup or cleanup the audio
    channel as soon as a call is ongoing can subclass these two new
    methods.

    The setup() method is considered part of the call start/accept
    process, and so if it fails, the whole operation will fail.

    The failures in the cleanup() method will be reported in the log, but
    otherwise ignored, as this operation may be executed without any
    user intervention (e.g. if the remote party hangs up).

 src/mm-base-call.c | 196
 +++++++++++++++++++++++++++++++++++++++++++----------
 src/mm-base-call.h |  21 ++++--
 2 files changed, 175 insertions(+), 42 deletions(-)

commit 17c511ec6955d07af431bf2012e274c9b3ce3d48
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 10 13:51:39 2018 +0200

    api,call: new state reason to report audio setup failures

 include/ModemManager-enums.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 627303a748cce7274b05a6861a1dc0c779d9263a
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 6 20:53:39 2017 -0600

    api/libmm-glib/cli: add AudioPort and AudioFormat properties to the
    Call object

 cli/mmcli-call.c                                   |  23 ++
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  32 +++
 .../org.freedesktop.ModemManager1.Call.xml         |  39 +++
 libmm-glib/Makefile.am                             |   3 +
 libmm-glib/mm-call-audio-format.c                  | 276
 +++++++++++++++++++++
 libmm-glib/mm-call-audio-format.h                  |  88 +++++++
 libmm-glib/mm-call.c                               | 188 ++++++++++++++
 libmm-glib/mm-call.h                               |  10 +-
 src/mm-base-call.c                                 |  15 ++
 src/mm-base-call.h                                 |   6 +
 10 files changed, 678 insertions(+), 2 deletions(-)

commit 16162a5033593e017775eab640a3b9bf1b805c39
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 3 15:05:14 2018 +0200

    ublox: implement detailed call state transitions with +UCALLSTAT

    Among other things, we now support:
      * Dialing to Ringing Out transition.
      * Ringing Out to Active transition.

 plugins/Makefile.am                      |   2 +
 plugins/ublox/mm-broadband-modem-ublox.c | 152 +++++++++++++++++++++++-
 plugins/ublox/mm-call-ublox.c            | 194
 +++++++++++++++++++++++++++++++
 plugins/ublox/mm-call-ublox.h            |  50 ++++++++
 4 files changed, 396 insertions(+), 2 deletions(-)

commit 89218a087499a6f5a39fe1a71a66241c28432357
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 3 15:04:32 2018 +0200

    iface-modem-voice: remove unused declaration

 src/mm-iface-modem-voice.h | 5 -----
 1 file changed, 5 deletions(-)

commit 2b85d27fc00ccbe34a2dc9e2c679fa273967c7cb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 3 15:03:31 2018 +0200

    iface-modem-voice: simplify reporting new incoming calls

    Allow creating a new incoming call object also when we receive +CLIP,
    so that we can have the remote caller number as soon as the object is
    created.

 src/mm-broadband-modem.c   | 22 ++++------------------
 src/mm-iface-modem-voice.c | 44
 ++++++--------------------------------------
 src/mm-iface-modem-voice.h |  9 +++------
 3 files changed, 13 insertions(+), 62 deletions(-)

commit b2d859e37084099295cb96725e7e9f03b81dc84f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 3 15:00:14 2018 +0200

    base-call: treat 'ringing-in' as an in-call state

    So that we setup in-call events as soon as we get the incoming call
    ringing in. This allows us to have plugin-specific implementations
    e.g. reporting call termination when the remote caller hangs up.

 src/mm-base-call.c         | 1 +
 src/mm-iface-modem-voice.c | 7 +++----
 2 files changed, 4 insertions(+), 4 deletions(-)

commit 887376fe4467da7a18b8e008537493512adb9fcb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 3 14:56:52 2018 +0200

    mm-iface-mode: provide direction and number when creating calls

    Calls created from property bundles are always outgoing, while calls
    created as input events from URCs during runtime are always incoming.

    This change makes it mandatory to provide at least direction of the
    call when the object is created, leaving the number as an optional
    property that may or may not be known in advance (e.g. it would be
    optional only for incoming calls).

 plugins/huawei/mm-broadband-modem-huawei.c |  6 ++++--
 plugins/huawei/mm-call-huawei.c            |  6 +++++-
 plugins/huawei/mm-call-huawei.h            |  4 +++-
 src/mm-base-call.c                         |  6 +++++-
 src/mm-base-call.h                         |  4 +++-
 src/mm-broadband-modem.c                   |  6 ++++--
 src/mm-iface-modem-voice.c                 | 30
 +++++++++++-------------------
 src/mm-iface-modem-voice.h                 |  4 +++-
 8 files changed, 38 insertions(+), 28 deletions(-)

commit 44413308b295bd52c1b24eba69bc8e9eed6b4fb5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 3 14:49:40 2018 +0200

    iface-modem-voice: always create plugin-specified call objects

    The Voice interface logic must always use the create_call() object
    from its own interface to create call objects, as that is the method
    that plugins can subclass to provide plugin-specific call objects.

    This applies to both incoming and outgoing calls.

 src/mm-base-call.c         | 42
 ------------------------------------------
 src/mm-base-call.h         |  7 ++-----
 src/mm-iface-modem-voice.c | 45
 ++++++++++++++++++++++++++++++++++++++-------
 src/mm-iface-modem-voice.h |  1 -
 4 files changed, 40 insertions(+), 55 deletions(-)

commit fc0feee65481f7edf1118e8dd74a5352901f677f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 15 00:04:15 2018 +0200

    huawei,call: handle in-call URCs in the call object itself

    Instead of handling the URCs in the modem object and using the
    MMIfaceModem as a bridge to report the status read from the URC to a
    call obtained from the MMCallList... just handle the URCs in the call
    object itself.

 plugins/huawei/mm-broadband-modem-huawei.c | 243
 +----------------------------
 plugins/huawei/mm-broadband-modem-huawei.h |   1 +
 plugins/huawei/mm-call-huawei.c            | 196 ++++++++++++++++++++++-
 plugins/huawei/mm-call-huawei.h            |   2 +
 src/mm-call-list.c                         |  93 -----------
 src/mm-call-list.h                         |   7 +-
 src/mm-iface-modem-voice.c                 |  93 -----------
 src/mm-iface-modem-voice.h                 |   5 -
 8 files changed, 205 insertions(+), 435 deletions(-)

commit f71e120fb7e120c615e83a3803f20a0bd69b659e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 14 23:12:39 2018 +0200

    huawei: ignore voice origination info URCs

    These are not used for anything, so just simplify code.

 plugins/huawei/mm-broadband-modem-huawei.c | 36
 ++++++------------------------
 1 file changed, 7 insertions(+), 29 deletions(-)

commit ae917d03fd69b36e55d1c56dcedc4d0091d01016
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 14 23:04:31 2018 +0200

    huawei: if URCs fully ignored always, don't treat them as
    voice-specific

 plugins/huawei/mm-broadband-modem-huawei.c | 41
 ++++++++++--------------------
 1 file changed, 14 insertions(+), 27 deletions(-)

commit 65ae18118e9da4fc3da24df1022febeaf6c164a0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 14 22:59:32 2018 +0200

    huawei,call: remove custom start() method

    Totally equivalent to the default one in the MMBaseCall object.

 plugins/huawei/mm-call-huawei.c | 88
 -----------------------------------------
 1 file changed, 88 deletions(-)

commit 638c5b49f1a93e659e6fb7a67cab3a45a7745f31
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 14 16:06:33 2018 +0200

    base-call: improve logging

 src/mm-base-call.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 0478e88b4ffbcd502a07a59fc01263b5a225ba3c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 14 21:39:25 2018 +0200

    base-call: listen for connection error URCs in-call

    In order to detect state changes while we're in-call, we have to
    monitor the standard connection errors we're used to, but have them
    processed as URCs instead of as responses to ATD requests.

 plugins/huawei/mm-call-huawei.c |  4 +-
 src/mm-base-call.c              | 95
 +++++++++++++++++++++++++++++++++++++----
 2 files changed, 90 insertions(+), 9 deletions(-)

commit bd3b5aca01a3d3102c607b7ca6fab310963ec77c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 14 15:36:06 2018 +0200

    base-call: automatically terminate unanswered incoming calls

    Try to automatically detect when the caller finishes the attempt to
    establish the call.

 src/mm-base-call.c         | 45 ++++++++++++++++++++++++++++++++++++++-
 src/mm-base-call.h         | 20 ++++++++++-------
 src/mm-broadband-modem.c   |  4 ++--
 src/mm-call-list.c         | 29 ++++++++++++-------------
 src/mm-call-list.h         | 12 +++++------
 src/mm-iface-modem-voice.c | 53
 ++++++++++++++++++++++++++--------------------
 src/mm-iface-modem-voice.h |  2 +-
 7 files changed, 108 insertions(+), 57 deletions(-)

commit 0090124ec0d0d28fa78f5a0dd153e36584a0f171
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 14 14:58:28 2018 +0200

    base-call: ACTIVE after start() if detailed transitions unavailable

    The most detailed call state transition flow for a new outgoing call
    would be:

      UNKNOWN -> DIALING -> RINGING -> ACTIVE

    But, if the modem doesn't support reporting intermediate states
    (e.g. DIALING or RINGING) then a successful start() should imply
    getting into ACTIVE state right away.

    For now, only the Huawei plugin implements the detailed transition
    support, so make them configurable via call object properties.

 plugins/huawei/mm-call-huawei.c |  2 ++
 src/mm-base-call.c              | 47
 +++++++++++++++++++++++++++++++++++++----
 src/mm-base-call.h              |  8 ++++---
 3 files changed, 50 insertions(+), 7 deletions(-)

commit 7c10db26c20cd39862059e08ddd237e6eeb406d0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 14 14:43:10 2018 +0200

    base-call: setup/cleanup custom events when transitioning to/from
    in-call

 src/mm-base-call.c | 32 ++++++++++++++++++++++++++++----
 src/mm-base-call.h |  6 ++++++
 2 files changed, 34 insertions(+), 4 deletions(-)

commit cfdd6ffc95e611452281fc74bd403bdab9d2c79c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 14 14:34:05 2018 +0200

    base-call: don't update state twice

    The mm_gdbus_call_set_() methods update the properties in the same way
    as via g_object_set(), no need to do it twice.

 src/mm-base-call.c         | 11 +----------
 src/mm-iface-modem-voice.c |  1 -
 2 files changed, 1 insertion(+), 11 deletions(-)

commit 4409ccffccf781bf50f354b7ba193432e4cf8b73
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 14 14:31:02 2018 +0200

    base-call: call state updates only in the interface logic

    Don't do any call state update on the generic implementation of the
    commands, do it in the common interface logic exclusively.

    We were doing the state updates in both places.

 src/mm-base-call.c | 112
 +++++++++++++++++------------------------------------
 1 file changed, 35 insertions(+), 77 deletions(-)

commit 9a69e5363ab1c0200e31f6f061490cd350ce4a43
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 14 13:10:38 2018 +0200

    base-call: don't notify a state change if it didn't change

 src/mm-base-call.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 60d42de68e3a359d2eb0af3d3ca01ca48f3c53c6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 14 12:19:26 2018 +0200

    base-call: no need to delete call info from the device

    Call information only lives in the ModemManager logic, there is no
    associated date stored within the device itself. Therefore, simplify
    everything by assuming there is nothing to remove.

    Looks like this logic was implemented because it was originally based
    on the SMS management logic, but for SMS we do have to remove
    them (the stored PDU parts) from the device.

 src/mm-base-call.c         | 61 -------------------------------
 src/mm-base-call.h         | 15 --------
 src/mm-call-list.c         | 90
 ++++++++++------------------------------------
 src/mm-call-list.h         | 10 ++----
 src/mm-iface-modem-voice.c | 29 +++++----------
 5 files changed, 30 insertions(+), 175 deletions(-)

commit 9503af95e2d22b828c3dcf89c1d63e3dd823cbc2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 14 12:06:55 2018 +0200

    base-call: fix logic when rejecting calls

    Make sure the async task is always finished, even when
    mm_base_modem_at_command_finish() returns an error which is not
    MM_SERIAL_ERROR_RESPONSE_TIMEOUT.

 src/mm-base-call.c | 42 +++++++++++++-----------------------------
 1 file changed, 13 insertions(+), 29 deletions(-)

commit 0ac15f6e229a57c7ebefc9731d11bdba3f151c77
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 14 11:59:04 2018 +0200

    base-call: fix logic when accepting calls

    Don't return FALSE when call is successfully accepted, otherwise the
    caller will get very confused:

        ModemManager[19952]: <debug> [1528968478.344338] (ttyACM2): -->
        'ATA<CR>'
        ModemManager[19952]: <debug> [1528968478.361986] (ttyACM2): <--
        '<CR><LF>OK<CR><LF>'

        (ModemManager:19952): GLib-GIO-CRITICAL **: 11:27:58.387:
        g_dbus_method_invocation_take_error: assertion 'error != NULL'
        failed

    And also, make sure the async task is always finished, even when
    mm_base_modem_at_command_finish() returns an error which is not
    MM_SERIAL_ERROR_RESPONSE_TIMEOUT.

 src/mm-base-call.c | 52
 ++++++++++++++++------------------------------------
 1 file changed, 16 insertions(+), 36 deletions(-)

commit fa67a4f9bb014c947a9bb1c5f207ea787c8976b7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 9 10:50:03 2018 +0200

    sierra-legacy: implement connection status monitoring with !SCACT?

    Devices like the Netgear AC313U require explicit context monitoring,
    otherwise the device may end up disconnected internally and MM would
    still think that the connection is ongoing.

 plugins/Makefile.am                              |  22 ++++
 plugins/sierra/mm-broadband-bearer-sierra.c      | 122 +++++++++++++++++-
 plugins/sierra/mm-modem-helpers-sierra.c         |  84 +++++++++++++
 plugins/sierra/mm-modem-helpers-sierra.h         |  26 ++++
 plugins/sierra/tests/test-modem-helpers-sierra.c | 150
 +++++++++++++++++++++++
 src/mm-modem-helpers.c                           |   2 +-
 src/mm-modem-helpers.h                           |   2 +
 7 files changed, 405 insertions(+), 3 deletions(-)

commit c7d5902c15957d1487c83f13614b155a18b5f2b6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Oct 5 13:17:28 2018 +0200

    shared-qmi: implement support for the 'extended' LTE band list

    This will allow us to configure via mmcli devices that support LTE
    bands that would not fit in the standard TLVs (e.g. band 66 below)
    or bands which aren't really reported in the standard TLVs (e.g. bands
    46 and 48 below).

      $ sudo qmicli -d /dev/cdc-wdm0 -p --dms-get-band-capabilities
      [/dev/cdc-wdm0] Device band capabilities retrieved:
          Bands: 'wcdma-2100, wcdma-pcs-1900, wcdma-1700-us, wcdma-850-us,
          wcdma-800, wcdma-900, wcdma-1700-japan, wcdma-850-japan'
          LTE bands: '1, 2, 3, 4, 5, 7, 8, 12, 13, 14, 17, 18, 19, 20,
          25, 38, 39, 40, 41, 42, 43'
          LTE bands (extended): '1, 2, 3, 4, 5, 7, 8, 12, 13, 14, 17,
          18, 19, 20, 25, 26, 28, 29, 30, 32, 38, 39, 40, 41, 42, 43,
          46, 48, 66'

 src/mm-modem-helpers-qmi.c | 131
 +++++++++++++++++++++++++++++++++++++++------
 src/mm-modem-helpers-qmi.h |  11 ++--
 src/mm-shared-qmi.c        |  58 +++++++++++++++++---
 3 files changed, 173 insertions(+), 27 deletions(-)

commit c906da415ced0b8bd2ca99e7624f2fe2b0dc63d5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 9 14:13:15 2018 +0200

    broadband-modem-mbim: plug leaks when using the ATDS service

 src/mm-broadband-modem-mbim.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

commit 1ac79ccdfd82af5277c6baac7760d3a9588a0bd4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 6 14:57:58 2018 +0200

    cli,modem: print PCO as 'n/a' if not available

 cli/mmcli-modem.c | 45 +++++++++++++++++++++++++--------------------
 1 file changed, 25 insertions(+), 20 deletions(-)

commit 24454b2775cfcaa77429cf5d3a72ac82bd92084f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 6 14:52:18 2018 +0200

    cli,bearer: normalize n/a reporting

    Use always small letters.

 cli/mmcli-bearer.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit f7cb84788e6b07e2c937dcf4e0512233ca48f6f2
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 5 10:49:05 2018 -0700

    base-modem: remove explicit GDestroyNotify cast on g_object_unref

    g_object_unref is in form of  `void (*)(gpointer)`, which matches the
    GDestroyNotify signature. An explicit GDestroyNotify cast on
    g_object_unref is thus not needed.

 src/mm-base-modem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 8bde29c9e2484d32d3a85b51b2c59d164b22d9f0
Author: Thomas Haller <thaller@redhat.com>
Date:   Thu Oct 4 09:30:42 2018 +0200

    libmm-glib: use helper function to convert enum/flags from string

 libmm-glib/mm-common-helpers.c | 284
 +++++++++++++----------------------------
 1 file changed, 92 insertions(+), 192 deletions(-)

commit d83f50794dd3525c0c3aedf565066a6ba8fd6d73
Author: Thomas Haller <thaller@redhat.com>
Date:   Thu Oct 4 01:09:10 2018 +0200

    libmm-glib, modem-helpers: unref enum/flags GType classes in enum
    getters

 libmm-glib/mm-common-helpers.c | 60
 +++++++++++++++++++++++++++++++++++-------
 src/mm-modem-helpers.c         | 10 +++++--
 2 files changed, 58 insertions(+), 12 deletions(-)

commit a68bbbc1b98b5c2ec90969a7f70196352617c03d
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Sep 27 00:27:51 2018 -0700

    port-serial: port mm_port_serial_flash to use GTask

 src/mm-port-serial.c | 92
 +++++++++++++++++++++++++---------------------------
 1 file changed, 44 insertions(+), 48 deletions(-)

commit f3e1e699cfa2d0279144778f05eed6e2f0274a95
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Sep 27 00:27:50 2018 -0700

    port-serial: port mm_port_serial_reopen to use GTask

 src/mm-port-serial.c | 84
 +++++++++++++++++++++++++---------------------------
 1 file changed, 40 insertions(+), 44 deletions(-)

commit 2a1a0b88fbaafbe3862e1b9130a9a484e84d752f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 13 11:47:10 2018 +0200

    udev: define all generic tags as symbols

    This prevents errors due to nasty typos in the strings.

    We define all symbols in a single header file that is NOT considered
    part of the API, as there is no need for MM clients to know about
    these tags code-wise. These tags are only meaningful when associated
    to devices in udev.

    Information of each tag is included in the general API documentation.

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/88

 docs/reference/api/ModemManager-docs.xml     |   6 +
 docs/reference/api/ModemManager-sections.txt |  19 +++
 include/Makefile.am                          |   1 +
 include/ModemManager-tags.h                  | 210
 +++++++++++++++++++++++++++
 src/kerneldevice/mm-kernel-device-generic.c  |   4 +-
 src/kerneldevice/mm-kernel-device-udev.c     |   4 +-
 src/mm-base-manager.c                        |   6 +-
 src/mm-base-modem.c                          |  14 +-
 src/mm-filter.c                              |  13 +-
 src/mm-port-probe.c                          |  20 +--
 10 files changed, 273 insertions(+), 24 deletions(-)

commit a2705abb247f0f141d41ad8f34d99ce6133073af
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 13 22:00:58 2018 +0200

    iface-modem-messaging: if only one storage supported, select it
    right away

    Some plugins or implementations (e.g. notably MBIM) may report a
    single storage as supported and no way to update the current default
    storage. In this specific case, we will initialize the default storage
    to that single one supported right away, regardless of whether
    selecting others is implemented or not.

 src/mm-iface-modem-messaging.c | 60
 +++++++++++++++++++++++++++++-------------
 1 file changed, 42 insertions(+), 18 deletions(-)

commit 0ca95254ae507caddebe45f6ee6e230a99e82bfc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 25 16:06:38 2018 +0200

    libmm-glib,location-3gpp: don't ignore location updates when MNC is 0

    E.g. China Mobile (MCC 460, MNC 0).

        $ mmcli -m toby --location-get

        /org/freedesktop/ModemManager1/Modem/0
          -------------------------
          3GPP location   | Mobile country code: '460'
                          | Mobile network code: '0'
                          |  Location area code: '6188'
                          |             Cell ID: '40955'
          -------------------------
          GPS NMEA traces | Not available
          -------------------------
          Raw GPS         | Not available
          -------------------------
          CDMA BS         | Not available

 libmm-glib/mm-location-3gpp.c | 38 ++++++++++++++++++++++++++++++++++++--
 libmm-glib/mm-location-3gpp.h |  1 +
 src/mm-iface-modem-location.c |  9 +--------
 3 files changed, 38 insertions(+), 10 deletions(-)

commit 4d16eec5fbbe16e92dd25bea420fb8c503e520ec
Author: Ulrich Ölmann <u.oelmann@pengutronix.de>
Date:   Fri Sep 21 12:21:05 2018 +0200

    mmcli,location: fix doubled variable declaration

    Remove the redundant declaration of which slipped into the code
    in commit
    091bf4dbd811 ("api: support location assistance data").

    Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>

 cli/mmcli-modem-location.c | 1 -
 1 file changed, 1 deletion(-)

commit 8ef6d397c70313bdc511319c707e0ae825eacc96
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 21 15:02:03 2018 +0200

    cli,signal: add generic fields in its own group

    This is just to consolidate the output w.r.t. similar fields in
    e.g. the Messaging or Location interfaces.

 cli/mmcli-modem-signal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 77387cf604c8033a44d62253cf685493cc5d556d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 13 15:17:15 2018 +0200

    xmm: increase AT command timeout when updating bands/modes

    Looks like sometimes it may take a bit more than 3s.

 plugins/xmm/mm-shared-xmm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e75063d80a8b18a28a89116beb78e42fe85c0d56
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 13 09:35:42 2018 +0200

    po: minor updates in fr and it translation files

 po/fr.po | 17 ++++++++---------
 po/it.po |  7 +++----
 2 files changed, 11 insertions(+), 13 deletions(-)

commit 45a8fccb03ddcc35080f746bbe00b481bdbfb43e
Author: Milo Casagrande <milo@milo.name>
Date:   Tue Sep 11 11:36:38 2018 +0200

    [l10n] Add Italian translation

    Signed-off-by: Milo Casagrande <milo@milo.name>

 po/LINGUAS |   1 +
 po/it.po   | 108
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 109 insertions(+)

commit 2f140123995642b5c186b1bab203b4d16380563a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 13 09:29:52 2018 +0200

    xmm: minor alignment fixes

 plugins/xmm/mm-modem-helpers-xmm.c | 34
 +++++++++++++++++-----------------
 plugins/xmm/mm-modem-helpers-xmm.h | 10 +++++-----
 plugins/xmm/mm-shared-xmm.c        | 27 ++++++++++++---------------
 3 files changed, 34 insertions(+), 37 deletions(-)

commit 823aa46a148725e9e1bf4f38517230f384dc0f9a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 13 09:26:19 2018 +0200

    xmm: ensure outputs in load_values_finish() are always set if success

 plugins/xmm/mm-modem-helpers-xmm.c | 6 +++---
 plugins/xmm/mm-shared-xmm.c        | 5 +++++
 2 files changed, 8 insertions(+), 3 deletions(-)

commit 6b30f552a91ec0478f6a06fdc4e3d6740064bc0a
Author: Paul Bartell <p.bartell@temperednetworks.com>
Date:   Mon Sep 10 15:25:15 2018 -0700

    xmm: implement signal interface with +XCESQ polling

 plugins/xmm/mm-broadband-modem-xmm.c | 11 +++++++
 plugins/xmm/mm-shared-xmm.c          | 64
 ++++++++++++++++++++++++++++++++++++
 plugins/xmm/mm-shared-xmm.h          | 21 ++++++++++++
 3 files changed, 96 insertions(+)

commit 73045e931bd0cdef99c89ee56639850430430f41
Author: Paul Bartell <p.bartell@temperednetworks.com>
Date:   Mon Sep 10 15:17:22 2018 -0700

    xmm: add +XCESQ parser

 plugins/xmm/mm-modem-helpers-xmm.c         | 215
 +++++++++++++++++++++++++++++
 plugins/xmm/mm-modem-helpers-xmm.h         |  16 +++
 plugins/xmm/tests/test-modem-helpers-xmm.c | 144 +++++++++++++++++++
 3 files changed, 375 insertions(+)

commit 3dc4106f0da30a31af040cb7c38cc1df6a1a177c
Author: Paul Bartell <p.bartell@temperednetworks.com>
Date:   Mon Sep 18 19:24:38 2017 -0700

    broadband-modem: Call signal shutdown function when modem is disabled

 src/mm-broadband-modem.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit fe3665b18ed79f6de759718959154d5cbee4382a
Author: Paul Bartell <p.bartell@temperednetworks.com>
Date:   Mon Sep 18 19:23:33 2017 -0700

    iface-modem-signal: Tear down refresh context upon shutdown.

 src/mm-iface-modem-signal.c | 3 +++
 1 file changed, 3 insertions(+)

commit 04bf69c276ef0ced566e5d5b183c9995c5015516
Author: Paul Bartell <p.bartell@temperednetworks.com>
Date:   Thu Sep 7 09:43:58 2017 -0700

    modem-helpers: Make 3gpp signal quality functions public

 src/mm-modem-helpers.c | 52
 +++++++++++++++++++++++++-------------------------
 src/mm-modem-helpers.h | 24 +++++++++++++++++++++++
 2 files changed, 50 insertions(+), 26 deletions(-)

commit 6e5ea39cbab5d84dea8fe31d760bc79ac3412052
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 27 09:25:53 2018 +0200

    dell: implement Unmanaged GPS support for the DW5821e

    The DW5821E module is managed in MBIM mode by default, and exposes a
    NMEA capable tty in USB interface #4.

    Enabling/disabling the NMEA output via the TTY is done with AT
    commands, so this implementation requires also a valid AT port in the
    system.

    Given that the AT commands used to enable/disable this feature are
    based on modifying non-volatile memory through AT^NV, this
    implementation is very specific to the DW5821E. If we're able to do
    the same on other Dell modules in the future, we'll just rename the
    new object to a more generic one.

 plugins/Makefile.am                            |   8 +
 plugins/dell/mm-broadband-modem-dell-dw5821e.c | 317
 +++++++++++++++++++++++++
 plugins/dell/mm-broadband-modem-dell-dw5821e.h |  49 ++++
 plugins/dell/mm-plugin-dell.c                  |  18 +-
 4 files changed, 388 insertions(+), 4 deletions(-)

commit 02f9b5b0857af45a6726846d3e74840477be66bb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 27 10:56:56 2018 +0200

    dell: port type hints for the Dell DW5821e

    Include port type hints to make probing quicker, and ignore the
    secondary AT port as it may not be fully functional.

 plugins/dell/77-mm-dell-port-types.rules | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit d1744c76630b655c174e8b0f577889c9ccf73071
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 26 13:02:12 2018 +0200

    shared-qmi: reuse band management logic in MBIM whenever possible

 src/mm-broadband-modem-mbim.c |   9 ++
 src/mm-broadband-modem-qmi.c  | 347
 +-----------------------------------------
 src/mm-shared-qmi.c           | 258 +++++++++++++++++++++++++++++++
 src/mm-shared-qmi.h           |  19 +++
 4 files changed, 292 insertions(+), 341 deletions(-)

commit 7f18a9370a11e4913db72659aa1c92b12f3f7044
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 15 23:07:23 2018 +0200

    broadband-modem-mbim: use QMI-based mode/capability switching if
    supported

    The implementation available in the shared QMI logic can be used
    as-is, with one important note: if the QMI-based mode/capability
    switching is used, we MUST also use QMI-based "3GPP network
    registration" logic. This is needed because the MBIM command used to
    select which 3GPP network to connect to allows specifying the mask of
    access technologies desired, and that would overwrite whatever we had
    previously set with QMI-based mode/capability switching commands.

 src/mm-broadband-modem-mbim.c | 411
 +++++++++++++++++++++++++++++++++++++-----
 src/mm-modem-helpers-mbim.c   |  22 +++
 src/mm-modem-helpers-mbim.h   |   3 +
 3 files changed, 387 insertions(+), 49 deletions(-)

commit ac69466c9da7c553c7f4c4a4197614af560abc83
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 16 00:04:20 2018 +0200

    shared-qmi: implement 3GPP network registration logic

    Ported from the broadband modem QMI implementation, keeping the logic
    in place. We will need this to integrate mode/capability switching in
    MBIM devices, for nothing else really (as MBIM already supports this
    operation).

 src/mm-broadband-modem-qmi.c | 110
 +------------------------------------------
 src/mm-shared-qmi.c          | 103
 ++++++++++++++++++++++++++++++++++++++++
 src/mm-shared-qmi.h          |  12 +++++
 3 files changed, 117 insertions(+), 108 deletions(-)

commit 692d076ba68e09bcad146d78109d4a59e1563918
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 15 22:54:18 2018 +0200

    shared-qmi: implement reworked mode and capabilities management

    This commit introduces several improvements and changes in the way
    modes and capabilities are managed in QMI capable devices. It is
    organized into a single commit, as all changes in all 6 operations
    (load current capabilities, load supported capabilities, set current
    capabilities, load supported modes, load current modes, set current
    modes) are related one to the other (given that the same QMI commands
    are used for both capabilities and mode management).

    The primary change is related to which capabilities are reported as
    supported for a given device. In the previous implementation we
    allowed switching between every combination possible for GSM/UMTS+LTE,
    CDMA/EVDO+LTE or GSM/UMTS+CDMA/EVDO+LTE devices. E.g. we would allow
    "LTE only" and "GSM/UMTS only" capabilities for GSM/UMTS+LTE devices,
    even if they would both be managed in exactly the same way. That setup
    wasn't ideal, because it meant that switching to a "LTE only"
    configuration would require a power cycle, as capability switching
    requires a power cycle, even if no change was expected in the exposed
    DBus interfaces (which is why we require the power cycle). So, instead
    of allowing every possible capability combination, we use capability
    switching logic exclusively for configuring GSM/UMTS+CDMA/EVDO devices
    (regardless of whether it has LTE or not) to add or remove the
    GSM/UMTS and CDMA/EVDO capabilities. E.g. for a GSM/UMTS+CDMA/EVDO+LTE
    device we would allow 3 combinatios: "GSM/UMTS+LTE", "CDMA/EVDO+LTE"
    and "GSM/UMTS+CDMA/EVDO+LTE".

    The "GSM/UMTS+CDMA/EVDO+LTE" is a special case because for this one we
    allow switching to "LTE only" capabilities while we forbid switching
    to "4G only" mode. As the same commands are used for mode and
    capability switching, if we didn't have "LTE only" and we allowed "4G
    only" mode instead and rebooted the device, we would end up not being
    able to know which other capabilities (GSM/UMTS or CDMA/EVDO or both)
    were also enabled.

    Now that we have capability switching confined to a very subset of
    combinations, we can use the mode switching logic to e.g. allow "4G
    only" configurations in all non multimode devices, as well as masks of
    allowed modes with one being preferred, which we didn't allow before.
    In the previous implementation all mode switching logic was disabled
    for LTE capable QMI devices. In the new implementation, we use the
    "Acquisition Order Preference" TLV in NAS Set System Selection
    Preference to define the full list of mode preferences for all
    supported modes.

    We also no longer just assume that NAS Technology Preference is always
    available and NAS System Selection Preference only after NAS >= 1.1.
    This logic is flawed, instead we're going to probe for those features
    once when loading current capabilities, and we then just implement the
    capabilities/mode switching logic based on that.

 configure.ac                 |    2 +-
 src/mm-broadband-modem-qmi.c | 4350
 +++++++++++++++---------------------------
 src/mm-modem-helpers-qmi.c   |  131 +-
 src/mm-modem-helpers-qmi.h   |    8 +
 src/mm-shared-qmi.c          | 1267 ++++++++++++
 src/mm-shared-qmi.h          |   67 +-
 6 files changed, 3026 insertions(+), 2799 deletions(-)

commit 6026c99f2ec99e2721356ee645472d8403676bf6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 8 14:27:35 2018 +0200

    shared-qmi: reuse device factory reset logic in MBIM whenever possible

 src/mm-broadband-modem-mbim.c |  2 ++
 src/mm-broadband-modem-qmi.c  | 78
 ++-----------------------------------------
 src/mm-shared-qmi.c           | 73
 ++++++++++++++++++++++++++++++++++++++++
 src/mm-shared-qmi.h           | 19 +++++++----
 4 files changed, 90 insertions(+), 82 deletions(-)

commit 9dc26cc44d79f18789a510e050fc899b680587ec
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 8 14:17:34 2018 +0200

    shared-qmi: reuse device reset logic in MBIM whenever possible

 src/mm-broadband-modem-mbim.c |   6 ++
 src/mm-broadband-modem-qmi.c  | 195
 ++++++------------------------------------
 src/mm-shared-qmi.c           |  99 +++++++++++++++++++++
 src/mm-shared-qmi.h           |   9 ++
 4 files changed, 142 insertions(+), 167 deletions(-)

commit 32aa8333c62296c7c9c918b161e35355821e7615
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 24 18:44:36 2018 +0200

    helpers,tests: update ICCID related unit tests

    Fix the test for invalid characters, because now I allow hex chars in
    the account number.

    And add new tests with real China Mobile ICCIDs that contain hex chars
    in the account number.

 src/tests/test-modem-helpers.c | 32 +++++++++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

commit 099d54a4bcaf7d71ccda1d42424d5b73ec286911
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 21 16:31:35 2018 +0200

    helpers: allow [A-F] range in operator-specific ICCID account number

    There are operators (e.g. the Chinese CMCC operator) that abuse the
    fact that 4 bits are used to store the BCD encoded numbers, and also
    use the [A-F] range as valid characters for the ICCID in the operator
    specific account number part. Haven't seen any documentation where
    this format with [A-F] characters is explicitly allowed, but I have
    seen multiple real cases where it happens. E.g.:

      898602F9091830030220
      898602C0123456789012

    This patch also removes the 'last F' validation, used when reading
    19-digit ICCIDs with +CRSM, as it no longer applies.

 src/mm-modem-helpers.c | 41 ++++++++++++++++++++++-------------------
 1 file changed, 22 insertions(+), 19 deletions(-)

commit eb01914bd0cada5d2ed144d5f3f45fd17722e97c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 21 16:26:45 2018 +0200

    ublox: implement custom ICCID loading

    Use AT+CCID to query the SIM ICCID, and fallback to parent's +CRSM
    based method otherwise.

 plugins/Makefile.am                      |   2 +
 plugins/ublox/mm-broadband-modem-ublox.c |  25 +++++
 plugins/ublox/mm-sim-ublox.c             | 162
 +++++++++++++++++++++++++++++++
 plugins/ublox/mm-sim-ublox.h             |  51 ++++++++++
 4 files changed, 240 insertions(+)

commit 02821232878d2a12bf248b7f2594c48076593810
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jan 8 13:37:24 2018 +0100

    helpers: allow 19-digit reported ICCIDs

    The mm_3gpp_parse_iccid() method does validation of the ICCID string
    and was originally implemented to handle +CRSM reported values. The
    implementation was looking for 20-digit strings, even for 19-digit
    ICCIDs (those finished with a trailing 'F').

    We now extend the logic to also validate ICCID strings reported as
    19-digit values directly, and when that happens we won't allow
    swapping of the digits (a +CRSM specific requirement) or trailing 'F'
    characters (as that is only required when reporting 19-digit ICCIDs
    with 20-digit strings).

    This change allows us to e.g. use the u-blox specific AT+CCID command
    and validate the returned ICCID with the same helper method, which
    currently fails:

      (ttyACM2): --> 'AT+CCID<CR>'
      (ttyACM2): <-- '<CR><LF>+CCID:
      8934077700015848638<CR><LF><CR><LF>OK<CR><LF>'
      couldn't load SIM identifier: 'Invalid ICCID response size (was 19,
      expected 20)'

 src/mm-modem-helpers.c         | 25 +++++++++++++++++--------
 src/tests/test-modem-helpers.c | 15 +++++++++++++++
 2 files changed, 32 insertions(+), 8 deletions(-)

commit 4c669d3bf46da3b4f924968e43fc2edfbfa0b5d7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 10 23:36:45 2018 +0200

    modem-helpers: reuse nicknames for the flow control tags

    And check that the string given in the tag is actually a valid one.

 src/mm-base-modem.c    | 20 ++++++++++++-----
 src/mm-modem-helpers.c | 30 ++++++++++++++-----------
 src/mm-modem-helpers.h |  3 ++-
 src/mm-port-probe.c    | 60
 ++++++++++++++++++++++++++++++--------------------
 4 files changed, 70 insertions(+), 43 deletions(-)

commit fc1beefe927adb8d9bed3f554ddfb73a09593630
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 10 23:15:26 2018 +0200

    port-serial: improve logging in mm_port_serial_set_flow_control()

 src/mm-port-serial.c | 32 ++++++++++++++++++++++++++------
 1 file changed, 26 insertions(+), 6 deletions(-)

commit 727567cf581f9126b5af6aff2944f3734877d999
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 10 23:03:12 2018 +0200

    broadband-bearer: no need for explicit flow control cleanup on
    disconnect

    We're already configuring the flow control we expect when running
    mm_port_serial_reopen(), which will keep the udev-selected flow
    control or will otherwise reset to no flow control when the TTY is in
    command mode.

 src/mm-broadband-bearer.c | 20 --------------------
 1 file changed, 20 deletions(-)

commit a19be8952f3d1587c32b63d0410530d5ae806e46
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 10 11:56:41 2018 +0200

    cinterion: report selected RTS/CTS flow control to modem

 plugins/cinterion/mm-broadband-modem-cinterion.c | 1 +
 1 file changed, 1 insertion(+)

commit 5f3c415722c26eafe3d5e02c02e3b692d9c47930
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 10 11:56:15 2018 +0200

    iridium: report selected RTS/CTS flow control to modem

 plugins/iridium/mm-broadband-modem-iridium.c | 1 +
 1 file changed, 1 insertion(+)

commit cd762addfd87e3b90c5a644f8bdaca3be01d5a3a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 10 13:46:03 2018 +0200

    broadband-modem: allow subclasses to modify the flow control settings

    If a subclass implements a custom setup_flow_control() logic, e.g. to
    select a very specific setting explicitly, let it also configure the
    flow control settings modem-wide via the modem object property, so
    that bearer objects can later on use the same settings when preparing
    for a new connection.

 src/mm-broadband-modem.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit a9f871805b8e9b8c16a60b46ccdc525c78352f6c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 10 11:44:54 2018 +0200

    broadband-modem: rework flow control selection logic

    Try to simplify a bit the logic that selects the flow control to be
    used during connectivity:

     * We detect early if the requested flow control (via udev tags) is
       actually supported by the modem (as eported by AT+IFC=?), and if it
       isn't, we error out directly.

     * We try to set in a single place the AT commands to be used to setup
       the flow control, once we have decided which one we're going to
       use.

     * Use the string builder helpers to log the flow control values.

 src/mm-broadband-modem.c | 111
 ++++++++++++++++++++++++-----------------------
 1 file changed, 56 insertions(+), 55 deletions(-)

commit b773e610eb68901624928b4dadb456d595a5d37c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 10 11:14:26 2018 +0200

    port-serial,broadband-modem: minor coding style fixes

 src/mm-base-modem.c  | 7 ++++---
 src/mm-port-serial.c | 3 ++-
 2 files changed, 6 insertions(+), 4 deletions(-)

commit f253c15c1ffaba3767ce021e267df8ad079db6d2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 10 11:06:15 2018 +0200

    port-serial: improve logging of device-level flow control settings

 src/mm-port-serial.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

commit 48d2fa399ac55ff5a59224b3ab5e475f1ddc394b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 10 10:56:52 2018 +0200

    port-serial: Flow Control property is flags, not enum

    MMFlowControl is a flags enumeration, so change the property type to
    match that, or we'll end up with nasty criticals during runtime.

        (ModemManager:30758): GLib-GObject-CRITICAL **: 10:54:26.435:
        g_param_spec_enum: assertion 'G_TYPE_IS_ENUM (enum_type)' failed

        Thread 1 "ModemManager" received signal SIGTRAP, Trace/breakpoint
        trap.
        0x00007ffff71f2a96 in ?? () from /usr/lib/libglib-2.0.so.0
        (gdb) bt
        #0  0x00007ffff71f2a96 in  () at /usr/lib/libglib-2.0.so.0
        #1  0x00007ffff71f3def in g_logv () at /usr/lib/libglib-2.0.so.0
        #2  0x00007ffff71f3fe0 in g_log () at /usr/lib/libglib-2.0.so.0
        #3  0x00007ffff72d90ac in g_param_spec_enum () at
        /usr/lib/libgobject-2.0.so.0
        #4  0x000055555564caf2 in mm_port_serial_class_init
        (klass=0x5555557607c0) at mm-port-serial.c:2101
        #5  0x000055555564759a in mm_port_serial_class_intern_init
        (klass=0x5555557607c0) at mm-port-serial.c:49
        #6  0x00007ffff72ea9b4 in g_type_class_ref () at
        /usr/lib/libgobject-2.0.so.0
        #7  0x00007ffff72eab5a in g_type_class_ref () at
        /usr/lib/libgobject-2.0.so.0
        #8  0x00007ffff72d0f53 in g_object_new_valist () at
        /usr/lib/libgobject-2.0.so.0
        #9  0x00007ffff72d103a in g_object_new () at
        /usr/lib/libgobject-2.0.so.0
        #10 0x000055555564e187 in mm_port_serial_at_new
        (name=0x55555576e280 "ttyUSB4", subsys=MM_PORT_SUBSYS_TTY)
        at mm-port-serial-at.c:533
        #11 0x0000555555602512 in serial_open_at (self=0x555555715390)
        at mm-port-probe.c:1285
        #12 0x00007ffff71ecb49 in g_main_context_dispatch () at
        /usr/lib/libglib-2.0.so.0
        #13 0x00007ffff71ecf59 in  () at /usr/lib/libglib-2.0.so.0
        #14 0x00007ffff71ed272 in g_main_loop_run () at
        /usr/lib/libglib-2.0.so.0
        #15 0x00005555555957e0 in main (argc=3, argv=0x7fffffffe458) at
        main.c:181

    Also, rename the property to match the naming convention of other
    properties in the same object.

 src/mm-port-serial.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit e3c2f0e9cccd26794e4fa54dcd8663d97e129414
Author: Alfonso Sánchez-Beato <alfonso.sanchez-beato@canonical.com>
Date:   Mon Sep 3 09:09:17 2018 +0200

    broadband-modem: set flow control from port

    Set the flow control used in the data connection from the one
    set in the port.

 src/mm-broadband-modem.c | 81
 ++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 65 insertions(+), 16 deletions(-)

commit 94879ce1ce7c04060d74e6dcca610e2f239b5820
Author: Alfonso Sánchez-Beato <alfonso.sanchez-beato@canonical.com>
Date:   Mon Sep 3 09:06:27 2018 +0200

    base-modem,port-probe: set serial port flow control from udev tag

    Set the serial port flow control from the udev tag
    ID_MM_TTY_FLOW_CONTROL before accessing the port.

 src/mm-base-modem.c | 10 +++++++++-
 src/mm-port-probe.c | 16 ++++++++++++++++
 2 files changed, 25 insertions(+), 1 deletion(-)

commit 4e69c10c2dd1409eb8e1b82051e758ff13164f35
Author: Alfonso Sánchez-Beato <alfonso.sanchez-beato@canonical.com>
Date:   Mon Sep 3 09:03:56 2018 +0200

    port-serial: add flow control property

    Add flow control property to the MMPortSerial class, and use it when
    setting the port flow control.

 src/mm-port-serial.c | 104
 +++++++++++++++++++++++++++++++++++++--------------
 src/mm-port-serial.h |   2 +
 2 files changed, 77 insertions(+), 29 deletions(-)

commit a1c27bf89d8f238509479f7223de7bb8677c005e
Author: Alfonso Sánchez-Beato <alfonso.sanchez-beato@canonical.com>
Date:   Mon Sep 3 09:01:47 2018 +0200

    modem-helpers: add flow control udev tag parser

    Add function for parsing the content of the udev tag
    ID_MM_TTY_FLOW_CONTROL.

 src/mm-modem-helpers.c | 19 +++++++++++++++++++
 src/mm-modem-helpers.h |  2 ++
 2 files changed, 21 insertions(+)

commit bc407a38d63708298798440ce70acf7a14c4320c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 14 17:16:33 2018 +0200

    mmcli,location: print LAC/TAC/CID in hex

    All these values are usually specified in hex, not in dec.

 cli/mmcli-modem-location.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 6e84f3d45934e4f1e334c4bfd0d9a43d88889039
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 14 15:36:44 2018 +0200

    iface-modem-location: validate SUPL server address

    Devices will expect SUPL server given as either IP:PORT or FQDN:PORT,
    so just avoid saying we require a 'URL' because it's not true.

    We will use a new helper method to parse and validate user-provided
    SUPL server address.

 cli/mmcli-modem-location.c                         |  2 +-
 ...rg.freedesktop.ModemManager1.Modem.Location.xml |  4 +-
 src/mm-iface-modem-location.c                      |  8 +++
 src/mm-modem-helpers.c                             | 58
 ++++++++++++++++++++++
 src/mm-modem-helpers.h                             |  6 +++
 src/mm-shared-qmi.c                                | 40 ++-------------
 6 files changed, 80 insertions(+), 38 deletions(-)

commit 47ed19d5be68f139d4fbb00c997cd2805488ace7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Sep 8 10:04:58 2018 +0200

    broadband-bearer: don't do connection checks on CDMA

    On CDMA-only connections we won't have a CID defined, so instead of
    getting in a loop of warnings reporting "cid not defined", early error
    out with an UNSUPPORTED error so that the connection check isn't tried
    any more.

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/83

 src/mm-broadband-bearer.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 21420e450db9c688859e7fd7fd71cd452f075f12
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 30 13:11:35 2018 -0700

    broadband-modem: port modem_cdma_register_in_network to use GTask

 src/mm-broadband-modem.c | 48
 ++++++++++++++++++++++++------------------------
 1 file changed, 24 insertions(+), 24 deletions(-)

commit fcec3b3355f62e0accccd8b84df8aca2b16181dd
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 30 13:00:38 2018 -0700

    broadband-modem: port modem_cdma_setup_registration_checks to
    use GTask

 src/mm-broadband-modem.c | 79
 ++++++++++++++++++++++++++++--------------------
 1 file changed, 46 insertions(+), 33 deletions(-)

commit c0607ede9b9743ef20798b34b9257fab2a48a490
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 30 12:53:17 2018 -0700

    broadband-modem: port modem_cdma_setup_cleanup_unsolicited_events
    to use GTask

 src/mm-broadband-modem.c | 67
 ++++++++++++++++++++++++------------------------
 1 file changed, 34 insertions(+), 33 deletions(-)

commit a51a0ba23ebd098e22b3db31a59e7433ed4d1f67
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 30 11:29:58 2018 -0700

    broadband-modem: port modem_load_access_technologies to use GTask

 src/mm-broadband-modem.c | 140
 ++++++++++++++++++++++++-----------------------
 1 file changed, 73 insertions(+), 67 deletions(-)

commit 2d7bf65093a70ee5894eb9a08d31568aec2d8ed3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 6 10:40:47 2018 +0200

    broadband-modem-qmi: avoid completing the GTask twice when loading
    capabilities

 src/mm-broadband-modem-qmi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit e953d285c18a90f09df4b5d23b6649dbe3fafc55
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 6 10:40:01 2018 +0200

    broadband-modem-qmi: add missing task unref when loading signal values

 src/mm-broadband-modem-qmi.c | 1 +
 1 file changed, 1 insertion(+)

commit 38de53b19536e8878c294ace678f43b2f6366230
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 6 10:38:27 2018 +0200

    broadband-modem-qmi: make sure result values are not in context
    when completing

    In order to avoid having the result values in 2 places (context and
    result) when the GTask is completed, we will steal the pointer from
    the context before it's set as result of the GTask.

 src/mm-broadband-modem-qmi.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

commit 6e8aab2c4ed38d24c008ae4de36cb7c8bc8e3ca6
Author: Paul Bartell <p.bartell@temperednetworks.com>
Date:   Tue Sep 4 14:10:26 2018 -0700

    broadband-modem-qmi: Pass signal values_result directly rather than
    duplicating with g_memdup

    corrects segfault introduced in
    7d8f0600e6de32721112949b65d48108ea640b51

    Signed-off-by: Paul Bartell <p.bartell@temperednetworks.com>

 src/mm-broadband-modem-qmi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 1b3b2e26a7ff4faf536074b8b82d6e4eec11b36c
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 28 13:10:24 2018 -0700

    test,modem-helpers: remove unnecessary NULL check for g_free()

    g_free() handles a NULL pointer properly, so there is no need to
    have a
    NULL check before calling g_free().

 src/tests/test-modem-helpers.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 8e98922880b54c2bad8e515be18cbc94c4544dc3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 28 10:50:18 2018 +0200

    libmm-glib,pco: add some more missing documentation for MMPco

 libmm-glib/mm-pco.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

commit c49f60db029624095b9b3d4f43399866211a5399
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Aug 27 12:55:24 2018 -0700

    libmm-glib,pco: add missing documentation for MMPco

 libmm-glib/mm-modem-3gpp.c |  2 +-
 libmm-glib/mm-pco.c        | 25 +++++++++++++++++++++++++
 2 files changed, 26 insertions(+), 1 deletion(-)

commit 28c1acf2e134a395dfda28860db37e4bf9650e16
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 28 09:25:25 2018 +0200

    port-probe: fix build when QMI over MBIM is unsupported

 src/mm-port-probe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f24d8279bcfac4f9945c2e47bf60e6dfc5a686f5
Author: Guido Günther <agx@sigxcpu.org>
Date:   Mon Aug 27 16:51:28 2018 +0200

    docs: mm_modem_get_sim is async

    Signed-off-by: Guido Günther <guido.gunther@puri.sm>

 libmm-glib/mm-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0520836afa8bf976d3f32f226c8b939e1551bb0b
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 22 13:26:24 2018 -0700

    mbim: fix inconsistency in WITH_QMI guards

 src/mm-broadband-modem-mbim.c | 4 ++--
 src/mm-port-mbim.c            | 4 ++--
 src/mm-port-mbim.h            | 2 +-
 src/mm-port-probe.c           | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

commit 6530683cfb03c4dc31b1b96cfd16cf64c192a30b
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 21 17:38:15 2018 -0700

    broadband-modem-mbim: add missing guard for shared_qmi_init()

    Fixes: 9e42a19742de55cf5c0ba4d68069c1845e9392e6

 src/mm-broadband-modem-mbim.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 2729b08696860ac790d8a5f726dcf8fa86fb51eb
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 21 17:27:48 2018 -0700

    port-mbim: add missing guard for try_qmi_over_mbim in
    mm_port_mbim_open()

    Fixes: c0cc694c67d9e71f200fb23e20473cc9b31d9ec0

 src/mm-port-mbim.c | 2 ++
 1 file changed, 2 insertions(+)

commit 7c5cfa13a19c2c59d003c938283652f071e7004d
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 21 14:03:53 2018 -0700

    xmm: include string.h for strlen()

    This patch fixes the following compiler warning:

    xmm/mm-modem-helpers-xmm.c:388:38: error: implicitly declaring
    library function 'strlen' with type 'unsigned long (const char *)'
    [-Werror,-Wimplicit-function-declaration]
        g_regex_match_full (r, response, strlen (response), 0, 0,
        &match_info, &inner_error);
                                         ^

 plugins/xmm/mm-modem-helpers-xmm.c | 2 ++
 1 file changed, 2 insertions(+)

commit f6c310ba82849f160b180678e6a7110aa210784b
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 21 14:02:20 2018 -0700

    shared-qmi: include string.h for memset()

    This patch fixes the following compiler warning:

    mm-shared-qmi.c:447:9: error: implicitly declaring library
    function 'memset' with type 'void *(void *, int, unsigned long)'
    [-Werror,-Wimplicit-function-declaration]
            memset (buf, 0, sizeof (buf));
            ^

 src/mm-shared-qmi.c | 1 +
 1 file changed, 1 insertion(+)

commit 59e79c996b4863448f68a262bf8be053416a1344
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 13 19:14:30 2018 +0200

    cinterion: new 'MMSharedCinterion' interface

    Implement a new interface to keep the code shared between the QMI and
    non-QMI modem implementations.

    While doing that, also fix the parent interface pointer handling, so
    that it isn't a static pointer applicable to all modems, and make it a
    per-modem specific pointer. Without this fix, ModemManager would crash
    if e.g. running with both a QMI and non-QMI Cinterion modem at the
    same time.

    The new shared Cinterion logic will be in charge of managing all GPS
    sources not already managed by the parent interface. E.g. if the
    parent implementation already supports QMI-based GPS location (using
    the LOC service for example) prefer that to the custom AT-based
    logic.

 plugins/Makefile.am                                |   4 +-
 plugins/cinterion/mm-broadband-modem-cinterion.c   |  43 +-
 .../cinterion/mm-broadband-modem-qmi-cinterion.c   |  34 +-
 ...mm-common-cinterion.c => mm-shared-cinterion.c} | 498
 +++++++++++----------
 ...mm-common-cinterion.h => mm-shared-cinterion.h} |  46 +-
 5 files changed, 343 insertions(+), 282 deletions(-)

commit 6e9bf39ecf97aedd8474577811c147b62d37585e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 14:05:54 2018 +0200

    xmm: implement power management operations

 plugins/xmm/mm-broadband-modem-mbim-xmm.c |   6 ++
 plugins/xmm/mm-broadband-modem-xmm.c      |  11 +++
 plugins/xmm/mm-shared-xmm.c               | 152
 ++++++++++++++++++++++++++++++
 plugins/xmm/mm-shared-xmm.h               |  31 ++++++
 4 files changed, 200 insertions(+)

commit 36e09ef44160bb9d864b9a0eebd700b1273a1a7f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 14:05:51 2018 +0200

    fibocom: include udev rules tests

 plugins/Makefile.am             | 6 ++++--
 plugins/tests/test-udev-rules.c | 7 +++++++
 2 files changed, 11 insertions(+), 2 deletions(-)

commit 475e1828195ab12b3e1e8be127995328575edbb4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 14:05:48 2018 +0200

    fibocom: support XMM-based devices

 plugins/Makefile.am                 |  3 ++-
 plugins/fibocom/mm-plugin-fibocom.c | 21 +++++++++++++++++++++
 2 files changed, 23 insertions(+), 1 deletion(-)

commit da046fe566295a50b00d235843640cf403b1319f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 14:05:46 2018 +0200

    plugin: new properties to support Intel XMM capability probing

 src/mm-plugin.c | 77
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-plugin.h |  3 +++
 2 files changed, 80 insertions(+)

commit 82262117e66fc43f88908cada5bc9d25d102ee40
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 14:05:43 2018 +0200

    port-probe: support probing for Intel XMM capabilities

    Same thing as we do for Icera.

 src/mm-port-probe.c | 90
 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 src/mm-port-probe.h | 14 ++++++---
 2 files changed, 96 insertions(+), 8 deletions(-)

commit f2c508f8b9932a11fc30552fdf3a36f2f763665a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 14:05:40 2018 +0200

    xmm: new 'MMBroadbandModemMbimXmm' modem object

 plugins/Makefile.am                       |  8 +++
 plugins/xmm/mm-broadband-modem-mbim-xmm.c | 86
 +++++++++++++++++++++++++++++++
 plugins/xmm/mm-broadband-modem-mbim-xmm.h | 47 +++++++++++++++++
 3 files changed, 141 insertions(+)

commit 656102633cb5ccde1d1869dd51a177c70a57f58c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 14:05:37 2018 +0200

    xmm: new 'MMBroadbandModemXmm' modem object

 plugins/Makefile.am                  |  2 +
 plugins/xmm/mm-broadband-modem-xmm.c | 86
 ++++++++++++++++++++++++++++++++++++
 plugins/xmm/mm-broadband-modem-xmm.h | 47 ++++++++++++++++++++
 3 files changed, 135 insertions(+)

commit 917b23bbc71c22a2f9f374fa6433507c599a62b2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 14:05:35 2018 +0200

    xmm: new 'MMSharedXmm' modem interface

    With support for managing bands and modes.

 plugins/Makefile.am         |  11 +-
 plugins/xmm/mm-shared-xmm.c | 562
 ++++++++++++++++++++++++++++++++++++++++++++
 plugins/xmm/mm-shared-xmm.h |  85 +++++++
 3 files changed, 657 insertions(+), 1 deletion(-)

commit 2e0471fe6a51a686f870547cdb5d7c4608a1a18a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 14:05:32 2018 +0200

    libmm-glib: new common helpers to check band types

 libmm-glib/mm-common-helpers.c | 26 ++++++++++++++++++++++++++
 libmm-glib/mm-common-helpers.h |  5 +++++
 2 files changed, 31 insertions(+)

commit 6262e844f5a8cde8554f12292611118ff85cc145
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 14:05:29 2018 +0200

    xmm: new helper to get 'any' allowed mode combination

 plugins/xmm/mm-modem-helpers-xmm.c | 31 +++++++++++++++++++++++++++++++
 plugins/xmm/mm-modem-helpers-xmm.h |  3 +++
 2 files changed, 34 insertions(+)

commit d6b1c321ef75bc4dfda065231f04cfb2b2e932ed
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 14:05:26 2018 +0200

    xmm: new common XACT=X builder for Intel XMM based devices

 plugins/xmm/mm-modem-helpers-xmm.c         | 102 ++++++++++++
 plugins/xmm/mm-modem-helpers-xmm.h         |   5 +
 plugins/xmm/tests/test-modem-helpers-xmm.c | 239
 +++++++++++++++++++++++++++++
 3 files changed, 346 insertions(+)

commit 023ba97d9cfeafb47fc4273647601e5650bfe689
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 14:05:24 2018 +0200

    xmm: new common XACT? parser for Intel XMM based devices

 plugins/xmm/mm-modem-helpers-xmm.c         | 120
 +++++++++++++++++++++++++++++
 plugins/xmm/mm-modem-helpers-xmm.h         |   6 ++
 plugins/xmm/tests/test-modem-helpers-xmm.c |  99 ++++++++++++++++++++++++
 3 files changed, 225 insertions(+)

commit 142f1d0360860ebecaa441b0431e37b1adf63751
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 14:05:21 2018 +0200

    xmm: new common XACT=? parser for Intel XMM based devices

 plugins/Makefile.am                        |  26 +++
 plugins/xmm/mm-modem-helpers-xmm.c         | 340
 +++++++++++++++++++++++++++++
 plugins/xmm/mm-modem-helpers-xmm.h         |  28 +++
 plugins/xmm/tests/test-modem-helpers-xmm.c | 210 ++++++++++++++++++
 4 files changed, 604 insertions(+)

commit 69ca442dd42bdc56ba664153afd630f91513c98e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 14:05:18 2018 +0200

    api: define E-UTRAN bands 49 to 64

 include/ModemManager-enums.h | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

commit 1b002a3584f84b8181827d19f59916d6c9897649
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 18 15:02:27 2018 +0200

    fibocom: ignore intel trace port in the L850-GL

 plugins/Makefile.am                            |  2 ++
 plugins/fibocom/77-mm-fibocom-port-types.rules | 16 ++++++++++++++++
 2 files changed, 18 insertions(+)

commit af8adcc756c7a5e456e3742ab1883908c4896c95
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 18 14:52:52 2018 +0200

    fibocom: new plugin with support for MBIM devices

 plugins/Makefile.am                 | 12 +++++
 plugins/fibocom/mm-plugin-fibocom.c | 95
 +++++++++++++++++++++++++++++++++++++
 plugins/fibocom/mm-plugin-fibocom.h | 40 ++++++++++++++++
 3 files changed, 147 insertions(+)

commit 532ff24101259856887943fc3b406ccc1c08bb0d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 7 00:35:14 2018 +0200

    broadband-modem-mbim: implement 3GPP USSD support

 src/mm-broadband-modem-mbim.c | 622
 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 617 insertions(+), 5 deletions(-)

commit eda46d05cf9ed1a8f9aac460a55509b510b02c0b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 7 00:23:41 2018 +0200

    charsets: new helper to convert binary input data to UTF-8

    Most of all the other APIs we have are expecting binary data (e.g.
    UCS-2 encoded strings) in ASCII hex format, because they were going
    to be used in text AT commands. For binary protocols allowing binary
    data, we need use a more generic API that provides an explicit data
    size.

 src/mm-charsets.c | 25 +++++++++++++++++++++++++
 src/mm-charsets.h |  5 +++++
 2 files changed, 30 insertions(+)

commit e90ced5e0f5691113abb20fb5a22e312a2bc9b68
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 7 00:23:25 2018 +0200

    iface-modem-3gpp-ussd: new helper to get current state

 src/mm-iface-modem-3gpp-ussd.c | 18 ++++++++++++++++++
 src/mm-iface-modem-3gpp-ussd.h |  2 ++
 2 files changed, 20 insertions(+)

commit d16a1711fd9e6400f45ed7419670ef54b5cea4ed
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 7 09:12:47 2018 +0200

    iface-modem-3gpp-ussd: prefer 'events' naming to 'result codes'

    The 'result codes' naming is much more AT-protocol specific, 'events'
    is more generic.

 src/mm-broadband-modem.c       | 52 +++++++++++++--------------
 src/mm-iface-modem-3gpp-ussd.c | 80
 +++++++++++++++++++-----------------------
 src/mm-iface-modem-3gpp-ussd.h | 76
 +++++++++++++++++++--------------------
 3 files changed, 100 insertions(+), 108 deletions(-)

commit 3bc9a2dbe2b2dd4eca1572eac5a34135d9f26cf4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 11:29:11 2018 +0200

    broadband-modem,ussd: explain encoding/decoding logic

 plugins/huawei/mm-broadband-modem-huawei.c |  7 ++++++-
 src/mm-broadband-modem.c                   | 13 ++++++++++---
 2 files changed, 16 insertions(+), 4 deletions(-)

commit 6838a3f715279831cd8667f78996c9f6891062ea
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 6 22:17:11 2018 +0200

    broadband-modem,ussd: port to GTask

 src/mm-broadband-modem.c | 429
 ++++++++++++++++++++++-------------------------
 1 file changed, 203 insertions(+), 226 deletions(-)

commit fc41c167ce018ed1ec20c0969b6bd4536113d395
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 6 21:58:22 2018 +0200

    iface-modem-3gpp,ussd: let send_finish() return a newly allocated
    string

    GTask integration will benefit from this change.

 src/mm-broadband-modem.c       |  5 +----
 src/mm-iface-modem-3gpp-ussd.c | 14 +++++++++-----
 src/mm-iface-modem-3gpp-ussd.h |  6 +++---
 3 files changed, 13 insertions(+), 12 deletions(-)

commit 4ef3623e6396d5e592410b0ce136a9acf559542d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 21 16:56:02 2018 +0200

    shared-qmi: refactor parse_as_utf16_url()

    Let it return a GArray directly. We don't expect this method to ever
    fail, as it's converting from UTF-8 to UTF-16.

 src/mm-shared-qmi.c | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

commit 63420884581852dda21f40ff88f81c49bae7680c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 21 16:53:38 2018 +0200

    shared-qmi: fix context type in GPS operation mode timeout handler

 src/mm-shared-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c9d1d0572a6bc3dc9fda3244832ae73b197170c6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jul 28 12:37:00 2018 +0200

    shared-qmi: inject "xtra data" if "predicted orbits data"  unsupported

 src/mm-shared-qmi.c | 170
 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 155 insertions(+), 15 deletions(-)

commit efa14947b489e170ed09b3563840fe789061273f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 9 12:00:42 2018 +0200

    shared-qmi,loc: setup reports every 5s may be broken

    Configuring reports every 5s may lead to GPGGA traces reported
    like this:

        $GPGGA,211645.00,,,,,0,,,,,,,,*4D
        $GPGGA,211646.00,4030.003988,N,00330.761876,W,1,07,1.0,691.6,M,53.0,M,,*74
        $GPGGA,211650.00,,,,,0,,,,,,,,*49
        $GPGGA,211651.00,4030.005405,N,00330.763540,W,1,07,1.0,688.9,M,53.0,M,,*71
        $GPGGA,211655.00,,,,,0,,,,,,,,*4C
        $GPGGA,211656.00,4030.008074,N,00330.765338,W,1,07,0.9,679.9,M,53.0,M,,*70
        $GPGGA,211700.00,,,,,0,,,,,,,,*4D
        $GPGGA,211701.00,4030.009258,N,00330.765510,W,1,07,1.0,678.3,M,53.0,M,,*71
        $GPGGA,211705.00,,,,,0,,,,,,,,*48

    Which is totally undesirable, as the GPS location would be flapping
    between set and unset.

    Use the default of 1s explicitly, which behaves properly.

 src/mm-shared-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 666622b4d4abb701cba753132302bdb31fc4c7b9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 8 16:05:28 2018 +0200

    broadband-modem-mbim: report Unsupported if QMI over MBIM not
    available

    For non-Qualcomm MBIM devices, report a generic "Unsupported" error if
    we try to do an operation that would otherwise be only available with
    QMI-over-MBIM.

 src/mm-broadband-modem-mbim.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit d3b43bd0a6d80493703b7fa85e751981c101fe36
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 2 00:31:50 2018 +0200

    shared-qmi: support for Qualcomm gpsOneXTRA assistance data

    The gpsOneXTRA assistance data provides a convenient way to inject
    predicted orbit information into the module, without requiring to have
    an Internet connection in the module itself.

 src/mm-broadband-modem-mbim.c |   6 +
 src/mm-broadband-modem-qmi.c  |   6 +
 src/mm-shared-qmi.c           | 463
 +++++++++++++++++++++++++++++++++++++++++-
 src/mm-shared-qmi.h           |  86 +++++---
 4 files changed, 522 insertions(+), 39 deletions(-)

commit 091bf4dbd811a7e556613397cd0efa7b8998a2cd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 2 00:25:54 2018 +0200

    api: support location assistance data

    Sometimes SUPL-server based A-GPS is not possible, e.g. if the module
    doesn't have Internet connectivity. In such cases, the modem may
    support injecting additional "assistance data" that may be downloaded
    from the Internet using external means (e.g. WiFi), in order to keep
    having a quick time to first fix.

    We now support using this location assistance data, with the following
    new API elements:

     * A new mask of supported assistance data types is provided in the
       SupportedAssistanceData property.

     * A new list of URLs from where the aassistance data may be
       downloaded is also provided in a new AssistanceDataServers
       property.

     * A new InjectAssistanceData() method is provided, to perform the
       data injection in the module once it's been downloaded to the host
       system.

 cli/mmcli-modem-location.c                         | 162
 ++++++++++++++++--
 docs/reference/api/ModemManager-sections.txt       |   1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  14 ++
 include/ModemManager-enums.h                       |  12 ++
 ...rg.freedesktop.ModemManager1.Modem.Location.xml |  34 ++++
 libmm-glib/mm-modem-location.c                     | 153
 +++++++++++++++++
 libmm-glib/mm-modem-location.h                     |  20 +++
 src/mm-iface-modem-location.c                      | 188
 +++++++++++++++++++++
 src/mm-iface-modem-location.h                      |  26 +++
 9 files changed, 596 insertions(+), 14 deletions(-)

commit 0798f32362f0a9664e65de13c66d3767fc7ddf6d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 30 17:26:41 2018 +0200

    shared-qmi: implement LOC-based GPS/A-GPS support

 src/mm-broadband-modem-mbim.c |   3 +-
 src/mm-broadband-modem-qmi.c  |   3 +-
 src/mm-shared-qmi.c           | 948
 ++++++++++++++++++++++++++++++++++++++----
 3 files changed, 874 insertions(+), 80 deletions(-)

commit 8bc51d3ed14bba4e1ccc6f365a2ebf4a11ac8658
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 30 17:25:18 2018 +0200

    shared-qmi: decouple low-level GPS operations from source management
    logic

    Just to make room for the LOC based integration.

 src/mm-shared-qmi.c | 746
 +++++++++++++++++++++++++++-------------------------
 1 file changed, 390 insertions(+), 356 deletions(-)

commit fc520eb0732019ca310324f3ec5232021d90c64a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 30 17:12:50 2018 +0200

    modem-helpers-qmi: new helper to transform QmiLocIndicationStatus
    into a GError

 src/mm-modem-helpers-qmi.c | 37 ++++++++++++++++++++++++++++++++++++-
 src/mm-modem-helpers-qmi.h |  6 ++++++
 2 files changed, 42 insertions(+), 1 deletion(-)

commit 9e42a19742de55cf5c0ba4d68069c1845e9392e6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 27 17:35:31 2018 +0200

    broadband-modem-mbim: support for QMI PDS based GPS location

 src/mm-broadband-modem-mbim.c | 102
 +++++++++++++++++++++++++++++-------------
 1 file changed, 72 insertions(+), 30 deletions(-)

commit e93b698c7b20a2c4e63abbc9d58bf3b6f891d467
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 27 17:18:55 2018 +0200

    port-mbim: when opening QMI over MBIM support, request indications

    We do want to receive QMI indications, as they will be needed for
    different features (e.g. LOC based GNSS support).

 src/mm-port-mbim.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit 098897778bd6525e4b1b2e1aac67064136f2cae9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 27 17:12:53 2018 +0200

    shared-qmi: import PDS-based GPS location support

 src/mm-broadband-modem-qmi.c |  952
 +++-----------------------------------
 src/mm-shared-qmi.c          | 1045
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-shared-qmi.h          |   39 ++
 3 files changed, 1156 insertions(+), 880 deletions(-)

commit 811a80e5ead636a933f5be1318f80e1b72059f7a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 27 12:41:19 2018 +0200

    shared-qmi: new interface to handle common QMI implementations

    This new interface will include implementations that are shared
    between the MMBroadbandModemQmi and the MMBroadbandModemMbim.

    For now, it just provides a way to implement the common client
    allocation methods.

 src/Makefile.am              |   2 +
 src/mm-broadband-modem-qmi.c | 412
 ++++++++++++++++++++++---------------------
 src/mm-shared-qmi.c          |  84 +++++++++
 src/mm-shared-qmi.h          |  60 +++++++
 4 files changed, 354 insertions(+), 204 deletions(-)

commit f9cbe045e5ac50234cd608f1ffbae520b52dc525
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 19 17:44:17 2018 +0200

    broadband-modem-mbim: use the preallocated DMS client for FCC Auth

 src/mm-broadband-modem-mbim.c | 271
 ++++++++++--------------------------------
 1 file changed, 66 insertions(+), 205 deletions(-)

commit 5e6980c7fc6216dc920e2df1f06b76cd611ce7a9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 19 12:50:34 2018 +0200

    broadband-modem-mbim: preallocate QMI clients if QMI over MBIM
    supported

 src/mm-broadband-modem-mbim.c | 95
 +++++++++++++++++++++++++++++++++++--------
 1 file changed, 78 insertions(+), 17 deletions(-)

commit 8a364c4dfd910d5679b070b1f574539008028872
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 19 12:23:47 2018 +0200

    port-mbim: implement QMI client allocation logic

 src/mm-port-mbim.c | 116
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-port-mbim.h |  22 ++++++++++
 2 files changed, 138 insertions(+)

commit c0cc694c67d9e71f200fb23e20473cc9b31d9ec0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 19 11:55:10 2018 +0200

    port-mbim: automatically try to open a QMI over MBIM device

    Most Qualcomm-based MBIM devices also support QMI over MBIM. We will
    try to check in runtime whether the MBIM device supports QMI over
    MBIM, and if so, setup a QmiDevice within the MMPortMbim.

 src/mm-broadband-modem-mbim.c |   3 +
 src/mm-port-mbim.c            | 158
 +++++++++++++++++++++++++++++++++++++-----
 src/mm-port-mbim.h            |   3 +
 src/mm-port-probe.c           |   3 +
 4 files changed, 150 insertions(+), 17 deletions(-)

commit f6a2d01c7ee99204644db030a09fbd71566b7af7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 10 23:12:56 2018 +0200

    build: require libqmi 1.21.3 with QMI LOC support

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fc3ca42734ee2b608a03fecc8ad4e037f9836a6a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 20 16:53:49 2018 +0200

    build: ignore test-pco built file

 .gitignore | 1 +
 1 file changed, 1 insertion(+)

commit cc0c76d87564aacee774644a3422d7854f0090bb
Author: Claude Paroz <claude@2xlibre.net>
Date:   Sat Aug 18 18:36:03 2018 +0200

    Add French translation

 po/LINGUAS |   1 +
 po/fr.po   | 106
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 107 insertions(+)

commit b8ab4736621db5ebc91e6fccc7195d192a01372b
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 14 18:12:36 2018 -0700

    cli: print 'Pco' property in Modem3gpp interface

 cli/mmcli-modem.c | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

commit 930a5879d4735cf9ab934905b209a3ec158a02a2
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 14 14:55:43 2018 -0700

    broadband-modem-mbim: update 'Pco' property in Modem3gpp interface

    This patch changes MMBroadbandModemMbim to update the 'Pco'
    property in
    the Modem3gpp interface upon receiving a MBIM_CID_PCO notification.

 src/mm-broadband-modem-mbim.c | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

commit d46aa0c36a8543857e28f151e134f88462369fc4
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 14 14:54:14 2018 -0700

    modem-3gpp: add 'Pco' property to Modem3gpp interface

    This patch adds a 'Pco' property to the Modem3gpp interface for
    tracking
    PCOs that the modem has received from the network.

 docs/reference/libmm-glib/libmm-glib-sections.txt  |  4 +++
 ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml |  7 ++++
 libmm-glib/mm-modem-3gpp.c                         | 40
 ++++++++++++++++++++++
 libmm-glib/mm-modem-3gpp.h                         |  2 ++
 src/mm-iface-modem-3gpp.c                          | 29 ++++++++++++++++
 src/mm-iface-modem-3gpp.h                          |  2 ++
 6 files changed, 84 insertions(+)

commit eb327b4203601a6c09f6369927325767391b86e7
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 14 14:53:04 2018 -0700

    libmm-glib,pco: add helpers for managing a list of MMPco

 libmm-glib/mm-pco.c          | 36 +++++++++++++++++
 libmm-glib/mm-pco.h          |  4 ++
 libmm-glib/tests/Makefile.am | 23 +++++++----
 libmm-glib/tests/test-pco.c  | 95
 ++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 150 insertions(+), 8 deletions(-)

commit 28e64d00181c83fd6cd420c46b6040f7b1afe5fb
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Aug 13 12:27:37 2018 -0700

    libmm-glib: add MMPco for handling raw PCO data

 docs/reference/libmm-glib/libmm-glib-docs.xml     |   4 +
 docs/reference/libmm-glib/libmm-glib-sections.txt |  28 +++
 libmm-glib/Makefile.am                            |   3 +
 libmm-glib/libmm-glib.h                           |   1 +
 libmm-glib/mm-pco.c                               | 259
 ++++++++++++++++++++++
 libmm-glib/mm-pco.h                               |  87 ++++++++
 6 files changed, 382 insertions(+)

commit 89ffcbdd8db4164a4a1cbea0224b0cc14a3f57b0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 14 10:59:53 2018 +0200

    po: add Turkish translation

    From: Emin Tufan Çetin <etcetin@gmail.com>

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/80

 po/LINGUAS |   1 +
 po/tr.po   | 105
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 106 insertions(+)

commit b7e5ca62c5eca1118e0c5cbda3d769f2c756c92c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 14 10:33:49 2018 +0200

    broadband-modem-mbim: explicitly ignore SMS storage initialization

    The MBIM protocol hides to the user the concept of SMS storages, so we
    should explicitly ignore the initialization step so that it isn't run
    with the parent AT-based implementation.

 src/mm-broadband-modem-mbim.c | 2 ++
 1 file changed, 2 insertions(+)

commit d21dd6cf1fe93030baa4b8fffe9b7e84d781f186
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 9 17:00:27 2018 -0700

    broadband-modem: initialize 'tac' in registration_status_check_ready()

    mm-broadband-modem.c:4395:13: error: variable 'tac'
    is used uninitialized whenever 'if' condition is false
    [-Werror,-Wsometimes-uninitialized]
            if (act == MM_MODEM_ACCESS_TECHNOLOGY_LTE) {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    mm-broadband-modem.c:4407:75: note: uninitialized use occurs here
        mm_iface_modem_3gpp_update_location (MM_IFACE_MODEM_3GPP (self),
        lac, tac, cid);
                                                                              ^~~
    mm-broadband-modem.c:4395:9: note: remove the 'if' if its condition
    is always true
            if (act == MM_MODEM_ACCESS_TECHNOLOGY_LTE) {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    mm-broadband-modem.c:4380:9: error: variable 'tac'
    is used uninitialized whenever 'if' condition is true
    [-Werror,-Wsometimes-uninitialized]
        if (cgreg) {
            ^~~~~
    mm-broadband-modem.c:4407:75: note: uninitialized use occurs here
        mm_iface_modem_3gpp_update_location (MM_IFACE_MODEM_3GPP (self),
        lac, tac, cid);
                                                                              ^~~
    mm-broadband-modem.c:4380:5: note: remove the 'if' if its condition
    is always false
        if (cgreg) {
        ^~~~~~~~~~~~
    mm-broadband-modem.c:4280:15: note: initialize the variable 'tac'
    to silence this warning
        gulong tac;
                  ^
                   = 0

 src/mm-broadband-modem.c | 1 +
 1 file changed, 1 insertion(+)

commit b378be0f0d0e433e423f004c5a09db64ed94bb54
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 9 17:07:30 2018 +0200

    broadband-modem-mbim: fallback to trying AT+CESQ if ATDS signal
    unsupported

 src/mm-broadband-modem-mbim.c | 81
 +++++++++++++++++++++++++++++++++++++------
 1 file changed, 71 insertions(+), 10 deletions(-)

commit ab9130682c0b529d68d4281fcf52bcf51f5dc43e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 9 11:59:25 2018 +0200

    broadband-modem-mbim: implement extended signal support with ATDS

 src/mm-broadband-modem-mbim.c | 202
 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 197 insertions(+), 5 deletions(-)

commit 7a941466c29342b1ebb30fbd54f41f4f7005d0b0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 9 10:45:48 2018 +0200

    broadband-modem-mbim: implement 3GPP location support with ATDS

 src/mm-broadband-modem-mbim.c | 119
 ++++++++++++++++++++++++++++++------------
 1 file changed, 86 insertions(+), 33 deletions(-)

commit ff6a82f5b754366db042cc602e1ffbbf46682749
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 16:32:35 2018 +0200

    broadband-modem: check if modem implements MBIM_CID_USSD

 src/mm-broadband-modem-mbim.c | 35 ++++++++++++++++++++++++-----------
 1 file changed, 24 insertions(+), 11 deletions(-)

commit cf500014b6db4ab9548d9f6fde35c21ab4c05697
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 27 12:08:27 2018 +0200

    port-probe: no AT probing on possible QCDM port

    Ports flagged as being QCDM will not be probed for AT. QCDM probing
    will be performed normally, the udev tags only give hints, we still
    need to know whether the TTYs are QCDM-capable or not.

 src/mm-port-probe.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

commit 548b7f88473827954a389d96dac298fa6b6453a6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 27 11:43:48 2018 +0200

    base-modem: load AT port type hints when adding port

    We keep the pflags input in mm_base_modem_grab_port() so that plugins
    can use other methods to gather port type hints (e.g. querying with AT
    commands as in Huawei/Telit or looking at sysfs properties as in HSO).

    For standard udev tag port type hints, it will be the base modem
    looking them up.

    Note that there is no longer any need to ignore non-flagged ports for
    those modems that require primary/secondary flags. They will be
    implicitly ignored when mm_base_modem_organize_ports() decides which
    ports to use, as the flagged ones are preferred over the non-flagged
    ones.

 plugins/haier/mm-plugin-haier.c         | 27 -------------------
 plugins/huawei/mm-plugin-huawei.c       | 18 +++----------
 plugins/longcheer/mm-plugin-longcheer.c | 43
 ------------------------------
 plugins/mtk/mm-plugin-mtk.c             | 35 ------------------------
 plugins/nokia/mm-plugin-nokia-icera.c   | 34 ------------------------
 plugins/simtech/mm-plugin-simtech.c     | 47
 ---------------------------------
 plugins/telit/mm-common-telit.c         | 37 ++------------------------
 plugins/x22x/mm-plugin-x22x.c           | 45
 -------------------------------
 plugins/zte/mm-plugin-zte.c             | 18 +------------
 src/mm-base-modem.c                     | 14 +++++++++-
 10 files changed, 20 insertions(+), 298 deletions(-)

commit aff633b1b002ecfecc51d589d580e963c931cb6d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 27 11:33:30 2018 +0200

    port-probe: no QCDM probing on possible AT port

    Ports flagged with one of the common AT port type hints will not be
    probed for QCDM.

    AT probing will be performed normally, the udev tags only give hints,
    we still need to know whether the TTYs are AT-capable or not.

 src/mm-port-probe.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 6b0424cfac1c41d5aee3f734993077077f161325
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 27 10:55:48 2018 +0200

    plugins: consolidate ID_MM_PORT_TYPE_AT_* flag names

    We define 3 common udev tag ids to be used by all plugins:

     * ID_MM_PORT_TYPE_AT_PRIMARY: the primary modem port. It will be used
       for AT control and also as PPP if there is no other port flagged
       explicitly to do PPP.

     * ID_MM_PORT_TYPE_AT_SECONDARY: the secondary modem port. It will be
       used when/if the primary port gets connected to do PPP.

     * ID_MM_PORT_TYPE_PPP: the port to be used to do PPP only. This tag
       makes sense only when the primary port shouldn't be used for PPP,
       i.e. when there is a port dedicated to do PPP and one port
       dedicated for control.

 plugins/haier/77-mm-haier-port-types.rules         |   2 +-
 plugins/haier/mm-plugin-haier.c                    |   2 +-
 plugins/huawei/77-mm-huawei-net-port-types.rules   |   8 +-
 plugins/huawei/mm-plugin-huawei.c                  |   4 +-
 plugins/longcheer/77-mm-longcheer-port-types.rules | 166 +++++++-------
 plugins/longcheer/mm-plugin-longcheer.c            |   4 +-
 plugins/mtk/77-mm-mtk-port-types.rules             |  28 +--
 plugins/mtk/mm-plugin-mtk.c                        |   4 +-
 plugins/nokia/77-mm-nokia-port-types.rules         |  26 +--
 plugins/nokia/mm-plugin-nokia-icera.c              |   4 +-
 plugins/simtech/77-mm-simtech-port-types.rules     |  14 +-
 plugins/simtech/mm-plugin-simtech.c                |   4 +-
 plugins/telit/77-mm-telit-port-types.rules         |  22 +-
 plugins/telit/mm-common-telit.c                    |   4 +-
 plugins/x22x/77-mm-x22x-port-types.rules           |  36 +--
 plugins/x22x/mm-plugin-x22x.c                      |   4 +-
 plugins/zte/77-mm-zte-port-types.rules             | 244
 ++++++++++-----------
 plugins/zte/mm-plugin-zte.c                        |   4 +-
 18 files changed, 290 insertions(+), 290 deletions(-)

commit 86f840d97bbc458adf6f2217783ca9bc6b81d5d0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 27 10:20:09 2018 +0200

    port-probe: explicitly report GPS port type if port flagged

    And remove all custom logic from all plugins that were doing just
    that.

 plugins/cinterion/mm-plugin-cinterion.c |  8 --------
 plugins/huawei/mm-plugin-huawei.c       |  5 -----
 plugins/mbm/mm-plugin-mbm.c             | 29
 -----------------------------
 plugins/telit/mm-common-telit.c         |  5 -----
 src/mm-port-probe.c                     |  3 +++
 5 files changed, 3 insertions(+), 47 deletions(-)

commit 9c0a557f918abd3e94702753ed0479494bcd2f90
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 27 10:19:48 2018 +0200

    port-probe: don't do AT or QCDM probing on ports flagged as GPS

 src/mm-port-probe.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 85adbdbdd15794ab55112f8721ab5ae278f1b3bf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 27 10:02:54 2018 +0200

    plugins: consolidate ID_MM_PORT_TYPE_GPS flag name

    Use the same flag name across all plugins with support for
    NMEA-capable TTYs.

 plugins/cinterion/77-mm-cinterion-port-types.rules |  4 +--
 plugins/cinterion/mm-plugin-cinterion.c            |  2 +-
 plugins/huawei/77-mm-huawei-net-port-types.rules   |  4 +--
 plugins/huawei/mm-plugin-huawei.c                  |  2 +-
 plugins/mbm/77-mm-ericsson-mbm.rules               | 38
 +++++++++++-----------
 plugins/mbm/mm-plugin-mbm.c                        |  2 +-
 plugins/telit/77-mm-telit-port-types.rules         |  6 ++--
 plugins/telit/mm-common-telit.c                    |  2 +-
 8 files changed, 30 insertions(+), 30 deletions(-)

commit 342abd7f6303ccd7f9a519c766ea53f3aa924b2d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 9 13:29:32 2018 +0200

    cli,signal: print unset signal values as n/a

 cli/mmcli-modem-signal.c | 74
 ++++++++++++++++++++++++------------------------
 1 file changed, 37 insertions(+), 37 deletions(-)

commit fe66bdf65e57fa7dee3dcb8dea068fb3fc7aec34
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 9 11:59:40 2018 +0200

    libmm-glib,signal: fix MM_SIGNAL_UNKNOWN symbol value

    Unfortunately, G_MINDOUBLE is basically 0.0, so MM_SIGNAL_UNKNOWN ends
    up giving us a value that may fall in the range of expected values for
    the signal component.

    Update the MM_SIGNAL_UNKNOWN symbol to match a value which is
    definitely out any other possible valid range, so that we can easily
    detect which values are set and which aren't.

    While API is maintained, this fix is introducing an ABI break. Not a
    big deal anyway, as the purpose of the value is just to detect unset
    fields.

 libmm-glib/mm-signal.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2773475f438e3979bcd3c597467019209a685891
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 8 13:27:33 2018 -0700

    build: require libmbim 1.17.3

    libmbim 1.17.3 adds the support for MBIM_CID_PCO, which is used by
    commit d68078b2ce0f ("broadband-modem-mbim: check if modem implements
    MBIM_CID_PCO").

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5a2f3cce95d21e565528a47e5dda17d8ec9e5dc9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 9 10:45:28 2018 +0200

    iface-modem-3gpp: fix location update when LAC=0 but TAC given

 src/mm-iface-modem-3gpp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7e6b4d7aa942dfff996a12ccdc769085058056d0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 15:14:28 2018 +0200

    api,location: give Tracking Area Code field in 3GPP location info

    The "location area code" field is given in GSM/UMTS networks
    exclusively. LTE networks use the concept of "tracking area code"
    instead.

    This patch updates the Location interface to Provide separate fields
    for LAC and TAC, instead of giving TAC values in the LAC field.

 cli/mmcli-modem-location.c                         |  2 +
 ...rg.freedesktop.ModemManager1.Modem.Location.xml | 18 ++++++--
 libmm-glib/mm-location-3gpp.c                      | 45
 ++++++++++++++++--
 libmm-glib/mm-location-3gpp.h                      |  3 ++
 src/mm-broadband-modem-qmi.c                       | 53
 ++++++++++++++++------
 src/mm-broadband-modem.c                           | 36 ++++++++++++---
 src/mm-iface-modem-3gpp.c                          | 12 +++--
 src/mm-iface-modem-3gpp.h                          |  1 +
 src/mm-iface-modem-location.c                      | 18 ++++----
 src/mm-iface-modem-location.h                      |  7 +--
 10 files changed, 148 insertions(+), 47 deletions(-)

commit f58a652578812809e14f0cc9fb82d6b2633a331e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 8 21:37:48 2018 +0200

    broadband-modem-qmi: fix build using WITH_NEWEST_QMI_COMMANDS

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 59a5af9771b942ea6878e2f428635daae624f229
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 4 17:27:53 2018 +0200

    iface-modem: reload current bands after setting

    Setting bands is a very device-specific operation. Sometimes the
    device requires specific band combinations, or sometimes the 'any'
    specific logic doesn't apply to all supported bands (e.g. may apply
    only to the currently selected modes, as in XMM based devices).

    So, don't assume that if the set command succeeds we have set all
    expected bands. Instead, do an explicit loading of the current bands
    after the set operation, same thing as we do when setting modes.

 src/mm-iface-modem.c | 90
 ++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 66 insertions(+), 24 deletions(-)

commit 518d62e731534cb4834a10e86f32ee31300de98b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 26 13:53:26 2018 +0200

    helpers-qmi: fix UMTS band 6 and 19 definitions

    Also bump required libqmi version, as this change uses flags from the
    latest available API.

    UMTS B19 is NTT DoCoMo's 800MHz band.
    UMTS B6  is NTT DoCoMo's 850MHz band

 configure.ac               |  2 +-
 src/mm-modem-helpers-qmi.c | 11 +++++------
 2 files changed, 6 insertions(+), 7 deletions(-)

commit 24e31dc2b86ade753a0c5853ae568f2312e19072
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 24 00:04:13 2018 +0200

    dell: don't ignore TTYs in QMI/MBIM modems

    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.

 plugins/dell/mm-plugin-dell.c | 4 ----
 1 file changed, 4 deletions(-)

commit 8430b051139cc4ca5711345f6244ca5cf160c7e6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 6 10:15:36 2018 +0200

    broadband-modem: allow Enable() if disabling or initializing

    The first step in the Enable() processing is to wait for a final
    state, so we can definitely wait for the ongoing disabling or
    initializing states to finish before we go on with the enable
    operation, there is no need to early fail if the disabling or
    initializing intermediate states are detected.

 src/mm-broadband-modem.c | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

commit c4766122476b53a89c606bd0c0cbbd0ec6d9826b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 6 10:12:01 2018 +0200

    base-modem: allow parallel Enable() and Disable() requests

    If additional Enable() requests are received while one is already
    ongoing, we queue them and will end up completing all with the same
    result once the first one finishes.

    Same logic also for Disable().

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/8

 src/mm-base-modem.c      | 117
 +++++++++++++++++++++++++++++++++++++++--------
 src/mm-broadband-modem.c |   6 +--
 2 files changed, 100 insertions(+), 23 deletions(-)

commit 30eef126a1fd0dbd5ae531103c88923d8a20ca2f
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 7 15:16:48 2018 -0700

    broadband-modem-mbim: subscribe to MBIM_CID_PCO notifications

    This patch changes MMBroadbandModem to subscribe to MBIM_CID_PCO
    notifications if the modem supports that.

 src/mm-broadband-modem-mbim.c | 76
 ++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 71 insertions(+), 5 deletions(-)

commit d68078b2ce0fba0074e791ddcf6fdae0d06dcd6a
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 7 15:16:47 2018 -0700

    broadband-modem-mbim: check if modem implements MBIM_CID_PCO

    Being a part of a series that adds PCO support for MBIM modems that
    implement the MBIM_CID_PCO extension, this patch issues a
    MBIM_CID_DEVICE_SERVICES query during the modem initialization
    to check
    if a modem implements MBIM_CID_PCO. If the modem does, ModemManager
    will
    subscribe to MBIM_CID_PCO notifications to get PCO updates.

 src/mm-broadband-modem-mbim.c | 83
 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 81 insertions(+), 2 deletions(-)

commit dbfc03d9ac5f0ab78d5447b0541cb459ab15c32c
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Mon Aug 6 13:48:05 2018 +0200

    docs/ModemManager.8: document --filter-policy option

 docs/man/ModemManager.8 | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit b56cd74ab57edc024eefbcfa0bf0e5ffbabe32eb
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Mon Aug 6 13:34:09 2018 +0200

    docs: move mmcli(8) to section 1

    Section (8) is for tools that require root privileges.

 docs/man/Makefile.am          | 2 +-
 docs/man/ModemManager.8       | 2 +-
 docs/man/{mmcli.8 => mmcli.1} | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

commit ae9efa05c855c94122ef25ab6ee43dee13c1a64c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 5 14:24:25 2018 +0200

    signal: cleanup previous extended info if no new one given

    E.g. if the modem switches from 4G to 3G while the extended signal
    information is enabled, we should no longer expose LTE specific signal
    quality values, only the UMTS specific ones.

    E.g. to avoid this:

        $ mmcli -m 1 --signal-get
          -------------------------
          UMTS   | RSSI: '0,00' dBm
                 | RSCP: '-92,00' dBm
                 | EcIo: '-13,00' dB
          -------------------------
          LTE    | RSSI: '0,00' dBm
                 | RSRQ: '-6,50' dB
                 | RSRP: '-96,00' dBm
                 |  SNR: '0,00' dB

 src/mm-iface-modem-signal.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

commit ab0133445c67091bc494f01bfaea663d5298c568
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 3 17:24:27 2018 +0200

    build: ignore all tester programs for plugin-specific modem helpers

 .gitignore | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

commit b8c7773a74f0c460ff19742a29dbf0060119e584
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 31 00:21:05 2018 +0200

    cinterion: fix band related unit tests

    The sort_band() method used in the tester was totally wrong, it was
    comparing the addresses of the variables instead of the MMModemBand
    values.

    Use the common mm_common_bands_garray_sort() instead, which works as
    expected.

 plugins/cinterion/tests/test-modem-helpers-cinterion.c | 14
 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

commit 3a4a137de31cf1513c5fba4685b3de34eaa8713a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 30 23:30:43 2018 +0200

    broadband-modem-mbim: avoid use of uninitialized variable

 src/mm-broadband-modem-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ebe9fcd57445460c3a37f7a82dc67843fb07a5cb
Author: Reinhard Speyerer <rspmn@arcor.de>
Date:   Mon Jul 30 17:26:46 2018 +0200

    mm-modem-helpers-cinterion: update band table for PLS8-J

    The default AT^SCFG="Radio/Band" value for Cinterion PLS8-J devices is
    "16819472". Add UMTS band 19 and LTE band 19 entries based on the
    information given in the PLS8 datasheet.

 plugins/cinterion/mm-modem-helpers-cinterion.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit a160832fced9c1e944e119ffdb47ff6460abc8aa
Author: Bob Ham <bob.ham@puri.sm>
Date:   Wed Jul 25 09:50:41 2018 +0100

    iface-modem-voice: fix ordering of D-Bus signals for call
    addition/deletion

    To have proper ordering in the D-Bus signals, the skeleton's property
    changes must be flushed before the Call{Add,Delet}ed signals are
    emitted.  Without this flush, the emission of the PropertiesChanged
    signal is delayed until the main loop is idle.  This causes problems
    on the client side, for example the CallAdded signal being received
    before the Calls property contains the call.

    Closes: #81

 src/mm-iface-modem-voice.c | 2 ++
 1 file changed, 2 insertions(+)

commit 95cee88ccd7a87147ef8222ed575eb12c73320ee
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 27 17:46:01 2018 +0200

    man,mmcli: fix documentation for --set-current-bands

    Reported by: Matthew Stanger <stangerm2@gmail.com>

 docs/man/mmcli.8 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7913fe4fafb583d517ca21ab6ea59d9a1d8c773d
Author: mstanger <matthew_stanger@trimble.com>
Date:   Wed Jul 25 14:44:27 2018 -0600

    mm-modem-helpers-cinterion: update freq/band table

    This info comes from PLS8-X/E/J/V/US, HC25 & PHS8 references, the
    last two can be found publicly via Google search.

    Swapped bit-mask locations for G850 & PCS bands as they may have
    changed with FW or where accidently put in the wrong place.

    Updated many 3G & 4G bit-mask fields.

 plugins/cinterion/mm-modem-helpers-cinterion.c | 32
 ++++++++++++++++++--------
 1 file changed, 22 insertions(+), 10 deletions(-)

commit 8ea8d4e7747d469e93c6a0c31a7b023e0f5633d1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 18 12:54:49 2018 +0200

    broadband-modem-mbim: show USB product attribute as model

 src/mm-broadband-modem-mbim.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

commit 0a2060cc78150039bfd07d875016a52672dfe7bd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 18 12:53:44 2018 +0200

    kerneldevice: allow loading physdev product string

 src/kerneldevice/mm-kernel-device-generic.c |  9 +++++++++
 src/kerneldevice/mm-kernel-device-udev.c    | 16 ++++++++++++++++
 src/kerneldevice/mm-kernel-device.c         | 10 ++++++++++
 src/kerneldevice/mm-kernel-device.h         |  2 ++
 4 files changed, 37 insertions(+)

commit df8ead4808095fe1d0bd079234ddfd56e591fc4b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 19 15:56:40 2018 +0200

    blacklist: include all devices from Prusa Research

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit d3bc04676444b26991dd08426422079f541ba8f4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 8 14:25:01 2018 +0200

    broadband-modem-qmi: plug memleak when processing a factory reset

 src/mm-broadband-modem-qmi.c | 1 +
 1 file changed, 1 insertion(+)

commit fff3f0ff7130f291cbaf530d1aa3c31168e5e5db
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 15 17:04:39 2018 +0200

    broadband-modem: skip concatenated AT commands

    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.

 src/mm-broadband-modem.c | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

commit d134402efc49eb5e51ee7db33c8aef785837ef16
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 15 16:48:18 2018 +0200

    ublox: always send user/pass strings, even if no authentication
    requested

    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,"",""

 plugins/ublox/mm-broadband-bearer-ublox.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3570604bc4005e36e506c896bdb8cfc6a026df96
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 14 21:38:07 2018 +0200

    iface-modem-simple: no need for an extra 'self' reference when
    using GTask

 src/mm-iface-modem-simple.c | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

commit a77beaa271cad696f74579f4b409916606b16b6a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 5 22:53:28 2018 +0200

    iface-modem-time: make sure timezone context is cleaned up properly

    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

 src/mm-iface-modem-time.c | 35 +++++++++++++++++++----------------
 1 file changed, 19 insertions(+), 16 deletions(-)

commit 62334b60a24c06a9e699c7b1dde56f52c30729f8
Author: Alexander Couzens <lynxis@fe80.eu>
Date:   Tue Jul 10 16:03:10 2018 +0200

    blacklist: remove OpenMoko Hubs from the blacklist

    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.

 src/77-mm-usb-device-blacklist.rules | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit f01d88bf914303257d420d66146ac10575805e83
Author: Enrico Mioso <mrkiko.rs@gmail.com>
Date:   Fri Jun 29 08:50:36 2018 +0200

    libmm-glib: reference dup_equipment_identifier instead of dup_plugin

    Fix the comment.

 libmm-glib/mm-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 066c9c1e403a156e5d8da593cd0861646a7ae1d9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 28 00:07:32 2018 +0200

    libmm-glib,location-gps-raw: plug memleak

        ==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>

 libmm-glib/mm-location-gps-raw.c | 2 ++
 1 file changed, 2 insertions(+)

commit 746cf54b112b223b9712453fe9b154c04acb8c4b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 26 16:36:11 2018 +0200

    broadband-modem-qmi: fix segfault due to NULL task context

        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

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit bb9e9a92a325b955ee839565618f13a2a0bf4cf0
Author: Brian, Sam <Samuel.Brian@digi.com>
Date:   Fri Jun 22 01:50:20 2018 +0000

    port-serial: don't close tty file descriptor twice

    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().

 src/mm-port-serial.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit efd57e8d5b2e0ced4ab857d72af0e86ae0bbf3f8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jun 19 18:01:50 2018 +0200

    po: add Friulian translation

    From: Fabio Tomat <f.t.public@gmail.com>

    https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/42

 po/LINGUAS |   1 +
 po/fur.po  | 108
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 109 insertions(+)

commit 105e321951e3303ddf0c9c1df83bc673c92eb7de
Author: Baruch Siach <baruch@tkos.co.il>
Date:   Fri Jun 15 06:30:17 2018 +0300

    kerneldevice: fix build with musl libc

    musl libc does not implement the canonicalize_file_name() GNU
    extension.
    Use the POSIX standard realpath() instead.

 src/kerneldevice/mm-kernel-device-generic.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit cf3f3ffcd0da1ef5512bf4a2dce4e0e1861acbc7
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Thu Jan 25 17:23:14 2018 +0100

    service: set User=root so that gio doesn't have to look into
    /etc/passwd

    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.

 data/ModemManager.service.in | 1 +
 1 file changed, 1 insertion(+)

commit 6169d3d14fdb10b3b2537ebfd29d7f2d10965b2a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 11 18:09:49 2018 +0200

    iface-modem-voice: plug memleak when creating new incoming call

    The mm_call_list_add_call() takes a full reference to the call, so we
    can unref the original one safely.

 src/mm-iface-modem-voice.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

commit a6101a85323fb366cc95fb6e16bd0d991de1e866
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 11 18:06:38 2018 +0200

    call-list: coding style fixes

 src/mm-base-call.c |   2 +-
 src/mm-base-call.h |   2 +-
 src/mm-call-list.c | 110
 ++++++++++++++++++++++++++---------------------------
 src/mm-call-list.h |  34 ++++++++---------
 4 files changed, 73 insertions(+), 75 deletions(-)

commit 588d6144a7c1da461d70abad05f4c56fd6dc667f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 10 14:47:39 2018 +0200

    doc: fix explanation of MM_CALL_STATE_RINGING_{IN|OUT}

    They were reversed; ringing in applies to incoming calls, ringing out
    applies to outgoing calls.

 include/ModemManager-enums.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 91757f65da40054e6912c19b5984f12cac6809ab
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 9 11:28:09 2018 +0200

    introspection: minor indentation fixes in SMS interface

 introspection/org.freedesktop.ModemManager1.Sms.xml | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 1990d9e9820aeffd847d4f7998c06819748a7155
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 1 22:16:14 2018 -0700

    modem-helpers-mbim: map more MbimNwError to MMMobileEquipmentError

    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

 configure.ac                |  2 +-
 src/mm-modem-helpers-mbim.c | 28 ++++++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 1 deletion(-)

commit cf86b6ab98f829050abf197a32d94e10c4ab75a6
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 18:21:13 2018 -0700

    broadband-modem-qmi: replace ensure_qmi_client with GTask
    implementation

    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().

 src/mm-broadband-modem-qmi.c | 126
 ++++++++++++++++++-------------------------
 1 file changed, 51 insertions(+), 75 deletions(-)

commit bf4af8b82ad852c1e4a0114f1764c44ff2af620a
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 18:19:06 2018 -0700

    broadband-modem-qmi: port modem_cdma_{activate,activate_manual}
    to use GTask

 src/mm-broadband-modem-qmi.c | 201
 ++++++++++++++++++++++---------------------
 1 file changed, 105 insertions(+), 96 deletions(-)

commit 856d931a7eebcec195a8795acaa8b8fd2c9fbf72
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 17:50:26 2018 -0700

    broadband-modem-qmi: port load_initial_sms_parts to use GTask

 src/mm-broadband-modem-qmi.c | 81
 ++++++++++++++++++++++++--------------------
 1 file changed, 45 insertions(+), 36 deletions(-)

commit 3cd9ae6321ce853ce3cbf23d02770d21d216472b
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 17:42:40 2018 -0700

    broadband-modem-qmi: port messaging_set_default_storage to use GTask

 src/mm-broadband-modem-qmi.c | 28 ++++++++++------------------
 1 file changed, 10 insertions(+), 18 deletions(-)

commit 216fb6bbe81059c169ae599956d7c5d3a96307dc
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 14:57:03 2018 -0700

    broadband-modem-qmi: port
    messaging_{enable,disable}_unsolicited_events to use GTask

 src/mm-broadband-modem-qmi.c | 69
 +++++++++++++++++---------------------------
 1 file changed, 26 insertions(+), 43 deletions(-)

commit 52d0f9760bc0051972b0f50387394bbc1a87a767
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 14:37:56 2018 -0700

    broadband-modem-qmi: port location_load_supl_server to use GTask

 src/mm-broadband-modem-qmi.c | 43
 +++++++++++++++----------------------------
 1 file changed, 15 insertions(+), 28 deletions(-)

commit 6f44554b21a28acdeb6d971d57435c85b5a0429b
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 14:32:39 2018 -0700

    broadband-modem-qmi: port location_set_supl_server to use GTask

 src/mm-broadband-modem-qmi.c | 29 ++++++++++-------------------
 1 file changed, 10 insertions(+), 19 deletions(-)

commit 44c3cceb5ee5d6b43631fe1183d74cb8be0ea905
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 14:02:56 2018 -0700

    broadband-modem-qmi: port disable_location_gathering to use GTask

 src/mm-broadband-modem-qmi.c | 117
 +++++++++++++++++++++++--------------------
 1 file changed, 62 insertions(+), 55 deletions(-)

commit 84a3ea766136104aec981b658058feb249ca9313
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 13:09:20 2018 -0700

    broadband-modem-qmi: port firmware_change_current to use GTask

 src/mm-broadband-modem-qmi.c | 94
 +++++++++++++++++++++-----------------------
 1 file changed, 45 insertions(+), 49 deletions(-)

commit 65767c1c884f274dca825ce9294a18ec7001873f
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 16:20:19 2018 -0700

    broadband-modem-qmi: port firmware_check_support to use GTask

 src/mm-broadband-modem-qmi.c | 82
 ++++++++++++++++++++++++--------------------
 1 file changed, 45 insertions(+), 37 deletions(-)

commit f933b967bedbdeb1ddf38f42c748c6a2cb73ac24
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 16:12:38 2018 -0700

    broadband-modem-qmi: port common_enable_disable_oma_unsolicited_events
    to use GTask

 src/mm-broadband-modem-qmi.c | 53
 +++++++++++++++++---------------------------
 1 file changed, 20 insertions(+), 33 deletions(-)

commit fe46d2c7db6849eee045abcb9743afa61fb61c6f
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 15:58:55 2018 -0700

    broadband-modem-qmi: port common_setup_cleanup_oma_unsolicited_events
    to use GTask

 src/mm-broadband-modem-qmi.c | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

commit 456a09c6551f21a92441fcd69a48718a08f1324c
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 15:52:52 2018 -0700

    broadband-modem-qmi: port oma_cancel_session to use GTask

 src/mm-broadband-modem-qmi.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

commit ce7b3a7bb0911bc51472df3302be64365939ab48
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 16:04:02 2018 -0700

    broadband-modem-qmi: port oma_start_client_initiated_session to
    use GTask

 src/mm-broadband-modem-qmi.c | 29 ++++++++++++-----------------
 1 file changed, 12 insertions(+), 17 deletions(-)

commit 311859d60f61ff157f1c6e25d31d618cef3868ed
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 15:55:05 2018 -0700

    broadband-modem-qmi: port oma_accept_network_initiated_session to
    use GTask

 src/mm-broadband-modem-qmi.c | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

commit 76bdaaba3e0d6e058d0d84b2c61e5581d3c143c1
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 16:01:39 2018 -0700

    broadband-modem-qmi: port oma_load_features to use GTask

 src/mm-broadband-modem-qmi.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

commit f330ffdaa993880260ed8c2d48eac5fee5dba11a
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 16:07:48 2018 -0700

    broadband-modem-qmi: port oma_setup to use GTask

 src/mm-broadband-modem-qmi.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

commit 3455b01b573d51d0cba9cd4c5221bd3b597b9589
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 14:25:03 2018 -0700

    broadband-modem-qmi: port modem_cdma_load_activation_state to
    use GTask

 src/mm-broadband-modem-qmi.c | 60
 +++++++++++++-------------------------------
 1 file changed, 18 insertions(+), 42 deletions(-)

commit e09e4692dcbc4a298457b1a8e92fa8db61a863ef
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 14:18:02 2018 -0700

    broadband-modem-qmi: port modem_cdma_run_registration_checks to
    use GTask

 src/mm-broadband-modem-qmi.c | 53
 +++++++++++++-------------------------------
 1 file changed, 15 insertions(+), 38 deletions(-)

commit d73f431987f6c715d6e8993988dc254458d4111d
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 14:13:01 2018 -0700

    broadband-modem-qmi: port
    modem_3gpp_{enable,disable}_unsolicited_registration_events to
    use GTask

 src/mm-broadband-modem-qmi.c | 116
 +++++++++++++++++++++++--------------------
 1 file changed, 61 insertions(+), 55 deletions(-)

commit 478232dc05a4aa6404f82924a316440eaba44d03
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 13:46:40 2018 -0700

    broadband-modem-qmi: port modem_3gpp_run_registration_checks to
    use GTask

 src/mm-broadband-modem-qmi.c | 76
 +++++++++++++++++---------------------------
 1 file changed, 30 insertions(+), 46 deletions(-)

commit b6de1ad22ef6ca341aeddd76b1a2ab1369d9d35a
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 13:39:27 2018 -0700

    broadband-modem-qmi: port modem_3gpp_register_in_network to use GTask

 src/mm-broadband-modem-qmi.c | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

commit a3123cadd8188aba0b490c5d88d3d110a9089067
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 15:49:43 2018 -0700

    broadband-modem-qmi: port modem_3gpp_scan_networks to use GTask

 src/mm-broadband-modem-qmi.c | 29 ++++++++---------------------
 1 file changed, 8 insertions(+), 21 deletions(-)

commit f3b2deaddac8ef628fc6d7d82ee3a5aeded7fbe9
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 12:46:48 2018 -0700

    broadband-modem-qmi: port modem_3gpp_load_enabled_facility_locks to
    use GTask

 src/mm-broadband-modem-qmi.c | 69
 +++++++++++++++++++++++++-------------------
 1 file changed, 39 insertions(+), 30 deletions(-)

commit 8ad01d31accf4446c49a7edd5f1e2ca14ff37374
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 17:40:14 2018 -0700

    broadband-modem-qmi: port
    common_setup_cleanup_unsolicited_registration_events to use GTask

 src/mm-broadband-modem-qmi.c | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

commit df0d2f955255fd7249efb68165b6e208768337af
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 17:35:13 2018 -0700

    broadband-modem-qmi: port
    common_setup_cleanup_messaging_unsolicited_events to use GTask

 src/mm-broadband-modem-qmi.c | 23 +++++++++--------------
 1 file changed, 9 insertions(+), 14 deletions(-)

commit 85eb5bdcbdc6bc6df1ea20b1e4e553f51fa6db73
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 16:47:05 2018 -0700

    broadband-modem-qmi: port common_setup_cleanup_unsolicited_events
    to use GTask

 src/mm-broadband-modem-qmi.c | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

commit baefe53ab9c0ea0612d2bf7da64b6f6cf9753bcd
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 16:38:29 2018 -0700

    broadband-modem-qmi: port common_enable_disable_unsolicited_events
    to use GTask

 src/mm-broadband-modem-qmi.c | 82
 ++++++++++++++++++++++++--------------------
 1 file changed, 45 insertions(+), 37 deletions(-)

commit c0669e98ae012b7f7d6dbf06bf8c3651f8c2afdf
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 26 18:37:27 2018 -0700

    broadband-modem-qmi: port set_current_capabilities to use GTask

 src/mm-broadband-modem-qmi.c | 105
 +++++++++++++++++++++++--------------------
 1 file changed, 56 insertions(+), 49 deletions(-)

commit bdc3729cbadf1a704ecacf8d8cb71fc8210fa607
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 11:13:49 2018 -0700

    broadband-modem-qmi: port set_current_bands to use GTask

 src/mm-broadband-modem-qmi.c | 35 +++++++++++++++--------------------
 1 file changed, 15 insertions(+), 20 deletions(-)

commit 4a53e7cc39295a3bcfd454d30e360e70147045e1
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 1 12:41:22 2018 -0700

    broadband-modem-qmi: port set_current_modes to use GTask

 src/mm-broadband-modem-qmi.c | 111
 ++++++++++++++++++++++---------------------
 1 file changed, 58 insertions(+), 53 deletions(-)

commit 7d8f0600e6de32721112949b65d48108ea640b51
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 26 18:03:30 2018 -0700

    broadband-modem-qmi: port signal_load_values to use GTask

 src/mm-broadband-modem-qmi.c | 70
 +++++++++++++++++++++++---------------------
 1 file changed, 36 insertions(+), 34 deletions(-)

commit 8047f54083371288c4dcf6a089d667fb2d2964d6
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 15:25:49 2018 -0700

    broadband-modem-qmi: port load_power_state to use GTask

 src/mm-broadband-modem-qmi.c | 48
 +++++++++++++++++++++-----------------------
 1 file changed, 23 insertions(+), 25 deletions(-)

commit 0502fe042be105f4ed8cec211622ac3c7301625f
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 11:28:33 2018 -0700

    broadband-modem-qmi: port load_signal_quality to use GTask

 src/mm-broadband-modem-qmi.c | 118
 ++++++++++++++++++-------------------------
 1 file changed, 50 insertions(+), 68 deletions(-)

commit 77a875a1b0c8fef5c67a5832dcf97112ca4a42d8
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 15:39:27 2018 -0700

    broadband-modem-qmi: port load_current_modes to use GTask

 src/mm-broadband-modem-qmi.c | 78
 ++++++++++++++++++++++----------------------
 1 file changed, 39 insertions(+), 39 deletions(-)

commit 51ede979bf3fd989698b044cd6c4514168fa9f96
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 11:21:28 2018 -0700

    broadband-modem-qmi: port modem_load_equipment_identifier to use GTask

 src/mm-broadband-modem-qmi.c | 83
 ++++++++++++++------------------------------
 1 file changed, 26 insertions(+), 57 deletions(-)

commit 6b14a1cf1be373b8e95151775b8e0ed1cddb1ec1
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 11:10:37 2018 -0700

    broadband-modem-qmi: port modem_load_current_bands to use GTask

 src/mm-broadband-modem-qmi.c | 61
 +++++++++++++++++---------------------------
 1 file changed, 24 insertions(+), 37 deletions(-)

commit 834674b21c8c63ae2d50a432d39bee9f190aebe9
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Apr 27 11:03:30 2018 -0700

    broadband-modem-qmi: port modem_load_supported_bands to use GTask

 src/mm-broadband-modem-qmi.c | 52
 ++++++++++++++++++--------------------------
 1 file changed, 21 insertions(+), 31 deletions(-)

commit 59c8ba86428b89986464d6bad942b448b012127c
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Apr 27 10:57:25 2018 -0700

    broadband-modem-qmi: port modem_load_own_numbers to use GTask

 src/mm-broadband-modem-qmi.c | 36 +++++++++++-------------------------
 1 file changed, 11 insertions(+), 25 deletions(-)

commit 4dc56525205d0940c5eaff2a4e317739ce97a0a9
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Apr 27 10:48:33 2018 -0700

    broadband-modem-qmi: port modem_load_hardware_revision to use GTask

 src/mm-broadband-modem-qmi.c | 32 ++++++++------------------------
 1 file changed, 8 insertions(+), 24 deletions(-)

commit 2f8a041122a8f3e30f2be619cc6444c95343ab12
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Apr 27 10:46:34 2018 -0700

    broadband-modem-qmi: port modem_load_revision to use GTask

 src/mm-broadband-modem-qmi.c | 32 ++++++++------------------------
 1 file changed, 8 insertions(+), 24 deletions(-)

commit 3c1706563620492bca10cf2f3263b966108ff04d
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 26 18:47:05 2018 -0700

    broadband-modem-qmi: port modem_load_model to use GTask

 src/mm-broadband-modem-qmi.c | 32 ++++++++------------------------
 1 file changed, 8 insertions(+), 24 deletions(-)

commit 0bf2800d054a602fd5e67e969b1ab7a82ce472e9
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 26 18:42:23 2018 -0700

    broadband-modem-qmi: port modem_load_manufacturer to use GTask

 src/mm-broadband-modem-qmi.c | 32 ++++++++------------------------
 1 file changed, 8 insertions(+), 24 deletions(-)

commit dba870295229e55ec0971cfc66d5f0c437e50f36
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 26 18:22:24 2018 -0700

    broadband-modem-qmi: port modem_load_supported_capabilities to
    use GTask

 src/mm-broadband-modem-qmi.c | 54
 +++++++++++++-------------------------------
 1 file changed, 16 insertions(+), 38 deletions(-)

commit 3e374e228a5daa62129b1fd032b41104f3acce23
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 26 18:14:28 2018 -0700

    broadband-modem-qmi: port modem_load_current_capabilities to use GTask

 src/mm-broadband-modem-qmi.c | 79
 +++++++++++++++++++++++---------------------
 1 file changed, 42 insertions(+), 37 deletions(-)

commit 31c0da2825a090f8359f0955af0478d4456da021
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 15:22:19 2018 -0700

    broadband-modem-qmi: port common_power_up_down_off to use GTask

 src/mm-broadband-modem-qmi.c | 68
 ++++++++++++++++++++++++--------------------
 1 file changed, 37 insertions(+), 31 deletions(-)

commit 71d21cba02664db47c03f86ffd1d14ef39b479bd
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 26 18:07:26 2018 -0700

    broadband-modem-qmi: port power_cycle to use GTask

 src/mm-broadband-modem-qmi.c | 36 +++++++++++++++---------------------
 1 file changed, 15 insertions(+), 21 deletions(-)

commit f52264d78adf9bac7b46f471d818a8423e0e4a14
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 15:27:31 2018 -0700

    broadband-modem-qmi: port modem_reset to use GTask

 src/mm-broadband-modem-qmi.c | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

commit 15ffa69d72cafab8d129bd375c70c1693d3c1d26
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 15:32:49 2018 -0700

    broadband-modem-qmi: port modem_factory_reset to use GTask

 src/mm-broadband-modem-qmi.c | 32 +++++++++++++-------------------
 1 file changed, 13 insertions(+), 19 deletions(-)

commit 641e1b8a43c253c0df94e1ecfbfb13e0e4af2513
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 26 17:37:55 2018 -0700

    broadband-modem-qmi: add a temporary assure_qmi_client() helper

    ensure_qmi_client() uses g_simple_async_report_take_gerror_in_idle(),
    which can't be mixed with GTask. To allow migrating remaining
    MMBroadbandModemQmi code to use GTask in a series of smaller patches,
    this patch adds a temporary assure_qmi_client() helper, which mimics
    ensure_qmi_client() but uses g_task_report_new_error(). Once all the
    MMBroadbandModemQmi code is migrated to use GTask, we will drop
    the old
    ensure_qmi_client() and renames assure_qmi_client() back to
    ensure_qmi_client().

 src/mm-broadband-modem-qmi.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

commit 0e770b13f8967d19f29784f72698f405f85c4d15
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Apr 30 13:11:39 2018 +0200

    base-modem: setup a maximum number of timeouts also for USB modems

    We have a maximum number of timeouts that could be enabled for TTY
    modems, e.g. to detect whether the modem is available in the RS232
    port or has been unplugged. This was required because RS232 modems
    aren't notified via udev, so there was no other way to check presence
    of the modem.

    But, the same kind of checks may be used in order to detect failed
    broken modems. If we have a modem that gets into an unstable state
    where no AT port command goes through and all get timed out, we can
    definitely flag the modem as invalid and get rid of it. If we don't do
    this, we would end up leaving the modem exposed and available for
    users of the API, but in a non-working state.

        ....
        <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state
        changed (registered -> connecting)
        <debug> Launching 3GPP connection attempt with APN 'telefonica.es'
        <debug> Looking for best CID...
        <debug> (ttyACM2) device open count is 2 (open)
        <debug> (ttyACM2): --> 'AT+CGDCONT?<CR>'
        <debug> Unexpected +CGDCONT? error: 'Serial command timed out'
        <warn>  (tty/ttyACM2) at port timed out 9 consecutive times
        <debug> Using empty CID 1 with PDP type 'ipv4'
        <debug> (ttyACM2) device open count is 3 (open)
        <debug> (ttyACM2) device open count is 2 (close)
        <debug> (ttyACM2): --> 'AT+CGDCONT=1,"IP","telefonica.es"<CR>'
        <warn>  Couldn't initialize PDP context with our APN: 'Serial
        command timed out'
        <debug> Couldn't connect bearer
        '/org/freedesktop/ModemManager1/Bearer/0': 'Serial command
        timed out'
        <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state
        changed (connecting -> registered)
        <debug> Couldn't connect bearer: 'Serial command timed out'
        <debug> (ttyACM2) device open count is 1 (close)
        <error> (tty/ttyACM2) at port timed out 10 consecutive times,
        marking modem '/org/freedesktop/ModemManager1/Modem/0' as invalid
        <debug> Removing from DBus bearer at
        '/org/freedesktop/ModemManager1/Bearer/0'
        <debug> [device
        /sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.5] unexported
        modem from path '/org/freedesktop/ModemManager1/Modem/0'
        <debug> Periodic signal checks disabled
        <debug> (ttyACM2) device open count is 0 (close)
        <debug> (ttyACM2) closing serial port...
        <debug> (ttyACM2) serial port closed
        <debug> (ttyACM2) forced to close port
        <debug> Modem (u-blox)
        '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.5' completely
        disposed

 src/mm-base-modem.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit b4748ba674d014e639df83583d2e3544aabbafdf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 2 17:46:48 2018 +0200

    build: post release version bump to 1.9.0

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c187c5fef5e3ffa456b73367afb8d3c888599437
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 2 16:59:17 2018 +0200

    release: bump version to 1.8.0

 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 01a5d8a294c1022c99e5e82ab96460f630c6a420
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 2 17:30:53 2018 +0200

    NEWS: update for 1.8

 NEWS | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit c07382a486f53e1b3cf729b41518d2a0ba528f5a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 27 16:39:17 2018 +0200

    udev: add tags also on bind action

    When a new USB device is hotplugged, e.g. a USB<->RS232 converter that
    exposes a single ttyUSB0, these udev events happen:

      add  /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb/usb-device)
      add  /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0
      (usb/usb-interface)
      add  /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/ttyUSB0
      (usb-serial)
      add
      /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/ttyUSB0/tty/ttyUSB0
      (tty)
      bind /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/ttyUSB0
      (usb-serial)
      bind /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0
      (usb/usb-interface)
      bind /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb/usb-device)

    Our udev rules in MM only added tags in the 'add' events, and it looks
    like the only ones 'persistent' after this sequence are those of the
    last event happening on the specific path.

    This meant that all TTY subsystem rules (e.g. ID_MM_CANDIDATE) would
    be stored for later check (e.g. if ModemManager is started after these
    rules have been applied), which was ok. "udevadm info -p ..." would
    show these tags correctly always.

    But this also meant that the 'bind' udev event happening for the USB
    device didn't get any of our device-specific tags, and so we would be
    missing them (e.g. ID_MM_DEVICE_MANUAL_SCAN_ONLY) if MM is started
    after the last event has happened. "udevadm info -p ..." would
    not show these tags.

    Modify all our rules to also run at the 'bind' events.

    See, for context:
      https://github.com/systemd/systemd/issues/8221

 plugins/cinterion/77-mm-cinterion-port-types.rules | 2 +-
 plugins/dell/77-mm-dell-port-types.rules           | 2 +-
 plugins/haier/77-mm-haier-port-types.rules         | 2 +-
 plugins/huawei/77-mm-huawei-net-port-types.rules   | 2 +-
 plugins/longcheer/77-mm-longcheer-port-types.rules | 2 +-
 plugins/mbm/77-mm-ericsson-mbm.rules               | 2 +-
 plugins/mtk/77-mm-mtk-port-types.rules             | 2 +-
 plugins/nokia/77-mm-nokia-port-types.rules         | 2 +-
 plugins/sierra/77-mm-sierra.rules                  | 2 +-
 plugins/simtech/77-mm-simtech-port-types.rules     | 2 +-
 plugins/telit/77-mm-telit-port-types.rules         | 2 +-
 plugins/ublox/77-mm-ublox-port-types.rules         | 2 +-
 plugins/x22x/77-mm-x22x-port-types.rules           | 2 +-
 plugins/zte/77-mm-zte-port-types.rules             | 2 +-
 src/77-mm-pcmcia-device-blacklist.rules            | 2 +-
 src/77-mm-usb-device-blacklist.rules               | 2 +-
 src/77-mm-usb-serial-adapters-greylist.rules       | 2 +-
 src/80-mm-candidate.rules                          | 2 +-
 18 files changed, 18 insertions(+), 18 deletions(-)

commit 4bc7d6862d3b908476e8bddd70cfc9e571dc9622
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jun 2 16:48:07 2018 +0200

    u-blox: wait 20s before probing TOBY-L200 ports

    https://bugs.freedesktop.org/show_bug.cgi?id=106623

 plugins/ublox/77-mm-ublox-port-types.rules | 6 ++++++
 1 file changed, 6 insertions(+)

commit 6c37488d4ebbbb2afdefce193e6fb4070cde8ab3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 27 11:23:54 2018 +0200

    broadband-modem-mbim: minor function renames for SMS read logic

    There are two ways to report new received SMS messages:
      * For class 0 (flash) messages, MBIM_CID_SMS_READ are sent. The SMS
      comes in the MBIM indication itself.
      * For non-class 0 (standard) messages, a
      MBIM_CID_SMS_MESSAGE_STORE_STATUS notifications are sent, the SMS is
      stored and must be read with an additional MBIM request specifying
      storage index.

    The names of the functions we had implied the opposite, we were
    assuming flash/alert messages were reported via
    MBIM_CID_SMS_MESSAGE_STORE_STATUS, not via MBIM_CID_SMS_READ.

 src/mm-broadband-modem-mbim.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit fd3a4d8d8beecc8b58cd6602cc8ee7207c1bf268
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 22 12:31:04 2018 +0200

    filter: pci and sdio ports under the platform driver filter

    Do not automatically probe serial ports under the 'pci' or 'sdio'
    platform drivers unless explicitly tagged with
    ID_MM_PLATFORM_DRIVER_PROBE.

      $ realpath /sys/class/tty/ttyS0/
      /sys/devices/pci0000:00/0000:00:16.3/tty/ttyS0
      $ basename $(realpath
      /sys/devices/pci0000:00/0000:00:16.3/subsystem)
      pci

 src/mm-filter.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 38f9510a9893b12cd6746c3daeeb2c84166746b1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 15 11:27:42 2018 +0200

    iface-modem-time: don't hold a ref while waiting to be registered

    The logic implementing the network timezone loading was holding a
    strong reference to the modem (inside the GTask) while waiting to
    be registered.

    This was triggering some possible memory leaks as the modem object
    could have been left around even after the modem was disconnected.
    E.g. if the modem booted without antennas plugged in, it was never
    getting registered, and if we unplugged it right away in that state,
    the network timezone logic would have left a modem reference around
    without disposing it.

    This issue, combined with e.g. other interfaces relying on disposing
    its own logic with the last object reference (e.g. Signal interface
    sets up its logic in a context bound to the lifetime of the object)
    would mean that a lot of different logic blocks were kept running even
    after the modem device was unplugged from the system.

    We avoid this issue by making sure that no new additional reference is
    taken by the logic in charge of updating the network timezone. We just
    make the timezone update context be bound to the lifetime of the
    object, as other interfaces do.

    While doing this, we also remove the logic in charge of "cancelling"
    the context, as it isn't needed. If the logic needs to be cancelled,
    we would just remove any configured timeout, which is enough.

    As part of the changes, the logic has also been improved so that the
    network timezone isn't only updated the first time the modem gets
    registered. If the modem gets unregistered and re-registered, we would
    reload the network timezone information.

 src/mm-iface-modem-time.c | 334
 +++++++++++++++++-----------------------------
 1 file changed, 122 insertions(+), 212 deletions(-)

commit 67ecad51e163b131a1331ffcb09af18269c39025
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu May 24 09:54:42 2018 -0500

    filter: add 'nozomi' and 'qcaux' drivers to MM_FILTER_RULE_TTY_DRIVER

    nozomi and qcaux only drive modems and thus should be included
    in this filter rule.  Allows nozomi/qcaux devices to work
    automatically with strict filter mode.

 src/mm-filter.c | 2 ++
 1 file changed, 2 insertions(+)

commit aecc3e99a029d037245d85f0e734aa997d2b06fd
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu May 24 09:59:47 2018 -0500

    include: fix up whitespace

 include/ModemManager-errors.h | 160
 +++++++++++++++++++++---------------------
 1 file changed, 80 insertions(+), 80 deletions(-)

commit b074a2b4a421b9a468a59896c94f701456bb85d4
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 22 12:01:30 2018 -0500

    include: add more 3GPP errors

    From 3GPP TS 27.007 version 11.6.0 Release 11, sections 9.2.1,
    9.2.2.1, 9.2.2.2, and 9.2.2.3.

 include/ModemManager-errors.h | 50
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

commit ac5d068e377352c208b792229fe4ab96a239b4b3
Author: Matthew Stanger <matthew_stanger@trimble.com>
Date:   Sun May 20 08:44:09 2018 +0200

    broadband-modem: increase signal_quality_cind() poll CIND timeout

    Gemalto's PLS8 may timeout on 3 second CIND query. Debug log shows
    5 seconds should suffice.

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 051b15cca89670d943459f734e20117ca1b8afcf
Author: Ben Chan <benchan@chromium.org>
Date:   Wed May 16 12:45:57 2018 -0700

    iface-modem-3gpp: ignore initial registration check result when
    enabling

    This patch extends commit c9e85b671 ("iface-modem-3gpp: ignore initial
    registration check result when appropriate") to handle the situation
    where a registration check update may prematurely transition the modem
    to the 'enabled' state while the modem is still being enabled.

    The issue is identified by Dan Williams <dcbw@redhat.com>. More
    details
    can be found in https://bugs.freedesktop.org/show_bug.cgi?id=106468

 src/mm-iface-modem-3gpp.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit 3e469e7b8055a0a11abc8304ec44c3df39e74d3d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 8 09:49:11 2018 +0200

    u-blox: don't run quick AT procedure if READY_DELAY not configured

    The quick AT probe procedure is only meaningful to avoid waiting the
    +READY URC delay. If there is no such delay configured, we shouldn't
    run the quick AT probe (as a failure in the AT probe may also
    trigger a +READY URC delay).

    Just read the udev tag value early and complete the task if the delay
    is not configured.

 plugins/ublox/mm-plugin-ublox.c | 25 ++++++++++++-------------
 1 file changed, 12 insertions(+), 13 deletions(-)

commit 1a56b97061252fa4605bd0b58de491bbe43a6685
Author: Matthew Starr <mstarr@hedonline.com>
Date:   Mon May 7 22:26:48 2018 +0000

    ublox: use ID_MM_UBLOX_PORT_READY_DELAY udev flag as init delay

    Added reading the ID_MM_UBLOX_PORT_READY_DELAY udev flag value
    and using
    it as an init delay when a value is set.

    The 20 second delay for the TOBY-L4 +READ URC has been reimplemented
    using the new ID_MM_UBLOX_PORT_READY_DELAY udev value.

 plugins/ublox/77-mm-ublox-port-types.rules |  2 ++
 plugins/ublox/mm-plugin-ublox.c            | 26
 ++++++++++++++++++++------
 2 files changed, 22 insertions(+), 6 deletions(-)

commit 6be6aa474f238f771579adbba800ab0408c7f0d9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 7 18:27:26 2018 +0200

    filter: fix option1 driver name

    This was preventing TTY-only ZTE and Huawei modules from being grabbed
    in STRICT mode.

    https://bugs.freedesktop.org/show_bug.cgi?id=106253
    https://bugs.freedesktop.org/show_bug.cgi?id=106234

 src/mm-filter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4895577597f6cadb9c791ef0483a95ba85aa27f5
Author: Matthew Starr <mstarr@hedonline.com>
Date:   Tue Apr 10 17:30:32 2018 +0000

    u-blox: ignore non-AT ttyACM interfaces

    For the TOBY-R2, LISA-R2, and LARA-R2, the only valid AT ports are
    ttyACM0, ttyACM1, and ttyACM2.  All other ttyACM ports cause MM to
    wait 20-30 seconds probing the port on startup.

    Ignoring the non-AT ttyACM ports allows MM to not wait 20-30 seconds
    probing and therefore startup much faster with these modems.

 plugins/ublox/77-mm-ublox-port-types.rules | 35
 ++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

commit e17d5a51a24248d53ea5da8d16d86f2ca187a566
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 28 10:38:53 2018 +0200

    broadband-bearer: allow matching empty APN when looking for PDP CID

    The PDP contexts that are found with an empty APN configured are right
    now used as placeholders that can be overwritten with the user
    provided APN if no direct match is found.

    We want to keep that logic in place, but for the case where we do get
    an empty APN requested by the user, we need to perform the full
    context match, so that the first PDP context matching the empty APN is
    used.

    Right now we're overwriting with the empty APN again the last PDP
    context found with an empty APN, which doesn't make much sense:

        Apr 27 08:15:21 ModemManager[4251]: <debug> Found '3' PDP contexts
        Apr 27 08:15:21 ModemManager[4251]: <debug>   PDP context [cid=1]
        [type='ipv4'] [apn='']
        Apr 27 08:15:21 ModemManager[4251]: <debug>   PDP context [cid=2]
        [type='ipv4'] [apn='broadband']
        Apr 27 08:15:21 ModemManager[4251]: <debug>   PDP context [cid=15]
        [type='ipv4'] [apn='']
        Apr 27 08:15:21 ModemManager[4251]: <debug> Found PDP context
        with CID 1 and no APN
        Apr 27 08:15:21 ModemManager[4251]: <debug> Found PDP context
        with CID 15 and no APN
        Apr 27 08:15:21 ModemManager[4251]: <debug> (ttyUSB3) device
        open count is 3 (open)
        Apr 27 08:15:21 ModemManager[4251]: <debug> (ttyUSB3) device
        open count is 2 (close)
        Apr 27 08:15:21 ModemManager[4251]: <debug> (ttyUSB3): -->
        'AT+CGDCONT=15,"IP",""<CR>'
        Apr 27 08:15:21 ModemManager[4251]: <debug> (ttyUSB3): <--
        '<CR><LF>OK<CR><LF>'

 src/mm-broadband-bearer.c      | 37 +++++++++++++++++++------------------
 src/mm-modem-helpers.c         |  4 ++++
 src/tests/test-modem-helpers.c |  7 ++++++-
 3 files changed, 29 insertions(+), 19 deletions(-)

commit 43d0bd0f9135512a0531b5808354e00db9d6f22a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Apr 30 12:57:50 2018 +0200

    base-modem: improve broken modem detection logic

    If the serial port timeout detection logic is enabled, warn whenever
    more than one consecutive command timeout happens, not just when the
    limit is reached.

 src/mm-base-modem.c | 34 ++++++++++++++++++++--------------
 1 file changed, 20 insertions(+), 14 deletions(-)

commit 21c9a239ecc56d941032630649ca6149296bf98d
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Apr 28 11:51:28 2018 -0700

    broadband-modem-qmi: fix memory leak in dms_set_operating_mode_ready

 src/mm-broadband-modem-qmi.c | 2 ++
 1 file changed, 2 insertions(+)

commit f9a0b945bcc0b374a122e6cdd4ac6ce92066c7c8
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Apr 24 17:18:56 2018 -0700

    iface-modem: allow initial signal check after the modem is re-enabled

    Commit 708b00ae3 "modem: allow periodic signal check to be disabled"
    added a "iface-modem-periodic-signal-check-disabled" property in
    MMIfaceModem/MMBroadbandModem to indicate if the periodic signal check
    should be disabled. If the property is set to TRUE, the
    signal_quality_polling_supported field of SignalCheckContext is set to
    FALSE, which is sticky across modem disable/enable
    operations. However,
    that is undesirable as we would like to issue an initial signal
    check to
    refresh the signal quality value after the modem is re-enabled from a
    state when the RF may have been previously turned off.

 src/mm-iface-modem.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

commit 5e5160c46ad426233123287c0505253e4ea3ff35
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Apr 23 16:24:42 2018 -0700

    broadband-modem-mbim: implement initial signal quality loading

    ModemManager currently relies on unsolicited MBIM_CID_SIGNAL_STATE
    notifications to obtain signal quality updates, and it doesn't
    query the
    initial signal quality. It's been observed that some MBIM modems
    issue a
    MBIM_CID_SIGNAL_STATE notification only when there is a notable change
    in RSSI. The signal quality may remain at 0 for quite some time. It's
    more noticeable when simply restarting ModemManager after the
    modem has
    been initialized and enabled once.

    We could simply enable periodic signal check on an MBIM modem, but
    that's less ideal as it may unnecessarily wake the modem up from USB
    selective suspend (unless we use a much longer polling period).

    To address the issue, this patch adds the implementation of
    load_signal_quality to MMBroadbandModemMbim so that the signal quality
    is initially polled via a solicited MBIM_CID_SIGNAL_STATE query. To
    avoid the periodic signal check, we set the
    MM_IFACE_MODEM_PERIODIC_SIGNAL_CHECK_DISABLED property to TRUE for
    MMBroadbandModemMbim.

 src/mm-broadband-modem-mbim.c | 80
 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 78 insertions(+), 2 deletions(-)

commit 708b00ae3be84e7927a2566b7ccbd9163698321e
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Apr 23 16:24:41 2018 -0700

    modem: allow periodic signal check to be disabled

    ModemManager decides to disable periodic signal check if either
    load_signal_quality is not implemented or load_signal_quality
    returns an
    unsupported error. However, in some cases, we want to use
    load_signal_quality to query the initial signal quality but rely on
    unsolicited signal quality updates from the modem afterwards without
    periodically polling for signal quality. To support that, this patch
    introduces a property in MMIfaceModem/MMBroadbandModem to indicate if
    the periodic signal check should be disabled.

 src/mm-broadband-modem.c | 14 ++++++++++++++
 src/mm-iface-modem.c     | 47
 +++++++++++++++++++++++++++++++++--------------
 src/mm-iface-modem.h     |  1 +
 3 files changed, 48 insertions(+), 14 deletions(-)

commit b39dd2ec05c7db7e5eb12953eadba809aa2b3e8a
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Tue Apr 24 09:42:06 2018 +0200

    all: drop unused variables

    Keeps build with GCC 8 happy.

    mm-base-call.c:758:18: warning: variable 'response' set but not used
    [-Wunused-but-set-variable]
    mm-base-call.c:822:18: warning: variable 'response' set but not used
    [-Wunused-but-set-variable]
    mm-base-sms.c:908:18: warning: variable 'response' set but not used
    [-Wunused-but-set-variable]
    mm-sms-list.c:331:25: warning: variable 'ctx' set but not used
    [-Wunused-but-set-variable]
    mm-iface-modem-messaging.c:1210:21: warning: variable 'storage_ctx'
    set but not used [-Wunused-but-set-variable]
    huawei/mm-plugin-huawei.c:183:18: warning: variable 'response'
    set but not used [-Wunused-but-set-variable]
    ublox/mm-plugin-ublox.c:161:24: warning: variable 'response' set
    but not used [-Wunused-but-set-variable]
    ublox/mm-plugin-ublox.c:159:24: warning: variable 'ctx' set but not
    used [-Wunused-but-set-variable]
    icera/mm-modem-helpers-icera.c:218:25: warning: variable 'first_free'
    set but not used [-Wunused-but-set-variable]
    novatel/mm-common-novatel.c:50:18: warning: variable 'response'
    set but not used [-Wunused-but-set-variable]

 plugins/huawei/mm-plugin-huawei.c      | 3 +--
 plugins/icera/mm-modem-helpers-icera.c | 4 ++--
 plugins/novatel/mm-common-novatel.c    | 3 +--
 plugins/ublox/mm-plugin-ublox.c        | 5 +----
 src/mm-base-call.c                     | 6 ++----
 src/mm-base-sms.c                      | 3 +--
 src/mm-iface-modem-messaging.c         | 2 --
 src/mm-sms-list.c                      | 5 -----
 8 files changed, 8 insertions(+), 23 deletions(-)

commit 5072db3418ce5799a75a577612b30de97ca700f0
Author: Iain Lane <iainl@gnome.org>
Date:   Tue Apr 24 12:31:44 2018 +0100

    m4/compiler_warnings.m4: Let -Werror be disabled

    It's annoying for distributors to build with -Werror, since it means
    that compiler upgrades can break the build. Let's let them disable it,
    but keep it enabled by default.

 m4/compiler_warnings.m4 | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

commit 7e94928301a971488ea53b17dd7d5ef37f468b1d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 3 00:31:02 2018 +0200

    ublox: fix 'any' mode building

    The 'any' mode refers to the mode which includes most access
    technologies and where none of them is preferred.

    Fix the logic so that all combinations with one technology preferred
    over the others are ignored, instead of the other way around.

    Fixes assertion with the 4G-only LARA R204.

        ModemManager[424]: <debug> [-192499452.090358] (ttyACM0): -->
        'AT+URAT=?<CR>'
        ModemManager[424]: <debug> [-192499452.092150] (ttyACM0): <--
        '<CR><LF>+URAT: (3)<CR><LF><CR><LF>OK<CR><LF>'
        **
        ERROR:ublox/mm-modem-helpers-ublox.c:817:mm_ublox_get_modem_mode_any:
        assertion failed: (any != MM_MODEM_MODE_NONE)

    Reported-by: Matthew Starr <mstarr@hedonline.com>

 plugins/ublox/mm-modem-helpers-ublox.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c9dee2b960d6176c1d5462c5db8cd55925eafc44
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 27 13:27:27 2018 +0200

    build: bump version to 1.7.991 (1.8-rc2)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b451a838a4ad66b6d4e02dff7538ce7530188c6b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 13 13:33:28 2018 +0100

    docs: add missing reference to
    mm_modem_3gpp_get_eps_ue_mode_operation()

 docs/reference/libmm-glib/libmm-glib-sections.txt | 1 +
 1 file changed, 1 insertion(+)

commit bcb0175f62bea60b06d971f3cfec87f5b362ee56
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 13 13:26:29 2018 +0100

    docs: always rebuild libmm-glib types

    So that we don't forget to add new types here manually...
    (e.g. MMBearerStats)

 .gitignore                                 |   1 +
 docs/reference/libmm-glib/Makefile.am      |   2 +-
 docs/reference/libmm-glib/libmm-glib.types | 132
 -----------------------------
 3 files changed, 2 insertions(+), 133 deletions(-)

commit c147dfc267bfe3e9a43ab8873e285f45e66b3528
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 13 13:07:10 2018 +0100

    libmm-glib: use ModemManager prefix to refer to the introspected types

 libmm-glib/mm-modem-messaging.c | 2 +-
 libmm-glib/mm-modem-voice.c     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 5dff6ce5944d2f97522ead0914f4814dd9a939a0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 13 12:53:37 2018 +0100

    libmm-glib,modem: fix introspection annotation for bearer list

 libmm-glib/mm-modem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit eb6b4cac8a752674a7b8359c713ecf5ae1a1f098
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 13 12:53:18 2018 +0100

    libmm-glib: add several missing headers

 libmm-glib/libmm-glib.h | 5 +++++
 1 file changed, 5 insertions(+)

commit 1481dd58e2fccbd005b63f866be2b910c4724ed3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 13 12:41:47 2018 +0100

    libmm-glib,bearer-properties: minor documentation typo fix

 libmm-glib/mm-bearer-properties.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9535f4c474a33c229f5761d7a6e67fd4253bbb57
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 13 12:25:43 2018 +0100

    libmm-glib,bearer: cleanup stats related mutex and object

 libmm-glib/mm-bearer.c | 3 +++
 1 file changed, 3 insertions(+)

commit 3a7d4b12005da1e5e861b8a213814c8743e5208f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 21 13:38:53 2018 +0100

    ublox: ignore ttyACM0 in the TOBY-L4

    We used ttyACM0 as secondary port until now, just because we had an
    extra AT capable TTY around in addition to the main control ttyACM2
    port.

    Turns out, using this ttyACM0 may actually break the connection setup
    in the wwan interface in a bad way (e.g. not allowing DHCP setup).

    The suggestion from u-blox and Intel is to fully ignore ttyACM0; and
    given that we no longer need any primary/secondary port logic, we just
    remove all the associated udev tags.

 plugins/ublox/77-mm-ublox-port-types.rules |  7 +++----
 plugins/ublox/mm-plugin-ublox.c            | 29
 -----------------------------
 2 files changed, 3 insertions(+), 33 deletions(-)

commit c9a78e12b7d6ce4369f0de6c0c41c66e0110e9ee
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 4 17:00:48 2018 +0100

    po: add Indonesian translation

    From: Andika Triwidada <andika@gmail.com>

    https://bugs.freedesktop.org/show_bug.cgi?id=105337

 po/LINGUAS |   1 +
 po/id.po   | 102
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 103 insertions(+)

commit dc678bfef292728c9dfba2e9a9f27c555644c634
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 23 12:43:22 2018 +0100

    base-manager: additional indentation for the block covered by
    ref/unref

 src/mm-base-manager.c | 29 +++++++++++++++--------------
 1 file changed, 15 insertions(+), 14 deletions(-)

commit 402559bb62bb44aa146b1c170bb86812d6d514a9
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Wed Feb 21 13:49:34 2018 -0800

    mm-base-manager: ref MMDevice before releasing port

    Releasing the port on the device looks benign but because it emits
    a signal, it could call device_context_port_released and unref the
    MMDevice in port_context_unref. This means the MMDevice might be
    disposed before we get to the g_object_ref and the subsequent call
    to g_hash_table_remove will try to hash a null string, which makes
    MM crash.

 src/mm-base-manager.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

commit d416ea491d88b2b3bb4e5cd8077e0b758bcfad2e
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Tue Feb 20 16:04:18 2018 -0800

    mm-base-manager: remove element from hastable by key, not value

    The hashtable is keyed on the UID of the MMDevice, and its hash
    function is g_str_hash. We shouldn't be passing a GObject into
    g_hash_table_remove because calling g_str_hash on an MMDevice is
    wrong.

 src/mm-base-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 10cb61f399b80c9db1b3b1b570214da164c469aa
Author: Alfonso Sánchez-Beato <alfonso.sanchez-beato@canonical.com>
Date:   Tue Feb 13 10:38:49 2018 +0100

    broadband-modem-qmi: update EPS registration state for LTE qmi modems

    MM was not updating the EPS registration status for qmi modems. This
    led to LTE-only modems never having 'registered' status. This was
    happening for Quectel EC21-V modem.

 src/mm-broadband-modem-qmi.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

commit dce07527433aad328f2bb3c2bddaab0c91fbc6c1
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 6 09:47:17 2018 -0600

    iface-modem-3gpp: don't force auto registration if already registered

    In mm_iface_modem_3gpp_register_in_network() when deciding whether to
    force automatic registration or not, check whether the modem is
    already
    registered in a network.  Just checking whether we have a valid
    operator
    code is not sufficient, as some modems (ublox Toby R2xx) don't always
    return an operator name/code even when registered.

 src/mm-iface-modem-3gpp.c | 52
 +++++++++++++++++------------------------------
 1 file changed, 19 insertions(+), 33 deletions(-)

commit 1817746f512553ab91af79f6e74e07360a77356b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 6 14:01:04 2018 +0100

    broadband-modem: fix reloading of detailed signal quality status

    We should not cache the AT command response otherwise we will never
    re-run the same command again. The cache is needed only for AT test
    commands (e.g. AT+CESQ=?).

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 357b186134641927b1ce30c960ae95555ae7ecb5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 6 13:38:39 2018 +0100

    ublox: ignore +PBREADY URCs

    We don't want them to get in the way of our initialization phase:

        /org/freedesktop/ModemManager1/Modem/0 (device id
        'c49ed59c4a411e923307330d3e1d82582cbfac37')
         -------------------------
         Hardware | manufacturer: 'u-blox'
                  | model: 'unknown'
                  | revision: 'TOBY-L4906
                  | +PBREADY
                  | 40.19_ENG0003'
                  | H/W revision: 'unknown'
                  | supported: 'gsm-umts, lte'
                  | current: 'gsm-umts, lte'

 plugins/ublox/mm-broadband-modem-ublox.c | 32
 ++++++++++++++++++++++++++++----
 1 file changed, 28 insertions(+), 4 deletions(-)

commit b0b405858f33584a7d9f43de1625255d73183b60
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Feb 5 20:31:29 2018 -0800

    broadband-modem: remove unused GError field in
    SetupRegistrationChecksContext

 src/mm-broadband-modem.c | 64
 ++++++++++++++++++++++--------------------------
 1 file changed, 29 insertions(+), 35 deletions(-)

commit 0f377f943eeb81472fd73189f2c3d8fc65b8c609
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Feb 5 09:45:42 2018 +0100

    API: don't depend on GLib in ModemManager headers

    We should only depend on GLib on the libmm-glib headers. Otherwise,
    packages using just the core headers (e.g. ModemManagerQt) would also
    need to build-depend on GLib and we don't want to enforce that.

        cd ~/buildroot/output/build/kde-modemmanager-qt-v5.36.0/src &&
        ~/buildroot/output/host/usr/bin/arm-cortexa9_neon-linux-gnueabihf-g++
        .... -fPIC -o
        CMakeFiles/KF5ModemManagerQt_static.dir/bearer.cpp.o -c
        ~/buildroot/output/build/kde-modemmanager-qt-v5.36.0/src/bearer.cpp
        In file included from
        ~/buildroot/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/ModemManager/ModemManager.h:41:0,
                         from
                         ~/buildroot/output/build/kde-modemmanager-qt-v5.36.0/src/generictypes.h:27,
                         from
                         ~/buildroot/output/build/kde-modemmanager-qt-v5.36.0/src/generictypes.cpp:23:
        ~/buildroot/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/ModemManager/ModemManager-compat.h:23:18:
        fatal error: glib.h: No such file or directory
        compilation terminated.

 include/ModemManager-compat.h | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

commit 636c245cd37bcddf6f354cbd53eb88ccf8104387
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jan 31 21:57:09 2018 -0800

    bearer-mbim: check if IP session is activated before deactivating it

    It may be undesirable to issue a MBIM_CID_CONNECT
    (MBIMActivationCommandDeactivate) command to deactivate an IP session
    when the session isn't activated. For instance, it's been observed on
    Huawei ME936 that it takes more than 30s for the modem to deactivate a
    not-yet-activated session. This patch modifies MMBearerMbim to
    query if
    a session is activated before trying to deactivate the session
    during a
    connection attempt.

 src/mm-bearer-mbim.c | 75
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

commit 785dfd3edd98da26c1c1832c39ea6dfea3b1e877
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jan 31 21:57:08 2018 -0800

    bearer-mbim: increase timeout for deactivating IP session to 60s

    Since commit 0c7f3380a ("bearer-mbim: ensure session is disconnected
    before trying to connect"), MMBearerMbim always issues a
    MBIM_CID_CONNECT (MBIMActivationCommandDeactivate) command before a
    MBIM_CID_CONNECT (MBIMActivationCommandActivate) command during a
    connection attempt. That is to ensure that an IP session is actually
    deactivated before we try to activate a new IP session.

    Unfortunately, it's been observed on Huawei ME936 that it takes more
    than 30s for the modem to respond to a MBIM_CID_CONNECT
    (MBIMActivationCommandDeactivate) command when trying to deactivate a
    session that hasn't been activated.

    When the signal is weak, it's also possible that a modem takes
    more than
    30s to deactivate an IP session during a disconnection attempt.

    This patch increases the timeout for deactivating an IP session
    from 30s
    to 60s in both connection and disconnection attempt.

 src/mm-bearer-mbim.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 3de58d41374467d0b2cd6620a476758a44ebf697
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jan 31 21:57:07 2018 -0800

    bearer-mbim: remove a unnecessary MbimMessage variable

 src/mm-bearer-mbim.c | 1 -
 1 file changed, 1 deletion(-)

commit 456e1e0d0cb8f6f49d83359bcdb65b04fdbf77ff
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jan 26 14:25:56 2018 -0800

    huawei: handle optional 0x prefix on hex numbers in ^DHCP response

    On Huawei ME936, the hex numbers in the response to AT^DHCP contain
    the 0x prefix, e.g.

      AT^DHCP?

      ^DHCP:
      0xda7d0e0a,0xff000000,0xdb7d0e0a,0xdb7d0e0a,0x01261aac,0x00000000,100000000,50000000

    This patch updates mm_huawei_parse_dhcp_response() to handle the
    optional 0x prefix.

 plugins/huawei/mm-modem-helpers-huawei.c         | 2 +-
 plugins/huawei/tests/test-modem-helpers-huawei.c | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

commit 90b89bb9f4d055bc5713b733503e7d39c54ca55f
Author: Ville Skyttä <ville.skytta@iki.fi>
Date:   Wed Jan 24 20:16:44 2018 +0200

    *: Spelling fixes

 TODO                                                 |  2 +-
 .../api/ModemManager-migration-reference.xml         |  2 +-
 include/ModemManager.h                               |  2 +-
 libmm-glib/mm-bearer-properties.c                    |  4 ++--
 libmm-glib/mm-bearer.c                               |  8 ++++----
 libmm-glib/mm-call.c                                 | 16
 ++++++++--------
 libmm-glib/mm-manager.c                              | 12 ++++++------
 libmm-glib/mm-sim.c                                  | 20
 ++++++++++----------
 libmm-glib/mm-sms.c                                  |  8 ++++----
 libqcdm/src/dm-commands.h                            |  4 ++--
 plugins/altair/mm-modem-helpers-altair-lte.c         |  2 +-
 plugins/telit/mm-modem-helpers-telit.c               |  6 +++---
 src/mm-base-call.h                                   |  2 +-
 src/mm-base-modem-at.c                               |  2 +-
 src/mm-base-sms.h                                    |  2 +-
 src/mm-bearer-qmi.c                                  |  2 +-
 src/mm-broadband-modem-qmi.c                         |  2 +-
 src/mm-iface-modem.c                                 |  2 +-
 src/mm-modem-helpers.c                               |  4 ++--
 src/mm-plugin-manager.c                              |  4 ++--
 src/mm-plugin.c                                      |  2 +-
 src/mm-sms-part-3gpp.c                               |  2 +-
 22 files changed, 55 insertions(+), 55 deletions(-)

commit 223b754fccba28dbb3ce950058a81bd133c8ce86
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 21 22:56:53 2018 +0100

    build: bump version to 1.7.990 (1.8-rc1)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 54dec452434834a190fb5904aabd57d1380ab044
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 21 10:31:07 2018 +0100

    NEWS: update for 1.8.0

 NEWS | 186
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 186 insertions(+)

commit b473db334e2b9f3f4b30b703c61d85e99d4f115f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 21 08:36:49 2018 +0100

    introspection: add reference to the MM_ID_PHYSDEV_UID udev tag in
    Device property

 introspection/org.freedesktop.ModemManager1.Modem.xml | 3 +++
 1 file changed, 3 insertions(+)

commit 22ffd3f3aa4d8c1fbc1f6ab765bcfaf83f3d1c7f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 28 18:41:51 2017 +0100

    broadband-modem: implement support for the +CEMODE command

    The +CEMODE command is defined in 3GPP TS 27.007 (e.g. in section
    10.1.28 in v11.0.0). This command allows querying or updating the
    current UE mode, as well as checking the supported modes.

    We implement support for loading the current mode and updating it. It
    is assumed that the device does any additional operation needed by the
    setting update, e.g. un-registering from CS when selecting an EPS-only
    mode.

 src/mm-broadband-modem.c | 66
 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.c   | 45 +++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h   |  6 +++++
 3 files changed, 117 insertions(+)

commit d4aaa436d9679524f910b13176d4af35bd6b14f8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 28 18:41:50 2017 +0100

    modem-3gpp: allow loading and changing EPS UE mode of operation

    The UE modes of operation for LTE are defined in 3GPP TS 24.301 (e.g.
    section 4.3 in v10.3.0):
      * PS mode 1: EPS only, 'voice centric'
      * PS mode 2: EPS only, 'data centric'
      * CS/PS mode 1: EPS and non-EPS, 'voice centric'
      * CS/PS mode 2: EPS and non-EPS, 'data centric'

    The mode specifies, among other things, how the UE should behave w.r.t
    CS fallback depending on the capabilities reported by the network.

 cli/mmcli-modem-3gpp.c                             |  76 +++++++++
 cli/mmcli-modem.c                                  |   9 +-
 docs/reference/api/ModemManager-sections.txt       |   1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  13 ++
 include/ModemManager-enums.h                       |  18 +++
 ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml |  19 +++
 libmm-glib/mm-common-helpers.c                     |  22 +++
 libmm-glib/mm-common-helpers.h                     |   3 +
 libmm-glib/mm-modem-3gpp.c                         |  53 ++++++
 libmm-glib/mm-modem-3gpp.h                         |  14 ++
 src/mm-iface-modem-3gpp.c                          | 177
 ++++++++++++++++++++-
 src/mm-iface-modem-3gpp.h                          |  17 ++
 12 files changed, 418 insertions(+), 4 deletions(-)

commit c5c9ab279d6362b2090010b4cad9ea49e9559423
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 20 15:37:23 2018 +0100

    build: require libmbim 1.16.0

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fbd1780e60213adbcfcbd8f203c7e7974ff0df8d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 20 15:36:49 2018 +0100

    build: require libqmi 1.20.0

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c4ea37fa02aaa0860f067062cbd315e3540aacce
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 18 16:31:34 2018 +0100

    filter: cdc-acm protocols 1 through 6 are all AT-capable

    As per USB-IF "Class definitions for Communication Devices 1.2" docs.

    Reported-by: Iván Sánchez Ortega <ivan@sanchezortega.es>

 src/mm-filter.c | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

commit c9e85b67164f81310d1a7ca0bffbb8c938a6a943
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jan 11 23:47:28 2018 -0800

    iface-modem-3gpp: ignore initial registration check result when
    appropriate

    When a modem is being enabled, an initial registration check is
    scheduled to determine the current registration state and access
    technology. The initial registration check is performed asynchronously
    and may not complete before the modem state is transitioned to
    'enabled'. When the modem is disabled shortly afterwards, the
    registration state is transitioned to 'unknown' and the modem state is
    transitioned to 'disabled'. But the completion of the initial
    registration check after that can transition the registration
    state and
    modem state to a wrong state. This patch addresses the issue by
    ignoring
    a registration state update if the modem isn't already enabled
    or being
    enabled.

 src/mm-iface-modem-3gpp.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit d8c7251687dca8c4aca059428d374d06cbdc9e79
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jan 1 19:35:31 2018 +0100

    telit: use parent logic to load unlock retries

    The generic broadband modem provides a common method to load unlock
    retries based on CSIM queries. We modify the Telit plugin to use the
    generic method but keeping the CSIM locking/unlocking logic in place.

 plugins/telit/mm-broadband-modem-telit.c | 110
 +++++--------------------------
 1 file changed, 18 insertions(+), 92 deletions(-)

commit 30ea91e353ae58df2407f837979af39ed3b4a49b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 24 08:38:33 2017 +0100

    ublox: wait for READY URCs during port probing

    The AT control TTYs in the u-blox modems may take some time to be
    usable. In order to handle this issue, we configured some longer
    timeouts during AT probing, but that may not be always enough.

    The u-blox TTYs will report readiness via a "+AT: READY" URC, which
    we can use during custom initialization to decide right away that the
    port is AT. We use up to 20s as that is close to the worst case seen
    during experimentation, happening after the module undergoes a full
    NVM reset. If the timeout is reached without receiving the URC, we
    still run standard AT probing afterwards. This new logic just tries
    to make it sure we don't do any probing before the module is ready to
    accept it.

    If the module hasn't been hotplugged (i.e. it was already there when
    ModemManager started) we do a quick first AT probing and if that fails
    we run the "+AT: READY" URC wait as if it was hotplugged.

 plugins/ublox/mm-plugin-ublox.c | 205
 +++++++++++++++++++++++++++++++++++++---
 1 file changed, 191 insertions(+), 14 deletions(-)

commit c97b9d99e3ca62ff7af3b74afe05a9d80f16b8bb
Author: Colin Helliwell <colin.helliwell@ln-systems.com>
Date:   Mon Jan 1 18:42:28 2018 +0100

    broadband-modem: implement generic unlock retries loading

 src/mm-broadband-modem.c | 116
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 116 insertions(+)

commit 8f26848ef00b343a15904bf7f8cd1a77de795b3e
Author: Colin Helliwell <colin.helliwell@ln-systems.com>
Date:   Mon Jan 1 18:36:11 2018 +0100

    helpers: move generic load_unlock_retries from Telit plugin

    As a precursor to a generic load_unlock_retries method, move the
    CSIM Response parser from the Telit plugin into the core code.

 plugins/telit/mm-broadband-modem-telit.c          |  2 +-
 plugins/telit/mm-modem-helpers-telit.c            | 85
 -----------------------
 plugins/telit/mm-modem-helpers-telit.h            |  4 --
 plugins/telit/tests/test-mm-modem-helpers-telit.c | 58 ----------------
 src/mm-modem-helpers.c                            | 85
 +++++++++++++++++++++++
 src/mm-modem-helpers.h                            |  4 ++
 src/tests/test-modem-helpers.c                    | 59 ++++++++++++++++
 7 files changed, 149 insertions(+), 148 deletions(-)

commit 850107acbfe3878326b695d4ea31f02d2321aa22
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 21 14:43:08 2017 +0100

    bearer-qmi: fix logic if error setting up WDS event report indications

    If we get an error when setting up the WDS event report indications,
    make sure we run connect_context_step() after having set the next step
    as CONNECT_STEP_LAST.

 src/mm-bearer-qmi.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit c2b956aefce495865cbdcb9971e2b3cd99cd0e99
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 18 22:52:21 2017 +0100

    blacklist: Pycom uses Microchip's vid, so blacklist also by pid

    The Microchip VID is added to the USB serial adapters greylist
    instead, as it is very generic.

    https://bugs.freedesktop.org/show_bug.cgi?id=104320

 src/77-mm-usb-device-blacklist.rules         | 14 +++++++-------
 src/77-mm-usb-serial-adapters-greylist.rules |  3 +++
 2 files changed, 10 insertions(+), 7 deletions(-)

commit 838b82b71b2ea34318e78575fabdf4484d953230
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 18 15:34:43 2017 +0100

    blacklist: include all Pycom devices

    https://bugs.freedesktop.org/show_bug.cgi?id=104320

 src/77-mm-usb-device-blacklist.rules | 5 +++++
 1 file changed, 5 insertions(+)

commit 8f6e5bfefa7b0536e772103ed5f8cbeb7d020ed4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 18 10:34:05 2017 +0100

    sms-part-3gpp: improve warnings when decoding fails

 src/mm-sms-part-3gpp.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

commit 332cf9dc014edf612fe6745eba440e02919b1128
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 18 10:33:46 2017 +0100

    libhelpers: include MMSmsEncoding in helper enums generation

 src/Makefile.am        | 3 ++-
 src/mm-sms-part-3gpp.h | 2 +-
 src/mm-sms-part-cdma.h | 2 +-
 src/mm-sms-part.h      | 4 ++--
 4 files changed, 6 insertions(+), 5 deletions(-)

commit e8bac6cb9224083d445233baf2c1c4db1efe04ad
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Dec 15 00:45:12 2017 -0800

    sms-part-3gpp: decode Unicode SMS with non-BMP code points

    Depsite 3GPP TS 23.038 specifies that Unicode SMS messages are
    encoded in
    UCS-2, UTF-16 encoding is commonly used instead on many modern
    platforms to
    allow encoding code points that fall outside the Basic Multilingual
    Plane
    (BMP), such as Emoji. Most of the UCS-2 code points are identical
    to their
    equivalent UTF-16 code points.  In UTF-16, non-BMP code points are
    encoded in a
    pair of surrogate code points (i.e. a high surrogate in
    0xD800..0xDBFF,
    followed by a low surrogate in 0xDC00..0xDFFF). An isolated surrogate
    code
    point has no general interpretation in UTF-16, but could be a valid
    (though
    unmapped) code point in UCS-2.

    This patch modifies the 3GPP SMS decoding to first try UTF-16BE and
    then fall
    back to UCS-2BE on failure. If both fail, an empty string is returned
    instead of a NULL pointer.

 src/mm-sms-part-3gpp.c | 24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

commit c44b928206c1147bd760b4aef48294d7dda28e24
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Wed Dec 13 10:17:33 2017 -0800

    mm-iface-modem: add check_for_sim_swap method and enable steps

    When in low-power mode, some modems will not dispatch unsolicited
    notifications, such as for SIM hot swapping. There is code in
    MMBroadbandModemTelit to handle this by checking the SIM identifier
    during modem power up against the identifier cached in the SIM
    D-Bus object. If they're different, the SIM has likely been
    swapped while we were powered down.

    We can move this code out to MMBroadbandModem because it doesn't
    actually rely on any Telit-specific details, and invoke it from
    MMIfaceModem via a new method.

 plugins/telit/mm-broadband-modem-telit.c | 128
 ++-----------------------------
 src/mm-broadband-modem.c                 | 128
 +++++++++++++++++++++++++++++++
 src/mm-iface-modem.c                     |  32 ++++++++
 src/mm-iface-modem.h                     |  10 +++
 4 files changed, 176 insertions(+), 122 deletions(-)

commit 66dce6dacc440d8bfe4270562ef5a840c87e5a04
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 7 19:13:19 2017 +0100

    broadband-modem: use several SIM errors to flag the modem as GSM/UMTS

    When using CPIN? to detect capabilities, use several possible +CME
    errors as indication that the modem is at least GSM/UMTS.

    E.g. to avoid situations like this one where the modem doesn't even
    get into Failed state as we cannot gather capabilities:

      debug_log(): (ttyMux1): --> 'AT+GCAP<CR>'
      debug_log(): (ttyMux1): <-- '<CR><LF>+CME ERROR: 100<CR><LF>'
      mm_serial_parser_v1_parse(): Got failure code 100: Unknown error
      debug_log(): (ttyMux1): --> 'ATI<CR>'
      debug_log(): (ttyMux1): <--
      '<CR><LF>Cinterion<CR><LF>EHS5-E<CR><LF>REVISION
      03.001<CR><LF><CR><LF>OK<CR><LF>'
      debug_log(): (ttyMux1): --> 'AT+CPIN?<CR>'
      debug_log(): (ttyMux1): <-- '<CR><LF>+CME ERROR: 10<CR><LF>'
      mm_serial_parser_v1_parse(): Got failure code 10: SIM not inserted
      debug_log(): (ttyMux1): --> 'AT+CGMM<CR>'
      debug_log(): (ttyMux1): <-- '<CR><LF>EHS5-E<CR><LF>'
      debug_log(): (ttyMux1): <-- '<CR><LF>OK<CR><LF>'
      iface_modem_initialize_ready(): Modem couldn't be initialized:
      couldn't load current capabilities: Failed to determine modem
      capabilities.

 src/mm-broadband-modem.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

commit ce8c7035746e21e09cf491be1fa1186714abd4b2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 17 18:21:02 2017 +0200

    docs: include device filter policies/rules documentation

 docs/reference/api/ModemManager-overview.xml | 283
 ++++++++++++++++++++++++++-
 1 file changed, 277 insertions(+), 6 deletions(-)

commit 42f4e975c9a22ecde9f4971e014358238dcfe975
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 17 14:42:26 2017 +0200

    docs: port probing reference in its own chapter

 docs/reference/api/ModemManager-overview.xml | 589
 +++++++++++++--------------
 1 file changed, 294 insertions(+), 295 deletions(-)

commit 0850fe4f6d4e4cd8c36b397d7db5313ca4188176
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 17 12:53:58 2017 +0200

    filter: additional strict rules when all device ports available

    All the previous filter rules were applicable per-port independently.
    But, we also want to apply rules on a port based on the existence of
    other ports on the same device (e.g. allow TTY if the device also has
    a NET port). In this case, we need to wait for all ports to appear and
    then apply the additional rules.

    We re-use the "min wait time" timeout in the plugin-manager for this
    same purpose. This timeout is setup to wait for ports to appear before
    starting the probing process (e.g. so that plugin filters like the
    forbidden-drivers one work). The very same timeout can therefore be
    used to check whether we start the probing or not based on additional
    filter rules.

 src/mm-base-manager.c   |  2 +-
 src/mm-filter.c         | 43 ++++++++++++++++++++++++++++++++++++++++---
 src/mm-filter.h         | 12 +++++++++++-
 src/mm-plugin-manager.c | 45
 ++++++++++++++++++++++++++++++++++++++++-----
 src/mm-plugin-manager.h |  3 +++
 5 files changed, 95 insertions(+), 10 deletions(-)

commit ee570d44dc117dc69f23e83313dd877f76c5e3e0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 16 22:55:02 2017 +0200

    filter: new automatic whitelisting rules and strict/paranoid policies

    The 'default' filter policy was based on blacklisting as much as
    possible and otherwise allow.

    The new 'strict' filter policy will be based on whitelisting as much
    as much as possible, using custom defined rules, and otherwise forbid
    the ports.

    The new 'paranoid' filter policy is equivalent to the 'strict' filter
    after having applied the blacklist rules from the 'default' filter.

 src/mm-base-manager.c |  4 ++-
 src/mm-context.c      | 12 +++++++-
 src/mm-filter.c       | 78
 ++++++++++++++++++++++++++++++++++++++++++++++-----
 src/mm-filter.h       | 77
 +++++++++++++++++++++++++++++++++++++-------------
 4 files changed, 142 insertions(+), 29 deletions(-)

commit 33583ca4dea8dd14e9090fc011986577b14b8ede
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 16 23:46:41 2017 +0200

    kerneldevice: allow getting interface class/subclass/protocol

 plugins/huawei/mm-broadband-modem-huawei.c  |  4 +-
 src/kerneldevice/mm-kernel-device-generic.c | 31 ++++++++++++++-
 src/kerneldevice/mm-kernel-device-udev.c    | 60
 ++++++++++++++++++++++++++---
 src/kerneldevice/mm-kernel-device.c         | 36 +++++++++++++++--
 src/kerneldevice/mm-kernel-device.h         | 18 ++++-----
 src/mm-base-modem.c                         |  8 ++--
 src/mm-port-probe.c                         |  8 ----
 src/mm-port-probe.h                         |  1 -
 8 files changed, 130 insertions(+), 36 deletions(-)

commit 5b3baa02d368aa2cb41420f62af712fa29837f2b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 16 22:00:39 2017 +0200

    filter: explicitly allow port when ID_MM_PLATFORM_DRIVER_PROBE is set

    Don't assume that the port will be implicitly allowed afterwards.

 src/mm-filter.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

commit c4bf785d6771764cbee116e36c6780462223c4fa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 16 21:33:15 2017 +0200

    filter: allow selection of filter policy on startup

    Added a new '--filter-policy=[POLICY]' option in the daemon, which
    allows selecting between the supported filter policies. For now, only
    two policies are defined:

      * default: the default policy used by ModemManager, where it tries
        to probe and detect as many modem ports as possible.

      * whitelist-only: only devices explicitly tagged via udev (with the
        ID_MM_DEVICE_PROCESS tag) will be probed and used.

 src/main.c            |  1 +
 src/mm-base-manager.c | 43 ++++++++++++++++++++++++++++++++-----------
 src/mm-base-manager.h | 23 +++++++++++++----------
 src/mm-context.c      | 48
 +++++++++++++++++++++++++++++++++++++++++++-----
 src/mm-context.h      |  5 +++++
 src/mm-filter.h       | 16 ++++++++++++++++
 6 files changed, 110 insertions(+), 26 deletions(-)

commit 7bfd5270ef846582d97314f3e9e550129317d631
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Oct 13 10:50:49 2017 +0200

    filter: let the user tag modems explicitly

    The user can tag modems (either full devices or ports independently)
    to be explicitly probed by ModemManager, using the new
    "ID_MM_DEVICE_PROCESS" udev tag, e.g.:

        $ sudo vim /lib/udev/rules.d/78-mm-whitelist-internal-modem.rules
            ACTION!="add|change|move",
            GOTO="mm_whitelist_internal_modem_end"
            ATTRS{idVendor}=="1199", ATTRS{idProduct}=="a001",
            ENV{ID_MM_DEVICE_PROCESS}="1"
            LABEL="mm_whitelist_internal_modem_end"
        $ sudo udevadm control --reload
        $ sudo udevadm trigger

    This rule runs before any other filter rule.

    This tag may be used e.g. by manufacturers building systems with
    built-in modems that will always be available.

    Distributions targeting support for multiple modem devices shouldn't
    use this udev tag.

 src/mm-filter.c | 11 +++++++++++
 src/mm-filter.h | 18 ++++++++++--------
 2 files changed, 21 insertions(+), 8 deletions(-)

commit f270a09cb2df37c134e567049a5fe09c73d7fd3c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 12 23:49:10 2017 +0200

    filter: allow enabling/disabling rules via envvars

    E.g. forcing a MBIM modem to run in AT-only mode:

      # MM_FILTER_RULE_NET=0     \
        MM_FILTER_RULE_CDC_WDM=0 \
        /usr/sbin/ModemManager --debug

    This is just for quick testing for now.

 src/mm-base-manager.c |  8 +-------
 src/mm-filter.c       | 39 ++++++++++++++++++++++++++++++++++++++-
 src/mm-filter.h       |  9 +++++++++
 3 files changed, 48 insertions(+), 8 deletions(-)

commit 239f7ba8a285d737aa9ef2f52dbc078d2b2f5371
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 12 23:00:09 2017 +0200

    filter: remove bogus TTY virtual console filter

    The more generic filter for virtual devices already covers all cases
    covered by the TTY virtual console filter.

 src/mm-base-manager.c |  1 -
 src/mm-filter.c       | 15 +++------------
 src/mm-filter.h       |  7 +++----
 3 files changed, 6 insertions(+), 17 deletions(-)

commit 4e26661e67c4bde6f2a5314fb4130844a32b9f54
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 12 22:07:38 2017 +0200

    filter: new object to run the port/device filter logic

    This new object allows configuring the filter rules applied to the
    device ports. By default, for now, it implements the same rules as the
    MMKernelDevice is_candidate() method, which is obsoleted.

 src/Makefile.am                     |   6 +-
 src/kerneldevice/mm-kernel-device.c |  67 ------------
 src/kerneldevice/mm-kernel-device.h |   3 -
 src/mm-base-manager.c               |  31 +++++-
 src/mm-filter.c                     | 207
 ++++++++++++++++++++++++++++++++++++
 src/mm-filter.h                     |  64 +++++++++++
 6 files changed, 306 insertions(+), 72 deletions(-)

commit d04f98d9666c8c0031f16c05b31614ea7c179e42
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 12 21:43:34 2017 +0200

    kerneldevice: consolidate candidate rules in the base device

    This patch implicitly enables in the generic device backend the
    manual-only greylist (ID_MM_DEVICE_MANUAL_SCAN_ONLY tag) and the
    platform TTY whitelist (ID_MM_PLATFORM_DRIVER_PROBE), which were not
    being applied.

 src/kerneldevice/mm-kernel-device-generic.c | 54 --------------------
 src/kerneldevice/mm-kernel-device-udev.c    | 76
 -----------------------------
 src/kerneldevice/mm-kernel-device.c         | 66
 +++++++++++++++++++++++--
 src/kerneldevice/mm-kernel-device.h         |  3 --
 4 files changed, 63 insertions(+), 136 deletions(-)

commit 345d9747a7408cc5263b425e149bf3b4ac4926a4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 12 21:07:09 2017 +0200

    kerneldevice: allow loading physdev sysfs path

 src/kerneldevice/mm-kernel-device-generic.c |  9 +++++++++
 src/kerneldevice/mm-kernel-device-udev.c    | 16 ++++++++++++++++
 src/kerneldevice/mm-kernel-device.c         | 10 ++++++++++
 src/kerneldevice/mm-kernel-device.h         |  3 +++
 4 files changed, 38 insertions(+)

commit 0e4e4a6b138cccc49a8f7a4d8bacc9273f8b4cb3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 12 20:47:17 2017 +0200

    kerneldevice: allow loading physdev subsystem

    Used to filter out TTYs when not explicitly whitelisted.

 src/kerneldevice/mm-kernel-device-generic.c | 31
 +++++++++++++++++++++++++++++
 src/kerneldevice/mm-kernel-device-udev.c    | 18 ++++++++++++++++-
 src/kerneldevice/mm-kernel-device.c         | 10 ++++++++++
 src/kerneldevice/mm-kernel-device.h         |  3 +++
 4 files changed, 61 insertions(+), 1 deletion(-)

commit a4271d8433f1b629ac80a0bdd0876413c48712d3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 21 15:38:29 2017 +0100

    mbm: port dial_3gpp() and disconnect_3gpp() to GTask

    The two connection and disconnection methods are ported to GTask, and
    are also updated so that the reception of the unsolicited message
    reporting either connect/disconnection is able to right away complete
    the pending connection/disconnection attempts, as done in other
    plugins like the Icera or HSO ones.

 plugins/mbm/mm-broadband-bearer-mbm.c | 692
 +++++++++++++++++++---------------
 1 file changed, 382 insertions(+), 310 deletions(-)

commit 4c8a3d0015a7d09fbda92af36fe0e083ad236978
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 21 14:34:26 2017 +0100

    icera: port dial_3gpp() to GTask

 plugins/icera/mm-broadband-bearer-icera.c | 466
 +++++++++++++-----------------
 1 file changed, 205 insertions(+), 261 deletions(-)

commit 09d563fd346b22700f22d9d1466881ad0e3d9764
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 21 14:23:20 2017 +0100

    hso: make report_connection_status() a separate logical block

    This block is a subclassed method from MMBaseBearer, which we just
    happen to also use as part of the 3GPP dial logic in the connection
    attempt.

    So make it a separate logical block, and call the processing of the
    connection attempt if one is found.

    This change makes it similar to the same logic in the Icera plugin.

 plugins/option/mm-broadband-bearer-hso.c | 64
 ++++++++++++++++++--------------
 1 file changed, 36 insertions(+), 28 deletions(-)

commit b6e3cb463d2515ac9efc28346776a3ccbd7a0802
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 21 14:07:48 2017 +0100

    hso: use a 60s timeout to wait for connection unsolicited messages

    Same amount of time as in the Icera plugin.

 plugins/option/mm-broadband-bearer-hso.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 90116bf1beac765b6119885b113faa29203a33e6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 8 17:48:15 2017 +0100

    hso: port dial_3gpp() to GTask

 plugins/option/mm-broadband-bearer-hso.c | 414
 +++++++++++++------------------
 1 file changed, 178 insertions(+), 236 deletions(-)

commit d5684ff391d4dc39ca6e924a69df9e17ab922562
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Nov 11 13:48:06 2017 +0100

    quectel: new plugin

    For now just creating generic QMI/AT capable modems.

 plugins/Makefile.am                 | 12 +++++
 plugins/quectel/mm-plugin-quectel.c | 96
 +++++++++++++++++++++++++++++++++++++
 plugins/quectel/mm-plugin-quectel.h | 40 ++++++++++++++++
 3 files changed, 148 insertions(+)

commit 5d7b67d2709c9be6f51f7b6620bfeb247ede3a27
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 5 10:45:09 2017 +0100

    po: add Swedish translation

    From: Josef Andersson <l10nl18nsweja@gmail.com>

    https://bugs.freedesktop.org/show_bug.cgi?id=104086

 po/LINGUAS |   1 +
 po/sv.po   | 105
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 106 insertions(+)

commit 291300cfcb2e3f101c0f08de65fc03e0ceb2718f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Sep 16 12:19:47 2017 -0700

    sierra: enable QMI connection status polling in Netgear AC341U

    The Netgear AC341U seems to delay reporting packet service status
    indications or actually not even send them. This leaves us with modems
    in connected state in ModemManager but actually disconnected. We can
    detect this situation by actively polling ourselves the connection
    status.

    See e.g. this case where the indication is received 2.5 mins after the
    first OutOfCall error detected when loading statistics.

        Aug 30 22:52:50 ModemManager[574]: <info>  Modem
        /org/freedesktop/ModemManager1/Modem/0: state changed (connecting
        -> connected)
        Aug 30 22:52:50 ModemManager[574]: <info>  Simple connect state
        (8/8): All done
        Aug 30 22:52:50 ModemManager[574]: <warn>  Reloading stats
        failed: Couldn't get packet statistics: QMI protocol error (15):
        'OutOfCall'
        Aug 30 22:53:20 ModemManager[574]: <warn>  Reloading stats
        failed: Couldn't get packet statistics: QMI protocol error (15):
        'OutOfCall'
        Aug 30 22:53:50 ModemManager[574]: <warn>  Reloading stats
        failed: Couldn't get packet statistics: QMI protocol error (15):
        'OutOfCall'
        Aug 30 22:54:20 ModemManager[574]: <warn>  Reloading stats
        failed: Couldn't get packet statistics: QMI protocol error (15):
        'OutOfCall'
        Aug 30 22:56:21 ModemManager[574]: <info>  bearer call end reason
        (2): 'generic-client-end'
        Aug 30 22:56:21 ModemManager[574]: <info>  bearer verbose call
        end reason (3,2000): [cm] client-end
        Aug 30 22:56:21 ModemManager[574]: <info>  Modem
        /org/freedesktop/ModemManager1/Modem/0: state changed (connected
        -> registered)

 plugins/Makefile.am               |  2 ++
 plugins/sierra/77-mm-sierra.rules | 12 ++++++++++++
 2 files changed, 14 insertions(+)

commit 7119b8ebb252ca3775a1be16f446e99b735f5b98
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Sep 16 12:17:54 2017 -0700

    bearer-qmi: new optional connection status monitoring

    This update makes it possible to request connection status polling for
    QMI modems via the ID_MM_QMI_CONNECTION_STATUS_POLLING_ENABLE tag.

    If not given, the connection status polling will be disabled by
    default, and the QMI modem will rely on WDS indications only.

 src/mm-bearer-qmi.c | 161
 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 159 insertions(+), 2 deletions(-)

commit d20d46a62960099164da5ef5bb7b0b93127cc6c5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 23 14:10:59 2017 +0100

    iface-modem: remove invalid modem reference count in
    update_lock_info()

    The modem object is being explicitly referenced and stored in the
    Context, but then never unref-ed, completely leaking a modem reference
    forever.

    Fixes: 4df545884733bbc5a851ab86e0983dec057d5482

 src/mm-iface-modem.c | 3 ---
 1 file changed, 3 deletions(-)

commit de334b7777777e11df6c83aa7dd7cfb2b5f3b1fe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 23 13:02:42 2017 +0100

    broadband-modem-qmi: plug memleak when listing stored images

    ==24602== 288 bytes in 4 blocks are definitely lost in loss record
    4,693 of 4,860
    ==24602==    at 0x4C2CE5F: malloc (in
    /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==24602==    by 0x67292F9: g_malloc (in
    /usr/lib/libglib-2.0.so.0.5400.0)
    ==24602==    by 0x670A706: g_slice_alloc (in
    /usr/lib/libglib-2.0.so.0.5400.0)
    ==24602==    by 0x670B849: g_slice_alloc0 (in
    /usr/lib/libglib-2.0.so.0.5400.0)
    ==24602==    by 0x53D3A24:
    __qmi_message_dms_get_stored_image_info_response_parse
    (qmi-dms.c:22779)
    ==24602==    by 0x53E5C61: get_stored_image_info_ready
    (qmi-dms.c:32287)
    ==24602==    by 0x6134908: g_simple_async_result_complete (in
    /usr/lib/libgio-2.0.so.0.5400.0)
    ==24602==    by 0x613499E: ??? (in /usr/lib/libgio-2.0.so.0.5400.0)
    ==24602==    by 0x67180BD: g_main_context_dispatch (in
    /usr/lib/libglib-2.0.so.0.5400.0)
    ==24602==    by 0x6719F68: ??? (in /usr/lib/libglib-2.0.so.0.5400.0)
    ==24602==    by 0x671AF41: g_main_loop_run (in
    /usr/lib/libglib-2.0.so.0.5400.0)
    ==24602==    by 0x14477B: main (main.c:180)

 src/mm-broadband-modem-qmi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 75933c3e8bbecaf89e56e4426a0d543db3450378
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 12 13:41:29 2017 +0100

    po: update Ukrainian translation

    From: Yuri Chornoivan <yurchor@ukr.net>

    https://bugs.freedesktop.org/show_bug.cgi?id=103685

 po/uk.po | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

commit 17b8fcfd771a57cac099b22d1312c62d4fb51683
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Nov 11 13:39:16 2017 +0100

    build: minor build rules reordering for the udev rules tester

    Move it after all plugin build rules.

 plugins/Makefile.am | 27 +++++++++++++--------------
 1 file changed, 13 insertions(+), 14 deletions(-)

commit 4f0a796ece07f84790b09b13ea90a49aab1b61f1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 18 23:17:25 2017 +0200

    cli: port mmcli_get_call to GTask

 cli/mmcli-common.c | 224
 +++++++++++++++++++++++++++++------------------------
 cli/mmcli-common.h |  25 +++---
 2 files changed, 134 insertions(+), 115 deletions(-)

commit 6f9e2003e078022eea44a5a8dd075a96d6263fc9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 18 23:04:41 2017 +0200

    cli: port mmcli_get_sim to GTask

 cli/mmcli-common.c | 144
 +++++++++++++++++++++++++++++------------------------
 cli/mmcli-common.h |  24 ++++-----
 2 files changed, 91 insertions(+), 77 deletions(-)

commit 050eb46f51988d3e7f51d5d2a413809435cc954d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 18 22:44:16 2017 +0200

    cli: port mmcli_get_sms to GTask

 cli/mmcli-common.c | 165
 +++++++++++++++++++++++++++++------------------------
 cli/mmcli-common.h |  24 ++++----
 2 files changed, 104 insertions(+), 85 deletions(-)

commit f94a93d66abf47a2528ade5b1847e1b7b5071dc0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 18 22:29:23 2017 +0200

    cli: port mmcli_get_bearer to GTask

 cli/mmcli-common.c | 151
 ++++++++++++++++++++++++++++++-----------------------
 cli/mmcli-common.h |  24 ++++-----
 2 files changed, 97 insertions(+), 78 deletions(-)

commit 11e9b727b471c6cc14b121f08b778aca750b176b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 22:34:31 2017 -0700

    cli: port mmcli_get_modem to GTask

 cli/mmcli-common.c | 71
 ++++++++++++++++++++++++++----------------------------
 cli/mmcli-common.h | 21 ++++++++--------
 2 files changed, 44 insertions(+), 48 deletions(-)

commit 6bf046b6fc0b0704081a8d1e7c063d422747e839
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 22:26:23 2017 -0700

    cli: port mmcli_get_manager to GTask

 cli/mmcli-common.c | 48 +++++++++++++++++++++++-------------------------
 cli/mmcli-common.h | 12 ++++++------
 2 files changed, 29 insertions(+), 31 deletions(-)

commit 71f0fc6821fd0c5fc67f99e2588bf4e9fd5bd396
Author: Luis A. Lozano <llozano@google.com>
Date:   Wed Oct 25 19:00:47 2017 -0700

    sms-cdma-part: fix tautological-constant-compare compiler warning

    This patch fixes the following compiler warning issued by clang:

      mm-sms-part-cdma.c:301:46: mcomparison 'guint8' (aka 'unsigned
      char') <= 255 is always true
      [-Werror,-Wtautological-constant-compare]

 src/mm-sms-part-cdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 098c4c0271e04b564da57bb5c9e4e8e067bd58c9
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Fri Oct 20 10:10:47 2017 -0700

    mm-broadband-modem-qmi: reprobe on qmi-proxy death

    This allows us to reprobe the modem and respawn the
    qmi-proxy in case it dies on us. This gets us access
    to the modem and unsolicited notifications again. Do
    this by connecting to the device-removed signal on
    QmiDevice.

    ---
    Rebased on top of git master by
    Aleksander Morgado <aleksander@aleksander.es>

 configure.ac                 |  2 +-
 src/mm-broadband-modem-qmi.c | 70
 ++++++++++++++++++++++++++++++++++++++++----
 src/mm-port-qmi.c            | 10 +++++++
 src/mm-port-qmi.h            |  2 ++
 4 files changed, 77 insertions(+), 7 deletions(-)

commit b4278615fc273756ae5fe2b84da1e39a56d3e121
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 22 11:18:33 2017 +0200

    po: add Czech translation

    From: Marek Černocký <marek@manet.cz>

    https://bugs.freedesktop.org/show_bug.cgi?id=103390

 po/LINGUAS |   1 +
 po/cs.po   | 108
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 109 insertions(+)

commit 965ff9304141af7389840f6e6f4ee1dafdc89e23
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 20 14:43:02 2017 -0700

    novatel: port load_supported_modes to use GTask

 plugins/novatel/mm-broadband-modem-novatel.c | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

commit adcce66dd7b676e4cc7bf71b63588e746f51dc14
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Oct 20 17:47:54 2017 +0200

    broadband-modem-qmi: avoid NULL success return in
    firmware_load_current

    Instead of assuming that NULL is a valid return, make sure we return
    an error instead.

    This also makes it sure that if the GTask gets cancelled, the result
    we set is always a valid GObject, so that the g_object_unref passed as
    GDestroyNotify can be safely called always. Not a big deal anyway, as
    the GTask cannot be currently cancelled.

 src/mm-broadband-modem-qmi.c  | 11 +++++++----
 src/mm-iface-modem-firmware.c | 14 +++++++++-----
 2 files changed, 16 insertions(+), 9 deletions(-)

commit dbb4597e335d66dda7abebbab7d70b0708146350
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Oct 20 17:46:40 2017 +0200

    broadband-modem-qmi: avoid NULL success return in firmware_load_list

    Instead of assuming that NULL is a valid return, make sure we return
    an error instead.

 src/mm-broadband-modem-qmi.c  |  6 +++++-
 src/mm-iface-modem-firmware.c | 13 +++++++++----
 2 files changed, 14 insertions(+), 5 deletions(-)

commit 6044118b64b11a39b54cc9a2109dbb3f6adc7995
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Oct 20 17:27:38 2017 +0200

    broadband-modem-qmi: make it explicit that the GTask is successful

    When load_supported_storages() doesn't run the parent implementation,
    the GTask is always successful. Make it explicit, in case the logic
    changes in the future.

 src/mm-broadband-modem-qmi.c | 2 ++
 1 file changed, 2 insertions(+)

commit 4e3bf7524d6acfd4f8fba7da920c2dceff8e8797
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 14:35:16 2017 -0700

    broadband-modem-qmi: port modem_cdma_load_meid to use GTask

 src/mm-broadband-modem-qmi.c | 31 +++++++++----------------------
 1 file changed, 9 insertions(+), 22 deletions(-)

commit f5270ac5ae088b7ab1400951cc42c1908edc59c4
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 14:31:53 2017 -0700

    broadband-modem-qmi: port modem_cdma_load_esn to use GTask

 src/mm-broadband-modem-qmi.c | 31 +++++++++----------------------
 1 file changed, 9 insertions(+), 22 deletions(-)

commit 607dee3a9553305432a3d513c8b777edee4d94dd
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 14:28:37 2017 -0700

    broadband-modem-qmi: port modem_3gpp_load_operator_code to use GTask

 src/mm-broadband-modem-qmi.c | 38 +++++++++++++++++---------------------
 1 file changed, 17 insertions(+), 21 deletions(-)

commit e365cf531ccbdd4101ae5507ba439fe27875f758
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 14:27:02 2017 -0700

    broadband-modem-qmi: port modem_3gpp_load_operator_name to use GTask

 src/mm-broadband-modem-qmi.c | 38 +++++++++++++++++---------------------
 1 file changed, 17 insertions(+), 21 deletions(-)

commit 942a3565e25aa17317c528fb8a7a1832d97aa784
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 14:20:50 2017 -0700

    broadband-modem-qmi: port modem_3gpp_load_imei to use GTask

 src/mm-broadband-modem-qmi.c | 31 +++++++++----------------------
 1 file changed, 9 insertions(+), 22 deletions(-)

commit be1b3add84cfdd06f1db01fd966bfc9181131d1b
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 13:06:51 2017 -0700

    broadband-modem-qmi: port modem_messaging_setup_sms_format to
    use GTask

 src/mm-broadband-modem-qmi.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

commit 9b27a8bd9af0dca3a5a18c6d759af3e9ed134c30
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 14:50:56 2017 -0700

    broadband-modem-qmi: port modem_load_supported_ip_families to
    use GTask

 src/mm-broadband-modem-qmi.c | 37 ++++++++++++++++---------------------
 1 file changed, 16 insertions(+), 21 deletions(-)

commit 0b942a6759a7ebfa2afe468ecfb02baeb653b8b5
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 16:05:55 2017 -0700

    broadband-modem-qmi: port modem_load_supported_ip_modes to use GTask

 src/mm-broadband-modem-qmi.c | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

commit bba2386238d3f672946a20ea69d00fb1f95cb7d9
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 14:41:33 2017 -0700

    broadband-modem-qmi: port modem_load_device_identifier to use GTask

 src/mm-broadband-modem-qmi.c | 24 ++++++------------------
 1 file changed, 6 insertions(+), 18 deletions(-)

commit 55c3e162b12c741999e8532950904ed945b0041b
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 16:14:59 2017 -0700

    broadband-modem-qmi: port modem_load_unlock_required to use GTask

 src/mm-broadband-modem-qmi.c | 117
 ++++++++++++++++++++++---------------------
 1 file changed, 59 insertions(+), 58 deletions(-)

commit 2ba17be8b6a8472797b37abfbf05eecd0dd4a65a
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 14:38:44 2017 -0700

    broadband-modem-qmi: port modem_create_bearer to use GTask

 src/mm-broadband-modem-qmi.c | 21 ++++++---------------
 1 file changed, 6 insertions(+), 15 deletions(-)

commit 2aaac123ac971537b9a42e225eb9129e2ac05fec
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 14:14:58 2017 -0700

    broadband-modem-qmi: port messaging_load_supported_storages to
    use GTask

 src/mm-broadband-modem-qmi.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

commit bf9e5cdfeb73e678fbe716fc4334a9c1d9aae417
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 14:13:14 2017 -0700

    broadband-modem-qmi: port messaging_check_support to use GTask

 src/mm-broadband-modem-qmi.c | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

commit 30dfe3055e8e9561c8956d77c5574ad6c889c335
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 13:09:15 2017 -0700

    broadband-modem-qmi: port signal_check_support to use GTask

 src/mm-broadband-modem-qmi.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

commit e9ee49d583c4108022817338da7111dcd582f45a
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 13:03:36 2017 -0700

    broadband-modem-qmi: port oma_check_support to use GTask

 src/mm-broadband-modem-qmi.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

commit 3e91956d0cf4161a8b0443d3863599a06781dbf8
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 14:08:51 2017 -0700

    broadband-modem-qmi: port location_load_capabilities to use GTask

 src/mm-broadband-modem-qmi.c | 35 ++++++++++++++++-------------------
 1 file changed, 16 insertions(+), 19 deletions(-)

commit d99398b05519df21a9bfc84e5c3de232e892bd0f
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 12:48:13 2017 -0700

    broadband-modem-qmi: port enable_location_gathering to use GTask

 src/mm-broadband-modem-qmi.c | 173
 ++++++++++++++++++++++++-------------------
 1 file changed, 96 insertions(+), 77 deletions(-)

commit 07d922e250e2d8d47ebfad0ad39de23f47cc390b
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 14:01:05 2017 -0700

    broadband-modem-qmi: port firmware_load_list to use GTask

 src/mm-broadband-modem-qmi.c | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

commit af2f87d2f2471f532aa4586d9243b622ee6434cf
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 14:05:39 2017 -0700

    broadband-modem-qmi: port firmware_load_current to use GTask

 src/mm-broadband-modem-qmi.c | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

commit 02fadb6e914030a34935af3cc5d4192f35fb5a81
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 16:23:35 2017 -0700

    broadband-modem-qmi: port enabling_started to use GTask

 src/mm-broadband-modem-qmi.c | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

commit b412ddc8b91f24db3a189092ce44ae6be31d7c98
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 11 16:21:20 2017 -0700

    broadband-modem-qmi: port initialization_started to use GTask

 src/mm-broadband-modem-qmi.c | 88
 +++++++++++++++++++++++---------------------
 1 file changed, 46 insertions(+), 42 deletions(-)

commit a20686c24c29f0ae1c5746f2a2ae8fb418a424f9
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Oct 19 23:14:04 2017 -0700

    via: port modem_cdma_{setup,cleanup}_unsolicited_events to use GTask

 plugins/via/mm-broadband-modem-via.c | 40
 +++++++++++-------------------------
 1 file changed, 12 insertions(+), 28 deletions(-)

commit 47cdad55a86e1e2657f428c85d94218f36854d7f
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Oct 19 23:26:43 2017 -0700

    anydata: port get_detailed_registration_state to use GTask

 plugins/anydata/mm-broadband-modem-anydata.c | 91
 +++++++++++-----------------
 1 file changed, 35 insertions(+), 56 deletions(-)

commit 689dad9f6e4a08c5f68a02363703d58f6d9fbadf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 19 11:43:50 2017 +0200

    base-bearer: fix reporting tx/rx stats

    The numbers were actually swapped!

 src/mm-base-bearer.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 25007741c8a458567998744de87bdd55128da80f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 18 23:02:57 2017 +0200

    mmcli,sim: force sync operation for the info action

 cli/mmcli-sim.c | 3 +++
 1 file changed, 3 insertions(+)

commit fc40c059fa1e04006651cbccc0d3f4943e94abf7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 8 10:16:54 2017 +0200

    broadband-modem-mbim: plug memleak when querying previous unlock
    retries

        ==15673== 240 (40 direct, 200 indirect) bytes in 1 blocks are
        definitely lost in loss record 4,341 of 4,535
        ==15673==    at 0x647F014: g_type_create_instance (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==15673==    by 0x6460027: ??? (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==15673==    by 0x6461A54: g_object_newv (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==15673==    by 0x6462213: g_object_new (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==15673==    by 0x4E97C33: mm_unlock_retries_new
        (mm-unlock-retries.c:217)
        ==15673==    by 0x4E97A6F: mm_unlock_retries_new_from_dictionary
        (mm-unlock-retries.c:171)
        ==15673==    by 0x170B09: mm_iface_modem_get_unlock_retries
        (mm-iface-modem.c:2942)
        ==15673==    by 0x1DB0A4: pin_query_unlock_retries_ready
        (mm-broadband-modem-mbim.c:782)
        ==15673==    by 0x613AD52: ??? (in
        /usr/lib/libgio-2.0.so.0.5200.3)
        ==15673==    by 0x613B775: ??? (in
        /usr/lib/libgio-2.0.so.0.5200.3)
        ==15673==    by 0x57D525D: transaction_task_complete_and_free
        (mbim-device.c:246)
        ==15673==    by 0x57D6086: process_message (mbim-device.c:666)

 src/mm-broadband-modem-mbim.c | 1 +
 1 file changed, 1 insertion(+)

commit 58e6f652a10e57eeea1a8ccb0c440c3171a9ba33
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 7 14:06:06 2017 +0200

    base-modem: plug memleaks when building port lists

    The mm_base_modem_find_ports() method builds a list of full
    references, so we need to unref them in the peek() methods.

        ==10047== 14,959 (24 direct, 14,935 indirect) bytes in 1 blocks
        are definitely lost in loss record 5,470 of 5,473
        ==10047==    at 0x4C2CE5F: malloc (in
        /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
        ==10047==    by 0x66E3028: g_malloc (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==10047==    by 0x66FAB25: g_slice_alloc (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==10047==    by 0x66D9A33: g_list_append (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==10047==    by 0x15F6A7: mm_base_modem_find_ports
        (mm-base-modem.c:845)
        ==10047==    by 0x15E9F3: mm_base_modem_peek_port_qmi_for_data
        (mm-base-modem.c:579)
        ==10047==    by 0x15E8FC: mm_base_modem_get_port_qmi_for_data
        (mm-base-modem.c:555)
        ==10047==    by 0x1BB99F: _connect (mm-bearer-qmi.c:1391)
        ==10047==    by 0x1540B4: mm_base_bearer_connect
        (mm-base-bearer.c:841)
        ==10047==    by 0x181F4F: connection_step
        (mm-iface-modem-simple.c:597)
        ==10047==    by 0x181321: create_bearer_ready
        (mm-iface-modem-simple.c:258)
        ==10047==    by 0x612FD52: ??? (in
        /usr/lib/libgio-2.0.so.0.5200.3)

 src/mm-base-modem.c | 43 +++++++++++++++++++++++++++----------------
 1 file changed, 27 insertions(+), 16 deletions(-)

commit 882f6b04d6562adf471576a6ca31687066a574c1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 22:18:53 2017 -0700

    cinterion: port modem_create_bearer to GTask

 plugins/cinterion/mm-broadband-modem-cinterion.c | 142
 ++++++++++-------------
 1 file changed, 60 insertions(+), 82 deletions(-)

commit e9f56ddf153e07278232150554ed7fa54cb1cde6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 22:08:56 2017 -0700

    cinterion: port after_sim_unlock to GTask

 plugins/cinterion/mm-broadband-modem-cinterion.c | 79
 ++++++++++++------------
 1 file changed, 38 insertions(+), 41 deletions(-)

commit b1948f83a5134143347010df33c2513c69ebb849
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 22:01:25 2017 -0700

    cinterion: port load_unlock_retries_context to GTask

 plugins/cinterion/mm-broadband-modem-cinterion.c | 72
 ++++++++++++------------
 1 file changed, 35 insertions(+), 37 deletions(-)

commit e1b2b88e682d68c1554f5c8014c19fe27aebc9af
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 21:54:04 2017 -0700

    cinterion: port setup_flow_control to GTask

 plugins/cinterion/mm-broadband-modem-cinterion.c | 39
 +++++++++++-------------
 1 file changed, 17 insertions(+), 22 deletions(-)

commit 926e0176fbcbc47a44b83f826492e69af3e62226
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 21:51:49 2017 -0700

    cinterion: port set_current_bands to GTask

 plugins/cinterion/mm-broadband-modem-cinterion.c | 98
 +++++++++++-------------
 1 file changed, 45 insertions(+), 53 deletions(-)

commit ea58d359473ddc4d1539e6b94b2526949436ac81
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 21:44:42 2017 -0700

    cinterion: port load_current_bands to GTask

 plugins/cinterion/mm-broadband-modem-cinterion.c | 56
 ++++++++++--------------
 1 file changed, 23 insertions(+), 33 deletions(-)

commit c1e17b9cad8767271b7a412e12fbe2efc9bebe75
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 21:40:41 2017 -0700

    cinterion: port load_supported_bands to GTask

 plugins/cinterion/mm-broadband-modem-cinterion.c | 57
 ++++++++++--------------
 1 file changed, 23 insertions(+), 34 deletions(-)

commit 7f2520a83d9c824b90df3418084fc18f1e374fb6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 21:36:10 2017 -0700

    cinterion: port register_in_network to GTask

 plugins/cinterion/mm-broadband-modem-cinterion.c | 68
 ++++++++----------------
 1 file changed, 23 insertions(+), 45 deletions(-)

commit f9e2ebf3a0588176bd0ee52672065190cdc28d98
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 19:49:37 2017 -0700

    cinterion: port modem_power_off to GTask

 plugins/cinterion/mm-broadband-modem-cinterion.c | 121
 +++++++++++++----------
 1 file changed, 69 insertions(+), 52 deletions(-)

commit 00aa9cd09bf7b200d3c91226187242f464c3793a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 19:24:33 2017 -0700

    cinterion: port modem_power_down to GTask

 plugins/cinterion/mm-broadband-modem-cinterion.c | 80
 +++++++++++-------------
 1 file changed, 37 insertions(+), 43 deletions(-)

commit 73f748f7acc927db51def61465a2f43be9eb8edb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 17:24:21 2017 -0700

    cinterion: port messaging_check_support to GTask

 plugins/cinterion/mm-broadband-modem-cinterion.c | 54
 +++++++++++-------------
 1 file changed, 24 insertions(+), 30 deletions(-)

commit d09f9adafeaeaeebacaf951c88a203c277d56ac6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 17:19:32 2017 -0700

    cinterion: port messaging_enable_unsolicited_events to GTask

 plugins/cinterion/mm-broadband-modem-cinterion.c | 129
 +++++++++++------------
 1 file changed, 61 insertions(+), 68 deletions(-)

commit 7e478e408d8bf49947217dc882102ecf3bac0adc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 20 17:11:59 2017 -0700

    cinterion: port plugin custom_init to GTask

 plugins/cinterion/mm-plugin-cinterion.c | 74
 +++++++++++----------------------
 1 file changed, 25 insertions(+), 49 deletions(-)

commit 6e68f4052b17cd145bcc7883469aac57fccf76e2
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 6 20:40:11 2017 -0700

    nokia: port load_access_technologies to use GTask

 plugins/nokia/mm-broadband-modem-nokia.c | 59
 ++++++++++----------------------
 1 file changed, 19 insertions(+), 40 deletions(-)

commit d4abf79e9970faf3c6cc0b611caaabf98390593b
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 6 20:34:47 2017 -0700

    nokia: port enabling_modem_init to use GTask

 plugins/nokia/mm-broadband-modem-nokia.c | 56
 +++++++++++++++-----------------
 1 file changed, 26 insertions(+), 30 deletions(-)

commit 74d8a69b4ec855c84249458416be584a5be3e4c1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Oct 7 10:50:48 2017 +0200

    iridium: simplify a bit the saved_error logic in connect

    Note that saved_error will be freed along with the context, unless
    it's set to NULL.

 plugins/iridium/mm-bearer-iridium.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

commit 3c2b974bbd5d9bc6645fa6eed93504ef84739dc1
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 6 16:15:41 2017 -0700

    iridium: port connect to use GTask

 plugins/iridium/mm-bearer-iridium.c | 99
 +++++++++++++++----------------------
 1 file changed, 41 insertions(+), 58 deletions(-)

commit d0bbc43fa7601c395c3208b199eaa43dc24a16c4
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 6 16:04:00 2017 -0700

    iridium: port load_operator_{code,name} to use GTask

 plugins/iridium/mm-broadband-modem-iridium.c | 47
 +++++++++++++++++-----------
 1 file changed, 29 insertions(+), 18 deletions(-)

commit 2768df24b487b82c78b0623000c51d5a0cb30367
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 6 15:59:22 2017 -0700

    iridium: port setup_flow_control to use GTask

 plugins/iridium/mm-broadband-modem-iridium.c | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

commit aee8bcc7489836a77bfe1c7521dd3bbc55e8f8df
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 6 15:31:29 2017 -0700

    iridium: port load_supported_modes to use GTask

 plugins/iridium/mm-broadband-modem-iridium.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

commit 164ce738476e5af8a2f44fa1967eb7f821b1579c
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 6 15:30:07 2017 -0700

    iridium: port create_bearer to use GTask

 plugins/iridium/mm-broadband-modem-iridium.c | 21 +++++----------------
 1 file changed, 5 insertions(+), 16 deletions(-)

commit 7dc46481c51b189eac9c48c2488ab8bc25290766
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 6 15:19:05 2017 -0700

    pantech: port modem_after_sim_unlock to use GTask

 plugins/pantech/mm-broadband-modem-pantech.c | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

commit f8a375b1fa3c9d5f8b3f0a7f39d0576baa01436c
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Oct 3 22:30:49 2017 -0700

    broadband-modem-mbim: use device manufacturer information when
    available

    MBIM modems can be supported by the 'generic' plugin. Instead of
    treating the plugin name (i.e. Generic) as the manufacturer, it's more
    useful to use the manufacturer information reported by the underlying
    USB device if that is available.

 src/mm-broadband-modem-mbim.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 3a0d658b5d8eef55fdc5ad8c07dcb2c7f2e86453
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 19 22:25:34 2017 -0700

    kerneldevice: add method to retrieve manufacturer information

    A USB device may report its manufacturer through the Manufacturer
    String
    Descriptor. That information can sometimes be useful, e.g. MBIM
    doesn't
    define a standard command to query the manufacturer. This patch adds a
    method to MMKernelDevice to retrieve the manufacturer information from
    the underlying physical device, which can later be used by
    MMBroadbandModemMbim to report the manufacturer of a MBIM modem.

 src/kerneldevice/mm-kernel-device-generic.c | 39
 ++++++++++++++++++-----------
 src/kerneldevice/mm-kernel-device-udev.c    | 16 ++++++++++++
 src/kerneldevice/mm-kernel-device.c         | 10 ++++++++
 src/kerneldevice/mm-kernel-device.h         |  9 ++++---
 4 files changed, 56 insertions(+), 18 deletions(-)

commit bee3f063b44ef4e1476663a30ec673d69b47a442
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 6 21:09:43 2017 -0700

    anydata: remove unused 'port' field in
    DetailedRegistrationStateContext

    The 'port' field in DetailedRegistrationStateContext is initialized to
    NULL but never updated or used.

    When detailed_registration_state_context_complete_and_free() calls
    g_object_unref() on the NULL 'port' field, an assertion is raised.

 plugins/anydata/mm-broadband-modem-anydata.c | 2 --
 1 file changed, 2 deletions(-)

commit 1e4769257368c681cea6e109a18ed9ff113b2b57
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 6 18:05:36 2017 -0700

    simtech: fix memory leak

 plugins/simtech/mm-broadband-modem-simtech.c | 2 ++
 1 file changed, 2 insertions(+)

commit 25f37fd613386ab135008dfb97946710ba3674cf
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 6 18:05:35 2017 -0700

    wavecom: fix memory leak

 plugins/wavecom/mm-broadband-modem-wavecom.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 6967cbfd55f4eeef6bd2990726956c5c2d07a169
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 6 01:53:24 2017 -0700

    linktop: port set_current_modes to use GTask

 plugins/linktop/mm-broadband-modem-linktop.c | 39
 ++++++++++++----------------
 1 file changed, 17 insertions(+), 22 deletions(-)

commit 1e75e7e3d975c0b6f604a86c23adc18f4f51f2a9
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 6 01:50:25 2017 -0700

    linktop: port load_supported_modes to use GTask

 plugins/linktop/mm-broadband-modem-linktop.c | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

commit efaa780de20d0631f978781109900739f36126f0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Oct 6 10:51:01 2017 +0200

    port-qmi: don't allow client allocation if port is closed

    The internal QmiDevice will be gone when the port is closed, so we
    cannot really do anything.

    This avoid an issue happening when the modem goes away in the middle
    of the client allocation logic performed by MMBroadbandModemQmi:

        ModemManager[24820]: <debug> [1507279407.225777] Couldn't allocate
        client for service 'wms': Couldn't create client for service
        'wms': CID allocation failed in the CTL client: Transaction
        timed out
        ModemManager[24820]: qmi_device_allocate_client: assertion
        'QMI_IS_DEVICE (self)' failed
        ==24820==
        ==24820== Process terminating with default action of signal 5
        (SIGTRAP): dumping core
        ==24820==    at 0x66E3411: ??? (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==24820==    by 0x66E46FA: g_logv (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==24820==    by 0x66E484E: g_log (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==24820==    by 0x538E259: qmi_device_allocate_client
        (qmi-device.c:1008)
        ==24820==    by 0x1F5690: mm_port_qmi_allocate_client
        (mm-port-qmi.c:157)
        ==24820==    by 0x1D20BA: allocate_next_client
        (mm-broadband-modem-qmi.c:11319)
        ==24820==    by 0x1D2027: qmi_port_allocate_client_ready
        (mm-broadband-modem-qmi.c:11306)
        ==24820==    by 0x612FD52: ??? (in
        /usr/lib/libgio-2.0.so.0.5200.3)
        ==24820==    by 0x6130775: ??? (in
        /usr/lib/libgio-2.0.so.0.5200.3)
        ==24820==    by 0x1F54E8: allocate_client_ready
        (mm-port-qmi.c:113)
        ==24820==    by 0x612FD52: ??? (in
        /usr/lib/libgio-2.0.so.0.5200.3)
        ==24820==    by 0x6130775: ??? (in
        /usr/lib/libgio-2.0.so.0.5200.3)

 src/mm-port-qmi.c | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

commit fd2bfb7e85f1924f70c50b7e0d21ef5fe3caef38
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Oct 5 23:26:55 2017 -0700

    novatel-lte: implement load_unlock_retries

    This patch implements load_unlock_retries() for the Novatel LTE
    modem by
    using the AT$NWPINR? command to query the number of retries left for
    entering PIN1 or PIN2.

    Ported from the original patch by Arman Uguray
    <armansito@chromium.org>:
    https://chromium-review.googlesource.com/c/58118

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 65
 ++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

commit 01ba79b70b835777b90723391da4d044437ddc9c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 16:44:34 2017 +0200

    simtech: port 3gpp_{setup|cleanup}_unsolicited_messages to GTask

 plugins/simtech/mm-broadband-modem-simtech.c | 55
 ++++++++++------------------
 1 file changed, 19 insertions(+), 36 deletions(-)

commit c04160817abd5681e312f9b559f01b49e867d5b9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 16:36:08 2017 +0200

    simtech: port 3gpp_enable_unsolicited_events to GTask

 plugins/simtech/mm-broadband-modem-simtech.c | 45
 +++++++++++-----------------
 1 file changed, 18 insertions(+), 27 deletions(-)

commit e7fbf6fc5603ee6ebc14cde5f82d61730eb8a57c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 16:30:51 2017 +0200

    simtech: port 3gpp_disable_unsolicited_events to GTask

 plugins/simtech/mm-broadband-modem-simtech.c | 37
 +++++++++++-----------------
 1 file changed, 14 insertions(+), 23 deletions(-)

commit df4abdec1537e5a472138e9a4439af5eacf3947c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 16:25:29 2017 +0200

    simtech: port load_access_technologies to GTask

 plugins/simtech/mm-broadband-modem-simtech.c | 72
 ++++++++++++----------------
 1 file changed, 31 insertions(+), 41 deletions(-)

commit cda7deea3d8b920353c28626399d5d3256ababc6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 16:16:27 2017 +0200

    simtech: port load_supported_modes to GTask

 plugins/simtech/mm-broadband-modem-simtech.c | 44
 ++++++++++++----------------
 1 file changed, 18 insertions(+), 26 deletions(-)

commit bf83bb75772a127b0731ac09766a7f7f54fe5e8c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 16:11:16 2017 +0200

    simtech: port load_current_modes to GTask

 plugins/simtech/mm-broadband-modem-simtech.c | 125
 ++++++++++++---------------
 1 file changed, 57 insertions(+), 68 deletions(-)

commit 9c1f9023e3ab167bf35c9130eec66346ce8b3607
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 14:35:09 2017 +0200

    simtech: port set_current_modes to GTask

 plugins/simtech/mm-broadband-modem-simtech.c | 96
 ++++++++++++----------------
 1 file changed, 41 insertions(+), 55 deletions(-)

commit d9de874db3a23689f82337bc889ee47bcee15de0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 22:30:03 2017 +0200

    thuraya: port load_supported_modes to GTask

 plugins/thuraya/mm-broadband-modem-thuraya.c | 30
 ++++++++++++----------------
 1 file changed, 13 insertions(+), 17 deletions(-)

commit e072f4bc7731a2a4710de7be42dadcb54508a01d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 22:28:27 2017 +0200

    thuraya: port messaging_load_supported_storages to GTask

 plugins/thuraya/mm-broadband-modem-thuraya.c | 66
 ++++++++++++----------------
 1 file changed, 27 insertions(+), 39 deletions(-)

commit 0714c01d036b360c5999863fc07bdd07c4606583
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 22:20:54 2017 +0200

    thuraya: port load_operator_{name|code} to GTask

 plugins/thuraya/mm-broadband-modem-thuraya.c | 52
 ++++++++++++++++------------
 1 file changed, 29 insertions(+), 23 deletions(-)

commit 23124fc6e95dd344d6920516faa4db58ffda2524
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 22:11:45 2017 +0200

    dell: port custom_init to GTask

 plugins/dell/mm-plugin-dell.c | 201
 +++++++++++++++++++++---------------------
 1 file changed, 101 insertions(+), 100 deletions(-)

commit a1d355784bfbe802322c781632a1f393a93cedef
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 23:00:06 2017 +0200

    via: port get_detailed_registration_state() to GTask

 plugins/via/mm-broadband-modem-via.c | 164
 ++++++++++++++++-------------------
 1 file changed, 73 insertions(+), 91 deletions(-)

commit 0c8842695ffd0dea5ae1213bc0bf2c73473bcb19
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 22:40:58 2017 +0200

    via: port cdma_setup_registration_checks to GTask

 plugins/via/mm-broadband-modem-via.c | 88
 +++++++++++++++++-------------------
 1 file changed, 41 insertions(+), 47 deletions(-)

commit d1436ac0c6ad594e25803f96e522c81d043d7e1d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 21:47:12 2017 +0200

    altair: port 3gpp_register_in_network to GTask

    And also use mm_base_modem_at_command() instead of the full() version,
    as we're anyway mm_base_modem_peek_best_at_port().

    This commit also fixes the logic where we make sure the finish()
    method completes the GTask that is created in the async method
    originally.

 plugins/altair/mm-broadband-modem-altair-lte.c | 70
 +++++++++++++++-----------
 1 file changed, 42 insertions(+), 28 deletions(-)

commit 4bd15362c569eb2814dfc449591bde7083daeecb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 5 23:44:30 2017 +0200

    kerneldevice,generic: plug memleak

        ==5075== 198 bytes in 18 blocks are definitely lost in loss
        record 4,486 of 4,761
        ==5075==    at 0x4C2CE5F: malloc (in
        /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
        ==5075==    by 0x66E3028: g_malloc (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==5075==    by 0x66CAD42: g_path_get_basename (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==5075==    by 0x20BB7B: preload_interface_sysfs_path
        (mm-kernel-device-generic.c:184)
        ==5075==    by 0x20C885: preload_contents
        (mm-kernel-device-generic.c:383)
        ==5075==    by 0x20E2E1: check_preload
        (mm-kernel-device-generic.c:830)
        ==5075==    by 0x20EA6F: set_property
        (mm-kernel-device-generic.c:953)
        ==5075==    by 0x6455359: ??? (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==5075==    by 0x6456DBC: g_object_new_valist (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==5075==    by 0x6105E95: g_initable_new_valist (in
        /usr/lib/libgio-2.0.so.0.5200.3)
        ==5075==    by 0x6105F58: g_initable_new (in
        /usr/lib/libgio-2.0.so.0.5200.3)
        ==5075==    by 0x20E848: mm_kernel_device_generic_new_with_rules
        (mm-kernel-device-generic.c:901)

 src/kerneldevice/mm-kernel-device-generic.c | 1 +
 1 file changed, 1 insertion(+)

commit 8cd21e439d568fd7df4a0596b03cdb1e627b18c4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 5 23:42:55 2017 +0200

    kerneldevice,generic: plug memleak

        ==5075== 333 bytes in 37 blocks are definitely lost in loss
        record 4,612 of 4,761
        ==5075==    at 0x4C2CE5F: malloc (in
        /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
        ==5075==    by 0x66E3028: g_malloc (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==5075==    by 0x66CAD42: g_path_get_basename (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==5075==    by 0x20BE20: preload_driver
        (mm-kernel-device-generic.c:242)
        ==5075==    by 0x20C8E5: preload_contents
        (mm-kernel-device-generic.c:391)
        ==5075==    by 0x20E2E1: check_preload
        (mm-kernel-device-generic.c:830)
        ==5075==    by 0x20EA6F: set_property
        (mm-kernel-device-generic.c:953)
        ==5075==    by 0x6455359: ??? (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==5075==    by 0x6456DBC: g_object_new_valist (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==5075==    by 0x6105E95: g_initable_new_valist (in
        /usr/lib/libgio-2.0.so.0.5200.3)
        ==5075==    by 0x6105F58: g_initable_new (in
        /usr/lib/libgio-2.0.so.0.5200.3)
        ==5075==    by 0x20E848: mm_kernel_device_generic_new_with_rules
        (mm-kernel-device-generic.c:901)

 src/kerneldevice/mm-kernel-device-generic.c | 1 +
 1 file changed, 1 insertion(+)

commit 2dc13fd9643d056a83df4c3a64987b52208fd8e4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 5 23:36:05 2017 +0200

    plugin-manager: allow multiple calls to port_context_complete()

    Only the first one will work.

 src/mm-plugin-manager.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit bbe50645916c4596cf7c7b309aac267d396801b8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 5 23:29:13 2017 +0200

    plugin-manager: ensure valid reference during cancellation

    Cancelling the port_context->cancellable may end up finishing the
    async task and completing the last reference of the port
    context. Avoid that by making sure we hold a valid reference for as
    long as we may need it.

        ==2277== Invalid read of size 4
        ==2277==    at 0x14ACE2: port_context_cancel
        (mm-plugin-manager.c:547)
        ==2277==    by 0x14C32E: device_context_port_released
        (mm-plugin-manager.c:1142)
        ==2277==    by 0x83831C7: ffi_call_unix64 (in
        /usr/lib/libffi.so.6.0.4)
        ==2277==    by 0x8382C29: ffi_call (in /usr/lib/libffi.so.6.0.4)
        ==2277==    by 0x64506A8: g_cclosure_marshal_generic (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==2277==    by 0x644FEAC: g_closure_invoke (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==2277==    by 0x64624AD: ??? (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==2277==    by 0x646AC84: g_signal_emit_valist (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==2277==    by 0x646B69E: g_signal_emit (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==2277==    by 0x1483E7: mm_device_release_port (mm-device.c:196)
        ==2277==    by 0x145D5D: device_removed (mm-base-manager.c:217)
        ==2277==    by 0x1464A9: handle_kernel_event
        (mm-base-manager.c:401)
        ==2277==  Address 0xf677d18 is 88 bytes inside a block of size
        96 free'd
        ==2277==    at 0x4C2E14B: free (in
        /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
        ==2277==    by 0x14A1B7: port_context_unref
        (mm-plugin-manager.c:234)
        ==2277==    by 0x14AB51: plugin_supports_port_ready
        (mm-plugin-manager.c:492)
        ==2277==    by 0x612FD52: ??? (in /usr/lib/libgio-2.0.so.0.5200.3)
        ==2277==    by 0x6130775: ??? (in /usr/lib/libgio-2.0.so.0.5200.3)
        ==2277==    by 0x1AFDF8: port_probe_run_ready (mm-plugin.c:624)
        ==2277==    by 0x612FD52: ??? (in /usr/lib/libgio-2.0.so.0.5200.3)
        ==2277==    by 0x6130775: ??? (in /usr/lib/libgio-2.0.so.0.5200.3)
        ==2277==    by 0x6131367: g_task_return_error_if_cancelled
        (in /usr/lib/libgio-2.0.so.0.5200.3)
        ==2277==    by 0x1A9EDA: port_probe_task_return_error_if_cancelled
        (mm-port-probe.c:109)
        ==2277==    by 0x1ABCD2: serial_probe_at_parse_response
        (mm-port-probe.c:900)
        ==2277==    by 0x611E475: g_simple_async_result_complete (in
        /usr/lib/libgio-2.0.so.0.5200.3)
        ==2277==  Block was alloc'd at
        ==2277==    at 0x4C2CE5F: malloc (in
        /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
        ==2277==    by 0x66E3028: g_malloc (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==2277==    by 0x66FAB25: g_slice_alloc (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==2277==    by 0x66FAFB8: g_slice_alloc0 (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==2277==    by 0x14B18D: port_context_new
        (mm-plugin-manager.c:649)
        ==2277==    by 0x14C4A7: device_context_port_grabbed
        (mm-plugin-manager.c:1182)
        ==2277==    by 0x83831C7: ffi_call_unix64 (in
        /usr/lib/libffi.so.6.0.4)
        ==2277==    by 0x8382C29: ffi_call (in /usr/lib/libffi.so.6.0.4)
        ==2277==    by 0x64506A8: g_cclosure_marshal_generic (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==2277==    by 0x644FEAC: g_closure_invoke (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==2277==    by 0x64624AD: ??? (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==2277==    by 0x646AC84: g_signal_emit_valist (in
        /usr/lib/libgobject-2.0.so.0.5200.3)

 src/mm-plugin-manager.c | 35 +++++++++++++++++++----------------
 1 file changed, 19 insertions(+), 16 deletions(-)

commit 48850f21b423deee3553f24df460e45c73d049cb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 5 23:19:22 2017 +0200

    port-serial: avoid invalid memory write on cancellation logic

    If the GCancellable is already cancelled when trying to connect a
    signal, the callback given will be run right away, and that may end up
    completing the async task and removing the last MMPortSerial
    reference.

        ==30627== Invalid write of size 8
        ==30627==    at 0x1ED43B: port_serial_queue_process
        (mm-port-serial.c:812)
        ==30627==    by 0x66DE342: ??? (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==30627==    by 0x66DD8C4: g_main_context_dispatch (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==30627==    by 0x66DDC87: ??? (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==30627==    by 0x66DDFA1: g_main_loop_run (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==30627==    by 0x143F9B: main (main.c:180)
        ==30627==  Address 0xf6f0e98 is 200 bytes inside a block of size
        328 free'd
        ==30627==    at 0x4C2E14B: free (in
        /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
        ==30627==    by 0x64742B2: g_type_free_instance (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==30627==    by 0x1ED0F2: port_serial_got_response
        (mm-port-serial.c:704)
        ==30627==    by 0x1ED21B: port_serial_response_wait_cancelled
        (mm-port-serial.c:757)
        ==30627==    by 0x60E1A81: g_cancellable_connect (in
        /usr/lib/libgio-2.0.so.0.5200.3)
        ==30627==    by 0x1ED43A: port_serial_queue_process
        (mm-port-serial.c:812)
        ==30627==    by 0x66DE342: ??? (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==30627==    by 0x66DD8C4: g_main_context_dispatch (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==30627==    by 0x66DDC87: ??? (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==30627==    by 0x66DDFA1: g_main_loop_run (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==30627==    by 0x143F9B: main (main.c:180)
        ==30627==  Block was alloc'd at
        ==30627==    at 0x4C2CE5F: malloc (in
        /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
        ==30627==    by 0x66E3028: g_malloc (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==30627==    by 0x66FAB25: g_slice_alloc (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==30627==    by 0x66FAFB8: g_slice_alloc0 (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==30627==    by 0x6473FB5: g_type_create_instance (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==30627==    by 0x6455027: ??? (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==30627==    by 0x6456DBC: g_object_new_valist (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==30627==    by 0x6457200: g_object_new (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==30627==    by 0x1F253A: mm_port_serial_at_new
        (mm-port-serial-at.c:533)
        ==30627==    by 0x1AC7E7: serial_open_at (mm-port-probe.c:1210)
        ==30627==    by 0x66DD8C4: g_main_context_dispatch (in
        /usr/lib/libglib-2.0.so.0.5200.3)
        ==30627==    by 0x66DDC87: ??? (in
        /usr/lib/libglib-2.0.so.0.5200.3)

 src/mm-port-serial.c | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

commit 54b21292b1dee863075ed8074526676df2d836bf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 5 22:59:55 2017 +0200

    base-manager: plug memleak

        ==28888== 622 (280 direct, 342 indirect) bytes in 7 blocks are
        definitely lost in loss record 2,515 of 2,548
        ==28888==    at 0x6474014: g_type_create_instance (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==28888==    by 0x6455027: ??? (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==28888==    by 0x6456A54: g_object_newv (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==28888==    by 0x6457213: g_object_new (in
        /usr/lib/libgobject-2.0.so.0.5200.3)
        ==28888==    by 0x4E9DD7D: mm_kernel_event_properties_new
        (mm-kernel-event-properties.c:422)
        ==28888==    by 0x4E9D8BC:
        mm_kernel_event_properties_new_from_string
        (mm-kernel-event-properties.c:283)
        ==28888==    by 0x1465D7: process_initial_kernel_events
        (mm-base-manager.c:555)
        ==28888==    by 0x14679E: mm_base_manager_start
        (mm-base-manager.c:581)
        ==28888==    by 0x143CF3: name_acquired_cb (main.c:110)
        ==28888==    by 0x616B805: ??? (in
        /usr/lib/libgio-2.0.so.0.5200.3)
        ==28888==    by 0x616BA47: ??? (in
        /usr/lib/libgio-2.0.so.0.5200.3)
        ==28888==    by 0x612FD52: ??? (in
        /usr/lib/libgio-2.0.so.0.5200.3)

 src/mm-base-manager.c | 1 +
 1 file changed, 1 insertion(+)

commit 5bb205d3518ef85ad4e4ace8a3aeaefcbbb6b5d6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 5 22:38:06 2017 +0200

    kerneldevice,generic: avoid segfault when reported device doesn't
    exist

    Could be a user error or a race condition. In any case, we shouldn't
    crash.

        ModemManager[19677]: <debug> [1507235472.301934] Kernel event
        reported:
        ModemManager[19677]: <debug> [1507235472.301944]   action:    add
        ModemManager[19677]: <debug> [1507235472.301953]   subsystem:
        usbmisc
        ModemManager[19677]: <debug> [1507235472.301962]   name:
        cdc-wdm0
        ModemManager[19677]: <debug> [1507235472.301970]   uid:       n/a
        ModemManager[19677]: <debug> [1507235472.301984]
        (usbmisc/cdc-wdm0) preloading contents and properties...
        ModemManager[19677]: <warn>  [1507235472.302007] Invalid sysfs
        path read for usbmisc/cdc-wdm0
        ModemManager[19677]: <debug> [1507235472.302017]
        (usbmisc/cdc-wdm0) interface class: 0x00
        ModemManager[19677]: <debug> [1507235472.302027]
        (usbmisc/cdc-wdm0) interface subclass: 0x00
        ModemManager[19677]: <debug> [1507235472.302037]
        (usbmisc/cdc-wdm0) interface protocol: 0x00
        ModemManager[19677]: <debug> [1507235472.302046]
        (usbmisc/cdc-wdm0) interface number (ID_USB_INTERFACE_NUM): 0x00
        ModemManager[19677]: <debug> [1507235472.302059]
        (usbmisc/cdc-wdm0) manufacturer: unknown
        ModemManager[19677]: <debug> [1507235472.302069]
        (usbmisc/cdc-wdm0) product: unknown
        ModemManager[19677]: <debug> [1507235472.302078]
        (usbmisc/cdc-wdm0) vid: unknown
        ModemManager[19677]: <debug> [1507235472.302088]
        (usbmisc/cdc-wdm0) pid: unknown

        (ModemManager:19677): GLib-CRITICAL **: g_str_has_prefix:
        assertion 'str != NULL' failed

        (ModemManager:19677): GLib-CRITICAL **: g_str_has_prefix:
        assertion 'str != NULL' failed

        (ModemManager:19677): GLib-CRITICAL **: g_str_has_prefix:
        assertion 'str != NULL' failed

        (ModemManager:19677): GLib-CRITICAL **: g_str_has_prefix:
        assertion 'str != NULL' failed

        Thread 1 "ModemManager" received signal SIGSEGV, Segmentation
        fault.

 src/kerneldevice/mm-kernel-device-generic.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

commit 71730509ee0f84fed250cd79c9384df5fa2f0c77
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 5 12:32:17 2017 +0200

    port-probe: avoid deadlock trying to disconnect cancellable

    We cannot in any way try to disconnect a GCancellable from within a
    cancellation handler, or we'll deadlock.

        Thread 1 (Thread 0x7fe98bf25700 (LWP 12079)):
        #0  0x00007fe98a355f36 in pthread_cond_wait@@GLIBC_2.3.2 ()
        from /lib/libpthread.so.0
        #1  0x00007fe98a7f5ac0 in g_cond_wait () from
        /usr/lib/libglib-2.0.so.0
        #2  0x00007fe98ad14650 in g_cancellable_disconnect () from
        /usr/lib/libgio-2.0.so.0
        #3  0x000000000045be5d in port_probe_run_context_free ()
        #4  0x00007fe98ad519ed in g_task_finalize () from
        /usr/lib/libgio-2.0.so.0
        #5  0x00007fe98aaaa7b3 in g_object_unref () from
        /usr/lib/libgobject-2.0.so.0
        #6  0x000000000045b5f8 in
        port_probe_task_return_error_if_cancelled ()
        #7  0x000000000045c57d in serial_probe_at_parse_response ()
        #8  0x00007fe98ad42ed2 in g_simple_async_result_complete ()
        from /usr/lib/libgio-2.0.so.0
        #9  0x0000000000485c7d in serial_command_ready ()
        #10 0x00007fe98ad42ed2 in g_simple_async_result_complete ()
        from /usr/lib/libgio-2.0.so.0
        #11 0x0000000000482345 in command_context_complete_and_free ()
        #12 0x0000000000482fa5 in port_serial_got_response ()
        #13 0x00000000004830f5 in port_serial_response_wait_cancelled ()
        #14 0x00007fe98aaa70c5 in g_closure_invoke () from
        /usr/lib/libgobject-2.0.so.0
        #15 0x00007fe98aab47ce in signal_emit_unlocked_R () from
        /usr/lib/libgobject-2.0.so.0
        #16 0x00007fe98aabb595 in g_signal_emit_valist () from
        /usr/lib/libgobject-2.0.so.0
        #17 0x00007fe98aabb662 in g_signal_emit () from
        /usr/lib/libgobject-2.0.so.0
        #18 0x00007fe98ad144c5 in g_cancellable_cancel () from
        /usr/lib/libgio-2.0.so.0
        #19 0x00007fe98aaa70c5 in g_closure_invoke () from
        /usr/lib/libgobject-2.0.so.0
        #20 0x00007fe98aab47ce in signal_emit_unlocked_R () from
        /usr/lib/libgobject-2.0.so.0
        #21 0x00007fe98aabb595 in g_signal_emit_valist () from
        /usr/lib/libgobject-2.0.so.0
        #22 0x00007fe98aabb662 in g_signal_emit () from
        /usr/lib/libgobject-2.0.so.0
        #23 0x00007fe98ad144c5 in g_cancellable_cancel () from
        /usr/lib/libgio-2.0.so.0
        #24 0x000000000042e9f6 in port_context_cancel ()
        #25 0x00007fe989b99a4c in ffi_call_unix64 () at
        ../src/x86/unix64.S:75
        #26 0x00007fe989b994b9 in ffi_call (cif=0x7fffc41dcdb0,
        fn=0x42ea40 <device_context_port_released>, rvalue=<optimized
        out>, avalue=0x7fffc41dccd0) at ../src/x86/ffi64.c:492
        #27 0x00007fe98aaa7700 in g_cclosure_marshal_generic () from
        /usr/lib/libgobject-2.0.so.0
        #28 0x00007fe98aaa70c5 in g_closure_invoke () from
        /usr/lib/libgobject-2.0.so.0
        #29 0x00007fe98aab47ce in signal_emit_unlocked_R () from
        /usr/lib/libgobject-2.0.so.0
        #30 0x00007fe98aabb595 in g_signal_emit_valist () from
        /usr/lib/libgobject-2.0.so.0
        #31 0x00007fe98aabb662 in g_signal_emit () from
        /usr/lib/libgobject-2.0.so.0
        #32 0x000000000042c8f0 in mm_device_release_port ()
        #33 0x000000000042a6cb in device_removed ()
        #34 0x000000000042af94 in handle_kernel_event ()
        #35 0x000000000042b356 in report_kernel_event_auth_ready ()
        #36 0x00007fe98ad51783 in g_task_return_now () from
        /usr/lib/libgio-2.0.so.0
        #37 0x00007fe98ad517b9 in complete_in_idle_cb () from
        /usr/lib/libgio-2.0.so.0
        #38 0x00007fe98a7bda5e in g_main_context_dispatch () from
        /usr/lib/libglib-2.0.so.0
        #39 0x00007fe98a7bddb8 in g_main_context_iterate.isra () from
        /usr/lib/libglib-2.0.so.0
        #40 0x00007fe98a7be042 in g_main_loop_run () from
        /usr/lib/libglib-2.0.so.0
        #41 0x0000000000428dc4 in main ()

    So, just clear the cancellation id before going on with the handler
    logic.

 src/mm-port-probe.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

commit 3e15dc15efd118a2e7af8f60727afc7fbb7db3a3
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 2 10:42:33 2017 -0500

    bearer-mbim: don't crash when modem doesn't send gateways

    When the Ericsson F5321 with firmware R3C11/R4D04 is told to make
    an IPv6-only connection, it reports that it has IPv4 configuration
    but then returns no actual addresses.  Check both the flags and
    actual data before trying to use them.

    ModemManager[25850]: <debug> [1506958721.914717] IPv4 configuration
    available: 'address, gateway, dns, mtu'
    ModemManager[25850]: <debug> [1506958721.914731]   IP addresses (0)
    ModemManager[25850]: <debug> [1506958721.914741]   DNS addresses (0)
    ModemManager[25850]: <debug> [1506958721.914748]   MTU: '0'
    ModemManager[25850]: <debug> [1506958721.914758] IPv6 configuration
    available: 'address, dns, mtu'
    ModemManager[25850]: <debug> [1506958721.914767]   IP addresses (1)
    ModemManager[25850]: <debug> [1506958721.914852]     IP [0]:
    'fe80::39:f622:7d01/64'
    ModemManager[25850]: <debug> [1506958721.914866]   DNS addresses (2)
    ModemManager[25850]: <debug> [1506958721.914883]     DNS [0]:
    'fd00:976a::9'
    ModemManager[25850]: <debug> [1506958721.914896]   MTU: '1500'
    ModemManager[25850]: <debug> [1506958721.914947] (wwp0s20u1i6):
    port now connected

 src/mm-bearer-mbim.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit b252ab668f705cf23694ca693f524e2292320a56
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 28 21:20:33 2017 +0200

    build,tests: make sure tests are rebuilt if helper libs are updated

 src/tests/Makefile.am | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 280b72f15efb7269613ff2d9a86bb9585241ea92
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 28 11:04:55 2017 +0200

    mbm: remove unused struct member

 plugins/mbm/mm-sim-mbm.c | 1 -
 1 file changed, 1 deletion(-)

commit 6847fb48f6067d0eda547022aa0b794e46034038
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 28 10:58:00 2017 +0200

    mbm: no need to re-set self pointer

 plugins/mbm/mm-broadband-modem-mbm.c | 2 --
 1 file changed, 2 deletions(-)

commit e0a3eeee5dd76fc5e8f6cea01dfc9327e194ca83
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 26 06:08:19 2017 -0700

    mbm: port get_ip_config_3gpp to use GTask

 plugins/mbm/mm-broadband-bearer-mbm.c | 77
 ++++++++++++-----------------------
 1 file changed, 27 insertions(+), 50 deletions(-)

commit a910c45c086c821e848eb6c04a5e3254c30a30b9
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 26 06:00:39 2017 -0700

    mbm: port {enable,disable}_location_gathering to use GTask

 plugins/mbm/mm-broadband-modem-mbm.c | 114
 +++++++++++++++++------------------
 1 file changed, 56 insertions(+), 58 deletions(-)

commit 414aac95101d38526842bb6418d9543425ac188e
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 26 05:51:41 2017 -0700

    mbm: port location_load_capabilities to use GTask

 plugins/mbm/mm-broadband-modem-mbm.c | 39
 ++++++++++++++++--------------------
 1 file changed, 17 insertions(+), 22 deletions(-)

commit d19593d344e64f8c669207bfe7e026e350075f15
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 26 05:48:31 2017 -0700

    mbm: port modem_3gpp_disable_unsolicited_events to use GTask

 plugins/mbm/mm-broadband-modem-mbm.c | 30 +++++++++++-------------------
 1 file changed, 11 insertions(+), 19 deletions(-)

commit f79719c518bae0e3a62dcee1fd42023a023a4fd6
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 26 05:47:09 2017 -0700

    mbm: port modem_3gpp_enable_unsolicited_events to use GTask

 plugins/mbm/mm-broadband-modem-mbm.c | 30 +++++++++++-------------------
 1 file changed, 11 insertions(+), 19 deletions(-)

commit 4454f840bc483ff503fafbe95dec9058bfa0e1e5
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 26 05:45:26 2017 -0700

    mbm: port modem_3gpp_{setup,cleanup}_unsolicited_events to use GTask

 plugins/mbm/mm-broadband-modem-mbm.c | 40
 +++++++++++-------------------------
 1 file changed, 12 insertions(+), 28 deletions(-)

commit a0e3a889b03d7d072674b1938a12880dfa500570
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 26 05:42:10 2017 -0700

    mbm: port enabling_modem_init to use GTask

 plugins/mbm/mm-broadband-modem-mbm.c | 59
 ++++++++++++++----------------------
 1 file changed, 23 insertions(+), 36 deletions(-)

commit 0b37db42b441d036291369497644f47f59be63d4
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 26 05:36:50 2017 -0700

    mbm: port set_current_modes to use GTask

 plugins/mbm/mm-broadband-modem-mbm.c | 56
 +++++++++++++++---------------------
 1 file changed, 23 insertions(+), 33 deletions(-)

commit 43bf7c764b44dff0eedf2a6a99a57a975f882563
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 26 05:33:10 2017 -0700

    mbm: port modem_after_sim_unlock to use GTask

 plugins/mbm/mm-broadband-modem-mbm.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

commit 2e7aff84a62dfcedaaf22e47a42ea6bb152e8421
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 26 05:31:52 2017 -0700

    mbm: port modem_create_bearer to use GTask

 plugins/mbm/mm-broadband-modem-mbm.c | 28 +++++++---------------------
 1 file changed, 7 insertions(+), 21 deletions(-)

commit 9f573d3bcf8f5f28093c33a001851e80458c928a
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 26 05:29:45 2017 -0700

    mbm: port common_send_pin_puk to use GTask

 plugins/mbm/mm-sim-mbm.c | 67
 +++++++++++++++++++++++++-----------------------
 1 file changed, 35 insertions(+), 32 deletions(-)

commit 5769d52d3b35a3e026561790a53b4244a8b3e270
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 27 22:08:01 2017 -0700

    x22x: port x22x_custom_init to use GTask

 plugins/x22x/mm-plugin-x22x.c | 88
 ++++++++++++++++++++-----------------------
 1 file changed, 40 insertions(+), 48 deletions(-)

commit 1f6e7c99315cbedc4cbb7ea9b4c143f21510de34
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 27 21:59:28 2017 -0700

    x22x: port set_current_modes to use GTask

 plugins/x22x/mm-broadband-modem-x22x.c | 39
 +++++++++++++++-------------------
 1 file changed, 17 insertions(+), 22 deletions(-)

commit 4e3a6b4eb53a58ea7609d90647b46d51e8c3c79e
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 27 21:55:58 2017 -0700

    x22x: port load_supported_modes to use GTask

 plugins/x22x/mm-broadband-modem-x22x.c | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

commit fea6835592ddc12f4cd25c231169e4620ec756f9
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 20 23:18:05 2017 -0700

    mtk: port disable_unsolicited_events to use GTask

 plugins/mtk/mm-broadband-modem-mtk.c | 44
 +++++++++++++++---------------------
 1 file changed, 18 insertions(+), 26 deletions(-)

commit fe58e5f498e020c376fcc757dcd0f6980a4210b7
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 20 23:15:46 2017 -0700

    mtk: port enable_unsolicited_events to use GTask

 plugins/mtk/mm-broadband-modem-mtk.c | 43
 ++++++++++++++----------------------
 1 file changed, 17 insertions(+), 26 deletions(-)

commit bfac21fbb88f8a4b8a0a72b1b5d0b3f53f94c082
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 20 22:42:23 2017 -0700

    mtk: port modem_3gpp_{setup,cleanup}_unsolicited_events to use GTask

 plugins/mtk/mm-broadband-modem-mtk.c | 40
 +++++++++++-------------------------
 1 file changed, 12 insertions(+), 28 deletions(-)

commit 42bde89bae1f315177f654a1186101b3d3901c07
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 20 22:23:17 2017 -0700

    mtk: port modem_after_sim_unlock to use GTask

 plugins/mtk/mm-broadband-modem-mtk.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

commit 3b2873148c996b2782f3e55377ec30de823ba8ed
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 20 22:37:56 2017 -0700

    mtk: port set_current_modes to use GTask

 plugins/mtk/mm-broadband-modem-mtk.c | 39
 ++++++++++++++++--------------------
 1 file changed, 17 insertions(+), 22 deletions(-)

commit 996612f8dba8958bc6ddd4f0aa6257b7267e1770
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 20 22:35:12 2017 -0700

    mtk: port load_supported_modes to use GTask

 plugins/mtk/mm-broadband-modem-mtk.c | 37
 ++++++++++++------------------------
 1 file changed, 12 insertions(+), 25 deletions(-)

commit 2991ae0e86d99f46986c983b928629264d253fa9
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 20 22:21:27 2017 -0700

    mtk: port load_unlock_retries to use GTask

 plugins/mtk/mm-broadband-modem-mtk.c | 39
 ++++++++++++------------------------
 1 file changed, 13 insertions(+), 26 deletions(-)

commit 766c934f549fbc285cf17294db55bad5d00b6bfd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 27 21:41:28 2017 +0200

    po: add Hungarian translation

    From: Gabor Kelemen <kelemeng@ubuntu.com>

    https://bugs.freedesktop.org/show_bug.cgi?id=103014

 po/LINGUAS |   1 +
 po/hu.po   | 104
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 105 insertions(+)

commit 3ee1dc5fa040ef3e092f3f5cddfa8f94c2b648a1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 26 15:18:27 2017 +0200

    libmm-glib,sms: fix get|dup_data() introspection annotations

    We need to specify explicitly that the return type is an array of
    guint8 elements.

 libmm-glib/mm-sms.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit bda7b9a74a73429b9b48a259450274746ab3f44f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 26 13:05:03 2017 +0200

    ublox: plug memleak when parsing UAUTHREQ test

 plugins/ublox/mm-modem-helpers-ublox.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 4c36bd42d4fcbb13f7349bd50130dbc6bbf8597a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 26 10:40:36 2017 +0200

    huawei: plug memleak when listing cdc-wdm AT ports

    The returned list contains full references, so make sure we unref them
    before going on. Note that it's ok to return a pointer to one object
    inside this list even if we're unref-ing them all, because we're sure
    that the caller knows it's peek-ing a port object.

 plugins/huawei/mm-broadband-modem-huawei.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 1e318bec54da3f37901eadb2a04a4520737eb9a0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 26 09:53:05 2017 +0200

    broadband-bearer: fix object types in connect_3gpp() steps

    All the steps in the connect_3gpp() sequence are implemented as
    methods in the MMBroadbandBearer class, and therefore the objects
    received in the corresponding ready() methods are all bearers, not
    modems.

    This issue wasn't found before because the objects received were not
    really being used after all, as we were relying on the ones kept in
    the context or lately in the GTask itself.

 src/mm-broadband-bearer.c | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

commit 9f9c88a72a848603e8898f8faaf48497aa545525
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Sep 18 04:14:28 2017 -0700

    broadband-modem-qmi: support loading hardware revision

    This patch implements hardware revision loading in MMBroadbandModemQmi
    using QMI DMS 'Get Hardware Revision' command.

 src/mm-broadband-modem-qmi.c | 78
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

commit a848b6c3683eb58ce0d9a84a342251150684e5cb
Author: Ben Chan <benchan@chromium.org>
Date:   Sun Sep 17 20:12:29 2017 -0700

    broadband-modem-mbim: support loading hardware revision

    This patch implements hardware revision loading in
    MMBroadbandModemMbim
    by extracting the HardwareInfo field from the response to a
    MBIM_CID_DEVICE_CAPS query.

 src/mm-broadband-modem-mbim.c | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

commit 4a5a73eb1e76d1d3ca42b26c8e2f1998c106ab91
Author: Ben Chan <benchan@chromium.org>
Date:   Sun Sep 17 20:08:42 2017 -0700

    cli: show hardware revision property of Modem interface

 cli/mmcli-modem.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 9c6a1ebb1e9864edba2279d0a90986db684af1a4
Author: Ben Chan <benchan@chromium.org>
Date:   Sun Sep 17 19:58:15 2017 -0700

    libmm-glib: add helpers for loading hardware revision

 docs/reference/libmm-glib/libmm-glib-sections.txt |  2 ++
 libmm-glib/mm-modem.c                             | 41
 +++++++++++++++++++++++
 libmm-glib/mm-modem.h                             |  3 ++
 3 files changed, 46 insertions(+)

commit daa59aeb4ca4a3c55307eeca894f2feefed1e7c1
Author: Ben Chan <benchan@chromium.org>
Date:   Sun Sep 17 19:45:27 2017 -0700

    iface-modem: add hook to load hardware revision

 src/mm-iface-modem.c | 18 ++++++++++++++++++
 src/mm-iface-modem.h |  8 ++++++++
 2 files changed, 26 insertions(+)

commit e32510418a5d3a10d87d6ae49cd4e1ec9b7b0e38
Author: Ben Chan <benchan@chromium.org>
Date:   Sun Sep 17 19:58:11 2017 -0700

    api,introspection: new 'HardwareRevision' property

    This property will let the clients know the hardware revision reported
    by the modem.

 docs/reference/libmm-glib/libmm-glib-sections.txt     | 3 +++
 introspection/org.freedesktop.ModemManager1.Modem.xml | 7 +++++++
 2 files changed, 10 insertions(+)

commit 795ecad0e6e439267ea327fbddd84a06cba402e4
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 19 03:46:12 2017 -0700

    hso: port disconnect_3gpp to use GTask

 plugins/option/mm-broadband-bearer-hso.c | 26 ++++++++++----------------
 1 file changed, 10 insertions(+), 16 deletions(-)

commit ee80e1f6603532be9b5989a8e247043deea54fc1
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 19 03:37:21 2017 -0700

    hso: port get_ip_config_3gpp to use GTask

 plugins/option/mm-broadband-bearer-hso.c | 62
 +++++++++++++++-----------------
 1 file changed, 28 insertions(+), 34 deletions(-)

commit 8bae1a785a9b95fb4b72081d54cf00466b114a7d
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 19 03:19:21 2017 -0700

    hso: port {enable,disable}_location_gathering to use GTask

 plugins/option/mm-broadband-modem-hso.c | 115
 ++++++++++++++++----------------
 1 file changed, 57 insertions(+), 58 deletions(-)

commit 227eae3f31a4acc982f37f3af7110b346c6e17a4
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 19 03:12:41 2017 -0700

    hso: port location_load_capabilities to use GTask

 plugins/option/mm-broadband-modem-hso.c | 35
 +++++++++++++--------------------
 1 file changed, 14 insertions(+), 21 deletions(-)

commit 616cfa9959424d9d924e4b176628e50ea752e6df
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 19 03:22:16 2017 -0700

    hso: port modem_3gpp_{setup,cleanup}_unsolicited_events to use GTask

 plugins/option/mm-broadband-modem-hso.c | 40
 ++++++++++-----------------------
 1 file changed, 12 insertions(+), 28 deletions(-)

commit 0131f9b0069c326c655d9102fd87935edfd0cce8
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 19 03:06:47 2017 -0700

    hso: port modem_create_bearer to use GTask

 plugins/option/mm-broadband-modem-hso.c | 44
 +++++++++++----------------------
 1 file changed, 15 insertions(+), 29 deletions(-)

commit d23dd2343a52b7c011f6944f8510cc3914b1c956
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 19 03:09:30 2017 -0700

    hso: port load_unlock_retries to use GTask

 plugins/option/mm-broadband-modem-hso.c | 34
 ++++++++++++---------------------
 1 file changed, 12 insertions(+), 22 deletions(-)

commit a62d34c35a26312a0e565e85960d12841a53fceb
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 19 03:31:58 2017 -0700

    hso: port hso_custom_init to use GTask

 plugins/option/mm-plugin-hso.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

commit 4cb6f0e5aa1038e4335e062bf2a4d0bc2d8902b6
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Sep 18 09:10:57 2017 -0700

    broadband-modem-mbim: fix preservation logic for PIN1 unlock retries

    This patches fixes commit 334273979 "broadband-modem-mbim: preserve
    unlock retries for PIN1 when appropriate", which doesn't correctly
    propagate the unlock retries information for PIN1 observed from
    responses to MBIM_CID_PIN set operations (see commit eb9ec1b61
    "sim-mbim: update unlock retries information after PIN operations").

 src/mm-broadband-modem-mbim.c | 29 +++++++++++++----------------
 1 file changed, 13 insertions(+), 16 deletions(-)

commit 4f8e9e2e1ca25c474de8472484f6eccf9834ae67
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Sep 18 09:10:56 2017 -0700

    iface-modem: add mm_iface_modem_get_unlock_retries helper

    This patch adds a mm_iface_modem_get_unlock_retries helper for getting
    the current MMUnlockRetries value of a MMIfaceModem object,
    which later
    allows us to partially update (e.g. a specific MMModemLock) the
    MMUnlockRetries value of a MMIfaceModem object.

 src/mm-iface-modem.c | 21 +++++++++++++++++++++
 src/mm-iface-modem.h |  2 ++
 2 files changed, 23 insertions(+)

commit bb5cd9b4e20e4c4657e01dd2abeaf1946067e2cb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 18 21:23:05 2017 -0700

    option: remove unneeded explicit casts

 plugins/option/mm-broadband-modem-option.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit f710278b3dc5fb8dbbad37147eb4920ab75fcb6e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 18 21:21:59 2017 -0700

    sierra: remove unneeded explicit casts

 plugins/sierra/mm-broadband-modem-sierra.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit fd508d7057da8abb0a409b02788dda5372accf8c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 18 20:50:45 2017 -0700

    sierra: skip setting GError if not used

    The return status of mm_base_modem_at_command_finish() already
    specifies whether an error has happened or not, so skip creating the
    GError if we don't care about the actual error details.

 plugins/sierra/mm-broadband-modem-sierra.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

commit 4fbd88395d79238f19c20e35c7ba589c7d05868b
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 15 02:20:09 2017 -0700

    sierra: port get_detailed_registration_state to use GTask

 plugins/sierra/mm-broadband-modem-sierra.c | 71
 +++++++++++-------------------
 1 file changed, 25 insertions(+), 46 deletions(-)

commit 7ca5e8875aa82ee47605b67cc99215f860f83891
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 15 00:46:14 2017 -0700

    sierra: port modem_time_check_support to use GTask

 plugins/sierra/mm-broadband-modem-sierra.c | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

commit 509ba7475a1f77bcfa6529c33e845994ff27b49a
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 15 00:42:59 2017 -0700

    sierra: port setup_registration_checks to use GTask

 plugins/sierra/mm-broadband-modem-sierra.c | 45
 ++++++++++++++----------------
 1 file changed, 21 insertions(+), 24 deletions(-)

commit 26be99b8a710a9ee8bf1c0c49b31c5c9e3e96cb9
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Sep 14 22:59:31 2017 -0700

    sierra: port modem_power_down to use GTask

 plugins/sierra/mm-broadband-modem-sierra.c | 22 +++++++++-------------
 1 file changed, 9 insertions(+), 13 deletions(-)

commit 841d17596157860098c5bd328e19ded1a22f9538
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Sep 14 22:57:47 2017 -0700

    sierra: port modem_create_bearer to use GTask

 plugins/sierra/mm-broadband-modem-sierra.c | 28
 +++++++++-------------------
 1 file changed, 9 insertions(+), 19 deletions(-)

commit 7446e411c754e95ee03a8a9e2dc1207dd7732452
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Sep 14 22:56:09 2017 -0700

    sierra: port modem_load_own_numbers to use GTask

 plugins/sierra/mm-broadband-modem-sierra.c | 38
 ++++++++++++------------------
 1 file changed, 15 insertions(+), 23 deletions(-)

commit 85915853e57f2495767ea264df6aee4f5ab39ab0
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Sep 14 22:40:35 2017 -0700

    sierra: port modem_after_sim_unlock to use GTask

 plugins/sierra/mm-broadband-modem-sierra.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

commit 228bd14a11ed3362e78db71c4d076b330f32db90
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 8 17:17:11 2017 -0700

    sierra: port set_current_modes to use GTask

 plugins/sierra/mm-broadband-modem-sierra.c | 63
 +++++++++++++-----------------
 1 file changed, 28 insertions(+), 35 deletions(-)

commit 5dbf7f77e28735581a71ea53336153c053b2d52a
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 8 17:13:40 2017 -0700

    sierra: port load_current_modes to use GTask

 plugins/sierra/mm-broadband-modem-sierra.c | 106
 ++++++++++++++---------------
 1 file changed, 51 insertions(+), 55 deletions(-)

commit abff4adf626dc67c3423629efb9941e463a7a69c
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 8 17:09:08 2017 -0700

    sierra: port load_supported_modes to use GTask

 plugins/sierra/mm-broadband-modem-sierra.c | 27
 +++++++++------------------
 1 file changed, 9 insertions(+), 18 deletions(-)

commit 8f129d64edb99338a6d9c2e4999d573caae10bc0
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 8 17:06:25 2017 -0700

    sierra: port load_access_technologies to use GTask

 plugins/sierra/mm-broadband-modem-sierra.c | 58
 +++++++++++++++---------------
 1 file changed, 29 insertions(+), 29 deletions(-)

commit f663022aca0fccfb439da017e6d59296e5b7cfee
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 8 16:59:42 2017 -0700

    sierra: port modem_create_bearer to use GTask

 plugins/sierra/mm-broadband-modem-sierra-icera.c | 28
 ++++++++----------------
 1 file changed, 9 insertions(+), 19 deletions(-)

commit d0dc8b97a7739978d05764d695d111a3379ffae8
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 8 16:57:14 2017 -0700

    sierra: port disconnect_3gpp to use GTask

 plugins/sierra/mm-broadband-bearer-sierra.c | 27
 +++++++++++----------------
 1 file changed, 11 insertions(+), 16 deletions(-)

commit 4c2ebaba16676976ddec53741600438375378d71
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 8 13:36:42 2017 -0700

    sierra: port dial_3gpp to use GTask

 plugins/sierra/mm-broadband-bearer-sierra.c | 126
 ++++++++++++++--------------
 1 file changed, 64 insertions(+), 62 deletions(-)

commit 043645ea57228078c32567d8be2da5b1e3a8f723
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 8 13:26:33 2017 -0700

    sierra: port mm_common_sierra_load_power_state to use GTask

 plugins/sierra/mm-common-sierra.c | 66
 +++++++++++++++++++--------------------
 1 file changed, 33 insertions(+), 33 deletions(-)

commit 1eb51d96f76803ef617a58b8279dfb8c5cec66cc
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 8 13:20:42 2017 -0700

    sierra: port mm_common_sierra_modem_power_up to use GTask

 plugins/sierra/mm-common-sierra.c | 38
 ++++++++++++++++----------------------
 1 file changed, 16 insertions(+), 22 deletions(-)

commit c401646db86595a9783cbe61608e72d7d80c5e1c
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 8 13:16:28 2017 -0700

    sierra: port mm_common_sierra_custom_init to use GTask

 plugins/sierra/mm-common-sierra.c | 79
 ++++++++++++++++++++-------------------
 1 file changed, 40 insertions(+), 39 deletions(-)

commit 8fb6f30f49b2315c7d1d6daac23c67875834c6ba
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 8 13:05:39 2017 -0700

    sierra: port load_sim_identifier to use GTask

 plugins/sierra/mm-sim-sierra.c | 44
 ++++++++++++++++--------------------------
 1 file changed, 17 insertions(+), 27 deletions(-)

commit 5ffc3b7a9263a07fd30ad21738afe1a7b357c08f
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Sep 16 15:20:46 2017 +0800

    option: port modem_3gpp_disable_unsolicited_events to use GTask

 plugins/option/mm-broadband-modem-option.c | 30
 +++++++++++-------------------
 1 file changed, 11 insertions(+), 19 deletions(-)

commit cb23ba7cba9fd92f6f03b635b90271fd32f77477
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Sep 16 15:17:35 2017 +0800

    option: port modem_3gpp_enable_unsolicited_events to use GTask

 plugins/option/mm-broadband-modem-option.c | 30
 +++++++++++-------------------
 1 file changed, 11 insertions(+), 19 deletions(-)

commit 3fdfe5e3aba232f3cdb5f623e674b8a57509e663
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Sep 16 15:15:45 2017 +0800

    option: port modem_3gpp_{setup,cleanup}_unsolicited_events to
    use GTask

 plugins/option/mm-broadband-modem-option.c | 39
 +++++++++---------------------
 1 file changed, 12 insertions(+), 27 deletions(-)

commit 7546b951229ad1a6d9f2ef9b86f4ec693d7d638b
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Sep 16 15:07:40 2017 +0800

    option: port modem_after_power_up to use GTask

 plugins/option/mm-broadband-modem-option.c | 32
 +++++++++++-------------------
 1 file changed, 12 insertions(+), 20 deletions(-)

commit 6ad9ccbfa281bc6bf5d28557342ec2d36aa0db0c
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Sep 16 15:05:34 2017 +0800

    option: port set_current_modes to use GTask

 plugins/option/mm-broadband-modem-option.c | 39
 +++++++++++++-----------------
 1 file changed, 17 insertions(+), 22 deletions(-)

commit 78432e79102c32a6599e2fdb37021eb190f28caa
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Sep 16 15:13:14 2017 +0800

    option: port load_access_technologies to use GTask

 plugins/option/mm-broadband-modem-option.c | 82
 ++++++++++++++++--------------
 1 file changed, 44 insertions(+), 38 deletions(-)

commit 0c726981ca4fa02336c0e06ea2217077e686549f
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Sep 16 15:02:56 2017 +0800

    option: port load_supported_modes to use GTask

 plugins/option/mm-broadband-modem-option.c | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

commit 2ed970614885d50316f3092289583d5ace985ea1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 15 11:07:58 2017 -0700

    bearer-qmi: cleanup indication handlers on network-initiated
    disconnects

    Otherwise, they'll end up queueing up and each time we get a new
    indication the signal will get called multiple times:

        [/dev/cdc-wdm0] received message...
        <<<<<< RAW:
        <<<<<<   length = 20
        <<<<<<   data   =
        01:13:00:80:01:09:04:00:00:01:00:07:00:20:04:00:05:00:00:00
        [/dev/cdc-wdm0] received generic indication (translated)...
        <<<<<< QMUX:
        <<<<<<   length  = 19
        <<<<<<   flags   = 0x80
        <<<<<<   service = "wds"
        <<<<<<   client  = 9
        <<<<<< QMI:
        <<<<<<   flags       = "indication"
        <<<<<<   transaction = 0
        <<<<<<   tlv_length  = 7
        <<<<<<   message     = "Event Report" (0x0001)
        <<<<<< TLV:
        <<<<<<   type       = "Preferred Data System" (0x20)
        <<<<<<   length     = 4
        <<<<<<   value      = 05:00:00:00
        <<<<<<   translated = lte
        <debug> [1504578559.592891] Got QMI WDS event report
        <debug> [1504578559.598212] Got QMI WDS event report
        <debug> [1504578559.601694] Got QMI WDS event report

 src/mm-bearer-qmi.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

commit 2e792db2f283a8e8662fb6c93c3225e108288525
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Sep 16 10:30:56 2017 -0700

    po: add Slovak translation

    From: Dušan Kazik <prescott66@gmail.com>

    https://bugs.freedesktop.org/show_bug.cgi?id=102802

 po/LINGUAS |   1 +
 po/sk.po   | 108
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 109 insertions(+)

commit 3bfbb59beb35e01876284aa5bc9ed38ada64fbf1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 14 21:24:15 2017 -0700

    ublox: check which auth methods are supported

    Don't assume the 'auto' auth method is supported for APN
    authentication, query the modem first:

        checking supported authentication methods...
        (ttyACM2): --> 'AT+UAUTHREQ=?<CR>'
        (ttyACM2): <-- '<CR><LF>+UAUTHREQ: (1-4),(0-2),,<CR><LF>'
        (ttyACM2): <-- '<CR><LF>OK<CR><LF>'

        Using automatic authentication method

        setting up authentication preferences in PDP context #2...
        (ttyACM2): --> 'AT+UAUTHREQ=2,1,"vodafone","vodafone"<CR>'
        (ttyACM2): <-- '<CR><LF>OK<CR><LF>'

 plugins/ublox/mm-broadband-bearer-ublox.c | 169
 +++++++++++++++++++++++-------
 1 file changed, 130 insertions(+), 39 deletions(-)

commit b774e58dd060a5797f80e5b92a951443cd2b4106
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 14 20:55:57 2017 -0700

    ublox: new +UAUTHREQ=? tester

 plugins/ublox/mm-modem-helpers-ublox.c         | 77
 ++++++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         | 14 +++++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 46 +++++++++++++++
 3 files changed, 137 insertions(+)

commit acda0d69f10456c90db8d27c1ceee7cfb219772a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 22 11:19:32 2017 +0200

    ublox: if authentication not required, ignore +UAUTHREQ=0 errors

    Just go on with the connection attempt.

 plugins/ublox/mm-broadband-bearer-ublox.c | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

commit 0239e8769b90fae47e8e448fbfe86718b09d7fcd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 22 13:37:44 2017 +0200

    ublox: try to use AT+UACT=X to set current bands

 plugins/ublox/mm-broadband-modem-ublox.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

commit 91f4ea56899b596c7d0548ed81cef8197dbd0bca
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 22 13:35:04 2017 +0200

    ublox: try to use AT+UACT? to query current bands

 plugins/ublox/mm-broadband-modem-ublox.c | 25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

commit 2d0b7b4ae0be4710b9dee2462f3e20d95e7d6edf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 22 13:22:50 2017 +0200

    ublox: try to use AT+UACT=? to query supported bands

 plugins/ublox/mm-broadband-modem-ublox.c | 98
 ++++++++++++++++++++++++++------
 1 file changed, 81 insertions(+), 17 deletions(-)

commit a0768a13f66a33cbad3d03b4ff067ec4c2fd88a3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 22 11:12:48 2017 +0200

    ublox: new AT+UACT=X command builder

 plugins/ublox/mm-modem-helpers-ublox.c         | 49 ++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         |  6 +++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 69
 ++++++++++++++++++++++++++
 3 files changed, 124 insertions(+)

commit 826c5ad74a882dd8a74448c1ed8b5ea031713836
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 22 10:36:25 2017 +0200

    ublox: new AT+UACT=? test parser

 plugins/ublox/mm-modem-helpers-ublox.c         | 118
 +++++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         |   9 ++
 plugins/ublox/tests/test-modem-helpers-ublox.c |  98 ++++++++++++++++++++
 3 files changed, 225 insertions(+)

commit dbb8f7235dcf7a76e1e0f56891fa7c4d4e87a5d6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 21 12:29:01 2017 +0200

    ublox: new AT+UACT? response parser

 plugins/ublox/mm-modem-helpers-ublox.c         | 170
 +++++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         |   6 +
 plugins/ublox/tests/test-modem-helpers-ublox.c |  69 +++++++++-
 3 files changed, 242 insertions(+), 3 deletions(-)

commit 56e71127125d7e60f674925a5a9b6bc47beda07b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 22 10:35:01 2017 +0200

    ublox,tests: define common method to compare bands

 plugins/ublox/tests/test-modem-helpers-ublox.c | 46
 ++++++++++++++------------
 1 file changed, 24 insertions(+), 22 deletions(-)

commit ce203a1f742a273694952abb1f14737dbe701481
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 22 15:38:47 2017 +0200

    ublox: define port type hints for the TOBY-L4

    The TOBY-L4 exposes multiple TTY ports, but each of them has different
    purposes:

    The TTY at interface #2 is a fully capable AT port but shouldn't be
    used to start connections, so we flag it as secondary.

    The TTY at interface #4 is a non-AT debug port, so we explicitly
    ignore it to make probing faster.

    The TTY at interface #6 is the fully capable AT port that must be used
    as primary port.

    The TTY at interface #8 is an AT-capable port but dedicated to FOTA
    update operations.

 plugins/Makefile.am                        |  2 ++
 plugins/ublox/77-mm-ublox-port-types.rules | 20 ++++++++++++++++++++
 plugins/ublox/mm-plugin-ublox.c            | 29
 +++++++++++++++++++++++++++++
 3 files changed, 51 insertions(+)

commit 9a1c4f626d5cbba47922cc34ded66261b8fc7690
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 5 13:39:04 2017 +0200

    ublox: fallback to router mode if networking mode unknown

    The TOBY-L4 doesn't support querying the current networking mode in
    use via the AT+UBMCONF command, so we will just fallback to
    MM_UBLOX_NETWORKING_MODE_ROUTER if that happens, as this is the mode
    which requires less configuration commands from our side.

 plugins/ublox/mm-broadband-modem-ublox.c | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

commit 3dc3b52e777330805ac1d8dd739d1ff3eee1c1ad
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 5 13:09:33 2017 +0200

    ublox: allow creating u-blox bearers if MM_UBLOX_USB_PROFILE_UNKNOWN

    The TOBY-L4 doesn't support querying the current USB profile in use
    via the AT+UUSBCONF command, so the loaded profile will always be set
    as MM_UBLOX_USB_PROFILE_UNKNOWN.

    In this case, we will anyway allow creating a u-blox specific bearer,
    as long as a network interface has also been found in the modem.

 plugins/ublox/mm-broadband-bearer-ublox.c | 1 -
 plugins/ublox/mm-broadband-modem-ublox.c  | 5 ++---
 2 files changed, 2 insertions(+), 4 deletions(-)

commit 3f9417be43dfedbe3a2e662aef1a145f74e585fb
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Thu Sep 14 10:59:16 2017 +0200

    blacklist: ignore Intel coredump downloader device

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit bfff4f53e61ac4251eac062ba7e53d52b51a1bec
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 18:41:06 2017 +0200

    build: generate ChangeLog from git during dist

 ChangeLog   |  0
 Makefile.am | 13 +++++++++++++
 2 files changed, 13 insertions(+)

commit 5ee58513c749302507e1338feb79a53135c72759
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 13 16:33:25 2017 +0200

    simtech: fix error reporting in 3gpp unsolicited events enabling

 plugins/simtech/mm-broadband-modem-simtech.c | 1 +
 1 file changed, 1 insertion(+)

commit 0d2a167238798b95dadc33c9937bd4c8a56c5b29
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 09:12:44 2017 -0700

    novatel-lte: port disconnect_3gpp to use GTask

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 83
 ++++++++++-------------
 1 file changed, 35 insertions(+), 48 deletions(-)

commit 71bc8c750603d00d78bfe10970a0d898b8607704
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 09:08:18 2017 -0700

    novatel-lte: port connect_3gpp to use GTask

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 108
 +++++++++++-----------
 1 file changed, 52 insertions(+), 56 deletions(-)

commit c13746dad76ad8a99352251f51c09428e3639b1c
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 08:46:22 2017 -0700

    novatel-lte: port scan_networks to use GTask

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 48
 ++++++++++--------------
 1 file changed, 19 insertions(+), 29 deletions(-)

commit 43c4a49bc762910697c0a9a576d66e9438de4b78
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 08:38:26 2017 -0700

    novatel-lte: port load_access_technologies to use GTask

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 35
 ++++++++++--------------
 1 file changed, 14 insertions(+), 21 deletions(-)

commit d8be23b606c288fe945c21d4ea7eda7d7c61a0e2
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 08:34:41 2017 -0700

    novatel-lte: port load_current_bands to use GTask

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 29
 ++++++------------------
 1 file changed, 7 insertions(+), 22 deletions(-)

commit eb59cf86172991ba9ef7331c47bdc9e096317044
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 08:32:35 2017 -0700

    novatel-lte: port load_supported_bands to use GTask

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

commit b56ea695896b5290e27b1a2d0b13fb07c005df56
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 04:39:42 2017 -0700

    novatel-lte: port modem_after_sim_unlock to use GTask

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

commit ced9264a1c0c48cc5eb6ec6223bf1ef49f644a13
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 04:37:39 2017 -0700

    novatel-lte: port modem_create_bearer to use GTask

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 30
 +++++-------------------
 1 file changed, 6 insertions(+), 24 deletions(-)

commit 979730247eee09e79450a5f8997c2dfd019952f5
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 04:35:01 2017 -0700

    novatel: port set_current_modes to use GTask

 plugins/novatel/mm-broadband-modem-novatel.c | 45
 ++++++++++++----------------
 1 file changed, 19 insertions(+), 26 deletions(-)

commit 7000039c8c469d4c786ab13753becdbe313297d6
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 04:32:23 2017 -0700

    novatel: port load_signal_quality to use GTask

 plugins/novatel/mm-broadband-modem-novatel.c | 55
 +++++++++++++---------------
 1 file changed, 25 insertions(+), 30 deletions(-)

commit b14a3be4f1ae26620ee9bf57c73eff9e888d917c
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 04:27:46 2017 -0700

    novatel: port load_current_modes to use GTask

 plugins/novatel/mm-broadband-modem-novatel.c | 82
 +++++++++++++---------------
 1 file changed, 38 insertions(+), 44 deletions(-)

commit b25b7723ec8c2981aaf993542817c859967d72f8
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 03:22:59 2017 -0700

    icera: port disconnect_3gpp to use GTask

 plugins/icera/mm-broadband-bearer-icera.c | 87
 ++++++++++++-------------------
 1 file changed, 34 insertions(+), 53 deletions(-)

commit 533a53c38d7e85df4fb0d166824672ff16535d20
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 03:15:44 2017 -0700

    icera: port get_ip_config_3gpp to use GTask

 plugins/icera/mm-broadband-bearer-icera.c | 94
 ++++++++++++-------------------
 1 file changed, 36 insertions(+), 58 deletions(-)

commit f2853ac2f8760b8a2a7a6497f895f0a4efe8f70f
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 04:12:55 2017 -0700

    icera: port modem_3gpp_{enable,disable}_unsolicited_events to
    use GTask

 plugins/icera/mm-broadband-modem-icera.c | 48
 +++++++++++++-------------------
 1 file changed, 19 insertions(+), 29 deletions(-)

commit cffe686cb139796a8621648e87957fd2d30dcd3c
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 04:10:20 2017 -0700

    icera: port modem_3gpp_{setup,cleanup}_unsolicited_events to use GTask

 plugins/icera/mm-broadband-modem-icera.c | 35
 ++++++++++----------------------
 1 file changed, 11 insertions(+), 24 deletions(-)

commit e6128388149072acd43a5f16d7f1759f1fd43e16
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 04:00:11 2017 -0700

    icera: port modem_create_bearer to use GTask

 plugins/icera/mm-broadband-modem-icera.c | 42
 ++++++++++++--------------------
 1 file changed, 15 insertions(+), 27 deletions(-)

commit b7bfba3e54b5b5ac34e3329f0ad6503a80568ebd
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 04:06:22 2017 -0700

    icera: port modem_time_check_support to use GTask

 plugins/icera/mm-broadband-modem-icera.c | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

commit 18a55f6940e068e52db8e766cccd97545f7205e3
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 04:04:33 2017 -0700

    icera: port modem_power_up to use GTask

 plugins/icera/mm-broadband-modem-icera.c | 22 ++++++++--------------
 1 file changed, 8 insertions(+), 14 deletions(-)

commit d6bd83e5cfc0fe684cf96f254415fe7458860a24
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 03:57:10 2017 -0700

    icera: port modem_set_current_bands to use GTask

 plugins/icera/mm-broadband-modem-icera.c | 56
 +++++++++++++++-----------------
 1 file changed, 26 insertions(+), 30 deletions(-)

commit 6612ffcb8b264e83acc814fccc112f761f535ecd
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 03:38:50 2017 -0700

    icera: port modem_set_current_modes to use GTask

 plugins/icera/mm-broadband-modem-icera.c | 39
 ++++++++++++++------------------
 1 file changed, 17 insertions(+), 22 deletions(-)

commit aa2cd2288ac45a64393c461ea9b1362e85e99cc9
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 03:51:35 2017 -0700

    icera: port modem_load_current_bands to use GTask

 plugins/icera/mm-broadband-modem-icera.c | 24 ++++++------------------
 1 file changed, 6 insertions(+), 18 deletions(-)

commit f168ffd032747ba6900feeafe9c898ae513ef79f
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 03:48:24 2017 -0700

    icera: port modem_load_supported_bands to use GTask

 plugins/icera/mm-broadband-modem-icera.c | 31
 ++++++++++---------------------
 1 file changed, 10 insertions(+), 21 deletions(-)

commit 4ecc8a13fd80e4d23166afc6982b6f3489f755e1
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 03:45:38 2017 -0700

    icera: port modem_load_unlock_retries to use GTask

 plugins/icera/mm-broadband-modem-icera.c | 34
 +++++++++++---------------------
 1 file changed, 12 insertions(+), 22 deletions(-)

commit ce732e568c9275d72860ceab8bb65e48dceb881f
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 12 03:42:38 2017 -0700

    icera: port modem_load_access_technologies to use GTask

 plugins/icera/mm-broadband-modem-icera.c | 32
 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

commit 0c7f3380ae96698e496abce1e55c52d21449d57a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 25 13:12:01 2017 +0200

    bearer-mbim: ensure session is disconnected before trying to connect

    If a suspend/resume cycle happens or ModemManager is restarted (e.g.
    after a crash) the modem may be left with a given session id
    connected. With this change we're forcing a session disconnection
    before we attempt a session connection.

    https://bugs.freedesktop.org/show_bug.cgi?id=102231

 src/mm-bearer-mbim.c | 52
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

commit abfd8d3b08a3a8a98e961969c5e2cb9acd582656
Author: Arto Jantunen <viiru@debian.org>
Date:   Sun Sep 10 08:36:20 2017 +0300

    Blacklist Garmin ANT+ sticks

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit d6d52b95c7335f864113878c7a19ef8828321145
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 14:13:42 2017 -0700

    huawei: port connect_3gpp to use GTask

 plugins/huawei/mm-broadband-bearer-huawei.c | 184
 ++++++++++++++--------------
 1 file changed, 95 insertions(+), 89 deletions(-)

commit 1ada2d23a50f5a600eb7ef6168cb9a85aa68bb82
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 13:32:08 2017 -0700

    huawei: port disconnect_3gpp to use GTask

 plugins/huawei/mm-broadband-bearer-huawei.c | 119
 +++++++++++++++-------------
 1 file changed, 63 insertions(+), 56 deletions(-)

commit abf9d36183ed5f34af9ac91aa97c944f2fcf5272
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 10:58:25 2017 -0700

    huawei: port huawei_modem_create_bearer to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 80
 +++++++++++-------------------
 1 file changed, 29 insertions(+), 51 deletions(-)

commit 7880a35b199000aa7b5f3cda638b2810af6fdb47
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 00:30:24 2017 -0700

    huawei: port huawei_custom_init to use GTask

 plugins/huawei/mm-plugin-huawei.c | 81
 ++++++++++++++++++++-------------------
 1 file changed, 41 insertions(+), 40 deletions(-)

commit e76015ac49a1664f925ab81aa84858481a0f26e2
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 13:05:21 2017 -0700

    huawei: port get_detailed_registration_state to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 51
 +++++++++++++-----------------
 1 file changed, 22 insertions(+), 29 deletions(-)

commit 9c32a96578c43f245d83ba9af6faf6831651edcd
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 11:41:18 2017 -0700

    huawei: port setup_registration_checks to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 43
 +++++++++++++++---------------
 1 file changed, 21 insertions(+), 22 deletions(-)

commit 39484765f1140487dd24fc9255f8087439fc738d
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 00:40:28 2017 -0700

    huawei: port call_start to use GTask

 plugins/huawei/mm-call-huawei.c | 62
 +++++++++++++++--------------------------
 1 file changed, 23 insertions(+), 39 deletions(-)

commit 8df63e385cf9e926bb1cb9bf86fe8c4b25d0198a
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 11:50:16 2017 -0700

    huawei: port modem_voice_disable_unsolicited_events to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

commit 68075a23a7eb36d4bfc8ec5eb6af473aaecd66c4
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 11:48:57 2017 -0700

    huawei: port modem_voice_enable_unsolicited_events to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 29
 ++++++++++++-----------------
 1 file changed, 12 insertions(+), 17 deletions(-)

commit 5e8a7aad76b902fb486de88506562d61b565830a
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 11:45:46 2017 -0700

    huawei: port modem_voice_{setup,cleanup}_unsolicited_events to
    use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 38
 ++++++++++++------------------
 1 file changed, 15 insertions(+), 23 deletions(-)

commit 46866b08bea4cbd8df6549fda57359613a1a71b1
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 12:32:30 2017 -0700

    huawei: port modem_cdma_{setup,cleanup}_unsolicited_events to
    use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 49
 ++++++++++++------------------
 1 file changed, 19 insertions(+), 30 deletions(-)

commit 5f641afe07dc878129b17b0ff0e6227d22c00b1c
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 12:29:13 2017 -0700

    huawei: port modem_3gpp_disable_unsolicited_events to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 29
 ++++++++++++-----------------
 1 file changed, 12 insertions(+), 17 deletions(-)

commit 074e0f89fc8d2ced02621477efe90fb228a3734c
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 12:27:38 2017 -0700

    huawei: port modem_3gpp_enable_unsolicited_events to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 29
 ++++++++++++-----------------
 1 file changed, 12 insertions(+), 17 deletions(-)

commit 02ce611d5cbe12a3b4f627487cf8189359a5cb0b
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 11:59:31 2017 -0700

    huawei: port modem_3gpp_{setup,cleanup}_unsolicited_events to
    use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 38
 ++++++++++++------------------
 1 file changed, 15 insertions(+), 23 deletions(-)

commit 38bafe021ea37d85df153a199f380dfef684d393
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 11:31:39 2017 -0700

    huawei: port {enable,disable}_location_gathering to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 116
 ++++++++++++++---------------
 1 file changed, 57 insertions(+), 59 deletions(-)

commit 6ebc07f882cfbee9a1be39502a0a47d2aab33996
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 11:17:12 2017 -0700

    huawei: port location_load_capabilities to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 34
 ++++++++++++++----------------
 1 file changed, 16 insertions(+), 18 deletions(-)

commit 36d975bd4e6624e2ade0ff177632a889761849b1
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 00:50:07 2017 -0700

    huawei: port modem_after_sim_unlock to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

commit 0aae6d3e35769a8af15bfe7cb3d89fb486d32f1d
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 11:10:19 2017 -0700

    huawei: port modem_time_check_support to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 32
 +++++++++++++-----------------
 1 file changed, 14 insertions(+), 18 deletions(-)

commit 60129a6fde5aa0df7a36b83e5364e68c4a16d6d2
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 11:06:02 2017 -0700

    huawei: port modem_load_signal_quality to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 60
 ++++++++++++++----------------
 1 file changed, 28 insertions(+), 32 deletions(-)

commit 0c468bb1a4c5b5f068871023f58c7a6e57e83e28
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 00:34:54 2017 -0700

    huawei: port load_sim_identifier to use GTask

 plugins/huawei/mm-sim-huawei.c | 35 +++++++++++------------------------
 1 file changed, 11 insertions(+), 24 deletions(-)

commit 1495fb1d1d7f9f1c80e43559a5a546a964035f15
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 11:15:06 2017 -0700

    huawei: port load_power_state to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 47
 ++++++++++++++----------------
 1 file changed, 22 insertions(+), 25 deletions(-)

commit 046f1b3301bf50f438e2ca28798f37ed4a7217b4
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 01:01:02 2017 -0700

    huawei: port load_supported_modes to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 60
 +++++++++++++-----------------
 1 file changed, 25 insertions(+), 35 deletions(-)

commit c7ec2c4fbb462ae8e16941cd0cec1781475c8fe3
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 01:10:12 2017 -0700

    huawei: port load_current_modes to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 80
 ++++++++++++++----------------
 1 file changed, 38 insertions(+), 42 deletions(-)

commit bf03f1e2d71ae5b464fb0ce4fd1ecfa4def5f419
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 10:45:40 2017 -0700

    huawei: port set_current_modes to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 41
 +++++++++++++-----------------
 1 file changed, 18 insertions(+), 23 deletions(-)

commit 5d9c4d70a1455f74bc11b0942535ba31a104f04b
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 00:52:43 2017 -0700

    huawei: port set_current_bands to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 33
 +++++++++++++-----------------
 1 file changed, 14 insertions(+), 19 deletions(-)

commit 8b9402da2b87720b7c07923bfaf488c10e506adc
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 00:48:21 2017 -0700

    huawei: port sysinfo to use GTask

 plugins/huawei/mm-broadband-modem-huawei.c | 62
 +++++++++++++-----------------
 1 file changed, 27 insertions(+), 35 deletions(-)

commit 833243570f75dcd6f9ae788575f7c361c8f604a5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 7 19:25:17 2017 +0200

    wavecom: port modem_after_sim_unlock to use GTask

 plugins/wavecom/mm-broadband-modem-wavecom.c | 30
 ++++++++++++----------------
 1 file changed, 13 insertions(+), 17 deletions(-)

commit 288ebab106555aa378aa62347c4c1aa039929a5e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 7 19:24:50 2017 +0200

    wavecom: port register_in_network to use GTask

 plugins/wavecom/mm-broadband-modem-wavecom.c | 134
 ++++++++++++---------------
 1 file changed, 57 insertions(+), 77 deletions(-)

commit ea3d20e98c3049329472f913071824a232c9e376
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 7 19:23:52 2017 +0200

    wavecom: port set_current_bands to use GTask

 plugins/wavecom/mm-broadband-modem-wavecom.c | 106
 +++++++++++++--------------
 1 file changed, 51 insertions(+), 55 deletions(-)

commit dd4ef7dc236a0cf2e60fdc2bb2e2d0121c1da4bf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 7 19:23:11 2017 +0200

    wavecom: port load_current_bands to use GTask

 plugins/wavecom/mm-broadband-modem-wavecom.c | 91
 +++++++++++-----------------
 1 file changed, 36 insertions(+), 55 deletions(-)

commit e2b3b87674236cf5f4e40eaeb43c766903f00909
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 7 19:21:22 2017 +0200

    wavecom: port load_supported_bands to use GTask

 plugins/wavecom/mm-broadband-modem-wavecom.c | 30
 ++++++++++------------------
 1 file changed, 11 insertions(+), 19 deletions(-)

commit bb5a950102d146d8d89c3b3916c21d6471811f5c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 7 19:20:43 2017 +0200

    wavecom: port set_current_modes to use GTask

 plugins/wavecom/mm-broadband-modem-wavecom.c | 86
 +++++++++++++---------------
 1 file changed, 39 insertions(+), 47 deletions(-)

commit fc33fe69b4bbb91a3e31c9b674090c0052962f89
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 7 19:18:57 2017 +0200

    wavecom: port load_current_modes to use GTask

 plugins/wavecom/mm-broadband-modem-wavecom.c | 126
 +++++++++++++--------------
 1 file changed, 60 insertions(+), 66 deletions(-)

commit 02e16d42bc5753844ff5aead2673e4850051c93d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 7 19:13:56 2017 +0200

    wavecom: port load_supported_modes to GTask

 plugins/wavecom/mm-broadband-modem-wavecom.c | 68
 +++++++++++++---------------
 1 file changed, 31 insertions(+), 37 deletions(-)

commit 33427397980a7868d32bad92524a53d4431ba718
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Aug 7 14:26:10 2017 -0700

    broadband-modem-mbim: preserve unlock retries for PIN1 when
    appropriate

    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.

 src/mm-broadband-modem-mbim.c | 46
 ++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 41 insertions(+), 5 deletions(-)

commit eb9ec1b617b27485a4f0ede472e9088f0ca52066
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Aug 7 15:34:48 2017 -0700

    sim-mbim: update unlock retries information after PIN operations

    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.

 src/mm-sim-mbim.c | 140
 +++++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 102 insertions(+), 38 deletions(-)

commit d4ff05af5e5ef73abc717467f5988328c0d0319f
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Aug 7 14:22:51 2017 -0700

    iface-modem: export update_unlock_retries outside MMIfaceModem

    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.

 src/mm-iface-modem.c | 8 ++++----
 src/mm-iface-modem.h | 3 +++
 2 files changed, 7 insertions(+), 4 deletions(-)

commit 87341acaa88400cef750c2a7463bc131b79a16d9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 28 12:48:14 2017 +0200

    build: import gtk-doc support

    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.

 .gitignore    |   1 -
 autogen.sh    |   1 -
 gtk-doc.make  | 304
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 m4/gtk-doc.m4 |  88 +++++++++++++++++
 4 files changed, 392 insertions(+), 2 deletions(-)

commit b66aa5122519478ec29e9c33938bb7c1dc7558bd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 7 13:27:44 2017 +0200

    po: add Brazilian Portuguese translation

    From: Rafael Fontenelle <rafaelff@gnome.org>

    https://bugs.freedesktop.org/show_bug.cgi?id=102555

 po/LINGUAS  |   1 +
 po/pt_BR.po | 104
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 105 insertions(+)

commit f05a2ed41e148f0f341de7e8a90c8cd5c54a2146
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Wed Sep 6 19:16:08 2017 +0200

    po: add Polish translation

    https://bugs.freedesktop.org/show_bug.cgi?id=102567

 po/LINGUAS |   3 +-
 po/pl.po   | 109
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 111 insertions(+), 1 deletion(-)

commit 984625165e09f02b4d6b8389092d5055fdbb0f03
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 25 21:35:18 2017 +0200

    i18n: deprecate intltool and use only gettext 0.19.8

    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

 .gitignore                                      |  5 +-
 Makefile.am                                     | 16 +----
 autogen.sh                                      |  3 +-
 configure.ac                                    |  5 +-
 data/Makefile.am                                | 28 ++++++---
 data/its/polkit.its                             |  8 +++
 data/its/polkit.loc                             |  6 ++
 data/org.freedesktop.ModemManager1.policy.in.in | 32 +++++-----
 po/Makevars                                     | 78
 +++++++++++++++++++++++++
 po/POTFILES.in                                  |  1 -
 po/POTFILES.skip                                |  2 -
 po/de.po                                        | 48 +++++++++------
 po/uk.po                                        | 48 +++++++++------
 13 files changed, 194 insertions(+), 86 deletions(-)

commit f0bb6ef8564aabc51e5bd14b6486bc86068364fb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 7 10:36:14 2017 +0200

    api: add MM_DISABLE_DEPRECATED guards around deprecated symbols

    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.

 docs/reference/api/Makefile.am | 2 +-
 include/ModemManager-compat.h  | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

commit d135c56f0f1bb82f0a5e886c10932b18de149c4f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 21 14:31:10 2017 +0200

    huawei: update frequency bands support

    Updated to use the non-deprecated MMModemBand values.

 plugins/huawei/mm-broadband-modem-huawei.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit aae7105743765cec6ddc7c4402d296276a8b86e6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 21 14:29:38 2017 +0200

    cinterion: update frequency bands support

    Updated to use the non-deprecated MMModemBand values.

 plugins/cinterion/mm-modem-helpers-cinterion.c     | 18 +++++-----
 .../cinterion/tests/test-modem-helpers-cinterion.c | 40
 +++++++++++-----------
 2 files changed, 29 insertions(+), 29 deletions(-)

commit 44a850f8adf7b4c5e032f29f313b871f9a7616c1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 21 14:19:01 2017 +0200

    telit: update frequency bands support

    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.

 plugins/telit/mm-modem-helpers-telit.c            | 97
 ++++++++++++++---------
 plugins/telit/tests/test-mm-modem-helpers-telit.c | 68 ++++++++--------
 2 files changed, 93 insertions(+), 72 deletions(-)

commit 4c921cd584e7ceaa0629854c4e372509742d86e1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 21 14:00:52 2017 +0200

    wavecom: update frequency bands support

    Updated to use the non-deprecated MMModemBand values.

 plugins/wavecom/mm-broadband-modem-wavecom.c | 37
 ++++++++++++++--------------
 1 file changed, 18 insertions(+), 19 deletions(-)

commit 2c96b31590c22fbc242e09750ca1713c7b30f792
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 21 13:56:50 2017 +0200

    icera: update frequency bands support

    Updated to use the non-deprecated MMModemBand values.

 plugins/icera/mm-broadband-modem-icera.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

commit f54779732aaf9d5e5d06ca0fbb9dea4517b4809b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 21 13:55:01 2017 +0200

    novatel-lte: update frequency bands support

    Several changes here:
      * Updated to use the non-deprecated MMModemBand values.
      * Added support for GSM 450, GSM 480 and GSM 750.

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 64
 ++++++++++++------------
 1 file changed, 32 insertions(+), 32 deletions(-)

commit 55316cabd490468da6158c3f08d22d49c73a6552
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 21 14:40:19 2017 +0200

    ublox: update frequency bands support

    Updated to use the non-deprecated MMModemBand values.

 plugins/ublox/mm-modem-helpers-ublox.c         | 17 ++---
 plugins/ublox/tests/test-modem-helpers-ublox.c | 88
 +++++++++++++-------------
 2 files changed, 54 insertions(+), 51 deletions(-)

commit c41f7215a1b8f00cf31b47c6ef4a0bb52832489c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 21 13:43:25 2017 +0200

    qmi: update frequency bands support

    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.

 src/mm-modem-helpers-qmi.c | 253
 +++++++++++++++++++--------------------------
 1 file changed, 104 insertions(+), 149 deletions(-)

commit ede5fe6ddb242be172ba782cabff7fa65abc8266
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 21 12:15:08 2017 +0200

    api: define additional LTE frequency bands

 include/ModemManager-enums.h | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

commit 84ac581f3fc19496a3e06be1fafd9473f4c8e6d1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 20 16:16:39 2017 +0200

    api: consolidate CDMA frequency enumerations

    Define new symbols with easier names, just based on the Band Class.

 docs/reference/api/ModemManager-sections.txt |  20 +++
 include/ModemManager-compat.h                | 200
 +++++++++++++++++++++++++++
 include/ModemManager-enums.h                 |  80 +++++------
 3 files changed, 260 insertions(+), 40 deletions(-)

commit b4076784335126d7916075b5fc34b160c401d6b1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 20 15:53:30 2017 +0200

    api: define additional UMTS frequency bands

 include/ModemManager-enums.h | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

commit 7fb3aeacd3a15ec0e6ef71309c035910bbc01e88
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 20 13:46:04 2017 +0200

    api: new MM_BAND_UTRAN_ enumerations for WCDMA bands

    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.

 docs/reference/api/ModemManager-sections.txt |  9 +++
 include/ModemManager-compat.h                | 90
 ++++++++++++++++++++++++++++
 include/ModemManager-enums.h                 | 58 +++++++++---------
 3 files changed, 128 insertions(+), 29 deletions(-)

commit 946149016bd42bee7680fa81616b57b2f35f4813
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 20 12:59:29 2017 +0200

    api: define additional GSM frequency bands

    New definitions for not so common GSM frequency bands.

 include/ModemManager-enums.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit eedd4ab445713cc862cf33821aceb39470f6a220
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 20 18:15:48 2017 +0200

    api: don't use intermediate variables for deprecation warnings

    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);
             ^~~~~~

 docs/reference/api/ModemManager-sections.txt |   2 +
 include/ModemManager-compat.h                | 148
 ++++++++-------------------
 2 files changed, 42 insertions(+), 108 deletions(-)

commit a29610f25da4ce4843be2df87fb644be87e6d35a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 3 13:01:42 2017 +0200

    plugin,port-probe: always cast SEND_DELAY value to guint64

        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

 plugins/option/mm-plugin-hso.c      | 2 +-
 plugins/samsung/mm-plugin-samsung.c | 2 +-
 plugins/ublox/mm-plugin-ublox.c     | 2 +-
 src/mm-port-probe.c                 | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

commit 52aa393d4085d493eb88f146e8d44dfafd937758
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 4 17:34:29 2017 +0200

    base-sim: wrap in its own GTask the SIM id loading from the subclass

    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.

 src/mm-base-sim.c | 71
 ++++++++++++++++++++++++++-----------------------------
 1 file changed, 34 insertions(+), 37 deletions(-)

commit 530ebf90635ea2f652d68934f8d7c0656abc9e05
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 4 17:23:35 2017 +0200

    telit: reorder code to keep the bottom-top flow for async methods

 plugins/telit/mm-broadband-modem-telit.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit ada9934e90cd12d84085b358758ef782ccc116a4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 4 17:22:12 2017 +0200

    telit: explicitly flag as const the constant string

 plugins/telit/mm-broadband-modem-telit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f6ae514405218e213413f06cb9411bbee9e72633
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 4 17:19:21 2017 +0200

    telit: plug memleak when SIM object cannot be acquired

    The GTask wasn't being disposed.

 plugins/telit/mm-broadband-modem-telit.c | 1 +
 1 file changed, 1 insertion(+)

commit be079381c06427f4748be245dc7c89fefed35293
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 4 17:15:04 2017 +0200

    telit: avoid leaking SIM object

    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.

 plugins/telit/mm-broadband-modem-telit.c | 30
 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

commit 76916de31350b915c7cdd7d89fee08f03a97800f
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Mon Sep 4 08:13:53 2017 +0200

    telit-plugin: handle QSS unsolicited due to power state transitions

    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

 plugins/telit/mm-broadband-modem-telit.c | 181
 ++++++++++++++++++++++++++++++-
 src/mm-base-sim.c                        |  53 +++++++++
 src/mm-base-sim.h                        |  77 +++++++------
 3 files changed, 272 insertions(+), 39 deletions(-)

commit 5014cf39767a24109de945d99c6b9f4bb1b07274
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Tue Aug 29 09:15:52 2017 +0200

    broadband-modem: do not release SIM swap port contexts on disable

    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.

 src/mm-broadband-modem.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit a1210af7d5ce9986ffd8c30229ef0ca40dbf452a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 29 07:45:34 2017 +0200

    wavecom: fix async operation completion

 plugins/wavecom/mm-broadband-modem-wavecom.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2439900fd371d787ebe12df05150ab10687442b6
Author: Mario Limonciello <mario.limonciello@dell.com>
Date:   Mon Aug 28 15:07:13 2017 -0500

    blacklist: ignore Silicon Labs USB Zigbee dongles

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 76c1a1119cdb08c710b5f8df35c31883a466a64a
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Aug 21 18:42:25 2017 -0700

    base-manager: avoid events of USB interface from removing MMDevice

    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.

 src/mm-base-manager.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 5a01e5406660bc4f5a3cf68254510e867f89a457
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 15 23:21:05 2017 +0200

    charsets: simplify check to see if conversion to charset possible

    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.

 src/mm-charsets.c         | 66
 +++++++++++++++++----------------------------
 src/mm-charsets.h         |  7 +++--
 src/mm-sms-part-3gpp.c    |  6 +----
 src/mm-sms-part-cdma.c    |  6 +----
 src/tests/test-charsets.c | 68
 +++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 97 insertions(+), 56 deletions(-)

commit 1f2bb640284ef75e411658a3ff67f844bea8b260
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 16 15:43:34 2017 +0200

    charsets: ensure all methods are prefixed with 'mm_'

 plugins/huawei/mm-broadband-modem-huawei.c |  4 ++--
 src/mm-charsets.c                          | 16 ++++++++--------
 src/mm-charsets.h                          | 18 +++++++++---------
 src/mm-sms-part-3gpp.c                     |  6 +++---
 src/tests/test-charsets.c                  | 18 +++++++++---------
 5 files changed, 31 insertions(+), 31 deletions(-)

commit 06fef77cc03f700c6570bda6728b8caeef0356a7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 16 15:39:49 2017 +0200

    charsets,test: refactor unit tests

    These tests don't need fixtures, so use the simpler g_test_add_func()
    methods to add tests associated to a test path.

 src/tests/test-charsets.c | 100
 ++++++++++++++++------------------------------
 1 file changed, 35 insertions(+), 65 deletions(-)

commit 439d58a55c9bb1c02cd1b9be3775311a4f63561c
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Tue Aug 15 10:52:03 2017 -0700

    mm-broadband-modem-mbim: reprobe on mbim-proxy death

    In case mbim-proxy crashes, ModemManager needs to be able to
    recognize this and respawn the proxy so we don't lose access
    to the modem. Do this by subscribing to the device removal
    signal on MbimDevice and reprobing the modem when we lose the
    connection to mbim-proxy.

    We can't just restart mbim-proxy because the reopened mbim-proxy
    will give us a different client ID, and so unsolicitied
    notifications will fail and MM gets very confused otherwise.

 src/mm-broadband-modem-mbim.c | 66
 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 64 insertions(+), 2 deletions(-)

commit eb64d39e52ea651f1aa418f780d15d82f74f8af1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 15 18:18:43 2017 +0200

    kernel-device: assert 'vendor' and 'product' in get_device_ids()

    These two parameters must always be given.

 src/kerneldevice/mm-kernel-device-udev.c | 2 ++
 1 file changed, 2 insertions(+)

commit 7e22696b34f8cade709937cca81641e3ca54ef9c
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 15 09:10:44 2017 -0700

    kernel-device: expect non-NULL 'vendor' and 'product' argument in
    get_device_ids()

    get_device_ids() in mm-kernel-device-udev.c accepts a NULL 'vendor' or
    'product' argument, but the current implementation could result in a
    potential NULL dereferences of the 'vendor' argument. Given that
    get_device_ids() is a local helper and its only caller provides a
    non-NULL 'vendor' and 'product' argument, this patch removes the NULL
    checks (i.e. get_device_ids() expects non-NULL 'vendor' and
    'product').

    This patch also rearranges the code such that the 'vendor' argument is
    updated only when the function returns TRUE, just like how the
    'product'
    argument is handled.

 src/kerneldevice/mm-kernel-device-udev.c | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

commit 7ae32d6c61b7bd611b5b18626204f51d178b4b11
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Aug 11 15:17:30 2017 -0700

    charset: fix mm_charset_get_encoded_len

    The while loop in mm_charset_get_encoded_len() iterates through each
    valid UTF-8 encoded character in the given NULL-terminated UTF-8
    string.
    It uses g_utf8_find_next_char() to find the position of the next
    character. In case, g_utf8_find_next_char() returns NULL, it tries to
    find the end (i.e. the NULL character) of the string.

    This patch fixes the following issues in the while loop:

    1. The loop uses both 'next' and 'end' to track the position of
    the next
       character in the string.

       When g_utf8_find_next_char() returns a non-NULL value, 'next' is
       essentially the same as 'end'.

       When g_utf8_find_next_char() returns NULL, 'next' remains NULL
       while
       'end' is adjusted to track the end of the string (but is done
       incorrectly as described in #2). After the 'p = next' assignment,
       the
       'while (*p)' check results in a NULL dereference. 'p' should
       thus be
       set to 'end' instead of 'next'.

       'next' is thus redundant and can be removed.

    2. When g_utf8_find_next_char() returns NULL and 'end' is adjusted to
       track the end of string, the 'while (*end++)' loop stops when
       finding
       the NULL character, but 'end' is advanced past the NULL character.
       After the 'p = end' assignment, the 'while (*p)' check results in a
       dereference of out-of-bounds pointer.

       'while (*++end)' should be used instead given that 'p' doesn't
       point
       to a NULL character when 'end = p' happens. 'end' will be
       updated to
       point to the NULL character. After the 'p = end' assignment
       (fixed in
       #1), the 'while (*p)' check will properly stop the loop.

 src/mm-charsets.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit d639359320736dd582a2dbb5c50039a8a1b878da
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 12 19:38:35 2017 +0200

    polkit: add missing Location interface method rules

    https://bugs.freedesktop.org/show_bug.cgi?id=102182

 data/org.freedesktop.ModemManager1.conf.polkit | 8 ++++++++
 1 file changed, 8 insertions(+)

commit d7d2c320d3cf67ff7c5e1a72b6350e4f8455df55
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 11 16:51:50 2017 +0200

    broadband-modem-mbim: explicitly remove notification handler on unref

    When we remove the last object reference, make sure the notification
    handler is also removed, or we may end up using an already freed
    object.

    https://retrace.fedoraproject.org/faf/reports/1815001/

 src/mm-broadband-modem-mbim.c | 61
 +++++++++++++++++++++++++++----------------
 1 file changed, 38 insertions(+), 23 deletions(-)

commit 36e7cd50cec29e3ef0d61646ebf072b20dab06f5
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Aug 11 11:23:22 2017 -0700

    plugin: fix forbidden_product_strings check in
    apply_post_probing_filters

    This patch fixes a bug in apply_post_probing_filters() where it
    iterates
    through `self->priv->forbidden_product_strings' but incorrectly
    accesses
    `self->priv->product_strings[i]' inside the loop.
    `self->priv->forbidden_product_strings[i]' should be accessed instead.

 src/mm-plugin.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 2b08a66645740df2e1e490df5ec44a7b5c537cc5
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Aug 11 14:19:35 2017 -0700

    libmm-glib,cdma: fix potential NULL dereference

    This patch fixes a potential NULL referenece issue in
    mm_cdma_manual_activation_properties_get_prl() where it accesses
    `self->priv->prl->data' when `self->priv->prl' could be potentially
    NULL.

 libmm-glib/mm-cdma-manual-activation-properties.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit c02dcd397ab6ccbc3c021bf6d96d76de7bce8b91
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Aug 11 14:16:47 2017 -0700

    libmm-glib,sms-properties: fix potential NULL dereference

    This patch fixes a potential NULL referenece issue in
    mm_sms_properties_get_data() where it accesses
    `self->priv->data->data'
    when `self->priv->data' could be potentially NULL.

 libmm-glib/mm-sms-properties.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit dec53d6ef65d1e0ebd10e278fe11762edd14e5bf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 9 12:02:36 2017 +0200

    modem-helpers: allow unquoted strings in +CCLK responses

    Also:
      * define the leading '+' as a escaped value
      * allow any number of spaces between '+CCLK' and the string value.

 src/mm-modem-helpers.c         |  7 +++++--
 src/tests/test-modem-helpers.c | 21 +++++++++++++++++++++
 2 files changed, 26 insertions(+), 2 deletions(-)

commit 9528450684bb7b3e28b7d8f3b61b6bf191ef2aca
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 6 13:21:16 2017 +0200

    bearer-mbim: stop trying to reload stats on OperationNotAllowed

    The Sierra Wireless EM7345 reports OperationNotAllowed when trying to
    load stats, just cancel stats reloading if so.

        ModemManager[8318]: [/dev/cdc-wdm1] Received message
        (translated)...
        >>>>>> Header:
        >>>>>>   length      = 48
        >>>>>>   type        = command-done (0x80000003)
        >>>>>>   transaction = 24
        >>>>>> Fragment header:
        >>>>>>   total   = 1
        >>>>>>   current = 0
        >>>>>> Contents:
        >>>>>>   status error = 'OperationNotAllowed' (0x0000001c)
        >>>>>>   service      = 'basic-connect'
        (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
        >>>>>>   cid          = 'packet-statistics' (0x00000014)

 src/mm-bearer-mbim.c | 3 +++
 1 file changed, 3 insertions(+)

commit 05a1097a27ff7c7349e6d9730a7009c3b6d9670b
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Aug 7 14:05:03 2017 -0700

    iface-modem: remove unnecessary error check

    This patch removes an unnecessary error check in the
    update_unlock_retries() where the error is never set.

 src/mm-iface-modem.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

commit 75036a46580bb38d0957e64cd4a59539df16c6f8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 4 14:00:53 2017 +0200

    bearer-mbim: refactor disconnect_set_ready()

    Try to make it more clear which are the different branches in the
    logic, and jump out as soon as the branch is finished.

 src/mm-bearer-mbim.c | 96
 +++++++++++++++++++++++++++++-----------------------
 1 file changed, 53 insertions(+), 43 deletions(-)

commit e51ee31d503ee8c79255f438f10a541448146a3a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 25 14:44:14 2017 +0200

    broadband-bearer: run init sequence after flashing in disconnection

    The init-sequence configured for the TTY that is being used as data
    port must not be launched during the port reopen() sequence; instead
    we must run it manually after the port flashing has finished.

 src/mm-broadband-bearer.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit f455ce33b4fc41b055ec706aac7f33c09e76b131
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 4 17:10:41 2017 +0200

    mbm: set GPS data port for DellDW5560

    See
    https://lists.freedesktop.org/archives/modemmanager-devel/2017-August/005506.html

 plugins/mbm/77-mm-ericsson-mbm.rules | 1 +
 1 file changed, 1 insertion(+)

commit fbf397cd6f86fe99194df9bd7b274088178a5625
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Aug 4 00:44:07 2017 -0700

    altair-lte: don't use send-delay=0

    On the modem with firmware revision ALT3100_04_05_06_10_A8_TF
    (LTEUSB_02_04_05_10_53), it's observed that port probing doesn't
    complete successfully when send-delay=0 is used.

 plugins/altair/mm-plugin-altair-lte.c | 1 -
 1 file changed, 1 deletion(-)

commit 5828435b464f0df888d18a924cf1650c238610e4
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 3 15:55:11 2017 -0700

    port-probe: remove unused variable

 src/mm-port-probe.c | 2 --
 1 file changed, 2 deletions(-)

commit f7eca732f9695709de4f7e14622d5a3c42ad6b83
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 3 15:55:10 2017 -0700

    sim-qmi: remove unused variables

 src/mm-sim-qmi.c | 12 ------------
 1 file changed, 12 deletions(-)

commit 941a41d30f1a468e7d689962a6658b39e9acede1
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 3 15:54:38 2017 -0700

    broadband-modem: ensure `match_info' is always initialized

    This patch initializes `match_info' in
    registration_status_check_ready()
    to NULL by default, such that `match_info' is always initialized
    even if
    `self->priv->modem_3gpp_registration_regex' contains no elements.
    Though `self->priv->modem_3gpp_registration_regex' always contains
    some
    elements in the current implementation, it's better not to rely
    on that.

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e33aa01963172a138833fbf84e54ef6b537c93bd
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 3 14:49:59 2017 -0700

    location-gps-nmea: fix memory leaks

    There are potential memory leaks in MMLocationGpsNmea:

    - When the `trace' string provided to location_gps_nmea_take_trace()
    isn't
      added to the hash table, its ownership is still considered
      transferred.
      It should thus be freed. Similarly, the `trace_type' string isn't
      added the hash table and should thus be freed.

    - mm_location_gps_nmea_add_trace() duplicates a given trace string and
      then passes the trace copy to location_gps_nmea_take_trace(). When
      location_gps_nmea_take_trace() returns FALSE, the ownership of the
      copy isn't transferred. mm_location_gps_nmea_add_trace() should thus
      free the copy.

    This patch fixes the above memory leaks by having
    location_gps_nmea_take_trace() always take the ownership of the
    `trace'
    string and internally free `trace' and `trace_type' when necessary.

 libmm-glib/mm-location-gps-nmea.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit 24ed8d3e997cb6dd30335a534e24dab467752b53
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 3 14:41:11 2017 -0700

    broadband-modem: fix an ineffective `g_assert (equip_id)'

    This patch fixes an ineffective `g_assert (equip_id)' in
    modem_load_equipment_identifier_finish(). After mm_parse_gsn()
    succeeds,
    `equip_id' is freed but not reset to NULL, so `g_assert (equip_id)'
    will
    never assert even if `imei', `meid', and `esn' are all NULL
    (though that
    shouldn't happen when mm_parse_gsn() succeeds).

 src/mm-broadband-modem.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit 0d3cca2c6f545cf9a91c75aed451df6d16ae5511
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 3 14:25:33 2017 -0700

    broadband-modem-qmi: fix potential use-after-freed issues

    This patch fixes some potential use-after-freed issues in
    dms_get_ids_ready(). When an invalid ESN / MEID is retrieved,
    `ctx->self->priv->esn' / `ctx->self->priv->meid' is freed but
    not reset
    to NULL. If no IMEI is retrieved, `str' can be set to the already
    freed
    `ctx->self->priv->esn' / `ctx->self->priv->meid' and then propagated
    to
    a GSimpleAsyncResult object.

 src/mm-broadband-modem-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 625c204761592ac41f23de1680b32bc78365c144
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 3 13:25:09 2017 -0700

    huawei: remove redundant call to huawei_parse_auth_type()

    This patch removes a redundant `encoded_auth = huawei_parse_auth_type
    (auth)`
    in connect_3gpp_context_step().

 plugins/huawei/mm-broadband-bearer-huawei.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f81a518515cdd213f53527025a12f7d40b5cfbbc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 4 13:49:32 2017 +0200

    bearer-mbim: minor update in debug log messages

 src/mm-bearer-mbim.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit d58305bf1fc89dd44e3d3f267dd4ed7579e7fd61
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 3 13:24:49 2017 -0700

    bearer-mbim: avoid accessing invalid session_id and nw_error

    This patch fixes an issue in disconnect_set_ready(). If
    mbim_message_connect_response_parse(), `session_id' and `nw_error' are
    not set to a valid value, and thus shouldn't be used.

 src/mm-bearer-mbim.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit e1823e605e69121fae50e6ca3c097ad7a94156f4
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 1 17:01:04 2017 -0700

    huawei: ensure MMBearerConnectResult populated into GSimpleAsyncResult

    During the CONNECT_3GPP_CONTEXT_STEP_LAST step,
    connect_3gpp_context_step() conditionally creates and populates a
    MMBearerConnectResult object into the GSimpleAsyncResult object
    when the
    ipv4_config field of the Connect3gppContext struct is set. That
    assumes
    the ipv4_config field is always initialized in
    connect_dhcp_check_ready() during the
    CONNECT_3GPP_CONTEXT_STEP_IP_CONFIG step. Instead of having such an
    assumption, this patch modifies connect_3gpp to always initialize
    the ipv4_config field, such that connect_3gpp_context_step() always
    populates a MMBearerConnectResult object into the GSimpleAsyncResult
    object.

 plugins/huawei/mm-broadband-bearer-huawei.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

commit 0bb01ab68d36e63d08f9ed827524a24829c26835
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 2 21:53:32 2017 -0700

    sms-part-cdma: add missing break statements in
    cause_code_to_delivery_state

    This patch fixes cause_code_to_delivery_state() by adding two missing
    break statements for the case ERROR_CLASS_TEMPORARY and
    ERROR_CLASS_PERMANENT in the `switch (error_class)` statement. Without
    the break statements, the switch always falls through to the
    default and
    returns MM_SMS_DELIVERY_STATE_UNKNOWN for an `error_class' of value
    ERROR_CLASS_TEMPORARY or ERROR_CLASS_PERMANENT.

 src/mm-sms-part-cdma.c | 2 ++
 1 file changed, 2 insertions(+)

commit 6132a4d2ae92e99746f6840bb7330c56c0d8fcbf
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 2 21:53:22 2017 -0700

    novatel: avoid calling qcdm_result_unref on NULL QcdmResult

 plugins/novatel/mm-broadband-modem-novatel.c | 1 -
 1 file changed, 1 deletion(-)

commit bae4590784e9c4ca9b902b9fc69606cffe0ddb14
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 2 21:53:14 2017 -0700

    libmm-glib,firmware: fix unique_id checks

    The following checks in mm_modem_firmware_select() and
    mm_modem_firmware_select_sync() could result in a NULL pointer
    dereference if `unique_id' is NULL:

      g_return_if_fail (unique_id != NULL || unique_id[0] == '\0')
      g_return_val_if_fail (unique_id != NULL || unique_id[0] ==
      '\0', FALSE)

    This patch fixes the checks to properly verify that `unique_id' is
    neither NULL nor an empty string.

 libmm-glib/mm-modem-firmware.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 5accaf504f92b93b66058ac856a7d0b150b1c410
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 2 21:53:44 2017 -0700

    ublox: remove unused variable

 plugins/ublox/mm-broadband-bearer-ublox.c | 3 ---
 1 file changed, 3 deletions(-)

commit 03bf0479ae516862e0c1972654d31acc83a05fbb
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 2 21:53:43 2017 -0700

    plugin-manager: remove unused variable

 src/mm-plugin-manager.c | 4 ----
 1 file changed, 4 deletions(-)

commit 838173d50f273bc2498e62315723d0f0a5312f44
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 2 21:53:42 2017 -0700

    call-list: remove unused variables

 src/mm-call-list.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

commit 06bbe6700040fba939538de6fea5ff01de9da963
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 2 21:53:41 2017 -0700

    broadband-modem: remove unused variables

 src/mm-broadband-modem.c | 12 ------------
 1 file changed, 12 deletions(-)

commit 8e645485e35b50ee9bdfb79cc4983b7ad1d64c34
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 2 21:53:40 2017 -0700

    broadband-bearer: remove unused variable

 src/mm-broadband-bearer.c | 2 --
 1 file changed, 2 deletions(-)

commit ae82e7d58cb37184e52e486fbae6f4f6fe751a71
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 3 00:58:20 2017 -0700

    broadband-modem-mbim: remove unused variable

 src/mm-broadband-modem-mbim.c | 2 --
 1 file changed, 2 deletions(-)

commit b5dba9ad1c867859912c16ea4030852917fb9bc1
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Fri Jul 28 15:57:55 2017 +0200

    telit-plugin: ignore QSS when SIM-ME interface is locked

    With some modems, the lock/unlock of the SIM-ME interface with
    +CSIM=1/0
    command is followed by #QSS unsolicited messages. With the current
    implementation, this messages are mistaken for SIM swap events and
    so the
    modem is first dropped and then re-probed.

    With this patch, the plugin takes into account the SIM-ME lock
    state when
    parsing #QSS unsolicited, so that the QSS handler can correctly
    elaborate the messages that are not related to SIM swap events.

 plugins/telit/mm-broadband-modem-telit.c | 85
 ++++++++++++++++++++++++++++----
 plugins/telit/mm-modem-helpers-telit.h   |  9 ++++
 2 files changed, 85 insertions(+), 9 deletions(-)

commit 60092ed7ea717c24495ddc00119b0dce982912b1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 1 10:11:02 2017 +0200

    broadband-modem: single g_object_get() call to read multiple
    properties

 src/mm-broadband-modem.c | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

commit 9cdc237241ef7129c422ce33eca181ad8c837f8b
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Tue Jul 25 09:03:05 2017 +0200

    sim hot swap: improved error management

    Currently, when SIM hot swap fails in either mm-iface or plugin, the
    ModemManager still opens ports context and prints a message saying
    that
    SIM hot swap is supported and that it's waiting for SIM insertion,
    instead of clearly saying that SIM hot swap is not working.

    This patch:

    1. introduces a new property MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED
       which is FALSE by default and set to TRUE only when
       setup_sim_hot_swap_finish() succeded.
    2. subordinates the completion of SIM hot swap setup (in
       mm-broadband-modem) and the related messages to the the value of
       MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED

    Finally, this patch replaces the MBIM's sim_hot_swap_on private
    property
    with the new property MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED, since
    they have the
    same meaning.

 plugins/telit/mm-broadband-modem-telit.c |  1 +
 src/mm-broadband-modem-mbim.c            | 21 ++++---
 src/mm-broadband-modem.c                 | 94
 ++++++++++++++++++++++----------
 src/mm-iface-modem.c                     | 14 ++++-
 src/mm-iface-modem.h                     |  1 +
 5 files changed, 93 insertions(+), 38 deletions(-)

commit b2c7244b6c73dc615e67cf2f90f30ad671b43a84
Author: Valentin Blot <freedesktop-devel@valentinblot.org>
Date:   Mon Jul 31 00:41:08 2017 +0200

    mmcli: description of the location-set-gps-refresh-rate option

    Commit 6c35878f12ab37604d85cb3a864e3859973bd195 introduced a new
    option for
    setting the refresh rate of location on DBus. This patch describes
    the option
    in the man page.

    https://bugs.freedesktop.org/show_bug.cgi?id=89924

 docs/man/mmcli.8 | 5 +++++
 1 file changed, 5 insertions(+)

commit 4e468d04acd1e17c91ab5e66f3032db1b7e51c39
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 26 18:25:38 2017 -0700

    bearer-mbim: avoid calling mbim_message_unref on NULL MbimMessage

 src/mm-bearer-mbim.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 08f5b86c5d10026a14654df1bc8c6195748dd07a
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 20 01:29:17 2017 -0700

    longcheer: port longcheer_custom_init to use GTask

 plugins/longcheer/mm-plugin-longcheer.c | 88
 ++++++++++++++++-----------------
 1 file changed, 42 insertions(+), 46 deletions(-)

commit 0dc719ed1922612e87bf882d69501eaa288cfc0c
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 20 01:06:07 2017 -0700

    longcheer: port set_current_modes to use GTask

 plugins/longcheer/mm-broadband-modem-longcheer.c | 39
 +++++++++++-------------
 1 file changed, 17 insertions(+), 22 deletions(-)

commit bf8e75b8bdc82c7275d957e26bcf70bc3f449467
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 20 01:08:25 2017 -0700

    longcheer: port load_unlock_retries to use GTask

 plugins/longcheer/mm-broadband-modem-longcheer.c | 34
 +++++++++---------------
 1 file changed, 12 insertions(+), 22 deletions(-)

commit 4cb2232f0f8cbeb1a0e5b48229d4efc7401f3fd9
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 20 01:03:04 2017 -0700

    longcheer: port load_supported_modes to use GTask

 plugins/longcheer/mm-broadband-modem-longcheer.c | 22
 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

commit aa0a6bed363419659101084b3861a51144eee859
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 19 11:23:38 2017 -0700

    zte,icera: port modem_3gpp_{setup,cleanup}_unsolicited_events to
    use GTask

 plugins/zte/mm-broadband-modem-zte-icera.c | 39
 ++++++++++++------------------
 1 file changed, 15 insertions(+), 24 deletions(-)

commit e8599340b477e009d1e4b1be0c68aa99661aafc2
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 19 11:19:41 2017 -0700

    zte: port modem_3gpp_{setup,cleanup}_unsolicited_events to use GTask

 plugins/zte/mm-broadband-modem-zte.c | 39
 ++++++++++++++----------------------
 1 file changed, 15 insertions(+), 24 deletions(-)

commit 8370556318d1cf30620faa0a13dbbf79ff4e86a0
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 19 11:11:40 2017 -0700

    zte: port modem_after_sim_unlock to use GTask

 plugins/zte/mm-broadband-modem-zte.c | 61
 +++++++++++++++++-------------------
 1 file changed, 29 insertions(+), 32 deletions(-)

commit 9f67e229517cd93734a1ab8cfd6303e85223cecd
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 19 11:16:10 2017 -0700

    zte: port set_current_modes to use GTask

 plugins/zte/mm-broadband-modem-zte.c | 39
 ++++++++++++++++--------------------
 1 file changed, 17 insertions(+), 22 deletions(-)

commit 289ab66fafe4e9124a7bd5958ed4ec2006704dd2
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 19 11:05:20 2017 -0700

    zte: port load_supported_modes to use GTask

 plugins/zte/mm-broadband-modem-zte.c | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)

commit c609c2bc46f07d1bb14993ef3c0268f5541114d6
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 19 11:03:37 2017 -0700

    zte: port load_unlock_retries to use GTask

 plugins/zte/mm-broadband-modem-zte.c | 33
 ++++++++++++---------------------
 1 file changed, 12 insertions(+), 21 deletions(-)

commit 03d96197598c08bb3c8faf7b4b795865c80315fb
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:33:36 2017 -0700

    altair-lte: port modem_3gpp_load_subscription_state,
    altair_pco_info_changed to use GTask

 plugins/altair/mm-broadband-modem-altair-lte.c | 71
 ++++++++++++++------------
 1 file changed, 39 insertions(+), 32 deletions(-)

commit de4432da210a94c11acb2ed73ae72a60dde40aa2
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:33:31 2017 -0700

    altair-lte: port modem_3gpp_disable_unsolicited_events to use GTask

 plugins/altair/mm-broadband-modem-altair-lte.c | 29
 +++++++++++---------------
 1 file changed, 12 insertions(+), 17 deletions(-)

commit e2b161c68434f58700981365a8e3d9bb5f16d5b9
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:33:30 2017 -0700

    altair-lte: port modem_3gpp_enable_unsolicited_events to use GTask

 plugins/altair/mm-broadband-modem-altair-lte.c | 29
 +++++++++++---------------
 1 file changed, 12 insertions(+), 17 deletions(-)

commit 00aaa1864a72b9c59394eb44ed2f4ade31214715
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:33:27 2017 -0700

    altair-lte: port modem_3gpp_{setup,cleanup}_unsolicited_events to
    use GTask

 plugins/altair/mm-broadband-modem-altair-lte.c | 39
 ++++++++++----------------
 1 file changed, 15 insertions(+), 24 deletions(-)

commit 282ed056a6a0c3e67787809715ec7d413e5f0b2a
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:33:25 2017 -0700

    altair-lte: port load_current_bands to use GTask

 plugins/altair/mm-broadband-modem-altair-lte.c | 36
 +++++++++-----------------
 1 file changed, 12 insertions(+), 24 deletions(-)

commit 2d82c505e465064a0f990c28188ab8b8aa14fc0c
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:33:23 2017 -0700

    altair-lte: port load_supported_bands to use GTask

 plugins/altair/mm-broadband-modem-altair-lte.c | 36
 +++++++++-----------------
 1 file changed, 12 insertions(+), 24 deletions(-)

commit 4ea38c26e068644a364b307b3951ac71f4618321
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:33:21 2017 -0700

    altair-lte: port load_unlock_retries to use GTask

 plugins/altair/mm-broadband-modem-altair-lte.c | 49
 +++++++++++---------------
 1 file changed, 21 insertions(+), 28 deletions(-)

commit e2e7121e44a3da41af86e591fc710a9b373c34be
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:33:20 2017 -0700

    altair-lte: port load_current_capabilities to use GTask

 plugins/altair/mm-broadband-modem-altair-lte.c | 28
 ++++++++++++--------------
 1 file changed, 13 insertions(+), 15 deletions(-)

commit a96e8f824bc8847f53f7e647f233fa8ca8cf4e1f
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:33:18 2017 -0700

    altair-lte: port modem_create_bearer to use GTask

 plugins/altair/mm-broadband-modem-altair-lte.c | 30
 +++++++-------------------
 1 file changed, 8 insertions(+), 22 deletions(-)

commit 555883d10729415896b24d1f0547fbf8d21eeeb3
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:33:16 2017 -0700

    altair-lte: port modem_3gpp_run_registration_checks to use GTask

 plugins/altair/mm-broadband-modem-altair-lte.c | 36
 +++++++++++---------------
 1 file changed, 15 insertions(+), 21 deletions(-)

commit 15109a8513eb666c161f37bbf43ceb46d0470279
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:33:15 2017 -0700

    altair-lte: port disconnect_3gpp to use GTask

 plugins/altair/mm-broadband-bearer-altair-lte.c | 61
 +++++++++----------------
 1 file changed, 22 insertions(+), 39 deletions(-)

commit 710d5c036bf03a466eb113f99ffc5611ff50e22a
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:33:13 2017 -0700

    altair-lte: port connect_3gpp to use GTask

 plugins/altair/mm-broadband-bearer-altair-lte.c | 134
 +++++++++---------------
 1 file changed, 52 insertions(+), 82 deletions(-)

commit 3f273429a535f7e32b7acd6b6b936183d3187a70
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:32:20 2017 -0700

    broadband-bearer: port initable_init_async to use GTask

 src/mm-broadband-bearer.c | 87
 ++++++++++++++++++++++-------------------------
 1 file changed, 41 insertions(+), 46 deletions(-)

commit 6dc2f23d8f9279042aafc6389ede74a894f33fc8
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:32:17 2017 -0700

    broadband-bearer: port disconnect_{3gpp,cdma} to use GTask

 src/mm-broadband-bearer.c | 133
 ++++++++++++++++++++++++----------------------
 1 file changed, 70 insertions(+), 63 deletions(-)

commit fd34814b367c2612da84d0964d32165e0609b66f
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:32:12 2017 -0700

    broadband-bearer: port disconnect to use GTask

 src/mm-broadband-bearer.c | 90
 ++++++++++++++++-------------------------------
 1 file changed, 30 insertions(+), 60 deletions(-)

commit 903e2287829dba44ea536da469e4aaf48b10dab8
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:32:07 2017 -0700

    broadband-bearer: port connect_{3gpp,cdma} to use GTask

 src/mm-broadband-bearer.c | 265
 +++++++++++++++++++++-------------------------
 1 file changed, 121 insertions(+), 144 deletions(-)

commit be2ac3f25674d0ba4035f42d920b5f6396b24ab3
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:32:03 2017 -0700

    broadband-bearer: port connect to use GTask

 src/mm-broadband-bearer.c | 93
 ++++++++++++++++++++---------------------------
 1 file changed, 40 insertions(+), 53 deletions(-)

commit e3561374846724006dfaa93a8259ff649ebc4c8b
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 22:31:58 2017 -0700

    broadband-bearer: port dial_3gpp to use GTask

 src/mm-broadband-bearer.c | 107
 +++++++++++++++++-----------------------------
 1 file changed, 39 insertions(+), 68 deletions(-)

commit 8af44d3589615b054221a34e39c0525dd0a2e491
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 18 15:28:51 2017 -0700

    broadband-bearer: fix crm_range_ready

    crm_range_ready() misses a return statement after it invokes
    interface_initialization_step(), which will lead to an invalid
    access of
    the already freed InitAsyncContext.

 src/mm-broadband-bearer.c | 1 +
 1 file changed, 1 insertion(+)

commit 4db3ccf2af1f00f848af105910e75581383f0db4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 19 11:21:27 2017 +0200

    helpers: +CNUM parser doesn't return any error

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 2 +-
 src/mm-broadband-modem.c                         | 2 +-
 src/mm-modem-helpers.c                           | 3 +--
 src/mm-modem-helpers.h                           | 3 +--
 src/tests/test-modem-helpers.c                   | 4 +---
 5 files changed, 5 insertions(+), 9 deletions(-)

commit 7ff5e30dce22bbe636d8f9dfafaad477bf844003
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 19 11:02:49 2017 +0200

    broadband-modem: if no own numbers returned, complete task with NULL

    Fixes: 738deebfb4586ffff560d538f7809cf2fdee7132

    Reported-by: Colin Helliwell <colin.helliwell@ln-systems.com>

 src/mm-broadband-modem.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

commit 14dbbad1ad0e18be3e9623b357fc9a0daf02d6da
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 18 11:31:36 2017 +0200

    broadband-modem: plug memleak in init_current_storages()

        ==28664== 4 bytes in 1 blocks are definitely lost in loss record
        33 of 4,317
        ==28664==    at 0x4C2BE1F: malloc (in
        /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
        ==28664==    by 0x4C2E164: realloc (in
        /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
        ==28664==    by 0x644E0CF: g_realloc (in
        /usr/lib/libglib-2.0.so.0.5200.2)
        ==28664==    by 0x6469C06: ??? (in
        /usr/lib/libglib-2.0.so.0.5200.2)
        ==28664==    by 0x6469C61: g_string_sized_new (in
        /usr/lib/libglib-2.0.so.0.5200.2)
        ==28664==    by 0x4E8514A: mm_common_build_sms_storages_string
        (mm-common-helpers.c:116)
        ==28664==    by 0x489035: cpms_query_ready
        (mm-broadband-modem.c:5428)
        ==28664==    by 0x5E8E335: g_simple_async_result_complete (in
        /usr/lib/libgio-2.0.so.0.5200.2)
        ==28664==    by 0x44EADF: at_command_ready
        (mm-base-modem-at.c:503)
        ==28664==    by 0x5E8E335: g_simple_async_result_complete (in
        /usr/lib/libgio-2.0.so.0.5200.2)
        ==28664==    by 0x4D8122: serial_command_ready
        (mm-port-serial-at.c:392)
        ==28664==    by 0x5E8E335: g_simple_async_result_complete (in
        /usr/lib/libgio-2.0.so.0.5200.2)
        ==28664==
        ==28664== 4 bytes in 1 blocks are definitely lost in loss record
        34 of 4,317
        ==28664==    at 0x4C2BE1F: malloc (in
        /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
        ==28664==    by 0x4C2E164: realloc (in
        /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
        ==28664==    by 0x644E0CF: g_realloc (in
        /usr/lib/libglib-2.0.so.0.5200.2)
        ==28664==    by 0x6469C06: ??? (in
        /usr/lib/libglib-2.0.so.0.5200.2)
        ==28664==    by 0x6469C61: g_string_sized_new (in
        /usr/lib/libglib-2.0.so.0.5200.2)
        ==28664==    by 0x4E8514A: mm_common_build_sms_storages_string
        (mm-common-helpers.c:116)
        ==28664==    by 0x489067: cpms_query_ready
        (mm-broadband-modem.c:5430)
        ==28664==    by 0x5E8E335: g_simple_async_result_complete (in
        /usr/lib/libgio-2.0.so.0.5200.2)
        ==28664==    by 0x44EADF: at_command_ready
        (mm-base-modem-at.c:503)
        ==28664==    by 0x5E8E335: g_simple_async_result_complete (in
        /usr/lib/libgio-2.0.so.0.5200.2)
        ==28664==    by 0x4D8122: serial_command_ready
        (mm-port-serial-at.c:392)
        ==28664==    by 0x5E8E335: g_simple_async_result_complete (in
        /usr/lib/libgio-2.0.so.0.5200.2)

 src/mm-broadband-modem.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

commit bad79cb5e1063fcb269543c07a7be5b32762b3cb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 18 11:28:33 2017 +0200

    port-serial: plug memleak on error processing

        ==28664== 216 (120 direct, 96 indirect) bytes in 5 blocks are
        definitely lost in loss record 4,109 of 4,317
        ==28664==    at 0x4C2BEEF: malloc (in
        /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
        ==28664==    by 0x644E018: g_malloc (in
        /usr/lib/libglib-2.0.so.0.5200.2)
        ==28664==    by 0x6465B05: g_slice_alloc (in
        /usr/lib/libglib-2.0.so.0.5200.2)
        ==28664==    by 0x6469C32: g_string_sized_new (in
        /usr/lib/libglib-2.0.so.0.5200.2)
        ==28664==    by 0x4D7861: parse_response (mm-port-serial-at.c:142)
        ==28664==    by 0x4D3B52: parse_response_buffer
        (mm-port-serial.c:857)
        ==28664==    by 0x4D40F2: common_input_available
        (mm-port-serial.c:981)
        ==28664==    by 0x4D41B4: iochannel_input_available
        (mm-port-serial.c:1004)
        ==28664==    by 0x64488B4: g_main_context_dispatch (in
        /usr/lib/libglib-2.0.so.0.5200.2)
        ==28664==    by 0x6448C77: ??? (in
        /usr/lib/libglib-2.0.so.0.5200.2)
        ==28664==    by 0x6448F91: g_main_loop_run (in
        /usr/lib/libglib-2.0.so.0.5200.2)
        ==28664==    by 0x438035: main (main.c:180)

 src/mm-port-serial-at.c | 1 +
 1 file changed, 1 insertion(+)

commit fa31b699ece5dbc64600b7a41364d5167f98ef5e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 18 10:47:47 2017 +0200

    broadband-modem: remove unneeded InitializationStartedContext struct

 src/mm-broadband-modem.c | 29 +++++++----------------------
 1 file changed, 7 insertions(+), 22 deletions(-)

commit 6515c81f44cc644b45232ddacd2107c9c552b077
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 18:38:07 2017 -0700

    broadband-modem: port modem_3gpp_cleanup_unsolicited_events to
    use GTask

 src/mm-broadband-modem.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

commit 81d2d572b43cacb402b2397e8b7335e6eddd147c
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 18:37:21 2017 -0700

    broadband-modem: port modem_3gpp_setup_unsolicited_events to use GTask

 src/mm-broadband-modem.c | 37 +++++++++++++++----------------------
 1 file changed, 15 insertions(+), 22 deletions(-)

commit 0c49fb3e2fdb3bd317b71195bc869be214ffc904
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 13:29:36 2017 -0700

    broadband-modem: port modem_voice_{setup,cleanup}_unsolicited_events
    to use GTask

 src/mm-broadband-modem.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

commit 4a2cc7b731456c2d68ac8873ae3db1c4211dbac0
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 17:24:58 2017 -0700

    broadband-modem: port
    modem_messaging_{setup,cleanup}_unsolicited_events to use GTask

 src/mm-broadband-modem.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

commit c7e47b97e8abeb553e6ae2041fa0813ecd776267
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 23:26:59 2017 -0700

    broadband-modem: port modem_cdma_get_detailed_registration_state to
    use GTask

 src/mm-broadband-modem.c | 107
 +++++++++++++++++++++++++++--------------------
 1 file changed, 62 insertions(+), 45 deletions(-)

commit e040ee27a0b418926cc99a6846c86ff6397ee560
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 14:57:02 2017 -0700

    broadband-modem: port modem_cdma_get_service_status to use GTask

 src/mm-broadband-modem.c | 39 ++++++++++++++++++++-------------------
 1 file changed, 20 insertions(+), 19 deletions(-)

commit 610a6299e1b68dd161e9a8f33aca577756191477
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 18:20:03 2017 -0700

    broadband-modem: port modem_3gpp_run_registration_checks to use GTask

 src/mm-broadband-modem.c | 73
 ++++++++++++++++++++++++++----------------------
 1 file changed, 40 insertions(+), 33 deletions(-)

commit a93add611f607f3332f1b3b1f277ab2b07c441fc
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 18:08:17 2017 -0700

    broadband-modem: port modem_3gpp_load_enabled_facility_locks to
    use GTask

 src/mm-broadband-modem.c | 83
 ++++++++++++++++++++++++------------------------
 1 file changed, 42 insertions(+), 41 deletions(-)

commit 1fe33d34e8c7ef1d6baf21c0517ceb15f2898d0a
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 13:07:37 2017 -0700

    broadband-modem: port modem_3gpp_load_subscription_state to use GTask

 src/mm-broadband-modem.c | 29 ++++++++++++-----------------
 1 file changed, 12 insertions(+), 17 deletions(-)

commit c812101a128529ae4240c69347031c335f0cacf1
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 18:30:22 2017 -0700

    broadband-modem: port
    modem_3gpp_{enable,disable}_unsolicited_registration_events to
    use GTask

 src/mm-broadband-modem.c | 123
 +++++++++++++++++++++++++----------------------
 1 file changed, 66 insertions(+), 57 deletions(-)

commit ece9b87a67f9d61d2837d68f4879e91dac04ac02
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 13:10:17 2017 -0700

    broadband-modem: port modem_3gpp_setup_unsolicited_registration_events
    to use GTask

 src/mm-broadband-modem.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

commit 7ee52bb99aacbce01b5a9998477a4946affb0963
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 13:11:41 2017 -0700

    broadband-modem: port
    modem_3gpp_cleanup_unsolicited_registration_events to use GTask

 src/mm-broadband-modem.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

commit dad7c8c403b074e6f93f77434abec1788614c792
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 18:43:52 2017 -0700

    broadband-modem: port modem_3gpp_{enable,disable}_unsolicited_events
    to use GTask

 src/mm-broadband-modem.c | 79
 +++++++++++++++++++++++-------------------------
 1 file changed, 38 insertions(+), 41 deletions(-)

commit 5ccefe30c36cfbbf7856ac5395102b585d3fc782
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 13:14:54 2017 -0700

    broadband-modem: port modem_3gpp_ussd_cancel to use GTask

 src/mm-broadband-modem.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

commit 17dff1f6696fe50a4a6cc99c4e5f73ad667b8d42
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 13:21:28 2017 -0700

    broadband-modem: port modem_3gpp_ussd_check_support to use GTask

 src/mm-broadband-modem.c | 23 +++++++++--------------
 1 file changed, 9 insertions(+), 14 deletions(-)

commit 03977eb501aa05cb5e3fc410a50aa7be2741f048
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 13:20:12 2017 -0700

    broadband-modem: port
    modem_3gpp_ussd_{enable,disable}_unsolicited_result_codes to use GTask

 src/mm-broadband-modem.c | 32 ++++++++++++--------------------
 1 file changed, 12 insertions(+), 20 deletions(-)

commit 249f880c3c8ee71983b776c4453b1527cdab39ec
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 13:17:57 2017 -0700

    broadband-modem: port
    modem_3gpp_ussd_{setup,cleanup}_unsolicited_result_codes to use GTask

 src/mm-broadband-modem.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

commit 8b5aa2a41cff47ac49b24f1264bee359b8122a12
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 22:35:07 2017 -0700

    broadband-modem: port cmti_received to use GTask

 src/mm-broadband-modem.c | 52
 ++++++++++++++++++++++--------------------------
 1 file changed, 24 insertions(+), 28 deletions(-)

commit 511a08c33c9aef4dbfe06bde3de6fc9ad42558e5
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 18:52:02 2017 -0700

    broadband-modem: port mm_broadband_modem_lock_sms_storages to
    use GTask

 src/mm-broadband-modem.c | 65
 +++++++++++++++++++++---------------------------
 1 file changed, 29 insertions(+), 36 deletions(-)

commit 2ec660024de56d6df45c17c15ee6b86acca5d027
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 22:49:22 2017 -0700

    broadband-modem: port modem_messaging_load_initial_sms_parts to
    use GTask

 src/mm-broadband-modem.c | 79
 +++++++++++++++++++++++-------------------------
 1 file changed, 38 insertions(+), 41 deletions(-)

commit 78c0bbf41dd63e77c271dafadc627270c571d8a1
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 17:21:00 2017 -0700

    broadband-modem: port modem_messaging_setup_sms_format to use GTask

 src/mm-broadband-modem.c | 28 ++++++++++++----------------
 1 file changed, 12 insertions(+), 16 deletions(-)

commit de6ba7a7aa5710189b51ef3e7580976fb0f4ecef
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 13:40:52 2017 -0700

    broadband-modem: port modem_messaging_set_default_storage to use GTask

 src/mm-broadband-modem.c | 33 +++++++++++++++------------------
 1 file changed, 15 insertions(+), 18 deletions(-)

commit 101c646cf93feb7d843895ff3456a6627c20b302
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 13:33:25 2017 -0700

    broadband-modem: port modem_messaging_load_supported_storages to
    use GTask

 src/mm-broadband-modem.c | 44
 +++++++++++++++++++-------------------------
 1 file changed, 19 insertions(+), 25 deletions(-)

commit 1d72695df93bdb22e1788375b2f962f41a655925
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 13:37:57 2017 -0700

    broadband-modem: port modem_messaging_init_current_storages to
    use GTask

 src/mm-broadband-modem.c | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

commit c29cd5eb4e027c5052160be6111be9bae93a98df
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 13:25:32 2017 -0700

    broadband-modem: port modem_messaging_check_support to use GTask

 src/mm-broadband-modem.c | 30 ++++++++++++------------------
 1 file changed, 12 insertions(+), 18 deletions(-)

commit ed0c91b71b27c78caaeaff1a0a4daff2c2b94d1f
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 14:51:11 2017 -0700

    broadband-modem: port modem_messaging_enable_unsolicited_events to
    use GTask

 src/mm-broadband-modem.c | 31 +++++++++++++------------------
 1 file changed, 13 insertions(+), 18 deletions(-)

commit c270720e9405fc18158bde847a7f81e885587abf
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 13:27:49 2017 -0700

    broadband-modem: port modem_voice_check_support to use GTask

 src/mm-broadband-modem.c | 23 +++++++++--------------
 1 file changed, 9 insertions(+), 14 deletions(-)

commit 4249792c4e7e83a055ea22da1dc8d14c3afce08b
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 18:55:19 2017 -0700

    broadband-modem: port modem_setup_charset to use GTask

 src/mm-broadband-modem.c | 63
 +++++++++++++++++++++++-------------------------
 1 file changed, 30 insertions(+), 33 deletions(-)

commit d638da86bd7359a882180cdaf2160aaad39228ac
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 14:48:51 2017 -0700

    broadband-modem: port modem_power_up to use GTask

 src/mm-broadband-modem.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

commit 16a14e768feba78f95b508d0f7e8fb2a17b4a204
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 14:47:14 2017 -0700

    broadband-modem: port modem_load_power_state to use GTask

 src/mm-broadband-modem.c | 35 ++++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 17 deletions(-)

commit 49366f7f0068be8f9b9c650a70aeaab012288549
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 18:29:51 2017 -0700

    broadband-modem: port modem_load_signal_quality to use GTask

 src/mm-broadband-modem.c | 146
 +++++++++++++++++++++++++----------------------
 1 file changed, 79 insertions(+), 67 deletions(-)

commit 4da7cf96ac80c1775bf2dba53f49825b9d41025a
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 15:22:16 2017 -0700

    broadband-modem: port modem_load_supported_ip_families to use GTask

 src/mm-broadband-modem.c | 38 +++++++++++++++++---------------------
 1 file changed, 17 insertions(+), 21 deletions(-)

commit 8c9bcd76c26247228767af8a601d06815241766b
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 15:15:21 2017 -0700

    broadband-modem: port modem_load_supported_modes to use GTask

 src/mm-broadband-modem.c | 113
 +++++++++++++++++++++++++----------------------
 1 file changed, 60 insertions(+), 53 deletions(-)

commit 738deebfb4586ffff560d538f7809cf2fdee7132
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 15:05:52 2017 -0700

    broadband-modem: port modem_load_own_numbers to use GTask

 src/mm-broadband-modem.c | 82
 ++++++++++++++++++++++--------------------------
 1 file changed, 38 insertions(+), 44 deletions(-)

commit a24a99e70241afea5302772b6d6a90429a5140a3
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 17:37:36 2017 -0700

    broadband-modem: port modem_load_current_capabilities to use GTask

 src/mm-broadband-modem.c | 118
 +++++++++++++++++++++++------------------------
 1 file changed, 59 insertions(+), 59 deletions(-)

commit 6abd626a0b800a0259606d74d0a4ee5dabe2fc45
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 14:44:15 2017 -0700

    broadband-modem: port modem_load_supported_charsets to use GTask

 src/mm-broadband-modem.c | 47
 +++++++++++++++++++++--------------------------
 1 file changed, 21 insertions(+), 26 deletions(-)

commit 524ecfb03e4d6476288f4efac947f010494c4e9f
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 14:38:14 2017 -0700

    broadband-modem: port modem_load_unlock_required to use GTask

 src/mm-broadband-modem.c | 42 ++++++++++++++++++------------------------
 1 file changed, 18 insertions(+), 24 deletions(-)

commit f7db91616935f9ccd740415cb0bead63f2fde426
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 13:50:26 2017 -0700

    broadband-modem: port modem_create_bearer to use GTask

 src/mm-broadband-modem.c | 31 ++++++++-----------------------
 1 file changed, 8 insertions(+), 23 deletions(-)

commit a7dee00e5c9377ac5f80c632f6cc9f67aac1eea5
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 5 17:40:09 2017 -0700

    broadband-modem: port modem_location_load_capabilities to use GTask

 src/mm-broadband-modem.c | 30 +++++++++++++-----------------
 1 file changed, 13 insertions(+), 17 deletions(-)

commit ceb13f525194d9fa70a9f6d71f5825034a8d96c1
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 5 17:32:50 2017 -0700

    broadband-modem: port enable_location_gathering to use GTask

 src/mm-broadband-modem.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

commit 53c34494b695bf808bfbdf8c1adf5a4eb8b6ef69
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 5 17:30:28 2017 -0700

    broadband-modem: port initialization_started to use GTask

 src/mm-broadband-modem.c | 34 +++++++++++-----------------------
 1 file changed, 11 insertions(+), 23 deletions(-)

commit 034353e38bd0bcf7551d73e1c7437bad5ffe6273
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 5 17:27:17 2017 -0700

    broadband-modem: port enabling_started to use GTask

 src/mm-broadband-modem.c | 86
 ++++++++++++++++++++++++++----------------------
 1 file changed, 47 insertions(+), 39 deletions(-)

commit 77bb31e5cf47c3d3b6fe15f66825c1669db676f3
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 5 17:14:56 2017 -0700

    broadband-modem: port disable to use GTask

 src/mm-broadband-modem.c | 107
 ++++++++++++++++++++++-------------------------
 1 file changed, 50 insertions(+), 57 deletions(-)

commit ba162ce1f38925cd4ef10db0857d0cd831ba6284
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 5 17:06:52 2017 -0700

    broadband-modem: port enable to use GTask

 src/mm-broadband-modem.c | 176
 ++++++++++++++++++++++-------------------------
 1 file changed, 83 insertions(+), 93 deletions(-)

commit 04532ea54ebec81b2f546e5440771ca3fc1f461f
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 5 16:57:43 2017 -0700

    broadband-modem: port initialize to use GTask

 src/mm-broadband-modem.c | 200
 ++++++++++++++++++++++-------------------------
 1 file changed, 95 insertions(+), 105 deletions(-)

commit ce664a6264271ec4a50f56118028829cbc2f09ee
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 17 18:11:01 2017 -0700

    sms-mbim: fix peek_device to use g_task_report_new_error

    When porting MMSmsMbim to use GTask, peek_device wasn't modified
    to use
    g_task_report_new_error, which could potentially lead to an incorrect
    G_TASK cast.

 src/mm-sms-mbim.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

commit d25e6bdfaa9d4116db91a6b134a13d6319192954
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 17 18:11:00 2017 -0700

    iface-modem-time: fix update_network_timezone to use
    g_task_report_new_error

    Commit 7c5f308af ("iface-modem-time: port update_network_timezone
    to use
    GTask") ported most of the update_network_timezone code to use GTask,
    but missed a g_simple_async_report_error_in_idle call, which could
    potentially lead to an incorrect G_TASK cast.

 src/mm-iface-modem-time.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

commit 0657914ebbe387a4bb356303086fe0f354d88756
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 17 18:10:59 2017 -0700

    call-list: fix mm_call_list_delete_call to use g_task_report_new_error

    Commit a08064492 ("call-list: port mm_call_list_delete_call to
    use GTask")
    ported most of the mm_call_list_delete_call code to use GTask,
    but missed a
    g_simple_async_report_error_in_idle calls, which can potentially
    lead to
    an incorrect G_TASK cast in mm_call_list_delete_call_finish.

 src/mm-call-list.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

commit 4901a676600809fba9a8805fc524c4c1710f539a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 18 10:32:13 2017 +0200

    telit: add missing source_tag in g_task_report_new_error() call

    Fixes: 1bd9935b5aece6c5999c96df1acec86cfc00e6b1

 plugins/telit/mm-broadband-modem-telit.c | 1 +
 1 file changed, 1 insertion(+)

commit 1317a728dad7925f87de2101801889d1864ca12e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 18 10:26:45 2017 +0200

    telit: fix minor typo

 plugins/telit/mm-broadband-modem-telit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1bd9935b5aece6c5999c96df1acec86cfc00e6b1
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 17 17:04:56 2017 -0700

    telit: fix modem_set_current_bands to use g_task_report_new_error

    Commit acf101335 ("telit: port mm-broadband-modem-telit to use GTask")
    ported most of the modem_set_current_bands code to use GTask,
    but missed
    a few g_simple_async_report_error_in_idle calls, which potentially
    leads
    to an incorrect G_TASK cast in modem_set_current_bands_finish.

 plugins/telit/mm-broadband-modem-telit.c | 51
 +++++++++++++++++---------------
 1 file changed, 27 insertions(+), 24 deletions(-)

commit 38c53ed81405167e0632fb4ce36d787fb0c29c72
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 17 10:09:04 2017 -0700

    base-modem: minor coding style fixes

 src/mm-base-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit cdff53d0a4af14c2cef74dd2a9df4e313b26638d
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 17 10:09:03 2017 -0700

    iface-modem: minor coding style fixes

 src/mm-iface-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5263ec650f4479863b8472f7844eef601eea6368
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 17 10:09:02 2017 -0700

    log: minor coding style fixes

 src/mm-log.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 024825042e862e2a0cc8cd256b56ac23b9ce005b
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 17 10:09:01 2017 -0700

    plugin-manager: minor coding style fixes

 src/mm-plugin-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5ee0b32298b0d3d1ce1199d0e3addf394df005d5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 17 10:17:35 2017 +0200

    zte,icera: fix async completion in 3gpp event handlers setting

 plugins/zte/mm-broadband-modem-zte-icera.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 7b392398e4c0a0e2084b49e50bb6566357db3699
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 17 10:17:04 2017 +0200

    zte: fix async completion in 3gpp event handlers setting

 plugins/zte/mm-broadband-modem-zte.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit ef274b5fa2f9911caa55103282088c35ec66f8ec
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 17 10:16:19 2017 +0200

    simtech: fix async completion in 3gpp event handlers setting

 plugins/simtech/mm-broadband-modem-simtech.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit a3c980c78b32ba53d1373e07e2535a7e15b03ebb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 17 10:15:36 2017 +0200

    option,hso: fix async completion in 3gpp event handlers setting

 plugins/option/mm-broadband-modem-hso.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit f3a301db3c62ebe1ed1a89aa2d98765ac66759fc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 17 10:13:18 2017 +0200

    option: fix async completion in 3gpp event handlers setting

 plugins/option/mm-broadband-modem-option.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e2246da507c4f93ec2f0f885586e6e5748cb829d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 17 10:11:45 2017 +0200

    mtk: fix async completion in 3gpp event handlers setting

 plugins/mtk/mm-broadband-modem-mtk.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 15a221e88d57be200fcc45599c994b14f5376e4c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 17 10:09:17 2017 +0200

    mbm: fix async completion in 3gpp event handlers setting

 plugins/mbm/mm-broadband-modem-mbm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 0be6e7d2ea41b97caeb086040e2d50d11fb28a91
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 17 10:06:40 2017 +0200

    altair-lte: fix async completion in 3gpp event handlers setting

 plugins/altair/mm-broadband-modem-altair-lte.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c44fa6c681a6417f174b947076085224b2dc97dd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 17 10:05:45 2017 +0200

    icera: fix async completion in 3gpp event handlers setting

 plugins/icera/mm-broadband-modem-icera.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit f1f313c214ccc3e5b62ec17cf039b6a4a693c9d0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 17 10:08:08 2017 +0200

    huawei: skip unrequired explicit casts to GSimpleAsyncResult

 plugins/huawei/mm-broadband-modem-huawei.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 91bbcb5c5f708628688c2a429b81b3f035c1c567
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 17 10:03:41 2017 +0200

    huawei: fix async completion in 3gpp event handlers setting

 plugins/huawei/mm-broadband-modem-huawei.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit c0c2e8aae8de4d72dd483c742462032ffc2f7d30
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 17 09:59:20 2017 +0200

    huawei: fix async completion in voice event handlers setting

 plugins/huawei/mm-broadband-modem-huawei.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 7b0c0bc96bf501a261de2a30bf0095c61ea3ef16
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 17 09:54:58 2017 +0200

    huawei: fix async completion in cdma event handlers setting

 plugins/huawei/mm-broadband-modem-huawei.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 24e8785a83eb9ac88a36b58c0c5ba83a4689800b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 17 09:57:21 2017 +0200

    via: fix async completion in cdma event handlers setting

 plugins/via/mm-broadband-modem-via.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 94a289a1b35b0565b1c78da1d04a0c6b752f2155
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jul 14 01:06:39 2017 -0700

    modem-helpers: minor coding style fixes

 src/mm-modem-helpers.c         | 6 +++---
 src/mm-modem-helpers.h         | 6 +++---
 src/tests/test-modem-helpers.c | 4 ++--
 3 files changed, 8 insertions(+), 8 deletions(-)

commit 45682aa7ee5fa52ee50ed73fc153035910723b13
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jul 14 01:06:38 2017 -0700

    sms-part-3gpp: minor coding style fixes

 src/mm-sms-part-3gpp.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 057732663bb8524271f6e3ba225f597381a12cc2
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jul 14 01:06:37 2017 -0700

    broadband-modem-mbim: minor coding style fixes

 src/mm-broadband-modem-mbim.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit da20697e187fbc27e82f2aea67ff86ddecfd8c7d
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jul 14 01:06:36 2017 -0700

    base-call: minor coding style fixes

 src/mm-base-call.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit cb6efd8eda491f0ed12b57fca1105fa888682398
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jul 14 01:06:35 2017 -0700

    base-manager: minor coding style fixes

 src/mm-base-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1158c2c6e9da01073284e63050d08188deff65ba
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jul 14 00:36:13 2017 -0700

    broadband-modem: rename load_power_state for consistency

    All MMIfaceModem functions implemented by MMBroadbandModem, except
    load_power_state, are prefixed with 'modem_'. For consistency, this
    patch renames load_power_state{,_finish} to
    modem_load_power_state{,_finish}.

 src/mm-broadband-modem.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit aafd21ac31b787a01d4ce08f732f27575c2883e9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 12 11:21:41 2017 +0200

    broadband-modem-mbim: avoid multiple MM_BROADBAND_MODEM_MBIM() casts

 src/mm-broadband-modem-mbim.c | 140
 +++++++++++++++++++++++++-----------------
 1 file changed, 83 insertions(+), 57 deletions(-)

commit 3d9510b4fd5f4dc46df1476c067787f1dd3431a6
Author: Eric Caruso <ejcaruso@chromium.org>
Date:   Tue Jul 11 10:58:23 2017 -0700

    mm-broadband-modem-mbim: support SIM hot swapping

    If an MBIM modem supports unsolicited notifications for
    subscriber ready status, we can use it to detect when SIM cards
    have been removed and reinserted. Upon detection we should re-
    probe the modem so that we can configure it for the new SIM.

 src/mm-broadband-modem-mbim.c | 96
 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 93 insertions(+), 3 deletions(-)

commit fe384625aa59c117ec99b943c6e0b09deea48a0d
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 01:03:40 2017 -0700

    telit: fix memory leaks in unit tests

 plugins/telit/tests/test-mm-modem-helpers-telit.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 4fbdee1e6d0138e19e836bdf8531cd85b9338ffd
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 01:03:39 2017 -0700

    telit: minor coding style fixes

 plugins/telit/mm-modem-helpers-telit.c | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

commit 39ddd34898d458d1105ac6fa168166b23229ab8e
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 01:03:38 2017 -0700

    telit: remove unnecessary NULL checks for g_free / g_match_info_free

    g_free() and g_match_info_free() already check if the given pointer is
    NULL and does nothing on a NULL pointer.

 plugins/telit/mm-modem-helpers-telit.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

commit 4a7190f64b86b47076e91b6ebfeb59e27baa2707
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 01:03:37 2017 -0700

    telit: fix memory leak in mm_telit_get_4g_mm_bands

 plugins/telit/mm-modem-helpers-telit.c | 1 +
 1 file changed, 1 insertion(+)

commit b6f40de1e15bcb2d324157a5c24028f8a9089f74
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 01:03:36 2017 -0700

    telit: remove unused 'flags' variable in mm_telit_get_4g_mm_bands

 plugins/telit/mm-modem-helpers-telit.c | 4 ----
 1 file changed, 4 deletions(-)

commit 99dd037a68654cf611caab82741a1db969c68242
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 01:14:54 2017 -0700

    iface-modem: fix mm_iface_modem_initialize_finish

    This fixes commit 66f10d61a20e6c661cb04225835ec7a343f4fe36
    ("iface-modem: port mm_iface_modem_initialize to use GTask"), which
    didn't update mm_iface_modem_initialize_finish to use
    g_task_propagate_boolean.

 src/mm-iface-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4e99ca7fd527a91bbec50e64d1b70b797c926180
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 12 01:02:36 2017 -0700

    ublox: fix memory leaks in unit tests

 plugins/ublox/tests/test-modem-helpers-ublox.c | 1 +
 1 file changed, 1 insertion(+)

commit 247890739b940b448d76a2d83bbc34ba91a83d33
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 12 10:58:49 2017 +0200

    broadband-modem-mbim: remove unused variable

        CC       ModemManager-mm-broadband-modem-mbim.o
        mm-broadband-modem-mbim.c: In function ‘mbim_port_open_ready’:
        mm-broadband-modem-mbim.c:1581:35: error: unused variable
        ‘ctx’ [-Werror=unused-variable]
             InitializationStartedContext *ctx;
                                           ^~~
        cc1: all warnings being treated as errors

 src/mm-broadband-modem-mbim.c | 1 -
 1 file changed, 1 deletion(-)

commit 350aa6a4618468de62c0ef6ab943a7adf6e92236
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 15:32:29 2017 -0700

    broadband-modem-mbim: port remaining code to use GTask

    This patch ports the following functions in MMBroadbandModemMbim to
    use GTask:
    - common_enable_disable_unsolicited_events
    - common_setup_cleanup_unsolicited_events
    - load_initial_sms_parts
    - modem_3gpp_load_enabled_facility_locks
    - modem_3gpp_register_in_network
    - modem_3gpp_run_registration_checks
    - modem_3gpp_scan_networks
    - modem_load_current_capabilities
    - modem_load_own_numbers
    - modem_load_power_state
    - modem_load_unlock_required
    - modem_load_unlock_retries
    - modem_power_down
    - modem_power_up

 src/mm-broadband-modem-mbim.c | 669
 ++++++++++++++++++++----------------------
 1 file changed, 311 insertions(+), 358 deletions(-)

commit 20b3675adf373c6f2463c4ecf25400fddd560452
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 17:07:32 2017 -0700

    broadband-modem-mbim: port initialization_started to use GTask

 src/mm-broadband-modem-mbim.c | 63
 +++++++++++++++++++++----------------------
 1 file changed, 30 insertions(+), 33 deletions(-)

commit e8ffefaf6ff483fb3724faaaa1cae99f87ca64c8
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 16:20:23 2017 -0700

    broadband-modem-mbim: port enabling_started to use GTask

 src/mm-broadband-modem-mbim.c | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

commit e0eb23d9a6ed801a0d19b55df5474d32791dabf0
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 16:32:13 2017 -0700

    broadband-modem-mbim: port modem_create_bearer to use GTask

 src/mm-broadband-modem-mbim.c | 33 ++++++++++-----------------------
 1 file changed, 10 insertions(+), 23 deletions(-)

commit ec14a26a7d20c4c7a79f4887de6d925a7438adaf
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 16:38:00 2017 -0700

    broadband-modem-mbim: port messaging_load_supported_storages to
    use GTask

 src/mm-broadband-modem-mbim.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

commit 5bf0af7a83d87a7239c2bee1ba7a1b06da6b1aef
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 16:21:41 2017 -0700

    broadband-modem-mbim: port messaging_check_support to use GTask

 src/mm-broadband-modem-mbim.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

commit cc71743e26131355c148a0848449edf5b5617714
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 16:16:49 2017 -0700

    broadband-modem-mbim: port modem_3gpp_load_imei to use GTask

 src/mm-broadband-modem-mbim.c | 30 +++++++++++-------------------
 1 file changed, 11 insertions(+), 19 deletions(-)

commit 5b0b3f326e363ed4a058427896950ba5b70225b6
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 16:13:13 2017 -0700

    broadband-modem-mbim: port modem_3gpp_load_operator_code to use GTask

 src/mm-broadband-modem-mbim.c | 37 ++++++++++++++++---------------------
 1 file changed, 16 insertions(+), 21 deletions(-)

commit 9401aa70e52f14d3aba13798154f49b09c8ee38f
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 16:10:40 2017 -0700

    broadband-modem-mbim: port modem_3gpp_load_operator_name to use GTask

 src/mm-broadband-modem-mbim.c | 37 ++++++++++++++++---------------------
 1 file changed, 16 insertions(+), 21 deletions(-)

commit fb38601ef4b388506008067f375a25330392c07d
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 16:06:20 2017 -0700

    broadband-modem-mbim: port modem_load_supported_ip_families to
    use GTask

 src/mm-broadband-modem-mbim.c | 33 +++++++++++++++------------------
 1 file changed, 15 insertions(+), 18 deletions(-)

commit 99bb49d814172f555caeb59ced445f3118bac625
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 16:03:02 2017 -0700

    broadband-modem-mbim: port modem_load_supported_modes to use GTask

 src/mm-broadband-modem-mbim.c | 27 ++++++++++-----------------
 1 file changed, 10 insertions(+), 17 deletions(-)

commit df0049d1c2d8643a148e8b1f005bb3b92aff16e5
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 15:59:34 2017 -0700

    broadband-modem-mbim: port modem_load_device_identifier to use GTask

 src/mm-broadband-modem-mbim.c | 24 ++++++------------------
 1 file changed, 6 insertions(+), 18 deletions(-)

commit 43aaa92ee1959dadd150ceb01624655d87876628
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 15:57:44 2017 -0700

    broadband-modem-mbim: port modem_load_equipment_identifier to
    use GTask

 src/mm-broadband-modem-mbim.c | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

commit fb9c758f050ab004f993aee48f9f5395d8699b46
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 15:55:34 2017 -0700

    broadband-modem-mbim: port modem_load_revision to use GTask

 src/mm-broadband-modem-mbim.c | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

commit 234d7810f54acf1788993b81d35d5e309db4aaa8
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 15:51:14 2017 -0700

    broadband-modem-mbim: port modem_load_model to use GTask

 src/mm-broadband-modem-mbim.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

commit 6cf6eeb0aad71874746674b3dd23c67b00222cca
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 15:49:03 2017 -0700

    broadband-modem-mbim: port modem_load_manufacturer to use GTask

 src/mm-broadband-modem-mbim.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit 3a789c0de785133ed2acf9e37f4eab8ef193f44f
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 10 11:20:57 2017 -0700

    bearer-qmi: replace g_new + memcpy with g_memdup

 src/mm-bearer-qmi.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit 627ef274dff34f8e47425529cb3a7534dd47563f
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 11:30:21 2017 -0700

    plugin: check error returned by g_task_propagate_error instead

    mm_plugin_supports_port_finish directly casts the value returned by
    g_task_propagate_int to MMPluginSupportsResult enum value, which
    implicitly assumes MM_PLUGIN_SUPPORTS_PORT_UNKNOWN equals to -1.
    Instead of relying on such an implicit assumption, this patch modifies
    the code to check if the GError argument to g_task_propagate_error is
    populated instead.

 src/mm-plugin.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit a36347eff794bb5d8c1b4e641a56aa70d7a0ef8c
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 11:30:20 2017 -0700

    broadband-bearer: check error returned by g_task_propagate_error
    instead

    When returning an enum value via g_task_return_int, some code assumes
    the enum value is always non-negative and thus considers that
    a negative
    value implies an error. This assumption could be invalidated if a
    negative value is later added to the enum. To make it less error prone
    to future changes, this patch modifies the code to check if the GError
    argument to g_task_propagate_error is populated instead.

 src/mm-broadband-bearer.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit 22e5b216cb312f35a51939bf6922a23e488f9a32
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jul 7 00:09:57 2017 -0700

    broadband-modem: remove unnecessary G_TYPE_CHECK_INSTANCE_CAST calls

    This patch removes unnecessary G_TYPE_CHECK_INSTANCE_CAST calls on any
    instance that is already of the type being casted to.

 src/mm-broadband-modem.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

commit d308bbf4c6d9cfbf59c257e5a4c802cba9065906
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 12:34:53 2017 -0700

    novatel-lte: check error returned by g_task_propagate_error instead

    When returning an enum value via g_task_return_int, some code assumes
    the enum value is always non-negative and thus considers that
    a negative
    value implies an error. This assumption could be invalidated if a
    negative value is later added to the enum. To make it less error prone
    to future changes, this patch modifies the code to check if the GError
    argument to g_task_propagate_error is populated instead.

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit 344d96af44f0c2aa4b31e39fb29c3e76d17b4e4b
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 6 15:18:18 2017 -0700

    cinterion: check error returned by g_task_propagate_error instead

    When returning an enum value via g_task_return_int, some code assumes
    the enum value is always non-negative and thus considers that
    a negative
    value implies an error. This assumption could be invalidated if a
    negative value is later added to the enum. To make it less error prone
    to future changes, this patch modifies the code to check if the GError
    argument to g_task_propagate_error is populated instead.

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 9 +++++++--
 plugins/cinterion/mm-broadband-modem-cinterion.c  | 6 +++++-
 plugins/cinterion/mm-common-cinterion.c           | 7 +++++--
 3 files changed, 17 insertions(+), 5 deletions(-)

commit b44f1b6da07580ec1c9704125b00d7711b4dea5e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 6 11:16:37 2017 +0200

    base-call: port mm_base_call_delete to use GTask

 src/mm-base-call.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

commit da45d0c5b2d90aac9dbb3c56f9a3270470b3e8a4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 6 11:11:20 2017 +0200

    base-call: minor coding style fixes

 src/mm-base-call.c | 106
 +++++++++++++++++++++++++++--------------------------
 1 file changed, 54 insertions(+), 52 deletions(-)

commit 4e5ad5585a56a6973003a621c92415e7c9b9014c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 6 10:59:09 2017 +0200

    base-call: no need to keep a modem reference around

    The mm_base_modem_at_command() async calls keep a modem reference
    valid for as long as the operation and its completion handler are run,
    so there really is no need for the caller (the call operation) to keep
    a reference to the modem object itself.

 src/mm-base-call.c | 5 -----
 1 file changed, 5 deletions(-)

commit 2ffcd93ebbbb442fa088f86322aaa6e3b9aef97e
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 5 15:12:51 2017 -0700

    base-call: port call_delete to use GTask

 src/mm-base-call.c | 27 ++++++---------------------
 1 file changed, 6 insertions(+), 21 deletions(-)

commit f9ddfd7aa4a560dfde1d412750f8f273dca4bcc1
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 5 15:12:50 2017 -0700

    base-call: port call_send_dtmf_ready to use GTask

 src/mm-base-call.c | 44 +++++++++++---------------------------------
 1 file changed, 11 insertions(+), 33 deletions(-)

commit 3659ada7d947ce64e3d91cad3de561410e08d9b6
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 5 15:12:49 2017 -0700

    base-call: port call_hangup to use GTask

 src/mm-base-call.c | 53
 +++++++++++++++++------------------------------------
 1 file changed, 17 insertions(+), 36 deletions(-)

commit c5232ffe410838f6c32ec0daab9074828ac4db83
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 5 15:12:48 2017 -0700

    base-call: port call_accept to use GTask

 src/mm-base-call.c | 55
 ++++++++++++++++++------------------------------------
 1 file changed, 18 insertions(+), 37 deletions(-)

commit 76b3ad41fe7802dac63f62e16bba15a98d48726c
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 5 15:12:47 2017 -0700

    base-call: port call_start to use GTask

 src/mm-base-call.c | 59
 ++++++++++++++++++------------------------------------
 1 file changed, 20 insertions(+), 39 deletions(-)

commit d56621b9a1343fdda784730846f23c805d2145c4
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 5 22:20:09 2017 -0700

    iface-modem: check error returned by g_task_propagate_error instead

    When returning an enum value via g_task_return_int, some code assumes
    the enum value is always non-negative and thus considers that
    a negative
    value implies an error. This assumption could be invalidated if a
    negative value is later added to the enum. To make it less error prone
    to future changes, this patch modifies the code to check if the GError
    argument to g_task_propagate_error is populated instead.

 src/mm-iface-modem.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

commit ba3a7f0c69e067f383b459d53507dd77a5d644af
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 4 11:40:22 2017 -0700

    port-serial-qcdm: port mm_port_serial_qcdm_command to use GTask

 src/mm-port-serial-qcdm.c | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

commit 75aebc71c7941c38c86c7e03bc1aeb0e4dc976d5
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 4 11:40:09 2017 -0700

    base-sim: port mm_base_sim_send_{pin,puk} to use GTask

 src/mm-base-sim.c | 107
 +++++++++++++++++++++++++++---------------------------
 1 file changed, 54 insertions(+), 53 deletions(-)

commit bc51c8c474c05dcb5126ad51b2672ba3b7a32d6a
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 4 11:40:08 2017 -0700

    base-sim: port load_* to use GTask

    This patch ports the following functions to use GTask:
    - load_imsi
    - load_operator_identifier
    - load_operator_name
    - load_sim_identifier

 src/mm-base-sim.c | 75
 ++++++++++++++++++++++++-------------------------------
 1 file changed, 33 insertions(+), 42 deletions(-)

commit b99f9e3b0c196889aefd7f34024fe9248b4c57e8
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 4 11:40:07 2017 -0700

    base-sim: port mm_base_sim_initialize to use GTask

 src/mm-base-sim.c | 127
 +++++++++++++++++++++++++-----------------------------
 1 file changed, 58 insertions(+), 69 deletions(-)

commit d085cb2b968fe0641e029f1b13fe0e5fccd01b47
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 4 11:40:06 2017 -0700

    base-sim: port send_pin and send_puk to use GTask

 src/mm-base-sim.c | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

commit 650d2713501fc01bfd3f56e7cb516b72dd15937a
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 4 11:40:05 2017 -0700

    base-sim: port enable_pin to use GTask

 src/mm-base-sim.c | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

commit 12d578ff8510c90d4f3214124bcd3f8505d357ac
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jul 4 11:40:04 2017 -0700

    base-sim: port change_pin to use GTask

 src/mm-base-sim.c | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

commit 87176cf52c1ab5ae1c0800b5f18070bdb03150f9
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Jul 1 00:35:06 2017 -0700

    base-sms: port mm_base_sms_delete to use GTask

 src/mm-base-sms.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

commit 03c86a9db82dbd4337379dcd945990ee8a505e8d
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Jul 1 00:35:05 2017 -0700

    base-sms: port sms_delete to use GTask

 src/mm-base-sms.c | 69
 +++++++++++++++++++++++++++++--------------------------
 1 file changed, 37 insertions(+), 32 deletions(-)

commit c5be9aad9706f2d4c909f80eb28238ff8b09171d
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Jul 1 00:35:04 2017 -0700

    base-sms: port sms_send to use GTask

 src/mm-base-sms.c | 99
 ++++++++++++++++++++++++++++++-------------------------
 1 file changed, 55 insertions(+), 44 deletions(-)

commit 4902d9d7597325aeb457635c663b2d9b83f9b4e0
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Jul 1 00:35:03 2017 -0700

    base-sms: port sms_store to use GTask

 src/mm-base-sms.c | 88
 ++++++++++++++++++++++++++++++-------------------------
 1 file changed, 48 insertions(+), 40 deletions(-)

commit 1f4cd9ac9192f375f1a92b3c87dc4c32a7c856f0
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Jul 1 00:33:26 2017 -0700

    base-bearer: port mm_base_bearer_disconnect to use GTask

 src/mm-base-bearer.c | 41 +++++++++++++++++------------------------
 1 file changed, 17 insertions(+), 24 deletions(-)

commit 98f4fe2f85bfb211625ef60dd525dc8016125dec
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Jul 1 00:33:25 2017 -0700

    base-bearer: port mm_base_bearer_connect to use GTask

 src/mm-base-bearer.c | 55
 ++++++++++++++++++++++++++--------------------------
 1 file changed, 28 insertions(+), 27 deletions(-)

commit 0efc3cf90876cde2606b1844730b17ad4780f638
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Jul 1 00:16:20 2017 -0700

    bearer-qmi: port reload_stats to use GTask

 src/mm-bearer-qmi.c | 68
 ++++++++++++++++++++++++++++++-----------------------
 1 file changed, 38 insertions(+), 30 deletions(-)

commit 9efc2f705020766c8379cb434b67e6660dee9274
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Jul 1 00:16:19 2017 -0700

    bearer-qmi: port disconnect to use GTask

 src/mm-bearer-qmi.c | 72
 +++++++++++++++++++++++++++++------------------------
 1 file changed, 39 insertions(+), 33 deletions(-)

commit a6547642ede2b3adf28f9ddbb2ca16fd60fb9c02
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Jul 1 00:16:18 2017 -0700

    bearer-qmi: port _connect to use GTask

 src/mm-bearer-qmi.c | 185
 ++++++++++++++++++++++++++++------------------------
 1 file changed, 100 insertions(+), 85 deletions(-)

commit dfcffbae04e0f9147c874f1df616a7b6287397ac
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 20:00:34 2017 -0700

    base-sim: remove unused wait_for_unlock_id in SendPinPukContext

    Commit d27e40ae9 ("core: new `Initializing' state in the global modem
    state machine") added a 'wait_for_unlock_id' field to
    SendPinPukContext,
    but never actually set it up.

 src/mm-base-sim.c | 4 ----
 1 file changed, 4 deletions(-)

commit 524acd75966d283dda0ba7d748b16ce6902a2868
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 06:27:07 2017 -0700

    iface-modem: use g_new0 instead of g_slice_new0 to allocate context

    By using g_new0 instead of g_slice_new0 to allocate certain context
    structs, we can simply use g_free as GDestroyNotify in
    g_task_set_task_data and get rid of those functions that solely
    wrap the
    g_slice_free call.

 src/mm-iface-modem.c | 20 ++++----------------
 1 file changed, 4 insertions(+), 16 deletions(-)

commit d49cf585dd1f3e6f06b4ee23bbd3ca5278f2739c
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 05:59:40 2017 -0700

    bearer-mbim: port MMBearerMbim to use GTask

 src/mm-bearer-mbim.c | 270
 +++++++++++++++++++++++++--------------------------
 1 file changed, 131 insertions(+), 139 deletions(-)

commit bdfd6d92eece28a7376deff61ec35dbcd36a67a2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 30 14:29:34 2017 +0200

    telit: minor coding style fixes

    Always name 'self' the object being implemented.

 plugins/telit/mm-broadband-modem-telit.c | 98
 +++++++++++++++-----------------
 1 file changed, 46 insertions(+), 52 deletions(-)

commit acf1013356ba77518e6ad1acc98a36c5a763c184
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Fri Jun 30 13:02:26 2017 +0200

    telit: port mm-broadband-modem-telit to use GTask

 plugins/telit/mm-broadband-modem-telit.c | 285
 ++++++++++++++-----------------
 1 file changed, 131 insertions(+), 154 deletions(-)

commit 347610a63d82ad7c101e0d9a3bdf93c5a3d50a7b
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 03:52:13 2017 -0700

    iface-modem: port mm_iface_modem_wait_for_final_state to use GTask

 src/mm-iface-modem.c | 103
 ++++++++++++++++++++++++++++++++-------------------
 1 file changed, 64 insertions(+), 39 deletions(-)

commit 7d197d10bde78088cfca6f2a1227b7acb9b31c56
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 02:23:46 2017 -0700

    iface-modem: port internal_load_unlock_required to use GTask

 src/mm-iface-modem.c | 85
 +++++++++++++++++++++++++++-------------------------
 1 file changed, 45 insertions(+), 40 deletions(-)

commit 4df545884733bbc5a851ab86e0983dec057d5482
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 02:23:45 2017 -0700

    iface-modem: port mm_iface_modem_update_lock_info to use GTask

 src/mm-iface-modem.c | 95
 ++++++++++++++++++++++++++++------------------------
 1 file changed, 51 insertions(+), 44 deletions(-)

commit ebc20e7948e43b37c477581312e095725e318e8b
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 02:23:44 2017 -0700

    iface-modem: port mm_iface_modem_set_power_state to use GTask

 src/mm-iface-modem.c | 169
 +++++++++++++++++++++++++++------------------------
 1 file changed, 91 insertions(+), 78 deletions(-)

commit 25f0d420896e397eb5f90187fa2bbcf48de3e275
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 02:23:43 2017 -0700

    iface-modem: port mm_iface_modem_set_current_modes to use GTask

 src/mm-iface-modem.c | 115
 ++++++++++++++++++++++++++-------------------------
 1 file changed, 58 insertions(+), 57 deletions(-)

commit 71dd152dbeb87e834057049aa428b9d54a91b328
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 02:23:42 2017 -0700

    iface-modem: port mm_iface_modem_set_current_bands to use GTask

 src/mm-iface-modem.c | 64
 ++++++++++++++++++++++++++--------------------------
 1 file changed, 32 insertions(+), 32 deletions(-)

commit 0bc40c8c95af9c366b84ef2f9d35a9ff36845d9e
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 02:23:41 2017 -0700

    iface-modem: port mm_iface_modem_create_bearer to use GTask

 src/mm-iface-modem.c | 53
 ++++++++++++++++++++++++----------------------------
 1 file changed, 24 insertions(+), 29 deletions(-)

commit c09b3b9426145b615dd47ce507eda396dc8121a6
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 02:23:40 2017 -0700

    iface-modem: port mm_iface_modem_disable to use GTask

 src/mm-iface-modem.c | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

commit 00a092db2ede36bb919f7db5da54135caba39783
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 02:23:39 2017 -0700

    iface-modem: port mm_iface_modem_enable to use GTask

 src/mm-iface-modem.c | 146
 +++++++++++++++++++++++++--------------------------
 1 file changed, 71 insertions(+), 75 deletions(-)

commit 66f10d61a20e6c661cb04225835ec7a343f4fe36
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 02:23:38 2017 -0700

    iface-modem: port mm_iface_modem_initialize to use GTask

 src/mm-iface-modem.c | 426
 ++++++++++++++++++++++++++++-----------------------
 1 file changed, 231 insertions(+), 195 deletions(-)

commit 6e9334e31779be51f1ea03bcf5c18aa3a5acfc1e
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 02:57:16 2017 -0700

    sms-qmi: port MMSmsQmi to use GTask

 src/mm-sms-qmi.c | 266
 +++++++++++++++++++++++++++++--------------------------
 1 file changed, 142 insertions(+), 124 deletions(-)

commit b9345bb41a20a8283021f5a482c6f321120dee4b
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 02:16:27 2017 -0700

    sim-mbim: port MMSimMbim to use GTask

 src/mm-sim-mbim.c | 201
 ++++++++++++++++++++++++------------------------------
 1 file changed, 89 insertions(+), 112 deletions(-)

commit 7ac30db4b7e5c492b81a92499355b27c8ac6df5f
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 30 02:21:18 2017 -0700

    iface-modem-3gpp: port mm_iface_modem_3gpp_register_in_network to
    use GTask

 src/mm-iface-modem-3gpp.c | 93
 +++++++++++++++++++++++++----------------------
 1 file changed, 49 insertions(+), 44 deletions(-)

commit 48b154f2655629d39e9aeabe1c3f2f91bf652e0b
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jun 29 04:46:04 2017 -0700

    iface-modem-cdma: port mm_iface_modem_cdma_run_registration_checks
    to use GTask

 src/mm-iface-modem-cdma.c | 207
 +++++++++++++++++++++++++---------------------
 1 file changed, 112 insertions(+), 95 deletions(-)

commit 0d2fb2fe45d85fd57d7a335d9bf591c7d15b64d4
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jun 29 04:46:03 2017 -0700

    iface-modem-cdma: port mm_iface_modem_cdma_register_in_network to
    use GTask

 src/mm-iface-modem-cdma.c | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

commit 3cf23b6c44195d317246157c51b134da6db1b8a0
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jun 29 04:46:02 2017 -0700

    iface-modem-cdma: port mm_iface_modem_cdma_disable to use GTask

 src/mm-iface-modem-cdma.c | 82
 +++++++++++++++++++++++++----------------------
 1 file changed, 44 insertions(+), 38 deletions(-)

commit b94ed662f7fd76de0752bc343baa7351085eac57
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jun 29 04:46:01 2017 -0700

    iface-modem-cdma: port mm_iface_modem_cdma_enable to use GTask

 src/mm-iface-modem-cdma.c | 102
 +++++++++++++++++++++-------------------------
 1 file changed, 46 insertions(+), 56 deletions(-)

commit d9918afa99e08e0717d013e0ea6da609615b16ba
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jun 29 04:46:00 2017 -0700

    iface-modem-cdma: port mm_iface_modem_cdma_initialize to use GTask

 src/mm-iface-modem-cdma.c | 105
 +++++++++++++++++++++-------------------------
 1 file changed, 48 insertions(+), 57 deletions(-)

commit 1bfe5434bb8ad9542373a2227492231f8bbb14b4
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jun 29 04:46:21 2017 -0700

    iface-modem-3gpp: port
    mm_iface_modem_3gpp_reload_current_registration_info to use GTask

 src/mm-iface-modem-3gpp.c | 83
 ++++++++++++++++++++++++++---------------------
 1 file changed, 46 insertions(+), 37 deletions(-)

commit c973eb41b246f4e4080b3914936e618bed0dea8e
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jun 29 04:46:20 2017 -0700

    iface-modem-3gpp: port mm_iface_modem_3gpp_disable to use GTask

 src/mm-iface-modem-3gpp.c | 103
 ++++++++++++++++++++++++----------------------
 1 file changed, 53 insertions(+), 50 deletions(-)

commit da8b069f803235075de3edfc5f4d78d218bf2b66
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jun 29 04:46:19 2017 -0700

    iface-modem-3gpp: port mm_iface_modem_3gpp_enable to use GTask

 src/mm-iface-modem-3gpp.c | 144
 ++++++++++++++++++++++------------------------
 1 file changed, 70 insertions(+), 74 deletions(-)

commit c08de5866829bc394e6954e335e49b2663630a48
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jun 29 04:46:18 2017 -0700

    iface-modem-3gpp: port mm_iface_modem_3gpp_initialize to use GTask

 src/mm-iface-modem-3gpp.c | 95
 +++++++++++++++++++++--------------------------
 1 file changed, 43 insertions(+), 52 deletions(-)

commit 35837208df22037f3dd3167d56b752f1343d4429
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Thu Jun 29 11:09:51 2017 +0200

    telit: port mm-common-telit to use GTask

 plugins/telit/mm-common-telit.c | 65
 +++++++++++++++++++----------------------
 1 file changed, 30 insertions(+), 35 deletions(-)

commit 7c5f308af2f5595f2d3656013c6a36c0e397c84a
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 21:44:22 2017 -0700

    iface-modem-time: port update_network_timezone to use GTask

 src/mm-iface-modem-time.c | 120
 +++++++++++++++++++++++-----------------------
 1 file changed, 61 insertions(+), 59 deletions(-)

commit 3e925d3b2d427ded5021b0c1c083aecc711d49a4
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 21:44:21 2017 -0700

    iface-modem-time: port mm_iface_modem_time_disable to use GTask

 src/mm-iface-modem-time.c | 91
 +++++++++++++++++++++++++----------------------
 1 file changed, 48 insertions(+), 43 deletions(-)

commit fe85ded3e1590f8645cab21fbbf36a6949be0ede
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 21:44:20 2017 -0700

    iface-modem-time: port mm_iface_modem_time_enable to use GTask

 src/mm-iface-modem-time.c | 108
 +++++++++++++++++++++-------------------------
 1 file changed, 49 insertions(+), 59 deletions(-)

commit 07c5d78e13f20ab8701d6aa212694ff9ed0575ae
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 21:44:19 2017 -0700

    iface-modem-time: port mm_iface_modem_time_initialize to use GTask

 src/mm-iface-modem-time.c | 93
 ++++++++++++++++++++---------------------------
 1 file changed, 40 insertions(+), 53 deletions(-)

commit d34cb65828fe8bceafff97b64bebb108cbd743ed
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 21:44:04 2017 -0700

    iface-modem-voice: port mm_iface_modem_voice_disable to use GTask

 src/mm-iface-modem-voice.c | 89
 ++++++++++++++++++++++++----------------------
 1 file changed, 47 insertions(+), 42 deletions(-)

commit 121d43fcc69ee985155979ebe549a20e933f7d12
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 21:44:03 2017 -0700

    iface-modem-voice: port mm_iface_modem_voice_enable to use GTask

 src/mm-iface-modem-voice.c | 108
 ++++++++++++++++++++-------------------------
 1 file changed, 49 insertions(+), 59 deletions(-)

commit 1ff9fe6ac2309675b2574513d956ed50a1826b59
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 21:44:02 2017 -0700

    iface-modem-voice: port mm_iface_modem_voice_initialize to use GTask

 src/mm-iface-modem-voice.c | 97
 ++++++++++++++++++++--------------------------
 1 file changed, 42 insertions(+), 55 deletions(-)

commit b7a0afaf954192aeeea376fb8fb987d0aa7f6e88
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 21:43:50 2017 -0700

    iface-modem-oma: port mm_iface_modem_oma_disable to use GTask

 src/mm-iface-modem-oma.c | 87
 +++++++++++++++++++++++++-----------------------
 1 file changed, 46 insertions(+), 41 deletions(-)

commit 193784ebf8993fd6e8c11430fe70934df0ec94ce
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 21:43:49 2017 -0700

    iface-modem-oma: port mm_iface_modem_oma_enable to use GTask

 src/mm-iface-modem-oma.c | 125
 ++++++++++++++++++++++-------------------------
 1 file changed, 59 insertions(+), 66 deletions(-)

commit f23f3f2c3f87d9451aa8701cd5be50cb0f2838a2
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 21:43:48 2017 -0700

    iface-modem-oma: port mm_iface_modem_oma_initialize to use GTask

 src/mm-iface-modem-oma.c | 99
 +++++++++++++++++++++---------------------------
 1 file changed, 43 insertions(+), 56 deletions(-)

commit 04425e8ee0db6b416fc70596d9938f9d166db0b4
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 09:30:03 2017 -0700

    iface-modem-3gpp-ussd: port mm_iface_modem_3gpp_ussd_disable to
    use GTask

 src/mm-iface-modem-3gpp-ussd.c | 73
 ++++++++++++++++++++++--------------------
 1 file changed, 39 insertions(+), 34 deletions(-)

commit bee90dc1037717f81307090bf52ead2b3dc58623
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 09:30:02 2017 -0700

    iface-modem-3gpp-ussd: port mm_iface_modem_3gpp_ussd_enable to
    use GTask

 src/mm-iface-modem-3gpp-ussd.c | 73
 ++++++++++++++++++++++--------------------
 1 file changed, 39 insertions(+), 34 deletions(-)

commit e8a647ddee33494cf3a20a05701a6a4ad5b26af4
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 09:30:01 2017 -0700

    iface-modem-3gpp-ussd: port mm_iface_modem_3gpp_ussd_initialize to
    use GTask

 src/mm-iface-modem-3gpp-ussd.c | 76
 ++++++++++++++++++++++--------------------
 1 file changed, 39 insertions(+), 37 deletions(-)

commit 3d800c2f496480d2979c4a1d70b3887ec2934b59
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 08:30:21 2017 -0700

    compat: add compatibility definitions for old MM_MODEM_BAND_EUTRAN_*
    values

    Those Roman numeral suffixes in MM_MODEM_BAND_EUTRAN_* were replaced
    with 1, 2, 3, ..., etc. This patch adds a compatibility header,
    ModemManager-compat.h, to alias the old MM_MODEM_BAND_EUTRAN_*
    values to
    the new values.

 docs/reference/api/ModemManager-docs.xml     |   5 +
 docs/reference/api/ModemManager-sections.txt |  40 +++
 include/Makefile.am                          |   1 +
 include/ModemManager-compat.h                | 468
 +++++++++++++++++++++++++++
 include/ModemManager.h                       |   3 +
 libmm-glib/Makefile.am                       |   1 +
 6 files changed, 518 insertions(+)

commit 989ade7b8c2f8add2b670294453d2a93463b42f2
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 28 00:13:22 2017 -0700

    enums: replace Roman numeral suffixes in MM_MODEM_BAND_EUTRAN_*

    3GPP TS 36.101 Table 5.5-1 refers the E-UTRA operating bands as 1,
    2, 3,
    ..., etc.

 include/ModemManager-enums.h                       | 144 +++++++-------
 plugins/altair/mm-modem-helpers-altair-lte.c       |   4 +-
 .../altair/tests/test-modem-helpers-altair-lte.c   |   8 +-
 plugins/telit/mm-modem-helpers-telit.c             |   6 +-
 plugins/telit/tests/test-mm-modem-helpers-telit.c  |  24 +--
 plugins/ublox/mm-modem-helpers-ublox.c             |  20 +-
 plugins/ublox/tests/test-modem-helpers-ublox.c     |  62 +++---
 src/mm-modem-helpers-qmi.c                         | 211
 ++++++++++-----------
 8 files changed, 239 insertions(+), 240 deletions(-)

commit 0fb0184a2f2c11927ef095fba71e0725e5a6e5e2
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jun 27 08:54:08 2017 -0700

    iface-modem-messaging: port mm_iface_modem_messaging_disable to
    use GTask

 src/mm-iface-modem-messaging.c | 89
 ++++++++++++++++++++++--------------------
 1 file changed, 47 insertions(+), 42 deletions(-)

commit 1603e6e4bd89d4a00df668831cd29317bb9dfaca
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jun 27 08:54:07 2017 -0700

    iface-modem-messaging: port mm_iface_modem_messaging_enable to
    use GTask

 src/mm-iface-modem-messaging.c | 182
 ++++++++++++++++++++---------------------
 1 file changed, 91 insertions(+), 91 deletions(-)

commit 6aa4e051087be3408c3b0bc897d2b8321b4844ef
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jun 27 08:54:06 2017 -0700

    iface-modem-messaging: port mm_iface_modem_messaging_initialize to
    use GTask

 src/mm-iface-modem-messaging.c | 129
 +++++++++++++++++++----------------------
 1 file changed, 60 insertions(+), 69 deletions(-)

commit 24420586672c9880a64b2eef72661a593ba26807
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jun 27 07:31:49 2017 -0700

    iface-modem-firmware: port mm_iface_modem_firmware_initialize to
    use GTask

 src/mm-iface-modem-firmware.c | 95
 +++++++++++++++++++------------------------
 1 file changed, 41 insertions(+), 54 deletions(-)

commit 8101ce3f15eb45912cc01ad5ba0307adcb0426d0
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jun 27 01:42:28 2017 -0700

    iface-modem-location: port mm_iface_modem_location_enable to use GTask

 src/mm-iface-modem-location.c | 82
 ++++++++++++++++++-------------------------
 1 file changed, 35 insertions(+), 47 deletions(-)

commit 7c2c7bc7630a16de2f273b2a5d11819a06508e72
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jun 27 01:41:45 2017 -0700

    iface-modem-location: port mm_iface_modem_location_initialize to
    use GTask

 src/mm-iface-modem-location.c | 109
 +++++++++++++++++++-----------------------
 1 file changed, 50 insertions(+), 59 deletions(-)

commit adc30c7073af2824dfa6fc889e0d705e0cb0a8ff
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jun 26 22:54:00 2017 -0700

    iface-modem-location: port setup_gathering to use GTask

 src/mm-iface-modem-location.c | 107
 ++++++++++++++++++++++--------------------
 1 file changed, 57 insertions(+), 50 deletions(-)

commit ed8cc03f970d0ffb7b0082060b6566e424067b0a
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jun 26 22:53:59 2017 -0700

    iface-modem-location: port mm_iface_modem_location_disable to
    use GTask

 src/mm-iface-modem-location.c | 63
 ++++++++++++++++++++++---------------------
 1 file changed, 33 insertions(+), 30 deletions(-)

commit 292f2402d09015e7a44bd02630961845063b6a7d
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 20:00:53 2017 -0700

    libmm-glib,voice: port mm_modem_voice_list_calls to use GTask

 libmm-glib/mm-modem-voice.c | 77
 +++++++++++++++++++--------------------------
 1 file changed, 32 insertions(+), 45 deletions(-)

commit 9bf9d036eca7b266aec61f271b5058fc46ebf7d8
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 20:00:52 2017 -0700

    libmm-glib,voice: port mm_modem_voice_create_call to use GTask

 libmm-glib/mm-modem-voice.c | 61
 +++++++++++++--------------------------------
 1 file changed, 17 insertions(+), 44 deletions(-)

commit 135fc84cf1750153a8d80541b5561132ed939caa
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 20:00:51 2017 -0700

    libmm-glib,messaging: port mm_modem_messaging_list to use GTask

 libmm-glib/mm-modem-messaging.c | 77
 +++++++++++++++++------------------------
 1 file changed, 32 insertions(+), 45 deletions(-)

commit 498400d94340708c93777ccbe9d543a40b0e2e50
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 20:00:50 2017 -0700

    libmm-glib,messaging: port mm_modem_messaging_create to use GTask

 libmm-glib/mm-modem-messaging.c | 53
 ++++++++++-------------------------------
 1 file changed, 13 insertions(+), 40 deletions(-)

commit aebc1f3f6c8df7a3a3a710fb2626e6003889de29
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 16:31:38 2017 -0700

    libmm-glib,modem: port mm_modem_list_bearers to use GTask

 libmm-glib/mm-modem.c | 80
 +++++++++++++++++++++++----------------------------
 1 file changed, 36 insertions(+), 44 deletions(-)

commit 23206d794a686248cec6307dbd0d943432d473da
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 09:11:07 2017 -0700

    libmm-glib,modem: port mm_modem_create_bearer to use GTask

 libmm-glib/mm-modem.c | 52
 +++++++++++++--------------------------------------
 1 file changed, 13 insertions(+), 39 deletions(-)

commit d84bb54e77bdbde1d69d28f9bb161e6ff1c8c138
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 09:11:06 2017 -0700

    libmm-glib,modem: port mm_modem_get_sim to use GTask

 libmm-glib/mm-modem.c | 41 +++++++++++++----------------------------
 1 file changed, 13 insertions(+), 28 deletions(-)

commit 2327ebddf1828911830edf1d3d1b98b04256a341
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 09:11:05 2017 -0700

    libmm-glib: use g_list_copy_deep for deep copying a GList

 libmm-glib/mm-modem-messaging.c | 3 +--
 libmm-glib/mm-modem-voice.c     | 3 +--
 libmm-glib/mm-modem.c           | 3 +--
 3 files changed, 3 insertions(+), 6 deletions(-)

commit 8ad785925a778ddd595337ae012b58bd387f7a7e
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 09:11:04 2017 -0700

    core: use g_list_copy_deep for deep copying a GList

 src/mm-base-modem.c          | 6 +-----
 src/mm-bearer-list.c         | 5 +++--
 src/mm-broadband-modem-qmi.c | 3 +--
 src/mm-device.c              | 8 +++-----
 4 files changed, 8 insertions(+), 14 deletions(-)

commit 19794d08467ed9dcaae0de2a62a68f6299d4ab7b
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 01:12:19 2017 -0700

    libmm-glib,manager: port mm_manager_scan_devices to use GTask

 libmm-glib/mm-manager.c | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

commit 2f3d9642f64fc5cff7d40a9c3d53b87c8c592ad0
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 01:12:18 2017 -0700

    libmm-glib,manager: port mm_manager_set_logging to use GTask

 libmm-glib/mm-manager.c | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

commit 56ec6726692c5da5334519a20f58d0ad55f14f44
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 01:12:17 2017 -0700

    libmm-glib,simple: port mm_modem_simple_connect to use GTask

 libmm-glib/mm-modem-simple.c | 52
 +++++++++++---------------------------------
 1 file changed, 13 insertions(+), 39 deletions(-)

commit 9920f868ebb4d3a1b645cccf2f473d5d51b4c29e
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 00:14:57 2017 -0700

    libmm-glib,voice: fix object unref in
    list_call_context_complete_and_free

 libmm-glib/mm-modem-voice.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c927c0236e5762ef9244c8e3369acd2cf1cf21a3
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 00:04:34 2017 -0700

    libmm-glib,modem: fix object unref in
    list_bearers_context_complete_and_free

 libmm-glib/mm-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8c1bc84af8f52ebdef25d464c28146987cf80c00
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jun 23 00:14:31 2017 -0700

    libmm-glib,messaging: fix object unref in
    list_sms_context_complete_and_free

 libmm-glib/mm-modem-messaging.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4d6896f0d919cc0e474a575f6a809ad5f7a121e1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 22 10:51:40 2017 +0200

    build: rename --with-suspend-resume to --with-systemd-suspend-resume

    And only define WITH_SYSTEMD_SUSPEND_RESUME when enabled.

    We already have other systemd specific features under the
    --with-systemd-* name scheme, so consolidate that, given that we don't
    have any other method to support suspend/resume notifications.

 configure.ac    | 39 ++++++++++++++++++---------------------
 src/Makefile.am |  2 +-
 src/main.c      |  6 +++---
 3 files changed, 22 insertions(+), 25 deletions(-)

commit b2a859a78292175f70dac46d3999c92901fbc264
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 22 10:43:43 2017 +0200

    build: WITH_UDEV is only defined when enabled

    Looks like the preprocessor doesn't choke when using #if WITH_UDEV and
    it isn't defined to any value, but anyway, better explicitly say that
    we're checking if it's defined or not.

 cli/mmcli-manager.c   | 20 ++++++++++----------
 src/mm-base-manager.c | 20 ++++++++++----------
 src/mm-context.c      |  4 ++--
 3 files changed, 22 insertions(+), 22 deletions(-)

commit 341555504e739f7ccac11501ca874ef6b1989961
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 22 10:30:48 2017 +0200

    build: only define WITH_SYSTEMD_JOURNAL if enabled

 configure.ac     | 7 ++-----
 src/mm-context.c | 2 +-
 2 files changed, 3 insertions(+), 6 deletions(-)

commit acf36f2ae0a10f8aeee7a1f8495d3febfba52456
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jun 22 10:26:12 2017 +0200

    build: only define WITH_POLKIT if enabled

 configure.ac  | 4 +---
 src/mm-auth.c | 6 +++---
 2 files changed, 4 insertions(+), 6 deletions(-)

commit fd0bed1df9e306d8f0d2498afb8df316ca8b3f9e
Author: Torsten Hilbrich <torsten.hilbrich@secunet.com>
Date:   Wed Jun 21 12:59:35 2017 +0200

    log: Add support for journal logging

    This logging is available if the software was build with the configure
    option --with-systemd-journal.

    It will be enabled by default if libsystemd is found.

    The runtime parameter --log-journal enables to output of log messages
    to the systemd journal.

    Please note that the journal priority field has the same value as the
    syslog level so no conversion is required here.

 configure.ac            | 35 +++++++++++++++++++++++++++++++++++
 docs/man/ModemManager.8 |  3 +++
 src/Makefile.am         |  5 +++++
 src/main.c              |  1 +
 src/mm-context.c        | 14 ++++++++++++++
 src/mm-context.h        |  1 +
 src/mm-log.c            | 49
 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-log.h            |  1 +
 8 files changed, 109 insertions(+)

commit 13592c5d2d6fdf74a5525f1f15d4e7477c73c986
Author: Torsten Hilbrich <torsten.hilbrich@secunet.com>
Date:   Wed Jun 21 12:58:48 2017 +0200

    log: Introduce function pointer to handle different log backends

    This allows for easier additions of other logging mechanism.

    Using the syslog loglevel as parameter because we need to be able to
    map the MMLogLevel and the GLogLevelFlags to a common representation
    when using the log_backend in _mm_log and log_handler.

    The syslog level is more suitable because it supports more values than
    the MMLogLevel.

 src/mm-log.c | 55 ++++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 19 deletions(-)

commit 7917c85c6bef78c3ec2973ad567f76f87e1eac4b
Author: Torsten Hilbrich <torsten.hilbrich@secunet.com>
Date:   Wed Jun 21 12:54:37 2017 +0200

    log: Add mapping from glib loglevel to syslog priority

    Improves readability of log_handler function.

 src/mm-log.c | 44 ++++++++++++++++++++------------------------
 1 file changed, 20 insertions(+), 24 deletions(-)

commit 9160f4e35096fcb99fd6f713861f8f433ef6fbf2
Author: Torsten Hilbrich <torsten.hilbrich@secunet.com>
Date:   Wed Jun 21 12:54:36 2017 +0200

    log: Refactor log level text output

    Adding a helper function to turn the log level into the text. Also
    add an internal flag to disable this output. This flag will become
    useful when adding systemd journal support.

 src/mm-log.c | 34 ++++++++++++++++++++--------------
 1 file changed, 20 insertions(+), 14 deletions(-)

commit b4ad1e8a21c1b175eb2459939120c5fb1fef2c08
Author: Torsten Hilbrich <torsten.hilbrich@secunet.com>
Date:   Wed Jun 21 12:54:35 2017 +0200

    log: Refactor evaluation of log level

    Starting with adding a typed enum type for the log level named
    MMLogLevel.

    Suggested-By: Aleksander Morgado <aleksander@aleksander.es>

    The level was checked twice in _mm_log. Once at the beginning and
    again when turning the level into both the syslog priority and some
    descriptive text which was added to the log level. Removing the check
    at the second location as it was redundant.

    Also adding a helper function to turn the MMLogLevel into the syslog
    equivalent. This will become handy when adding support for systemd
    journal.

 src/mm-log.c | 54 ++++++++++++++++++++++++++++++++++++------------------
 src/mm-log.h | 22 +++++++++++-----------
 2 files changed, 47 insertions(+), 29 deletions(-)

commit 0e854644dbd896577eaa8f9b05c10aa6283b9533
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 18 10:01:06 2017 +0200

    systemd: drop After=syslog.target rule

    syslog implementations are using socket activation nowadays, so an
    explicit ordering is not necessary anymore. Plus, syslog.target was
    already dropped from systemd in v198.

    Reported-by: Michael Biebl <biebl@debian.org>

 data/ModemManager.service.in | 1 -
 1 file changed, 1 deletion(-)

commit 4dbea97e1bb74ddf1a1cee15892d18a2bdafa003
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Fri Jun 16 16:12:39 2017 +0200

    telit: fix #PSNT values interpretation for HSDPA and LTE modems

    Telit LTE modems use #PSNT: 4 for LTE access technology,
    and #PSNT: 5 for unknown access technology, while HSDPA
    modems use #PSNT: 4 for unknown access technology.

    This patch fixes those #PSNT values interpretation according
    to the modem capabilities.

 plugins/telit/mm-broadband-modem-telit.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

commit 58206664959a73deb8008b82b5070edb4ef87df2
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Fri Jun 16 14:57:18 2017 +0200

    helpers: extend +WS46=? response parser to support ranges

    Telit LTE modems could reply to +WS46=? with:

    +WS46: (12,22,25,28-31)

    This patch extends +WS46=? response parser to support ranges.

 src/mm-modem-helpers.c         | 25 ++++++++++++-------------
 src/tests/test-modem-helpers.c | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+), 13 deletions(-)

commit e37e81c2e40b0ddfaa0b8d0075aa83b962d7c32e
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jun 14 15:07:51 2017 -0500

    broadband-modem-qmi: allow prefix match for Modem images ending with
    '?'

    Assume that a modem image build_id "02.08.02.00_?" matches a pri
    build_id
    of "02.08.02.00_ATT" or "02.08.02.00_GENERIC".

 src/mm-broadband-modem-qmi.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

commit 75e8527987c1e225c1861a659206630305b2f31b
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jun 6 15:10:49 2017 -0700

    helpers: remove unnecessary `>= 0' checks on guint value

    This CL removes the unnecessary `>= 0' check on `mode_val' and
    `ind_val', which are both guint values extracted from a GArray with
    guint values, in mm_3gpp_parse_cmer_test_response to address the
    following compiler warnings:

    mm-modem-helpers.c:2933:22: error: comparison of unsigned expression
    >=
    0 is always true [-Werror,-Wtautological-compare]
            if (mode_val >= 0 && mode_val <= 3)
                ~~~~~~~~ ^  ~
    mm-modem-helpers.c:2943:21: error: comparison of unsigned expression
    >=
    0 is always true [-Werror,-Wtautological-compare]
            if (ind_val >= 0 && ind_val <= 2)
                ~~~~~~~ ^  ~

 src/mm-modem-helpers.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit f4c4e364612adcb279ff8bb78a9eab127ef79e82
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 30 20:09:58 2017 +0200

    cinterion: use ^SIND unsolicited messages for access tech reporting

    If the modem supports ^SIND psinfo reporting, we enable the URC and
    flag the access technology polling unsupported, so that we only update
    access technology via the +CIEV URCs.

    E.g.:

        (ttyACM1): --> 'AT^SIND="psinfo",1<CR>'
        (ttyACM1): <-- '<CR><LF>^SIND:
        psinfo,1,10<CR><LF><CR><LF>OK<CR><LF>'
        Reporting initial access technologies...
        Modem /org/freedesktop/ModemManager1/Modem/0: access technology
        changed (unknown -> hsdpa, hsupa)
        ...
        (ttyACM1): <-- '<CR><LF>+CIEV: psinfo,4<CR><LF>'
        Modem /org/freedesktop/ModemManager1/Modem/0: access technology
        changed (hsdpa, hsupa -> edge)
        ...

 plugins/cinterion/mm-broadband-modem-cinterion.c | 470
 ++++++++++++++++-------
 plugins/cinterion/mm-modem-helpers-cinterion.c   |  33 ++
 plugins/cinterion/mm-modem-helpers-cinterion.h   |   5 +
 3 files changed, 366 insertions(+), 142 deletions(-)

commit fbfb3d182d9852be1d01004ab31721538d6594d1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 30 20:09:57 2017 +0200

    port-serial-at: always prepend unsolicited message handlers

    The generic modem has several URC handlers for generic messages, like
    +CIEV. But, there may be cases where the plugins themselves want to
    provide their own URC handlers to be run before the generic one.

    This patch enables this setup by always prepending the new URC
    handlers, so that the last ones added are processed before the ones
    already in the list. So if a plugin does its own unsolicited
    messages setup, they can run first the parent setup and then their
    own.

    The only thing to consider is that the regex provided by the plugin
    must be specific enough not to match the specific messages required
    by the parent implementation.

 src/mm-port-serial-at.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 2c19b1f778af9b0e4200b063d3d0ed064c17b6b1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 30 20:09:56 2017 +0200

    iface-modem: if bands, capabilities or modes change, refresh signal

    We also remove the explicit refresh request from the Cinterion plugin,
    as this is a generic action applicable to all modems that require
    polling for signal quality and/or access technology.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 10 ++--------
 src/mm-iface-modem.c                             | 16 +++++++++++++---
 2 files changed, 15 insertions(+), 11 deletions(-)

commit 8ad868cea27f2ab043e5dfb544d5d70de34f60c2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 30 20:09:55 2017 +0200

    iface-modem: consolidate signal quality and access tech polling

    Plugins have two ways to update signal quality and access technology
    values: via unsolicited messages or via polling periodically.

    Instead of keeping separate contexts for polling signal quality and
    access technology values, we setup a common timeout to trigger
    both. This allows us to simplify in which case the explicit update is
    required, whenever one is needed to be explicitly updated, the other
    one should also be.

    The logic now also allows plugins to return an UNSUPPORTED error in
    either load_signal_quality() and/or load_access_technologies() to tell
    the interface logic that the polling of the specific item shouldn't be
    performed (e.g. if the updates are expected via unsolicited messages).

    If both signal quality and access technology polling is flagged as
    disabled, we totally disable the polling logic internally.

    The new SignalCheckContext is bound to the lifetime of the object so
    that we can keep the value of the supported flags until the object is
    destroyed.

 plugins/cinterion/mm-broadband-modem-cinterion.c |   8 +-
 src/mm-iface-modem-3gpp.c                        |   7 +-
 src/mm-iface-modem.c                             | 589
 ++++++++++++-----------
 src/mm-iface-modem.h                             |   6 +-
 4 files changed, 312 insertions(+), 298 deletions(-)

commit 34ac81071b90e4e15c209b2540d62cc8ca55f9da
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 2 12:16:21 2017 +0200

    base-bearer: use an initial longer timeout for connectivity check

    If we ask too quick for the PDP context status after a successful
    connection attempt reported by the modem, we may find it still flagged
    as inactive if the modem is still busy setting up the PPP session.

    Do an explicit longer initial timeout before we run the first check,
    and after that one setup the additional checks at a higher rate.

    Reported-by: Colin Helliwell <colin.helliwell@ln-systems.com>

 src/mm-base-bearer.c | 33 ++++++++++++++++++++++++++-------
 1 file changed, 26 insertions(+), 7 deletions(-)

commit db5619b3eb9bac980f8f1f67c1589b5d73761917
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 5 15:05:45 2017 +0200

    build,dell: reorder rules last

    Dell plugin is a compilation of other plugins, move last.

 plugins/Makefile.am | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

commit d6d7b837b80b2248358db2abebf836ce5bfe9c49
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 5 14:24:24 2017 +0200

    build,telit: fix distcheck

 plugins/Makefile.am | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

commit 08782995e2db3e3e86f5cad54825d79eec68d0f2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 2 11:04:35 2017 +0200

    telit: rework QSS unsolicited handler enabling logic

    When the async method starts we store already the primary and the
    optional secondary port objects in the method context, keeping a full
    reference for each.

    When we parse the response for the enabling command, we just reuse the
    stored port objects, instead of re-querying the modem to get them, and
    this makes sure that the port objects where we want to set the
    unsolicited message handlers are still valid. If the ports are gone
    in the middle of the enabling operation, the handlers will be set
    without errors, even if the ports may likely get completely disposed
    when this async method context is disposed.

    Additionally, we make sure that we return an error also for the case
    where there is no secondary port and the enabling on the primary port
    failed.

    This patch also fixes the use of the at_command_full_finish()
    method to
    complete the at_command_full() async operation, to keep consistency.

 plugins/telit/mm-broadband-modem-telit.c | 102
 +++++++++++++------------------
 1 file changed, 41 insertions(+), 61 deletions(-)

commit d6779b91b23e207beb9591461b25c2201f3831b9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 2 10:53:43 2017 +0200

    telit: make sure QSS status values read are always known

    Given that the MMTelitQssStatus enums are mapped directly to the
    values read from the #QSS response, we need to make sure that we never
    return a value for which we don't have an enum defined.

    Also, use set_error() instead of the propagate_error() + error_new()
    combo.

 plugins/telit/mm-modem-helpers-telit.c            | 20
 +++++++++++++++-----
 plugins/telit/tests/test-mm-modem-helpers-telit.c |  1 +
 2 files changed, 16 insertions(+), 5 deletions(-)

commit 4cd5044bfd5d2394b5001c4c6de63b181b0051bf
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Thu Jun 1 11:04:04 2017 +0200

    telit: manage QSS transitions

    Currently, Telit's SIM swap implementation is stateless and
    based on #QSS unsolicited messages 0/1 (SIM_REMOVED/SIM_INSERTED).

    However, the user might have configured the modem in order to
    provide a
    more detailed information, with #QSS values 2/3 (SIM UNLOCKED/SIM
    READY).

    In this case and with current implementation, even receiving "#QSS:
    3" will
    trigger the "SIM swap" logic. The same issue might occur in other
    use cases
    too, i.e. with SIM locked or when the message is received from
    both USB
    ports.

    This patch makes SIM swap implementation stateful, and it considers
    as an
    actual SIM swap, only transitions from #QSS: 0 to #QSS: 1/2/3 and vice
    versa.

 .gitignore                                        |   2 +
 plugins/Makefile.am                               | 107 +++++----
 plugins/telit/mm-broadband-modem-telit.c          | 266
 +++++++++++++++-------
 plugins/telit/mm-modem-helpers-telit.c            |  20 ++
 plugins/telit/mm-modem-helpers-telit.h            |  12 +
 plugins/telit/tests/test-mm-modem-helpers-telit.c |  38 ++++
 6 files changed, 329 insertions(+), 116 deletions(-)

commit b5e94185bb487d39f75537755c1ea03b40737ca8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 16 13:25:30 2017 +0100

    huawei: let the E3372 run NDISDUP via TTY

    This modem ends up exposing a cdc-wdm port and a WWAN network
    interface, but the cdc-wdm port is totally unusable, it won't reply to
    any AT command or anything.

    Instead this modem can do NDISDUP via TTY, which is what the Windows
    drivers are also doing.

 plugins/huawei/77-mm-huawei-net-port-types.rules | 3 +++
 1 file changed, 3 insertions(+)

commit e2e2c3e0191175eb4e3ce781b17c015cd44dfd66
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 17 15:15:07 2017 +0200

    cinterion: retry GPS Engine activation up to 3 times

    The default setup with 100ms between GPS commands doesn't seem to be
    always enough for the Engine activation step:

       [1495016625.392972] (ttyACM1): -->
       'AT^SGPSC="NMEA/Output","on"<CR>'
       [1495016625.503885] (ttyACM1): <-- '<CR><LF>^SGPSC:
       "Nmea/Output","on"<CR><LF><CR><LF><CR><LF>OK<CR><LF>'
       [1495016625.607650] (ttyACM1): -->
       'AT^SGPSC="Power/Antenna","on"<CR>'
       [1495016625.697862] (ttyACM1): <-- '<CR><LF>^SGPSC:
       "Power/Antenna","on"<CR><LF><CR><LF>OK<CR><LF>'
       [1495016625.809393] (ttyACM1): --> 'AT^SGPSC="Engine","1"<CR>'
       [1495016625.895970] (ttyACM1): <-- '<CR><LF>+CME ERROR:
       767<CR><LF>'

    We now setup up to 3 retries for the Engine activation step before
    returning an error, and we also update to 2000ms the wait time before
    the Engine activation command is run.

 plugins/cinterion/mm-common-cinterion.c | 43
 ++++++++++++++++++++++++---------
 1 file changed, 32 insertions(+), 11 deletions(-)

commit aa8ac416f8ac2f81c0d157c707f44d728608c2a6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 14 22:50:26 2017 +0200

    cinterion: support AT^SGPSC capable modems

    The AT^SGPSS command provides an easy way to just start/stop GPS, but
    unfortunately it isn't supported by all Cinterion modems.

    The AT^SGPSC command instead is more widely available but it requires
    several steps to start and stop the different elements of the GPS
    receiver.

    Implement support for both, preferring AT^SGPSSS if available and
    falling back to AT^SGPSC otherwise.

 plugins/cinterion/mm-common-cinterion.c | 209
 +++++++++++++++++++++++++++-----
 1 file changed, 182 insertions(+), 27 deletions(-)

commit d772301cd4618e792053868aec60b39d9b8dbae5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 14 21:47:54 2017 +0200

    cinterion: setup GPS port only if GPS support detected

    i.e. if AT^SGPSS not supported, we don't even add traces handler to
    the GPS data port.

 plugins/cinterion/mm-broadband-modem-cinterion.c   |  14 ---
 .../cinterion/mm-broadband-modem-qmi-cinterion.c   |  16 ----
 plugins/cinterion/mm-common-cinterion.c            | 103
 ++++++++++-----------
 plugins/cinterion/mm-common-cinterion.h            |   2 -
 4 files changed, 47 insertions(+), 88 deletions(-)

commit 1857e9b36e3540404fc864a30ce371635e476aec
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 14 21:30:54 2017 +0200

    cinterion: flag PLS8 GPS data port

 plugins/cinterion/77-mm-cinterion-port-types.rules | 4 ++++
 1 file changed, 4 insertions(+)

commit bf549d1bca405d14dcff6e37ab3fd85c930b2b17
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 14 21:22:48 2017 +0200

    cinterion,location: refactor enable/disable and capabilities checks

    When checking for location capabilities, we will make sure AT^SGPSS is
    supported and if it isn't we won't report GPS capabilities.

    The location enable and disable paths are refactored to make it easier
    to add possible new GPS commands to use instead of AT^SGPSS, if this
    isn't supported (e.g. in the PLS8 devices).

 plugins/cinterion/mm-common-cinterion.c | 534
 +++++++++++++++++++++-----------
 1 file changed, 350 insertions(+), 184 deletions(-)

commit 2eb55d32249100fa1f501f936d2bda04ca6fcb9a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 30 17:28:23 2017 +0200

    plugins: use G_N_ELEMENTS when iterating ports array

 plugins/altair/mm-broadband-modem-altair-lte.c | 2 +-
 plugins/anydata/mm-broadband-modem-anydata.c   | 2 +-
 plugins/icera/mm-broadband-modem-icera.c       | 2 +-
 plugins/mbm/mm-broadband-modem-mbm.c           | 4 ++--
 plugins/mtk/mm-broadband-modem-mtk.c           | 2 +-
 plugins/option/mm-broadband-modem-option.c     | 2 +-
 plugins/samsung/mm-broadband-modem-samsung.c   | 2 +-
 plugins/sierra/mm-common-sierra.c              | 2 +-
 plugins/simtech/mm-broadband-modem-simtech.c   | 2 +-
 plugins/via/mm-broadband-modem-via.c           | 4 ++--
 plugins/zte/mm-common-zte.c                    | 2 +-
 11 files changed, 13 insertions(+), 13 deletions(-)

commit b874fba0e68414b61625e4bbd2ea6584f4ebaf51
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 23 18:33:23 2017 +0200

    ublox: use send-delay=0 by default

    Looks like the u-blox SARA-U260 requires this, see:
    https://lists.freedesktop.org/archives/modemmanager-devel/2017-May/004670.html

 plugins/ublox/mm-broadband-modem-ublox.c | 31
 ++++++++++++++++++++++++++++++-
 plugins/ublox/mm-plugin-ublox.c          |  1 +
 2 files changed, 31 insertions(+), 1 deletion(-)

commit fcd4a8c5dc6be8e72cfa7378829fef5c27c892a7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 23 18:24:58 2017 +0200

    altair,hso,samsung: setup send-delay=0 for probing

    The Altair, Option HSO and Samsung plugins all use the send-delay=0
    setting once the modem object has been created. For consistency, use
    the same setting during port probing.

 plugins/altair/mm-plugin-altair-lte.c | 1 +
 plugins/option/mm-plugin-hso.c        | 1 +
 plugins/samsung/mm-plugin-samsung.c   | 1 +
 3 files changed, 3 insertions(+)

commit 2b8a7e4c165f6f39d480b17be48c83efe6698816
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 21 14:54:41 2017 +0200

    telit: remove custom +CMER enabling

    This is now managed directly in the generic plugin.

 plugins/cinterion/mm-broadband-modem-cinterion.c |  2 +
 plugins/telit/mm-broadband-modem-telit.c         | 84
 ++++++++++++++++--------
 2 files changed, 60 insertions(+), 26 deletions(-)

commit ec98b9e95679a611abc99ecf91a2dfe62ed28b70
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 21 14:54:40 2017 +0200

    cinterion: remove custom +CMER enabling

    This is now managed directly in the generic plugin.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 30
 ------------------------
 1 file changed, 30 deletions(-)

commit 024c7a1a8fd359c0c67fa87564a31f9c395e3903
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 22 19:21:02 2017 +0200

    broadband-modem: query +CMER format before enabling/disabling

    Don't blindly try '+CMER=3,0,0,1' to enable and '+CMER=0' to disable
    Mobile Equipment Event Reporting. We now query the device for the
    supported formats and use that info to build commands that will work.

 src/mm-broadband-modem.c       | 137
 +++++++++++++++++++++++++++++++++--------
 src/tests/test-modem-helpers.c |  12 ++++
 2 files changed, 124 insertions(+), 25 deletions(-)

commit e753911a4e9dad801b0cf0518b1abbe317598dee
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 22 14:43:40 2017 +0200

    helpers: new 'AT+CMER=?' parser

 src/mm-modem-helpers.c         | 123
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |  25 +++++++++
 src/tests/test-modem-helpers.c |  68 +++++++++++++++++++++++
 3 files changed, 216 insertions(+)

commit 7f3b552804d96554a039430d86e8cac6268198b1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 21 19:17:55 2017 +0200

    cinterion: support changing modes in LTE capable devices

 plugins/cinterion/mm-broadband-modem-cinterion.c | 164
 +++++++++++------------
 1 file changed, 78 insertions(+), 86 deletions(-)

commit e6f245c6dfe48be33e1099e842dec1c0e30a1508
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu May 18 09:57:37 2017 +0200

    udev: remove default ID_MM_PLATFORM_DRIVER_PROBE whitelist

    The whitelist made all platform TTYs managed by the 'atmel_usart'
    kernel driver probed by ModemManager, which isn't something we want,
    as most of these aren't broadband modems.

    We leave the logic supporting the ID_MM_PLATFORM_DRIVER_PROBE udev tag
    as there may be a case where the user does need ModemManager to probe
    a given platform TTY.

 src/77-mm-platform-serial-whitelist.rules | 13 -------------
 src/Makefile.am                           |  1 -
 2 files changed, 14 deletions(-)

commit 57f193bd040575642cacfd2a53de0b05d4258a6c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 29 13:42:23 2017 +0200

    log: remove func loc info unless MM_LOG_FUNC_LOC is defined

    The user can build the project passing custom CFLAGS to enable the
    function location information, e.g.:

        $ ./configure --prefix=/usr CFLAGS="-DMM_LOG_FUNC_LOC"

 src/main.c   | 1 -
 src/mm-log.c | 9 +++------
 src/mm-log.h | 1 -
 3 files changed, 3 insertions(+), 8 deletions(-)

commit 3bb0f7e66d8203a1dc78eb6d404e29aefef6a88c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu May 18 12:43:49 2017 +0200

    context: rework application options and help output

    Group together all options that allow configuring the logging output,
    and make them have the same --log-[XXX] prefix.

    Also rework the --help output so that all option groups are printed by
    default (i.e. there is no longer a --help-all option).

 docs/man/ModemManager.8 |  26 +++----
 src/main.c              |   4 +-
 src/mm-context.c        | 196
 +++++++++++++++++++++++++++++++++++-------------
 src/mm-context.h        |  12 +--
 4 files changed, 162 insertions(+), 76 deletions(-)

commit 51bb354624865414e8a036e3502c1b713999ec1f
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Mon May 29 09:48:20 2017 +0200

    dell: speed probing time up and reduce udev dependency

    Currently Dell plugin implements a retry logic of three commands
    (AT+GMI, AT+CGMI, ATI1I2I3) to detect modem's vendor string.
    Moreover, since Telit modems always reply to the first command,
    to speed
    the probing time up, those modem are tagged with an Udev rule so
    that we
    can avoid sending the other two commands at all.

    However, the retry logic is in case a port needs some time to
    reply, so
    it makes sense to apply it only to the first command. Then if the
    port still
    does not respond with any kind of reply, that probably means that
    it is not
    AT capable and we can skip the other AT commands as well.

    Then, this patch:
    - sets a maximum number of timeouts for AT+GMI to 3. After this
      timeouts, the port is considered not AT-capable.
    - sets AT+CGMI and ATI1I2I3 to be sent only once.
    - removes Dell udev rule for tagging Telit Modems.

 plugins/dell/77-mm-dell-port-types.rules |  4 ----
 plugins/dell/mm-plugin-dell.c            | 29
 ++++++++++++++++++-----------
 2 files changed, 18 insertions(+), 15 deletions(-)

commit d986277f13db31cd91de2f6a8bf3b812d9f3fc04
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Fri May 5 16:49:38 2017 +0200

    telit: removed ID_MM_TELIT_PORTS_TAGGED dependency

    Currently, Telit plugin depends on ID_MM_TELIT_PORTS_TAGGED
    environment variable, set by udev, for tagging modems that
    support dynamic port config (#PORTCFG)

    To remove this dependency from udev, Telit plugin now relies
    only on the error management of the command AT#PORTCFG? itself
    in order to see whether the modem supports it or not.

 plugins/telit/77-mm-telit-port-types.rules | 9 ---------
 plugins/telit/mm-common-telit.c            | 9 +--------
 2 files changed, 1 insertion(+), 17 deletions(-)

commit 8387dc7a7c6b21b28783c7db6d94a111ce7b7485
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 22 13:18:19 2017 +0200

    broadband-modem: don't create sim hot swap ports context multiple
    times

 src/mm-broadband-modem.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

commit 0f99328af635979a91c4c4e31e2d6692d2b78181
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 21 18:55:35 2017 +0200

    cinterion: don't enable simstatus URCs

    When polling for the SIM status, we want to read the value (mode 2)
    without enabling indications (mode 1).

 plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a6909379024fcdd48275aa89372b574b867a40d6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun May 21 14:32:48 2017 +0200

    mbm: fix async method completion enabling unsolicited events

 plugins/mbm/mm-broadband-modem-mbm.c | 1 +
 1 file changed, 1 insertion(+)

commit bf579da074ec8485acf12580c89cdbc6cee5d10b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 20 20:27:26 2017 +0200

    iface-modem: always complete async context with a value

    Just for consistency, this is not a bug per se.

 src/mm-iface-modem.c | 1 +
 1 file changed, 1 insertion(+)

commit cab81f679f08beefc85a7582990cce2f276b6190
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu May 18 12:54:37 2017 +0200

    blacklist: ignore default Linux USB Serial Gadget

    Blacklist the default VID:PID for the Linux USB Serial Gadget in ACM
    mode:

    {LINUX}/drivers/usb/gadget/legacy/serial.c
      #define GS_VENDOR_ID       0x0525  /* NetChip */
      #define GS_CDC_PRODUCT_ID  0xa4a7  /* ... as CDC-ACM */

    This should never be reused for real products by hardware
    manufacturers, but anyway...

    Patch actually ported from downstream Ubuntu:
    https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1105352

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 5947cda9f49aad2f3c05dbe44c47fcc575156ac6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu May 18 12:32:06 2017 +0200

    man: include missing --no-auto-scan and --initial-kernel-events

    And remove --test-no-auto-scan, as the 'no auto scan' feature isn't
    only a test feature now.

 docs/man/ModemManager.8 | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

commit e8acfe0296d2883f6f337cb71fd809cc2c90f564
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 15 12:26:57 2017 +0200

    iface-modem: fix setting up signal quality retrieval logic

    If going directly e.g. from "Searching" to "Connecting", just setup
    the signal quality retrieval logic right away, don't assume we always
    go through "Registered" state before starting a connection.

    Reported-by: <colin.helliwell@ln-systems.com>

 src/mm-iface-modem.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit d41d717112e6a183a0df510c210e80a86fc11060
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 10 14:36:28 2017 +0200

    ublox: align property values in g_object_new()

 plugins/ublox/mm-plugin-ublox.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 1ab98b9e8cd327f55529ec43be3cfb0fe21d11a0
Author: Javier Viguera <javier.viguera@digi.com>
Date:   Mon May 8 10:45:46 2017 +0200

    ublox: support modems connected to serial port

    Add the vendor string, so it can be probed via AT commands. This
    allows
    to support modems that are connected to a serial port.

    Signed-off-by: Javier Viguera <javier.viguera@digi.com>

 plugins/ublox/mm-plugin-ublox.c | 2 ++
 1 file changed, 2 insertions(+)

commit fa2e532d2c362e17140408c5917d47d6dac64aea
Author: Javier Viguera <javier.viguera@digi.com>
Date:   Mon May 8 10:45:45 2017 +0200

    port-serial: add B230400 and B921600 missing baudrates

    So MM can use them when opening a specific serial port.

    Signed-off-by: Javier Viguera <javier.viguera@digi.com>

 src/mm-port-serial.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 650d2304259d767e8925d74221c262c020e1bfb0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed May 10 14:26:28 2017 +0200

    blacklist: add keyboard.io devices

    See https://bugs.freedesktop.org/show_bug.cgi?id=85007#c5

    Reported-by: Jesse Vincent <jesse@keyboard.io>

 src/77-mm-usb-device-blacklist.rules | 4 ++++
 1 file changed, 4 insertions(+)

commit 2373a4b65843847e3dacca958f0bab833032b796
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri May 5 11:33:11 2017 +0200

    port-qmi: fix QMI client allocation procedure

    Commit 26ee94ec28b6f68 introduced a bug, where we would be completing
    the client allocation task *before* tracking the new client allocation
    info in the private tracking list.

    This meant that if mm_port_qmi_peek_client() was called in the task
    completion handler, the client object wouldn't be returned, as it
    wasn't found in the private tracking list.

    The fix is just to defer the task completion until after the private
    tracking list is updated.

    Reported-by: Salvador Penalva <salvador.penalva@digi.com>

 src/mm-port-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f3cc78ef02c8c85afc2b7c36bbc17580bff62a34
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 24 22:37:46 2017 -0500

    broadband-modem-qmi: ensure PLMN name is UTF-8

    Some Telit modems apparently sometimes report non-UTF8 characters.

 src/mm-broadband-modem-qmi.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit d4e149c52851439c5a0579653fceff1821ce946b
Author: Maksim Salau <maksim.salau@gmail.com>
Date:   Sun Apr 23 20:39:01 2017 +0300

    blacklist: add Analog Devices EVAL-ADXL362Z-DB

    Signed-off-by: Maksim Salau <maksim.salau@gmail.com>

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 7a68d457742d827b5ce744a7cec14e7862497002
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Wed Apr 19 17:02:20 2017 +0200

    telit: give load lock retries steps a descriptive name

    In order to make debug logging more clear, I replaced the step ID
    with a
    descriptive step name.

 plugins/telit/mm-broadband-modem-telit.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

commit d09bc8baaa9fe93a72bb715530b1403a7a81c891
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 19 10:42:20 2017 +0200

    telit: use mm_get_uint_from_hex_str() to parse CSIM hex response

    The regex is already limiting the string to 4 hex chars, so we can
    definitely fit the number in a guint, no need a guint64.

 plugins/telit/mm-modem-helpers-telit.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

commit 44daf791bbf0c251882f723e9fcc9c89606d69fc
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Wed Apr 19 10:00:19 2017 +0200

    telit: add error_code recognition to +CSIM parser

    - Refactored mm_telit_parse_csim_response in order to correctly
      recognize the following +CSIM error codes:
        * 6300 - Verification failed
        * 6983 - Authentication method blocked
        * 6984 - Reference data invalidated
        * 6A86 - Incorrect parameters
        * 6A88 - Reference data not found

    - Updated correspondent tests.
    - Finally, some minor changes in other files for better error logging

    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=100374

 plugins/telit/mm-broadband-modem-telit.c          |  6 +-
 plugins/telit/mm-modem-helpers-telit.c            | 98
 ++++++++++++++++-------
 plugins/telit/mm-modem-helpers-telit.h            |  3 +-
 plugins/telit/tests/test-mm-modem-helpers-telit.c | 73 ++++++++---------
 4 files changed, 104 insertions(+), 76 deletions(-)

commit 4fe464f5f75bb25da5d05a9b976550732b7620b7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Apr 15 23:26:32 2017 +0200

    core: prefer g_task_return_error_if_cancelled() than custom errors

    When the GCancellable is added to the GTask, we can use a single
    method call to check for the task being cancelled, and complete it
    right away if so.

    This patch also clears up the logic in the Novatel plugin, where the
    code was trying to return "TRUE" when the task was cancelled, but
    wouldn't work as the check-cancellable flag in the GTask is TRUE by
    default (i.e. when completing the GTask, if it was cancelled, a
    G_IO_ERROR_CANCELLED would be returned by default, regardless of any
    other return value set).

    This patch also introduces a small variation of the logic in the
    Cinterion plugin: instead of running SWWAN=0 before completing the
    async action, the command is now sent just after completion of the
    async action. This shouldn't be an issue, as the SWWAN result itself
    is ignored.

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 7 ++-----
 plugins/novatel/mm-common-novatel.c               | 3 +--
 src/mm-auth-provider-polkit.c                     | 6 +-----
 src/mm-iface-modem-signal.c                       | 6 +-----
 4 files changed, 5 insertions(+), 17 deletions(-)

commit 6312753a6bfc09922cd3d2d582f7c3a1ae5f5585
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 25 18:30:02 2017 +0100

    broadband-bearer: once connected, set flow control settings

    During modem initialization we detected the flow control settings
    supported by the modem, and selected the best one to use from them,
    notifying it to the device via AT+IFC. The device was therefore
    instructed to use that flow control setting for data transmission in
    the TTY (i.e. not during AT control commands).

    The missing thing was to also configure ourselves our end of the
    serial port with the same flow control settings when getting into data
    mode. By doing it ourselves, we avoid requiring any explicit setting
    in pppd for flow control; pppd can assume the flow control settings
    are already the expected ones.

    Worth noting that all this setup is completely ignored for TTYs
    exposed directly via USB.

    https://bugs.freedesktop.org/show_bug.cgi?id=100394

 .gitignore                |   2 +
 src/Makefile.am           |  28 +++++++++++
 src/mm-broadband-bearer.c | 125
 ++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-broadband-bearer.h |   3 ++
 src/mm-broadband-modem.c  |  49 ++++++++++++++----
 src/mm-broadband-modem.h  |   3 ++
 src/mm-modem-helpers.h    |   2 +-
 7 files changed, 196 insertions(+), 16 deletions(-)

commit 595bd5dbe330009a04f7840d3aef2d180e848b4e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 25 18:27:09 2017 +0100

    port-serial: remove all default flow control settings

    We won't set XON/XOFF by default and we won't allow setting RTS/CTS
    via a property. The serial port by default starts with no flow control
    configured.

 src/mm-port-serial.c | 34 ++++++----------------------------
 src/mm-port-serial.h |  1 -
 2 files changed, 6 insertions(+), 29 deletions(-)

commit 580c113c5a4c9c8b74edce3808f0c6f0b43e2025
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 25 18:18:46 2017 +0100

    port-serial: new method to explicitly set flow control settings

 src/mm-port-serial.c | 50
 ++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-port-serial.h |  5 +++++
 2 files changed, 55 insertions(+)

commit 3223b56ba9f61c4339d74829748ae6937cffc196
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 25 18:17:41 2017 +0100

    port-serial: new internal method to run tcsetattr()

    The method takes care of looping if EAGAIN errors happen, as well as
    checking whether all attributes were set or not.

 src/mm-port-serial.c | 119
 ++++++++++++++++++++++++---------------------------
 1 file changed, 57 insertions(+), 62 deletions(-)

commit ff6726df11532cbb066bebb1b665faa15a3e25af
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 25 01:16:25 2017 +0100

    telit: ignore custom flow control handling

    The generic modem object already supports querying for the supported
    methods and setting the best one found.

 plugins/telit/mm-broadband-modem-telit.c | 48
 --------------------------------
 1 file changed, 48 deletions(-)

commit 1d2a67ab209c6dcc99adc2733fabace6ea4de96c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 25 01:14:45 2017 +0100

    wavecom: ignore custom flow control handling

    The generic modem object already supports querying for the supported
    methods and setting the best one found.

 plugins/wavecom/mm-broadband-modem-wavecom.c | 27
 ---------------------------
 1 file changed, 27 deletions(-)

commit 91391eb460645cc9407b16e1b516cb4c2cf723f7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 25 01:11:45 2017 +0100

    broadband-modem: query supported flow control modes before setting

    Instead of assuming XON/XOFF is supported, we query the supported flow
    control modes, and then we set the best one based on that, preferring
    hardware flow control over software flow control.

 src/mm-broadband-modem.c | 79
 ++++++++++++++++++++++++++++++++++++------------
 1 file changed, 60 insertions(+), 19 deletions(-)

commit 973c7d0970d5151f1b5d40b01ce0f2334c226b7c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 25 00:47:50 2017 +0100

    helpers: new parser for AT+IFC=?

    Instead of having the parser return separate list of supported flow
    controls for TE and TA, we simplify it by only returning those
    settings that apply to both TE and TA.

    This logic isn't perfect either, though, as some settings (e.g. '3' in
    TE in some modems, specifying a different XON/XOFF behavior) may not
    have a corresponding setting in the other end.

    The most common cases we care about (i.e. standard XON/XOFF, RTS/CTS)
    should be properly reported with this logic.

 src/mm-modem-helpers.c         | 113
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |  17 +++++++
 src/tests/test-modem-helpers.c | 100 ++++++++++++++++++++++++++++++++++++
 3 files changed, 230 insertions(+)

commit 75d9c0bc9542e04887e8b73fd0238d97d7ad263a
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 6 09:05:53 2017 -0600

    broadband-modem: open QCDM port for CDMA Serving System checking
    when needed

 src/mm-broadband-modem.c | 201
 ++++++++++++++++++++++++-----------------------
 1 file changed, 102 insertions(+), 99 deletions(-)

commit 5c94c8cc6dce58b7c3a88c53e4ab37022ba13185
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 6 09:04:33 2017 -0600

    broadband-modem: open QCDM port for Call Manager state checking
    when needed

 src/mm-broadband-modem.c | 80
 +++++++++++++++++++++++++-----------------------
 1 file changed, 41 insertions(+), 39 deletions(-)

commit 3901ceade1c8d9b2199c2f7c620099f70f5545d4
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 6 09:03:29 2017 -0600

    broadband-modem: open QCDM port for HDR state checking when needed

 src/mm-broadband-modem.c | 80
 +++++++++++++++++++++++-------------------------
 1 file changed, 38 insertions(+), 42 deletions(-)

commit 355a5942232860442f656a94a7fa76a5f8dbfed7
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 6 08:58:44 2017 -0600

    broadband-modem: open QCDM port for access tech checking when needed

 src/mm-broadband-modem.c | 103
 ++++++++++++++++++++++++++---------------------
 1 file changed, 57 insertions(+), 46 deletions(-)

commit aa87775a811074163b8f1889a8186b69bab189ef
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 6 08:57:40 2017 -0600

    broadband-modem: open QCDM port for signal checking when needed

 src/mm-broadband-modem.c | 42 +++++++++++++++++++++++++++---------------
 1 file changed, 27 insertions(+), 15 deletions(-)

commit 977d5ac6cef77893d81b9a6326d09e2c00d2a875
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Aug 24 10:56:19 2016 -0500

    broadband-modem-novatel: $NWRSSI can report lower values than -115

    My E725 reported 125 once; that's a valid dBm and MM shouldn't report
    an error when parsing it.

 plugins/novatel/mm-broadband-modem-novatel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit dedc1f15c78e64002827581aef7df72a98c55759
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Aug 10 10:06:58 2016 -0500

    broadband-modem-novatel: clean up detailed registration state handling

    Allocate the results instead of passing them back on the stack,
    which removes
    the "can't complete in idle" restriction.  Also always open the
    QCDM port
    since we can't assume it will be open already at this point.

 plugins/novatel/mm-broadband-modem-novatel.c | 165
 +++++++++++++++------------
 1 file changed, 93 insertions(+), 72 deletions(-)

commit 77fbcf534b8f787f55db549a9e651cc9e8959198
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Aug 10 09:45:29 2016 -0500

    broadband-modem-novatel: clean up access technology reporting

    Instead of mixing the QCDM Novatel Snapshot code directly into the
    access technology checking code, split it out with its own async
    result.  At the same time, make sure to open the QCDM port when
    it's needed, instead of assuming its already open.  Since it won't
    always be.

 plugins/novatel/mm-broadband-modem-novatel.c | 286
 ++++++++++++++-------------
 1 file changed, 145 insertions(+), 141 deletions(-)

commit 01cba808e4c333744fcf5d27d2d58ef1b5cdc812
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Apr 12 18:52:49 2017 -0700

    iface-modem-signal: port mm_iface_modem_signal_initialize to use GTask

 src/mm-iface-modem-signal.c | 98
 ++++++++++++++++++++-------------------------
 1 file changed, 44 insertions(+), 54 deletions(-)

commit ed8bea8a3c0cc37243137cb7dc671834c5ee1a5f
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Apr 12 18:52:48 2017 -0700

    iface-modem-signal: port mm_iface_modem_signal_enable to use GTask

 src/mm-iface-modem-signal.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

commit ca89a4c038880a0e96434ccf682de98943d02357
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Apr 12 18:52:47 2017 -0700

    iface-modem-signal: port mm_modem_iface_signal_disable to use GTask

 src/mm-iface-modem-signal.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

commit a902199772ce3d9155919d5d8ef3df81e7f776a6
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Thu Apr 13 11:53:53 2017 +0200

    telit: unsupported CSIM lock should not skip loading unlock retries

    Some modems do not support CSIM lock/unlock, but they do support
    querying SIM unlock retries through +CSIM command.

    If CSIM lock returns with "unsupported command" do not propagate
    the error and continue with the other CSIM queries instead,
    moreover the
    CSIM lock feature is signed as FEATURE_UNSUPPORTED in Telit modem
    private structure to prevent being sent again (e.g. calling CSIM
    unlock AT command).

 plugins/telit/mm-broadband-modem-telit.c | 94
 ++++++++++++++++++++++++++------
 plugins/telit/mm-broadband-modem-telit.h |  2 +
 2 files changed, 80 insertions(+), 16 deletions(-)

commit 23b67db7c98a3f2fafd7d32a4c26fe02d81624ec
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Apr 7 18:16:12 2017 -0700

    base-call: remove unnecessary string duplications

 src/mm-base-call.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

commit b65819e6ad66688c8d6633f910e1519a35d3571d
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Apr 7 11:23:01 2017 -0700

    port-mbim: port mm_port_mbim_{open,close} to use GTask

 src/mm-port-mbim.c | 132
 +++++++++++++++++++++--------------------------------
 1 file changed, 51 insertions(+), 81 deletions(-)

commit 26ee94ec28b6f686cf4223435986dbeb48e833c1
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 6 13:41:16 2017 -0700

    port-qmi: port mm_port_qmi_allocate_client to use GTask

 src/mm-port-qmi.c | 51
 ++++++++++++++++++++++++++-------------------------
 1 file changed, 26 insertions(+), 25 deletions(-)

commit 031c753a00f3d4b491120df9d327459b4e7d9145
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 6 12:35:53 2017 -0700

    novatel: obtain MMPortProbe from GTask source object

    The MMPortProbe object is already referenced by the GTask object for
    custom init. Instead of keeping another reference of MMPortProbe
    in the
    CustomInitContext, this patch changes the code to simply obtain
    it from
    the source object of GTask.

    See
    https://lists.freedesktop.org/archives/modemmanager-devel/2017-April/004420.html

 plugins/novatel/mm-common-novatel.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 9667d037fdd5d1cb07b1ff27d868e7398bb31ce0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 7 11:13:24 2017 +0200

    polkit: fix build when polkit enabled

    This fixes the build after commit
    740ce1fb26dd83459075f2d069a9da25e449dd89.

          CC       ModemManager-mm-auth-provider-polkit.o
        ../../src/mm-auth-provider-polkit.c: In function ‘authorize’:
        ../../src/mm-auth-provider-polkit.c:155:46: error:
        ‘AuthorizeContext’ has no member named ‘cancellable’
                                                   ctx->cancellable,
                                                      ^
        Makefile:1533: recipe for target
        'ModemManager-mm-auth-provider-polkit.o' failed

 src/mm-auth-provider-polkit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 374c65a5202f983073bb8918a33316e19186df87
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 6 12:57:45 2017 -0700

    sms-mbim: port sms_delete to use GTask

 src/mm-sms-mbim.c | 48 +++++++++++++++++++++++-------------------------
 1 file changed, 23 insertions(+), 25 deletions(-)

commit 59a6bcbb1b1dac2e7ea1a9e3b98b562ce54782b5
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 6 12:57:44 2017 -0700

    sms-mbim: port sms_send to use GTask

 src/mm-sms-mbim.c | 46 ++++++++++++++++++++++------------------------
 1 file changed, 22 insertions(+), 24 deletions(-)

commit e661ba077fb440668d5986595e5d6406048eaf77
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 6 13:41:15 2017 -0700

    port-qmi: port mm_port_qmi_open to use GTask

 src/mm-port-qmi.c | 142
 +++++++++++++++++++++++++++++-------------------------
 1 file changed, 76 insertions(+), 66 deletions(-)

commit a0806449245dd23bda631b9addb13761cc5999ae
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 6 12:54:30 2017 -0700

    call-list: port mm_call_list_delete_call to use GTask

 src/mm-call-list.c | 55
 +++++++++++++++++++-----------------------------------
 1 file changed, 19 insertions(+), 36 deletions(-)

commit 21195f8e540e08d86ff29e495ef73d5c80ab9959
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 6 12:42:32 2017 -0700

    sms-list: port mm_sms_list_delete_sms to use GTask

 src/mm-sms-list.c | 70
 +++++++++++++++++++++----------------------------------
 1 file changed, 27 insertions(+), 43 deletions(-)

commit 740ce1fb26dd83459075f2d069a9da25e449dd89
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 6 12:38:44 2017 -0700

    polkit: port authorize to use GTask

 src/mm-auth-provider-polkit.c | 89
 ++++++++++++++++++++-----------------------
 1 file changed, 41 insertions(+), 48 deletions(-)

commit 1755d1a5c33b2e3f3b79c88ecd1f4a8e43238b40
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 6 12:38:43 2017 -0700

    auth: port authorize to use GTask

 src/mm-auth-provider.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

commit 8c04cc036782dab0e80c1f2314baa3376eecad02
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 3 14:50:01 2017 -0500

    telit: fix AT+SERVICE 3GPP2 access technology reporting

    Looks like a C&P error from the AT#PSNT codepath; all the docs
    I can find indicate that AT+SERVICE returns only an integer and
    no commas:

    <debug> (ttyUSB2): --> 'AT+SERVICE?<CR>'
    <debug> (ttyUSB2): <-- '<CR><LF>+SERVICE: 3<CR><LF><CR><LF>OK<CR><LF>'
    <debug> Couldn't refresh access technologies: 'Failed to parse
    +SERVICE response: '+SERVICE: 3''

 plugins/telit/mm-broadband-modem-telit.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit 665e22791818b51ce48d93febf7ced7302e7a2d3
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Apr 3 23:37:49 2017 -0700

    iface-modem-simple: port register_in_3gpp_or_cdma_network to use GTask

 src/mm-iface-modem-simple.c | 59
 ++++++++++++++++++++++++++-------------------
 1 file changed, 34 insertions(+), 25 deletions(-)

commit e0bca5509ef9bb006602efdbab67c7a189031879
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Apr 3 23:37:38 2017 -0700

    bearer-list: port mm_bearer_list_disconnect_all_bearers to use GTask

 src/mm-bearer-list.c | 40 +++++++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 19 deletions(-)

commit 6542430588432b1c4c82ffc1f61e1711ff137b04
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Apr 3 12:37:56 2017 -0700

    novatel: port IMSI loading to use GTask

 plugins/novatel/mm-sim-novatel-lte.c | 89
 +++++++++++++++---------------------
 1 file changed, 36 insertions(+), 53 deletions(-)

commit 1e05fd4df677fc4d8bbd2fcc42dc0340d910f8fc
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Apr 3 12:37:55 2017 -0700

    novatel: port custom init to use GTask

 plugins/novatel/mm-common-novatel.c | 62
 +++++++++++++++++--------------------
 1 file changed, 29 insertions(+), 33 deletions(-)

commit 6ced121ce18ffd1612d294d02bf196694d0d25e1
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Apr 3 23:37:25 2017 -0700

    base-modem: port mm_base_modem_authorize to use GTask

 src/mm-base-modem.c | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

commit 2c4b061dda120391b6d31ab5e5e1fa7e01285974
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Apr 3 13:05:16 2017 -0700

    novatel-lte: revert to original plugin library name

    Commit f9c63bfa0 "build,plugins: update build rules" accidentally
    changed the Novatel LTE plugin from 'libmm-plugins-novatel-lte.so' to
    'libmm-plugins-novatel_lte.so'. The name becomes inconsistent
    with other
    plugin names.

 plugins/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 34443289d97da5c95270c6071d140f4567047624
Author: Thomas Voß <thomas.voss.bochum@gmail.com>
Date:   Sat Apr 1 22:11:42 2017 +0200

    mbim-modem: disable location interface

    MBIM does not support 3gpp location data right now. For that,
    we make sure that the location interface is not reported as
    supported by MBIM modems.

 src/mm-broadband-modem-mbim.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit fba49d8d005dd65affac56975bc7fd95250d530c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 25 21:39:45 2017 +0100

    broadband-modem: normalize also operator code

    The operator code (MCCMNC) may also be given encoded in the current
    charset (e.g. UCS2).

    Based on a patch from Colin Helliwell <colin.helliwell@ln-systems.com>

 plugins/altair/mm-broadband-modem-altair-lte.c | 2 +-
 src/mm-broadband-modem.c                       | 6 ++++--
 src/mm-modem-helpers.c                         | 4 ++--
 src/mm-modem-helpers.h                         | 4 ++--
 src/tests/test-modem-helpers.c                 | 7 ++++++-
 5 files changed, 15 insertions(+), 8 deletions(-)

commit f824602bdd922cdc9e15aa83fda545534c0b0542
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 25 21:39:44 2017 +0100

    modem-helpers: if operator not in UCS2, see if already valid UTF-8

    The method doing the operator name normalization takes as input the
    current configured modem charset. If this is UCS2, we will now just
    assume this is a hint: the string may or may not come in hex/UCS2.

    This logic makes the custom operator name loading in Huawei unneeded,
    if the modem is configured in UCS2, we still properly process operator
    names coming in plain ASCII.

 plugins/huawei/mm-broadband-modem-huawei.c | 51
 ------------------------------
 src/mm-modem-helpers.c                     | 26 +++++++++------
 src/tests/test-modem-helpers.c             | 45
 ++++++++++++++++++++++++++
 3 files changed, 62 insertions(+), 60 deletions(-)

commit 822bfa4ca163ef17a0fc60d03bfae462091885bf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 30 21:14:46 2017 +0200

    base-manager: fix segfault when using already disposed MMDevice

    Since commit e9d0989ed069, the MMDevice may be removed from the
    tracking hash table when the support check operation fails to create a
    modem object.

    If this failure happens due to the port probe cancellations requested
    during the udev removal event for a given device port, we would end up
    using an already disposed object and triggering a segfault.

    This fix just makes sure a full valid reference to the MMDevice object
    is kept around until we're done using it.

         [mm-base-manager.c:216] device_removed():
         (usbmisc/cdc-wdm1): released by device
         '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.4'
         [mm-plugin-manager.c:1131] device_context_port_released():
         [plugin manager] task 5: port released: cdc-wdm1
         [mm-base-manager.c:216] device_removed(): (tty/ttyACM0): released
         by device '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.4'
         [mm-plugin-manager.c:1131] device_context_port_released():
         [plugin manager] task 5: port released: ttyACM0
         [mm-base-manager.c:221] device_removed(): Removing empty device
         '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.4'
         [mm-plugin-manager.c:1219] device_context_cancel(): [plugin
         manager) task 5: cancellation requested
         [mm-plugin-manager.c:979] device_context_continue(): [plugin
         manager] task 5: no more ports to probe
         [mm-plugin-manager.c:813] device_context_complete(): [plugin
         manager] task 5: finished in '0.090510' seconds
         [mm-base-manager.c:172] device_support_check_ready():
         Couldn't check support for device
         '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.4': Operation
         was cancelled
         [mm-base-manager.c:223] device_removed(): Device support check
         has been cancelled

        Thread 1 "ModemManager" received signal SIGSEGV, Segmentation
        fault.
        0x00007ffff6543c50 in g_str_hash () from /usr/lib/libglib-2.0.so.0
        (gdb) bt
        #0  0x00007ffff6543c50 in g_str_hash () at
        /usr/lib/libglib-2.0.so.0
        #1  0x00007ffff6542b2d in  () at /usr/lib/libglib-2.0.so.0
        #2  0x0000000000439675 in device_removed (self=0x770900,
        kernel_device=0x763e60) at mm-base-manager.c:225
        #3  0x0000000000439e70 in handle_uevent (client=0x769c20,
        action=0x81d910 "remove", device=0x7fffe4001c40,
        user_data=0x770900) at mm-base-manager.c:415
        #4  0x00007ffff54c61c8 in ffi_call_unix64 () at
        /usr/lib/libffi.so.6
        #5  0x00007ffff54c5c2a in ffi_call () at /usr/lib/libffi.so.6
        #6  0x00007ffff682d7ae in g_cclosure_marshal_generic ()
            at /usr/lib/libgobject-2.0.so.0
        #7  0x00007ffff682cf75 in g_closure_invoke () at
        /usr/lib/libgobject-2.0.so.0
        #8  0x00007ffff683ef82 in  () at /usr/lib/libgobject-2.0.so.0
        #9  0x00007ffff6847bcc in g_signal_emit_valist ()
            at /usr/lib/libgobject-2.0.so.0
        #10 0x00007ffff6847faf in g_signal_emit () at
        /usr/lib/libgobject-2.0.so.0
        #11 0x00007ffff7023c74 in  () at /usr/lib/libgudev-1.0.so.0
        #12 0x00007ffff655445a in g_main_context_dispatch ()
            at /usr/lib/libglib-2.0.so.0
        #13 0x00007ffff6554810 in  () at /usr/lib/libglib-2.0.so.0
        #14 0x00007ffff6554b32 in g_main_loop_run () at
        /usr/lib/libglib-2.0.so.0
        #15 0x0000000000437bf5 in main (argc=2, argv=0x7fffffffeb28) at
        main.c:180

        (gdb) fr 2
        #2  0x0000000000439675 in device_removed (self=0x770900,
        kernel_device=0x763e60) at mm-base-manager.c:225
        225                 g_hash_table_remove (self->priv->devices,
        mm_device_get_uid (device));

        (gdb) p mm_device_get_uid (device)
        $1 = (const gchar *) 0x0

        (gdb) p *device
        $3 = {parent = {g_type_instance = {g_class = 0x0}, ref_count =
        0, qdata = 0x0}, priv = 0x7feb20}

 src/mm-base-manager.c | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

commit 27e4c74c6007ceac5611f2fc4e314217ebf8d25a
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Mar 28 23:23:14 2017 -0700

    core: reset GList pointers to NULL when necessary

    When calling g_list_free_full() to free a GList in dispose(), it is
    necessary to reset the GList pointer to NULL as dispose() may
    be called
    more than once.

 src/mm-call-list.c | 1 +
 src/mm-device.c    | 2 ++
 src/mm-sms-list.c  | 1 +
 3 files changed, 4 insertions(+)

commit 78e6ba5688f80ee30466ef59ed78c78e083c4c55
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Mar 28 18:35:57 2017 -0700

    libmm-glib: remove explicit GDestroyNotify cast on g_object_unref

    g_object_unref is in form of  `void (*)(gpointer)`, which matches the
    GDestroyNotify signature. An explicit GDestroyNotify cast on
    g_object_unref is thus not needed.

 libmm-glib/mm-modem-messaging.c | 4 ++--
 libmm-glib/mm-modem-simple.c    | 2 +-
 libmm-glib/mm-modem-voice.c     | 4 ++--
 libmm-glib/mm-modem.c           | 6 +++---
 4 files changed, 8 insertions(+), 8 deletions(-)

commit b225b7a2673d53b6e8dbf6a96e6459592ada6d37
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Mar 28 18:35:56 2017 -0700

    cli: remove explicit GDestroyNotify cast on g_object_unref

    g_object_unref is in form of  `void (*)(gpointer)`, which matches the
    GDestroyNotify signature. An explicit GDestroyNotify cast on
    g_object_unref is thus not needed.

 cli/mmcli-common.c  | 30 +++++++++++++++---------------
 cli/mmcli-manager.c |  4 ++--
 2 files changed, 17 insertions(+), 17 deletions(-)

commit 254f2e3412ac05833cdc095558c8143ad2fbddfc
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Mar 28 18:35:55 2017 -0700

    plugins: remove explicit GDestroyNotify cast on g_free /
    g_object_unref

    g_free and g_object_unref are in form of  `void (*)(gpointer)`, which
    matches the GDestroyNotify signature. An explicit GDestroyNotify
    cast on
    g_free and g_object_unref is thus not needed.

 plugins/altair/mm-broadband-modem-altair-lte.c   |  4 ++--
 plugins/cinterion/mm-broadband-modem-cinterion.c |  6 +++---
 plugins/huawei/mm-broadband-modem-huawei.c       | 14 +++++++-------
 plugins/icera/mm-broadband-bearer-icera.c        |  2 +-
 plugins/icera/mm-broadband-modem-icera.c         |  6 +++---
 plugins/iridium/mm-broadband-modem-iridium.c     |  2 +-
 plugins/longcheer/mm-broadband-modem-longcheer.c |  2 +-
 plugins/mbm/mm-broadband-bearer-mbm.c            |  4 ++--
 plugins/mbm/mm-broadband-modem-mbm.c             |  2 +-
 plugins/mtk/mm-broadband-modem-mtk.c             |  2 +-
 plugins/novatel/mm-broadband-modem-novatel-lte.c |  2 +-
 plugins/option/mm-broadband-bearer-hso.c         |  4 ++--
 plugins/option/mm-broadband-modem-hso.c          |  6 +++---
 plugins/sierra/mm-broadband-bearer-sierra.c      |  2 +-
 plugins/sierra/mm-broadband-modem-sierra-icera.c |  2 +-
 plugins/sierra/mm-broadband-modem-sierra.c       |  2 +-
 plugins/telit/mm-broadband-modem-telit.c         |  2 +-
 plugins/tests/test-fixture.c                     |  2 +-
 plugins/ublox/mm-broadband-bearer-ublox.c        |  4 ++--
 plugins/ublox/mm-broadband-modem-ublox.c         |  2 +-
 plugins/zte/mm-broadband-modem-zte.c             |  2 +-
 21 files changed, 37 insertions(+), 37 deletions(-)

commit 9823d9d6f613d33e868352328a7056809996e790
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Mar 28 18:35:54 2017 -0700

    core: remove explicit GDestroyNotify cast on g_free / g_object_unref

    g_free and g_object_unref are in form of  `void (*)(gpointer)`, which
    matches the GDestroyNotify signature. An explicit GDestroyNotify
    cast on
    g_free and g_object_unref is thus not needed.

 src/kerneldevice/mm-kernel-device-generic-rules.c |  2 +-
 src/mm-bearer-list.c                              |  4 ++--
 src/mm-broadband-bearer.c                         |  2 +-
 src/mm-broadband-modem-mbim.c                     |  2 +-
 src/mm-broadband-modem-qmi.c                      | 18 +++++++++---------
 src/mm-broadband-modem.c                          | 10 +++++-----
 src/mm-call-list.c                                |  2 +-
 src/mm-device.c                                   |  4 ++--
 src/mm-iface-modem-firmware.c                     |  2 +-
 src/mm-iface-modem-simple.c                       |  2 +-
 src/mm-iface-modem-time.c                         |  2 +-
 src/mm-plugin-manager.c                           | 10 +++++-----
 src/mm-port-probe.c                               |  2 +-
 src/mm-port-qmi.c                                 |  4 ++--
 src/mm-sim-mbim.c                                 |  4 ++--
 src/mm-sim-qmi.c                                  | 10 +++++-----
 src/mm-sms-list.c                                 |  2 +-
 17 files changed, 41 insertions(+), 41 deletions(-)

commit 3c4c983642c0d03aa6e509221930179c59aac9b6
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Mar 28 11:24:39 2017 -0700

    base-bearer: fix typo in 'bearer-default-ip-family' property name

 src/mm-base-bearer.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6de2d84af17a88cbef509187c96d2d91a06c6914
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Mon Mar 27 15:54:46 2017 +0200

    telit: support QMI and MBIM modems

    Vendor specific plugins that support QMI or MBIM based devices need to
    handle the creation of these modems themselves.

    https://bugs.freedesktop.org/show_bug.cgi?id=100372

    Original patch by Aleksander Morgado.

 plugins/telit/77-mm-telit-port-types.rules |  3 ---
 plugins/telit/mm-common-telit.c            |  7 ++++++
 plugins/telit/mm-plugin-telit.c            | 35
 +++++++++++++++++++++++++++++-
 3 files changed, 41 insertions(+), 4 deletions(-)

commit eee6896648fc39922f3d3eff7190a94bd536b40d
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Mon Mar 27 17:50:29 2017 +0200

    broadband-modem: fixed wrong MEM1 value passed to +CPMS

    In functions

    - mm_broadband_modem_lock_sms_storages
    - modem_messaging_set_default_storage

    return with error when using current_sms_mem1_storage as +CPMS
    value, but
    current_sms_mem1_storage value is UNKNOWN.

 src/mm-broadband-modem.c       | 77
 +++++++++++++++++++++++++-----------------
 src/mm-iface-modem-messaging.c |  2 +-
 2 files changed, 47 insertions(+), 32 deletions(-)

commit 4c164287eba1e0655c4090e4c72b2f0f1bf4a2ac
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 24 14:51:08 2017 +0100

    telit: don't require udev tags to bind devices

    The vendor id/string based rules should already be enough to get the
    telit plugin bind telit devices.

    This simplifies support for future Telit devices, as we wouldn't need
    any additional change in the plugin. It also helps when working with
    RS232 devices as the user wouldn't need to add the explicit tag to get
    the devices bound to this plugin.

    https://bugs.freedesktop.org/show_bug.cgi?id=100373

 plugins/dell/77-mm-dell-port-types.rules   | 3 +--
 plugins/telit/77-mm-telit-port-types.rules | 9 ---------
 plugins/telit/mm-plugin-telit.c            | 6 ------
 3 files changed, 1 insertion(+), 17 deletions(-)

commit 15d135b9c47a0878e3c62906d33c2a5f08546ac1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 24 14:55:36 2017 +0100

    base-bearer: stop connection status monitoring if no TTY available

    On modems with a single TTY for both control and data, we cannot use
    the TTY to load connection status once we're in connected mode:

        Connection through a plain serial AT port (ttyUSB2)
        (ttyUSB2): --> 'ATD*99***2#<CR>'
        (ttyUSB2): <-- '<CR><LF>CONNECT 100000000<CR><LF>'
        (ttyUSB2): port now connected
        Connected bearer '/org/freedesktop/ModemManager1/Bearer/0'
        Modem /org/freedesktop/ModemManager1/Modem/0: state changed
        (connecting -> connected)
        Simple connect state (8/8): All done
        checking if connected failed: Couldn't check current list of
        active PDP contexts: No AT port available to run command
        checking if connected failed: Couldn't check current list of
        active PDP contexts: No AT port available to run command
        checking if connected failed: Couldn't check current list of
        active PDP contexts: No AT port available to run command
        ...

    So, disable connection monitoring right away if that situation is
    detected:

        Connection through a plain serial AT port (ttyUSB2)
        (ttyUSB2): --> 'ATD*99***2#<CR>'
        (ttyUSB2): <-- '<CR><LF>CONNECT 100000000<CR><LF>'
        (ttyUSB2): port now connected
        Connected bearer '/org/freedesktop/ModemManager1/Bearer/0'
        Modem /org/freedesktop/ModemManager1/Modem/0: state changed
        (connecting -> connected)
        Simple connect state (8/8): All done
        Connection monitoring is unsupported by the device
        ...

    https://bugs.freedesktop.org/show_bug.cgi?id=100376

 src/mm-base-bearer.c      | 20 ++++++++++++++++++--
 src/mm-broadband-bearer.c | 41 ++++++++++++++++++++++++++++-------------
 2 files changed, 46 insertions(+), 15 deletions(-)

commit dd1e281e82726bcf3349a776da53c4158b088724
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 24 15:03:08 2017 +0100

    broadband-bearer: set TTY as connected as soon as ATD replies

    When the connection request is done via ATD, flag the port as
    connected as soon as the successful response is received, so that we
    remove our polling on the device right away.

    https://bugs.freedesktop.org/show_bug.cgi?id=99541

 src/mm-broadband-bearer.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

commit bc4cbbe6cfda7b884084d888cf271759816e931f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 8 12:18:23 2017 +0100

    broadband-modem: fix capabilities in 4G-only devices

    The +CGSM capability is saying that the modem is a 3GPP modem, but
    that doesn't necessarily mean it's a GSM/UMTS modem, it could be a
    LTE-only device.

    We did add the GSM_UMTS capability when +CGSM was found, so now we'll
    check if the device only reports 4G-only mode, and remove the
    capability if so.

    https://bugs.freedesktop.org/show_bug.cgi?id=100155

 src/mm-broadband-modem.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit 16009114397a75d6e511942a6bd9fc74ea8a0d3f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 8 12:17:55 2017 +0100

    broadband-modem,helpers: implement AT+WS46=? response parser

    We want a parser that returns the full list of combinations found.

 src/mm-broadband-modem.c       | 111 ++++++++++++--------------------
 src/mm-modem-helpers.c         | 143
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |   3 +
 src/tests/test-modem-helpers.c | 102 +++++++++++++++++++++++++++++
 4 files changed, 290 insertions(+), 69 deletions(-)

commit dc01a30c2f87e41780a0b4098f535822462999a7
Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
Date:   Fri Mar 24 15:35:25 2017 +0100

    huawei: ignore unsolicited message ^EONS

 plugins/huawei/mm-broadband-modem-huawei.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 11a26f10668659fb0c043ec9bc88debacce8cab1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 3 23:28:46 2017 +0100

    serial: allow specifying baudrate to use via udev tags

    A new 'ID_MM_TTY_BAUDRATE' per-port udev tag is introduced, which
    allows specifying the baudrate that will be used when opening a
    specific serial port.

    E.g.:

        ACTION!="add|change|move", GOTO="mm_my_modem_end"
        DEVPATH=="/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.3/*",
        ENV{ID_MM_TTY_BAUDRATE}="115200"
        LABEL="mm_my_modem_end"

    https://bugs.freedesktop.org/show_bug.cgi?id=100158

 src/mm-base-modem.c  |   6 +++
 src/mm-port-probe.c  |  10 +++++
 src/mm-port-serial.c | 118
 ++++++++++-----------------------------------------
 3 files changed, 39 insertions(+), 95 deletions(-)

commit 00fb9e98f6003f6b167f7d12a895ec3d1402b027
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 6 12:01:56 2017 +0100

    kernel-device: device-specific properties in either port or physdev

    There are 2 main types of udev properties: device-specific and
    port-specific.

    The port-specific properties are set independently per port (e.g. port
    type hints set per interface number for a given vid:pid).

    The device-specific properties apply to all ports in the device. Some
    of these properties are currently expected in the physical device
    (e.g. ID_MM_PLATFORM_DRIVER_PROBE) while some others are expected in
    each port (e.g. the plugin udev tag filters).

    This patch tries to simplify the logic and just assume that the device
    specific tags may be given in either the physical device or the port
    device, by providing separate APIs to retrieve port-specific or
    device-specific (global) properties. If the same tag is given in both
    the device and the port, the one in the device takes preference.

    For the generic backend, these new APIs are really useless, as all
    device-specific and port-specific properties are always stored in the
    port object themselves (there is no 'tree' of devices in the generic
    backend, no 'physdev' device).

    For the udev backend, though, there really is a difference, as the
    tags may be set in port or device.

    https://bugs.freedesktop.org/show_bug.cgi?id=100156

 plugins/dell/mm-plugin-dell.c               |   2 +-
 plugins/huawei/mm-broadband-modem-huawei.c  |   2 +-
 plugins/huawei/mm-plugin-huawei.c           |   2 +-
 plugins/simtech/mm-plugin-simtech.c         |   2 +-
 plugins/telit/mm-common-telit.c             |   2 +-
 plugins/zte/mm-plugin-zte.c                 |   2 +-
 src/kerneldevice/mm-kernel-device-generic.c |   7 ++
 src/kerneldevice/mm-kernel-device-udev.c    | 160
 ++++++++++++++++++++++------
 src/kerneldevice/mm-kernel-device.c         |  55 ++++++++++
 src/kerneldevice/mm-kernel-device.h         |  14 +++
 src/mm-plugin.c                             |   4 +-
 11 files changed, 213 insertions(+), 39 deletions(-)

commit 230e732a24e0e925f535839caecc4a69d89ab89e
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 17 13:02:57 2017 -0500

    iface-modem-3gpp: use mm_3gpp_parse_operator_id() instead of
    custom code

 src/mm-iface-modem-3gpp.c | 43
 ++++++++-----------------------------------
 1 file changed, 8 insertions(+), 35 deletions(-)

commit 9384817a14c8706909f619e773a76edd65a0fdef
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 15 00:03:35 2017 +0100

    telit: lock/unlock CSIM operations by default

    Wrap the AT+CSIM=XX commands between lock (CSIM=1) and
    unlock (CSIM=0) operations.

    This seems to avoid the TTY lockup seen in several different Telit
    modules.

    https://bugs.freedesktop.org/show_bug.cgi?id=100205

    Reported-by: Penalva, Salvador <Salvador.Penalva@digi.com>

 plugins/telit/mm-broadband-modem-telit.c | 69
 +++++++++++++++++++++++++++++++-
 1 file changed, 68 insertions(+), 1 deletion(-)

commit 8664b2a38ac71428a5bbc3d89fbef3f68aea6430
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 7 12:37:42 2017 +0100

    telit: support RS232 modems

    Adding the vendor string match allows us to support RS232 devices in
    the Telit plugin: the USB vendor id check may now be ignored and
    instead we probe for the vendor string via AT commands, which works
    even if the device is behind a USB<->RS232 adapter.

    https://bugs.freedesktop.org/show_bug.cgi?id=100171

 plugins/telit/mm-plugin-telit.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

commit 60be293fa57a3d3f6db1d1ae064d42af320f84e0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 6 13:56:19 2017 +0100

    telit: don't ignore AT ports without an explicit port type hint tag

    The telit plugin is based on two main ways of checking the purpose of
    each port: udev tags flagging specific interfaces (with info taken
    from Windows .inf drivers), or otherwise using AT#PORTCFG? to query
    the modem about that information. If none of those applies, the port
    is ignored by default.

    In order to support devices that are not explicitly tagged, the plugin
    shouldn't flag as ignored the AT-capable TTYs, instead they are now
    grabbed as 'secondary': ports grabbed as secondary will never be used
    for either primary/data IF there is another port flagged explicitly
    for primary/data.

    This fixes the support for modems with a single TTY and no explicit
    port type hint tag, e.g. RS232 modems with just one single TTY where
    there's no point in specifying port type hints: the port will be
    grabbed as secondary, and then automatically promoted to primary/data
    as there is no other port grabbed.

    https://bugs.freedesktop.org/show_bug.cgi?id=100159

 plugins/telit/mm-common-telit.c | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

commit 875ade3e41b61528bbd2b018a5d34c1a1cda9b99
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 7 11:12:51 2017 +0100

    iface-modem: improve network registration checks for LTE devices

    If a device reports "LTE" in the list of current capabilities, we'll
    set EPS network supported by default. This will enable CEREG
    registration checks for AT based devices.

    If a device reports only "LTE" in the list of current capabilities, we
    disable all the other network support flags (e.g. will disable CREG
    and CGREG checks among others).

    https://bugs.freedesktop.org/show_bug.cgi?id=100170

 src/mm-iface-modem.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

commit 957195469ed1eaf6f48b3a70c5d386c5310ec06e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 13 09:55:04 2017 +0100

    build: bump libqmi required version to 1.17.900

    Since we process the WDS Event Report Indication messages, we need
    libqmi from git master, so we bump the required version to the first
    tag that contains those QMI messages.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e9d0989ed069b2b6f3deea438ef390998286601f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 6 15:01:21 2017 +0100

    base-manager: remove MMDevice if support check fails

    If the device support check fails, either with an error, or afterwards
    when trying to create a modem object, we must remove the MMDevice from
    the tracking table of devices, so that a manual scan request
    afterwards re-scans all ports.

    https://bugs.freedesktop.org/show_bug.cgi?id=100157

 src/mm-base-manager.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 355633f8d6eceb6ef2de9fbca21f0eb2010fc047
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 8 14:09:50 2017 +0100

    docs: update copyright year to 2017

 docs/reference/api/ModemManager-docs.xml      | 1 +
 docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
 2 files changed, 2 insertions(+)

commit c1d04f4cc03710cd213aa8ebc85f05ecc6ba62ea
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 7 17:39:42 2017 +0100

    cinterion: improve ^SCFG=? response parser to handle EHS5 format

    Two main changes in the regex:
      * Ignore double quotes around interval numbers.
      * Ignore second set of values (i.e. the one after the comma), as it
      may not even be given).

    We now support at least these two formats:
       ^SCFG: "Radio/Band",("1-511","0-1")
       ^SCFG: "Radio/Band\",("1"-"147")

    Reported-by: Colin Helliwell <colin.helliwell@ln-systems.com>

 plugins/cinterion/mm-modem-helpers-cinterion.c     |  3 +-
 .../cinterion/tests/test-modem-helpers-cinterion.c | 69
 ++++++++++++++++++++++
 2 files changed, 71 insertions(+), 1 deletion(-)

commit 73bfe94643eab39ef43a5023c482340ac9b882dc
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Mar 3 10:29:50 2017 -0800

    device: add null check on `self->priv->modem' in clear_modem

    clear_modem() can be invoked from set_property() and dispose(), where
    `self->priv->modem' may be NULL. This patch adds a null check on the
    modem object to make sure we don't run g_object_run_dispose() on
    a null
    modem object.

 src/mm-device.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

commit f0cda2093078d630ca164b3872f742609e091a20
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Mar 2 18:57:14 2017 -0800

    kernel-device: use device sysfs if physdev sysfs isn't available

    find_device_by_physdev_uid() expects a non-NULL UID of the physical
    device. However, mm_kernel_device_get_physdev_uid() could potentially
    return NULL on MMKernelDeviceUdev if find_physical_gudevdevice() in
    mm-kernel-device-udev.c fails to find the physical device. When a NULL
    physical device UID is passed to find_device_by_physdev_uid() and used
    in g_hash_table_lookup(), it leads to a crash in g_str_hash(),
    which is
    a bit obscure.

    This patch updates kernel_device_get_physdev_uid() in
    mm-kernel-device-udev.c to fall back to use the device sysfs if the
    physical device sysfs isn't available, which is similar to how
    kernel_device_get_physdev_uid() mm-kernel-device-generic.c is
    implemented.

 src/kerneldevice/mm-kernel-device-udev.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

commit 8c3312918adf8ba49bb242cd21b306d3a7ff3a09
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Oct 4 07:23:43 2016 -0500

    bearer-qmi: add WDS event reporting support

    Don't do anything with the events yet, but at least turn them on
    and capture them in debug logging.

 src/mm-bearer-qmi.c | 252
 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 216 insertions(+), 36 deletions(-)

commit 7a048acd4496adc5a973ba40b35dff635b832e4f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 1 18:43:45 2017 +0100

    broadband-modem-mbim: disable parent access tech loading

    The parent method would use QCDM to load access tech, but we already
    have the access tech reported in MBIM via indications, so no real need
    to mix that.

    For context, see:
    https://bugs.freedesktop.org/show_bug.cgi?id=100000

 src/mm-broadband-modem-mbim.c | 2 ++
 1 file changed, 2 insertions(+)

commit f10065d03c3b9e8543244f1f35e71044795a8a2c
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Feb 23 11:45:29 2017 -0800

    kernel-device: simplify handling of platform/pci/pnp/sdio parent

    This patch simplifies the handling of platform/pci/pnp/sdio device in
    find_physical_gudevdevice(). When the code finds the first parent
    device
    under the subsystem 'platform', 'pci', 'pnp', or 'sdio', it stops
    traversing up the device tree, so there is no need to keep track of
    whether a platform / pci / pnp / sdio device has previously been
    visited
    via those is_platform/is_pci/is_pnp/is_sdio Boolean variables.

 src/kerneldevice/mm-kernel-device-udev.c | 23 ++++++-----------------
 1 file changed, 6 insertions(+), 17 deletions(-)

commit 66b3367cf87e636f49f1e89c3f7645c7826d5eb2
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Feb 28 18:49:13 2017 -0800

    kernel-device: handle SDIO device in find_physical_gudevdevice

    A few crashes have been observed in the field with the following
    signature:

      Thread 0 CRASHED [SIGSEGV @ 0x00000000 ] MAGIC SIGNATURE THREAD
      0xf53ff5e8  (libglib-2.0.so.0.3600.4 -ghash.c:1732 )  g_str_hash
      0xf53fe8c7  (libglib-2.0.so.0.3600.4 -ghash.c:365 )
      g_hash_table_lookup
      0xb953c3bd  (ModemManager -mm-base-manager.c:130 )  device_removed
      0xb953cc9f  (ModemManager -mm-base-manager.c:408 )  handle_uevent
      0xf54c535f  (libgobject-2.0.so.0.3600.4 -gclosure.c:777 )
      g_closure_invoke
      0xf54d6fc7  (libgobject-2.0.so.0.3600.4 -gsignal.c:3584 )
      signal_emit_unlocked_R
      0xf54d7baf  (libgobject-2.0.so.0.3600.4 -gsignal.c:3328 )
      g_signal_emit_valist
      0xf54d7fa5  (libgobject-2.0.so.0.3600.4 -gsignal.c:3384 )
      g_signal_emit
      0xf5623819  (libgudev-1.0.so.0.2.0 -gudevclient.c:104 )
      monitor_event
      0xf540cc51  (libglib-2.0.so.0.3600.4 -gmain.c:3054 )
      g_main_context_dispatch
      0xf540cfa5  (libglib-2.0.so.0.3600.4 -gmain.c:3701 )
      g_main_context_iterate
      0xf540d2c5  (libglib-2.0.so.0.3600.4 -gmain.c:3895 )
      g_main_loop_run
      0xb9539dad  (ModemManager -main.c:180 ) main
      0xf52d687d  (libc-2.23.so -libc-start.c:289 ) __libc_start_main
      0xb9539bf3  (ModemManager + 0x0001cbf3 )  _start
      0xb95b0fbf  (ModemManager -elf-init.c:87 )  __libc_csu_init
      0xf56dbe43  (ld-2.23.so + 0x0000be43 )  _dl_sort_fini
      0xb9539bbf  (ModemManager + 0x0001cbbf )  _init

    The crash happens when
    mm-kernel-device-udev.c:find_physical_gudevdevice()
    fails to find the physical device, which eventually leads to a NULL
    `physdev_uid' being passed to g_hash_table_lookup() in
    mm-base-manager.cc:find_device_by_physdev_uid().

    There isn't much information about the actual device that triggered
    the
    udev event, but it's suspected to be a tty or net device on a SDIO bus
    and thus associated with a physical device on the 'sdio'
    subsystem. This
    patch updates find_physical_gudevdevice() in mm-kernel-device-udev.c
    to
    handle this particular scenario.

 src/kerneldevice/mm-kernel-device-udev.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit bf27e44caf7c7868e139e58e510c307770074171
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 28 13:38:16 2017 -0600

    broadband-modem: fix QCDM access tech reporting for WCDMA system modes

    Two issues here:

    1) PCH_SLEEP wasn't considered a "wcdma_open" state, but it should be
    since the modem is still registered and can be attached in this state

    2) If the system mode is WCDMA (eg, not GSM and not GSM/WCDMA) then
    MM shouldn't assume GPRS if WCDMA isn't "open", since GPRS isn't
    enabled in WCDMA-only mode

    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=100000

 src/mm-broadband-modem.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

commit cec01fdaf67a7973a4bb1691baeb31fb0cf7ec2f
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 28 13:30:56 2017 -0600

    libqcdm: fix WCDMA L1 Manager states

    The enum was wrong.  There isn't actually an L1M_INIT state; the
    enum should start with L1M_IDLE.  There should also be a
    L1M_PCH_SLEEP state between DEACTIVATE and DEEP_SLEEP.

    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=100000

 libqcdm/src/commands.h        | 20 +++++++++++---------
 libqcdm/tests/test-qcdm-com.c | 12 +++++++++---
 2 files changed, 20 insertions(+), 12 deletions(-)

commit 21f315f6d554b93e4f098cfd0e94c484a8a0c5dc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 28 11:13:04 2017 +0100

    broadband-modem-qmi: FCC auth if InvalidTransition when going online

    https://bugs.freedesktop.org/show_bug.cgi?id=100001

 src/mm-broadband-modem-qmi.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

commit 40e6fa48c4d43069ced8cd9bc7206d3554b6e72a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 15 10:10:51 2017 +0100

    build: make sure subdir exists before running glib-mkenums

    Reported-by: Colin Helliwell <colin.helliwell@ln-systems.com>

 configure.ac        |  1 +
 plugins/Makefile.am | 22 +++++++++++++---------
 2 files changed, 14 insertions(+), 9 deletions(-)

commit 37df2643d2334a8ed8b9774396fcd2567a68a6de
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 14 19:46:26 2017 +0100

    cinterion: improve ^SMONG response parser:

      * Allow whitespaces prefixing the values row.
      * Allow more than one \r\n between the title and the table header.

    Reported-by: Colin Helliwell <colin.helliwell@ln-systems.com>

 plugins/cinterion/mm-broadband-modem-cinterion.c   | 87
 +++-------------------
 plugins/cinterion/mm-modem-helpers-cinterion.c     | 77
 +++++++++++++++++++
 plugins/cinterion/mm-modem-helpers-cinterion.h     |  8 ++
 .../cinterion/tests/test-modem-helpers-cinterion.c | 43 +++++++++++
 4 files changed, 137 insertions(+), 78 deletions(-)

commit 97eb23a964046abd0724d6fff6d3816f4ab3e220
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 14 09:44:21 2017 +0100

    cinterion: fix 'ds' setting in CNMI command builder

    Reported-by: Colin Helliwell <colin.helliwell@ln-systems.com>

 plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1d41685f487a7d84846826d99fc99e3461ffce37
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Feb 13 15:03:20 2017 +0100

    device: disconnect signal handlers when modem object removed

    Don't rely on the automatic disconnection of the signal as the last
    reference of the modem object may outlive the device object.

    Also, setup a common clear_modem() function to dispose the internal
    reference of the modem object, which will take care of the signal
    disconnection when required.

    https://lists.freedesktop.org/archives/modemmanager-devel/2017-February/003907.html

 src/mm-device.c | 34 +++++++++++++++++++++++-----------
 1 file changed, 23 insertions(+), 11 deletions(-)

commit 421713208bc3212d153906ad231a2e4b6b5ce6de
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Feb 13 10:42:06 2017 +0100

    cinterion: support number ranges in CNMI=? parser

    https://lists.freedesktop.org/archives/modemmanager-devel/2017-February/003911.html

 plugins/cinterion/mm-modem-helpers-cinterion.c     | 109
 +++++++--------------
 .../cinterion/tests/test-modem-helpers-cinterion.c |  50 ++++++++++
 2 files changed, 88 insertions(+), 71 deletions(-)

commit 91613543d595f8d345a8725746b6f77a821173a8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 8 18:27:54 2017 +0100

    libmm-glib: set clear func by default in the MMModemPortInfo array

    So that we don't leak the port names allocated within each
    MMModemPortInfo.

        ==261== 672 bytes in 84 blocks are definitely lost in loss record
        7,314 of 7,383
        ==261== at 0x402C51E: malloc (vg_replace_malloc.c:299)
        ==261== by 0x4484878: g_malloc (gmem.c:94)
        ==261== by 0x449D51D: g_strdup (gstrfuncs.c:363)
        ==261== by 0x44B5B73: g_variant_dup_string (gvariant.c:1529)
        ==261== by 0x44B945E: g_variant_valist_get_nnp (gvariant.c:4775)
        ==261== by 0x44B945E: g_variant_valist_get_leaf (gvariant.c:4945)
        ==261== by 0x44B945E: g_variant_valist_get (gvariant.c:5126)
        ==261== by 0x44B922C: g_variant_valist_get (gvariant.c:5161)
        ==261== by 0x44B9FC9: g_variant_get_va (gvariant.c:5388)
        ==261== by 0x44BA3C5: g_variant_get_child (gvariant.c:5486)
        ==261== by 0x6613FA8: mm_common_ports_variant_to_garray
        (mm-common-helpers.c:238)
        ==261== by 0x6601AB9: ensure_internal_ports (mm-modem.c:766)
        ==261== by 0x6603E42: mm_modem_peek_ports (mm-modem.c:825)
        ==261== by 0x65CD94D: owns_port (nm-modem-broadband.c:196)

    Reported-by: Piotr Figiel <p.figiel@camlintechnologies.com>

 libmm-glib/mm-common-helpers.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 5a8620d984eb3ca9632b6d63f625ffb5c522716e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 8 18:26:39 2017 +0100

    cli: minor indentation fix

 cli/mmcli.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 255e4c769bb4c807f64ce0ed699d62bc88b5b670
Author: Piotr Figiel <p.figiel@camlintechnologies.com>
Date:   Wed Feb 8 18:18:46 2017 +0100

    libmm-glib: fix leaking bearer_path string

        ==261== 482 bytes in 12 blocks are definitely lost in loss record
        7,290 of 7,383
        ==261== at 0x402C51E: malloc (vg_replace_malloc.c:299)
        ==261== by 0x4484878: g_malloc (gmem.c:94)
        ==261== by 0x449D51D: g_strdup (gstrfuncs.c:363)
        ==261== by 0x44B5B73: g_variant_dup_string (gvariant.c:1529)
        ==261== by 0x44B945E: g_variant_valist_get_nnp (gvariant.c:4775)
        ==261== by 0x44B945E: g_variant_valist_get_leaf (gvariant.c:4945)
        ==261== by 0x44B945E: g_variant_valist_get (gvariant.c:5126)
        ==261== by 0x44B922C: g_variant_valist_get (gvariant.c:5161)
        ==261== by 0x44B9FC9: g_variant_get_va (gvariant.c:5388)
        ==261== by 0x44BA1DB: g_variant_get (gvariant.c:5335)
        ==261== by 0x664E2EF: mm_gdbus_modem_simple_call_connect_finish
        (mm-gdbus-modem.c:22451)
        ==261== by 0x6608A08: simple_connect_ready (mm-modem-simple.c:154)
        ==261== by 0x429136F: g_task_return_now (gtask.c:1107)
        ==261== by 0x4291A69: g_task_return (gtask.c:1165)

 libmm-glib/mm-modem-simple.c | 1 +
 1 file changed, 1 insertion(+)

commit 0ea4b09fd64b7c50bf86b94a5ff5114b04ebc766
Author: Maksim Salau <maksim.salau@gmail.com>
Date:   Sat Feb 4 23:23:15 2017 +0300

    blacklist: add promotion boards from Renesas

    Signed-off-by: Maksim Salau <maksim.salau@gmail.com>

 src/77-mm-usb-device-blacklist.rules | 4 ++++
 1 file changed, 4 insertions(+)

commit 31655bb5a5e2c806cee23b9ee41c2e663c5decbd
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Feb 2 16:45:01 2017 -0800

    glib: remove invocations of g_type_init()

    g_type_init() has been deprecated (and also marked with the attribute
    'deprecated') since glib 2.36 as the type system is automatically
    initialized. Since the minimum version of glib required by
    ModemManager
    is 2.36, calling g_type_init() isn't necessarily in the ModemManager
    code.

 cli/mmcli.c                                            | 2 --
 libmm-glib/tests/test-common-helpers.c                 | 1 -
 plugins/altair/tests/test-modem-helpers-altair-lte.c   | 1 -
 plugins/cinterion/tests/test-modem-helpers-cinterion.c | 1 -
 plugins/generic/tests/test-service-generic.c           | 1 -
 plugins/huawei/tests/test-modem-helpers-huawei.c       | 1 -
 plugins/icera/tests/test-modem-helpers-icera.c         | 1 -
 plugins/linktop/tests/test-modem-helpers-linktop.c     | 1 -
 plugins/mbm/tests/test-modem-helpers-mbm.c             | 1 -
 plugins/telit/tests/test-mm-modem-helpers-telit.c      | 1 -
 plugins/tests/test-udev-rules.c                        | 1 -
 plugins/thuraya/tests/test-mm-modem-helpers-thuraya.c  | 1 -
 plugins/ublox/tests/test-modem-helpers-ublox.c         | 1 -
 src/main.c                                             | 2 --
 src/tests/test-at-serial-port.c                        | 1 -
 src/tests/test-modem-helpers-qmi.c                     | 1 -
 src/tests/test-modem-helpers.c                         | 1 -
 src/tests/test-qcdm-serial-port.c                      | 3 ---
 src/tests/test-sms-part-3gpp.c                         | 1 -
 src/tests/test-sms-part-cdma.c                         | 1 -
 src/tests/test-udev-rules.c                            | 1 -
 test/lsudev.c                                          | 2 --
 test/mmrules.c                                         | 2 --
 test/mmtty.c                                           | 2 --
 24 files changed, 31 deletions(-)

commit f20f2d04282f673cebc2ce9262c5b10adab82fa2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 31 00:43:22 2017 +0100

    blacklist: add Analog PlutoSDR

    Reported-by: Robin Getz <Robin.Getz@analog.com>

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit ab48dc5b17f90f12e82ccdd58a40d137858e1490
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 28 21:54:13 2017 -0600

    telit: add LTE access technology reporting

 plugins/telit/mm-broadband-modem-telit.c | 3 +++
 1 file changed, 3 insertions(+)

commit ef8cc2912499ac82b9875f4d6f8b90cfe4b23cd5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 26 17:29:43 2017 +0100

    serial: minor indentation fix

 src/mm-port-serial.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3de34e94ccd066aa7540dc4f32a17776a110b579
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 26 14:36:02 2017 +0100

    serial: fix handling errors in virtual serial ports

    The g_socket_receive() method returns a signed size variable, so don't
    use an unsigned variable to hold the result.

 src/mm-port-serial.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

commit c8ec731043d6dc8429597062254dc669cae4ff5c
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jan 23 23:08:15 2017 -0800

    ublox: fix uninitialized variable issue

    This patch fixes an uninitialized variable issue in
    mm_ublox_parse_ugcntrd_response_for_cid(), which uses an uninitialized
    `match_info' when `in_cid' is invalid.

 plugins/ublox/mm-modem-helpers-ublox.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4e5d8d7e8c0ce16e31d3c98710361eed1cf9f87c
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jan 23 23:07:57 2017 -0800

    bearer-qmi: fix incorrect use of mm_base_bearer_get_status

    This patch fixes a bug in packet_service_status_indication_cb(), which
    incorrectly treats the MMBearerStatus enum value returned by
    mm_base_bearer_get_status() as a MMBearerConnectionStatus enum value.
    MMBearerStatus and MMBearerConnectionStatus can't be used
    interchangeably as they have different enum values for the
    'disconnected' and 'disconnecting' state.

 src/mm-bearer-qmi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 4a80c2416962626750696cb744da3a51e7b8f831
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jan 11 22:29:08 2017 -0800

    telit: use g_assert instead of g_assert_true / g_assert_false

    `g_assert_true' and `g_assert_false' are defined in glib 2.38
    or later.
    The minimum glib version currently required by ModemMamanger is 2.36.
    While `g_assert_true' and `g_assert_false' may be preferred over the
    more generic `g_assert', it seems like overkill to bump the minimum
    glib
    version requirement just for that. When more code in ModemManager
    later
    requires newer versions of glib, we can migrate all existing code
    to use
    `g_assert_true' and `g_assert_false' when appropriate.

 plugins/telit/tests/test-mm-modem-helpers-telit.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit 11297bcc7914f49ae79b450e6582f0cc61fd178f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 14 13:54:47 2016 +0100

    cinterion: implement connection status monitoring via ^SWWAN?

    And consolidate the connection status checks done during connection
    and
    disconnection so that we re-use the same logic.

 plugins/cinterion/mm-broadband-bearer-cinterion.c  | 179
 ++++++++++++++-------
 plugins/cinterion/mm-modem-helpers-cinterion.c     |  36 +++--
 plugins/cinterion/mm-modem-helpers-cinterion.h     |  16 +-
 .../cinterion/tests/test-modem-helpers-cinterion.c |  60 +++----
 4 files changed, 181 insertions(+), 110 deletions(-)

commit 9f725bc96a0e0aa67440694799371f05c11bd74d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 14 13:54:04 2016 +0100

    cinterion: default to PAP if no auth explicitly given

    This is the same logic used in other implementations (e.g. QMI).

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 41
 +++++++++++++----------
 1 file changed, 23 insertions(+), 18 deletions(-)

commit af2d6c1c4b7f815862313bf0f84b1ff0e91ccd60
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 13 12:29:21 2016 +0100

    cinterion: don't use predefined CIDs

    The suggestion to use specific PDP context CIDs was given by Cinterion
    for the special case of the Verizon operator, which 'reserves'
    specific
    CIDs for specific purposes.

    We don't want to impose that at the Cinterion plugin level, so remove
    the PDP context mapping we had.

    Therefore, simplify the connection procedure by just overriding the
    'dialing' step of the default 3GPP connection sequence, instead of
    overriding the whole connection sequence.

    Also, we don't need to override the step to gather IP config because
    this is already handled by the generic plugin (for DHCP over a network
    interface).

    We port to GTask for both 3GPP dial and 3GPP disconnect at the
    same time.

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 457
 ++++++++++------------
 1 file changed, 196 insertions(+), 261 deletions(-)

commit 7d576a084ca5ee53f163f87e18b0b1ab021c4075
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 28 17:24:38 2016 +0100

    cinterion: fix typo in comment

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1919138c68d5f91c1fe49daf3eddce653f6d4aa8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 24 11:37:10 2016 +0100

    cinterion: don't check for ^SWWAN support during enabling

    Better check for ^SWWAN support during the first time a bearer
    is going
    to be created.

    The enabling phase isn't the correct one because this logic is
    only run
    whenever a modem is detected but not hotplugged (i.e. this step is to
    'reset' the modem to generic runtime settings).

 plugins/cinterion/mm-broadband-modem-cinterion.c | 150
 ++++++++---------------
 1 file changed, 49 insertions(+), 101 deletions(-)

commit 9ca3fde06bc920e2fc15127888dbbfe731a73a56
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 24 11:25:02 2016 +0100

    cinterion: minor coding style fixes

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 18 ++++++-------
 plugins/cinterion/mm-broadband-bearer-cinterion.h | 17 ++++++------
 plugins/cinterion/mm-broadband-modem-cinterion.c  | 33
 +++++++++++------------
 3 files changed, 33 insertions(+), 35 deletions(-)

commit 37521ed2b611bdccd288cabc5fc4e48c51a32e49
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 24 01:53:11 2016 +0100

    cinterion: simplify ^SWWAN response parsing

    We get as input the ^SWWAN index we're interested in, and we loop
    through the list of ^SWWAN lines looking for the one we need.

    This updated helper method allows working with multi-line ^SWWAN
    responses, e.g. given when more than one PDP context is active.

 plugins/cinterion/mm-broadband-bearer-cinterion.c  |  98 +++-----
 plugins/cinterion/mm-modem-helpers-cinterion.c     | 134 +++++-----
 plugins/cinterion/mm-modem-helpers-cinterion.h     |  14 +-
 .../cinterion/tests/test-modem-helpers-cinterion.c | 270
 +++++++++++----------
 4 files changed, 254 insertions(+), 262 deletions(-)

commit dc96829bb5a49216e45e770f249f29e725ce97ad
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 24 01:15:39 2016 +0100

    cinterion: no need for private struct

    The only member in the private network isn't even used.

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 34
 -----------------------
 plugins/cinterion/mm-broadband-bearer-cinterion.h |  2 --
 2 files changed, 36 deletions(-)

commit f7ca0124b0a1d5013c1f0fd6f9e5b182d6cdef60
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 24 10:31:15 2016 +0100

    cinterion: rework 3GPP connection sequence

    Group together all connection related logic (e.g. context) and define
    the context steps directly within the connection sequence processing.

    Also, don't initially run a disconnection before the connection;
    if that
    logic is ever needed we should likely have it in the generic modem,
    not
    done per plugin.

    And error out early if not asking for IPv4.

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 521
 ++++++++++------------
 1 file changed, 227 insertions(+), 294 deletions(-)

commit 955b46daf96c841a6ffbccc80f73e7d852c430d7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 24 00:23:48 2016 +0100

    cinterion: rework 3GPP disconnection sequence

    Group together all disconnection related logic (e.g. context)
    and define
    the context steps directly within the disconnection sequence
    processing.

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 237
 ++++++++++------------
 1 file changed, 111 insertions(+), 126 deletions(-)

commit 6721c83d073d1a3ae8c0037d69211cf02388bb49
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 23 23:54:41 2016 +0100

    cinterion: use BearerCinterionAuthType when possible

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit d50059ead40d9e6c18d4ff5cd8daaf2cea965d74
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 23 23:42:46 2016 +0100

    cinterion: setup per-interface configuration settings

    Define the relationship between PDP context, SWWAN index and USB
    interface number in one single place.

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 196
 ++++++++++++----------
 1 file changed, 103 insertions(+), 93 deletions(-)

commit 938a53e7c64751d045e9fe1b11f9de774f3878f3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 23 23:02:29 2016 +0100

    cinterion: fix coding style for enum values

    The enum values are given in UPPER_CASE format, not in CamelCase.

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 74
 +++++++++++------------
 plugins/cinterion/mm-broadband-modem-cinterion.c  | 16 ++---
 2 files changed, 45 insertions(+), 45 deletions(-)

commit ef50c085f9a96db3297de982e24015e574b3b0e6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 23 22:53:59 2016 +0100

    base-modem,cinterion: no need for a peek_current_data_port() method

    We already get the data port given as input parameter in
    disconnect_3gpp(), so there is no point in trying to find out
    which the
    data port is.

 plugins/cinterion/mm-broadband-bearer-cinterion.c | 19
 ++-----------------
 src/mm-base-modem.c                               | 20
 --------------------
 src/mm-base-modem.h                               |  1 -
 3 files changed, 2 insertions(+), 38 deletions(-)

commit 1ffcb163493edf82bc7102b028450fca40b4dddd
Author: Matthew Stanger <matthew_stanger@trimble.com>
Date:   Sun Oct 23 19:28:19 2016 -0600

    cinterion: implement support for the new SWWAN interface

 AUTHORS                                            |   1 +
 plugins/Makefile.am                                |   2 +
 plugins/cinterion/mm-broadband-bearer-cinterion.c  | 902
 +++++++++++++++++++++
 plugins/cinterion/mm-broadband-bearer-cinterion.h  |  57 ++
 plugins/cinterion/mm-broadband-modem-cinterion.c   | 229 +++++-
 plugins/cinterion/mm-modem-helpers-cinterion.c     |  81 ++
 plugins/cinterion/mm-modem-helpers-cinterion.h     |   7 +
 .../cinterion/tests/test-modem-helpers-cinterion.c | 135 +++
 src/mm-base-modem.c                                |  20 +
 src/mm-base-modem.h                                |   1 +
 10 files changed, 1434 insertions(+), 1 deletion(-)

commit 2f12d96fe44f867eb7f9f1941dfe362837ccd351
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jan 4 13:44:12 2017 +0100

    libmm-glib,modem: init/clear ports mutex

 libmm-glib/mm-modem.c | 2 ++
 1 file changed, 2 insertions(+)

commit 094fea5392c21beeaf7c06b43e19eccde6af35f5
Author: Thomas Haller <thaller@redhat.com>
Date:   Wed Jan 4 13:15:31 2017 +0100

    libmm-glib: fix memleak of MMModem's ports

    Fixes: 3206e9566392e8a9678bbd49e0de9bb21ed75291

 libmm-glib/mm-modem.c | 2 ++
 1 file changed, 2 insertions(+)

commit 61dc32a72ce5bb17de5ca7fc6d76323c49963f08
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Tue Dec 20 16:22:41 2016 +0100

    telit: wrong port peek in telit_qss_toggle_ready

    qss unsolicited handler should be assigned to primary port first,
    while secondary port was peeked.

 plugins/telit/mm-broadband-modem-telit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9a92034cd3c47349a0c1d3c95de8672275352240
Author: Carlo Lobrano <carlo.lobrano@telit.com>
Date:   Tue Dec 20 12:34:01 2016 +0100

    device: fixed crash in SIM hot swap when removing the SIM

    mm_device_create_modem needs a valid object_manager instance to
    create the new
    modem, while the one provided before was cleared out by a call to
    mm_device_remove_modem few lines before.

    Since the newly created modem refers to the same HW device, we can use
    the same object_manager also.

    https://bugs.freedesktop.org/show_bug.cgi?id=99160

 src/mm-device.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

commit 0bf4db6561de9be61028eb6bc1792a3b7cc410b5
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Mon Dec 12 10:28:33 2016 +0100

    telit: blacklist LE866 flashing device

    Moved blacklist code to 77-mm-usb-device-blacklist.rules as per
    code review

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 4197dd2e70bd9b13500fb700a841e8cfe478ed5b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 11 12:43:51 2016 +0100

    bearer-qmi: signal id may be 0 even if enable == FALSE

    E.g. if the connection attempt fails,
    connect_context_complete_and_free() may
    be called before the signals are connected to the QmiClients.

    https://bugs.freedesktop.org/show_bug.cgi?id=99047

 src/mm-bearer-qmi.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 905c8a48e96350af002536b627b46fbf517f727c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 23 16:19:57 2016 +0100

    libqcdm,libwmc: use C99 sized types from stdint.h

 libqcdm/src/commands.c           | 203 ++++++++++---------
 libqcdm/src/commands.h           |  54 ++---
 libqcdm/src/dm-commands.h        | 377
 ++++++++++++++++++-----------------
 libqcdm/src/log-items.h          | 152 +++++++-------
 libqcdm/src/logs.c               |  29 ++-
 libqcdm/src/logs.h               |  12 +-
 libqcdm/src/nv-items.h           |  19 +-
 libqcdm/src/result-private.h     |  11 +-
 libqcdm/src/result.c             |  41 ++--
 libqcdm/src/result.h             |   9 +-
 libqcdm/src/utils.c              |  13 +-
 libqcdm/src/utils.h              |  11 +-
 libqcdm/tests/ipv6pref.c         |   7 +-
 libqcdm/tests/modepref.c         |  21 +-
 libqcdm/tests/reset.c            |   4 +-
 libqcdm/tests/test-qcdm-com.c    |  21 +-
 libqcdm/tests/test-qcdm-result.c |   5 +-
 libwmc/src/commands.c            |  33 ++--
 libwmc/src/commands.h            |   2 +-
 libwmc/src/protocol.h            | 416
 +++++++++++++++++++--------------------
 libwmc/src/result-private.h      |   5 +-
 libwmc/src/result.c              |  19 +-
 libwmc/src/result.h              |   7 +-
 libwmc/src/utils.c               |  21 +-
 libwmc/src/utils.h               |  15 +-
 libwmc/tests/test-wmc-com.c      |   9 +-
 src/mm-broadband-modem.c         |  10 +-
 uml290/uml290mode.c              |  21 +-
 28 files changed, 764 insertions(+), 783 deletions(-)

commit 944e34ecdb9028b68b2144dd2c6d698d508f1808
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 23 10:53:56 2016 +0100

    tests,dbus: append pid to abstract socket name

    So that different concurrent runs of this same test don't clash with
    each other:

        TEST: test-service-generic... (pid=11124)
          /MM/Service/Generic/enable-disable:
          Activating service name='org.freedesktop.ModemManager1'
        Successfully activated service 'org.freedesktop.ModemManager1'
        ** (plugins/.libs/lt-test-service-generic>:11124): ERROR **:
        Cannot bind socket: Error binding to address: Address already
        in use
        cleaning up pid 11144
        FAIL

 plugins/generic/tests/test-service-generic.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

commit 20074c55746f4f87c38470b5da5105eef77f6cd3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 23 10:44:34 2016 +0100

    tests,dbus: check if we're asked to use an abstract socket

 plugins/tests/test-port-context.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit c1e62794aef2e26553bf6c90aace5e18c97851d1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 21 20:20:12 2016 +0100

    introspection: expand list of XMLs to install

    And avoid including the wip-* XMLs in the dist tarball.

 introspection/Makefile.am | 26 +++++++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)

commit 3b38ecb01e9d208f3f4c4bce05986100bfc8b0cb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 21 13:55:49 2016 +0100

    introspection: avoid white lines within <variablelist>

    Looks like gdbus-codegen ends up making paragraphs and that breaks the
    XML parsing:

          DOC   Building HTML
        ../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.xml:60:
        parser error : Opening and ending tag mismatch: variablelist
        line 59 and para
        </para><para>
        <varlistentry><term><literal>action</literal></term>
               ^
        ../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.xml:110:
        parser error : Opening and ending tag mismatch: para line 110
        and variablelist
        </para><para>        </variablelist>
                                            ^
        ../xml/ModemManager-dbus-reference.xml:93:
        element include: XInclude error : could not load
        ../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.xml,
        and no fallback was found

 introspection/org.freedesktop.ModemManager1.xml | 5 -----
 1 file changed, 5 deletions(-)

commit 30c2790aa4a712e4cc834d43408d75803db47861
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 21 13:44:08 2016 +0100

    kerneldevice,generic: load virtual devices without default rules

    This is so that "make check" doesn't depend on having the rule files
    installed in the default udev rules directory, which currently would
    break the build:

        TEST: test-service-generic... (pid=2601)
          /MM/Service/Generic/enable-disable:
          Activating service name='org.freedesktop.ModemManager1'
        Successfully activated service 'org.freedesktop.ModemManager1'

        **
        (/home/aleksander/Development/foss/ModemManager/plugins/.libs/lt-test-service-generic:2601):
        ERROR **: Error setting test profile:
        GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Failed:
        Failed to find primary AT port
        FAIL
        GTester: last random seed: R02S3897abaae9df36f8d2eeb679406ab675
        make[3]: *** [Makefile:3804: test-nonrecursive] Terminated

 src/kerneldevice/mm-kernel-device-generic.c | 3 ++-
 src/mm-plugin.c                             | 5 ++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

commit 51e3d3d8372e615e9c9a62408638cd8a480f5a14
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Nov 17 12:09:11 2016 +0100

    modem-helpers: improve +CCLK parsing

    Added support for 4-digit format years (i.e. YYYY), and also made the
    timezone information optional, as per +CSDF in 3GPP TS 27.007.

    https://bugs.freedesktop.org/show_bug.cgi?id=95319

 src/mm-modem-helpers.c         | 96
 ++++++++++++++++++++++++++----------------
 src/tests/test-modem-helpers.c |  7 +++
 2 files changed, 66 insertions(+), 37 deletions(-)

commit 64b4afa960e7440505dfb1f18ca9c20506d7e16e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 7 19:46:40 2016 +0100

    kernel-device: return G_MAXUINT when get_property_as_int_hex() fails

 src/kerneldevice/mm-kernel-device-generic.c | 2 +-
 src/kerneldevice/mm-kernel-device-udev.c    | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 820ab01ddfdf3ddee150f9e84fbee71bae884dea
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 7 19:36:26 2016 +0100

    kernel-device: ID_USB_INTERFACE_NUM should be read as an hex string

    The original g_udev_device_get_property_as_int() uses strtol() without
    an explicit base (i.e. 0) so that the base is autodetected from the
    string whenever possible (e.g. if prefixes with '0x' it is treated
    as a
    hexadecimal string).

    But, for ID_USB_INTERFACE_NUM, we explicitly require reading the
    number
    as an hex string, even if we don't have any '0x' prefix.

    Reported-by: Matthew Stanger <stangerm2@gmail.com>

 plugins/huawei/mm-plugin-huawei.c           | 12 ++++++------
 plugins/option/mm-plugin-option.c           |  4 ++--
 src/kerneldevice/mm-kernel-device-generic.c | 14 ++++++++++++++
 src/kerneldevice/mm-kernel-device-udev.c    | 20 ++++++++++++++++++++
 src/kerneldevice/mm-kernel-device.c         | 11 +++++++++++
 src/kerneldevice/mm-kernel-device.h         |  2 ++
 6 files changed, 55 insertions(+), 8 deletions(-)

commit 4f748144b05375db436364e13186936eae6bcfd2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 7 17:47:55 2016 +0100

    port-probe: don't probe ignored ports

    If a port has been flagged as ignored with the ID_MM_PORT_IGNORE
    udev property,
    we shouldn't open and probe the ports in any way, just flag them as
    ignored. We
    still report them in the list of modem ports, but just with "unknown"
    type and
    therefore not using them for anything.

 src/mm-port-probe.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit a0b95db2b98c46520adced4263dc9982d8a1c8fd
Author: Sam Spilsbury <smspillaz@gmail.com>
Date:   Tue Jul 21 13:12:44 2015 +0800

    Makefile: Move to AM_DISTCHECK_CONFIGURE_FLAGS

    Since automake 1.11.2 it is recommended that packages
    use AM_DISTCHECK_CONFIGURE_FLAGS instead of
    DISTCHECK_CONFIGURE_FLAGS as the latter is intended
    to be a user variable.

    https://bugs.freedesktop.org/show_bug.cgi?id=95826

 Makefile.am  | 2 +-
 configure.ac | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 9583ec98fd0d8ec53e5cdf048461166ea329b4ce
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Tue Oct 25 14:50:05 2016 +0200

    broadband-modem-qmi: add QMI_PROTOCOL_ERROR_NOT_SUPPORTED case for
    pin status checking

    Telit LE922A does not like the legacy way for checking pin status, but
    instead of returning QMI_PROTOCOL_ERROR_INVALID_QMI_COMMAND,
    it returns
    QMI_PROTOCOL_ERROR_NOT_SUPPORTED, making the modem not to be fully
    initialized.

    This patch adds QMI_PROTOCOL_ERROR_NOT_SUPPORTED as another error for
    which the new pin checking status way is tried.

 src/mm-broadband-modem-qmi.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 2c5af4f0bcd150b950462b2640dcd78dcbb522d6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Oct 24 13:32:59 2016 +0200

    core: use a default timeout of 300s for the scan networks operation

    This is the value which we actually suggest in the manpage for
    the mmcli
    operation, so just use the same one.

       Scanning for 3GPP networks may really take a long time, so a
       specific timeout must be given:
           $ mmcli -m 0 --3gpp-scan --timeout=300

           Found 4 networks:
           21404 - Yoigo (umts, available)
           21407 - Movistar (umts, current)
           21401 - vodafone ES (umts, forbidden)
           21403 - Orange (umts, forbidden)

    https://bugs.freedesktop.org/show_bug.cgi?id=98235

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 2 +-
 src/mm-broadband-modem-mbim.c                    | 2 +-
 src/mm-broadband-modem-qmi.c                     | 2 +-
 src/mm-broadband-modem.c                         | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

commit ccea14ac476737535124b6e9e553fcdc57b67529
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Mon Oct 17 18:25:08 2016 +0200

    systemd: tighten the service security a bit

    What's left enabled:

    * Access to /dev -- obviously
    * CAP_SYS_ADMIN -- this is needed by TIOCSSERIAL only. Too bad
    this also
      allows TIOCSTI, which allows for code injection unless something
      else
      (SELinux) disallows access to ttys with shells.
      Maybe kernel should use CAP_SYS_TTY_CONFIG for this.
    * socket(AF_NETLINK) -- udev & kernel device changes
    * socket(AF_UNIX) -- D-Bus

 data/ModemManager.service.in | 6 ++++++
 1 file changed, 6 insertions(+)

commit da2b0064eec3ff7710ef2efd79df53b426d6ef7a
Author: Sławomir Bocheński <lkslawek@gmail.com>
Date:   Tue Jun 7 22:07:22 2016 +0200

    blacklist: ignore Sigma Sport docking stations

    These CDC ACM class devices are docking stations for Sigma Sport bike
    computers. As they are sensitive to single byte commands, ModemManager
    probing mechanism actually caused training data on attached bike
    computer to be zeroed.

    https://bugs.freedesktop.org/show_bug.cgi?id=96430

 src/77-mm-usb-device-blacklist.rules | 5 +++++
 1 file changed, 5 insertions(+)

commit 7078587f58b2fbf8356931cc2425d78c8bee0136
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Thu Oct 20 11:33:58 2016 +0200

    telit: optimized supported and current band code

    In place of two slightly different regexes for 2g/3g and 2g/3g/4g
    modems
    we now use only one regex with conditional patterns for both supported
    and current Bands detection.

    Adding also minor fix in test code

 plugins/telit/mm-modem-helpers-telit.c            | 18 ++++--------------
 plugins/telit/tests/test-mm-modem-helpers-telit.c |  2 +-
 2 files changed, 5 insertions(+), 15 deletions(-)

commit 0bd3ca202bd1df9c9a2cd70f12bde157bd14bd81
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 18 10:28:50 2016 +0200

    broadband-modem-qmi: don't use PIN2 lock state if unknown

 src/mm-broadband-modem-qmi.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit 17a90b8fa64ebaef1422b972000f321107977e81
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 13 12:08:21 2016 +0200

    libmm-glib,call-properties: fix wrong enum returned

    https://bugs.freedesktop.org/show_bug.cgi?id=98220

 libmm-glib/mm-call-properties.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit af90506da4c1b7f65242a99aff96a59760c054dc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 13 12:00:26 2016 +0200

    build: disable GLib deprecation warnings until fully ported to GTask

    Otherwise the build log is very very dense...

        ../../src/mm-broadband-modem-qmi.c: In function
        'modem_load_own_numbers':
        ../../src/mm-broadband-modem-qmi.c:1406:5: warning:
        'g_simple_async_result_new' is deprecated (declared at
        /usr/include/glib-2.0/gio/gsimpleasyncresult.h:51): Use
        'g_task_new' instead [-Wdeprecated-declarations]
             result = g_simple_async_result_new (G_OBJECT (self),
             ^
        ../../src/mm-broadband-modem.c: In function
        'signal_quality_qcdm_ready':
        ../../src/mm-broadband-modem-mbim.c: In function
        'modem_3gpp_scan_networks_finish':
        ../../src/mm-broadband-modem.c:1986:9: warning:
        'g_simple_async_result_take_error' is deprecated (declared
        at /usr/include/glib-2.0/gio/gsimpleasyncresult.h:116)
        [-Wdeprecated-declarations]
                 g_simple_async_result_take_error (ctx->result, error);
                 ^
        ../../src/mm-broadband-modem-mbim.c:2824:5: warning:
        'g_simple_async_result_propagate_error' is deprecated (declared
        at /usr/include/glib-2.0/gio/gsimpleasyncresult.h:119)
        [-Wdeprecated-declarations]
             if (g_simple_async_result_propagate_error
             (G_SIMPLE_ASYNC_RESULT (res), error))
             ^

 configure.ac | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit 33e563fe489ea36493c2f00aaac1534906e1dade
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 13 11:49:30 2016 +0200

    ublox: fix VPATH builds and distcheck

    https://bugs.freedesktop.org/show_bug.cgi?id=98216

 plugins/Makefile.am | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

commit e3e803998c4c0bc65bfd5912928f70e932d80146
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 31 18:27:01 2016 +0200

    ublox: add README explaining all details of the plugin

 plugins/ublox/README | 162
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 162 insertions(+)

commit 38bf567536d2a3f968dec661f914b4a0f9261eb8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 31 18:33:25 2016 +0200

    ublox: longer timeout needed for AT probing

    When the device is reset, it needs some time before the newly exposed
    TTYs are
    able to reply to our AT commands. We increase the default timeout
    of the AT
    probing commands in order to cope with that, or we'll end up with
    TTYs of
    'unknown' type that aren't used for anything.

 plugins/ublox/mm-plugin-ublox.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 5a9f093839029c10791fbc67047c3b4843a53063
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 22 23:34:53 2016 +0200

    modem-helpers: implement less strict APN comparison

    u-blox modems will append a string showing the MCC and MNC info to
    the access
    point name listed in AT+CGDCONT? responses. We will try to detect
    when that
    happens, and we just accept the match.

    The logic doesn't just look for a string prefix; it also looks for
    the special
    MCC + MNC suffix, which is much more restrictive, to try to avoid
    false
    positives.

 src/mm-broadband-bearer.c      |  7 ++++---
 src/mm-modem-helpers.c         | 44
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |  4 ++++
 src/tests/test-modem-helpers.c | 39 +++++++++++++++++++++++++++++++++++++
 4 files changed, 91 insertions(+), 3 deletions(-)

commit 75ad9bf98be802bec12b0c8ba0ed9fd95ce8902f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 22 22:17:21 2016 +0200

    broadband-bearer: more detailed logging of why a given CID is chosen

 src/mm-broadband-bearer.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

commit e64b964e8e2eb43b5555088a53890640865edbe8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 15 12:35:57 2016 +0200

    ublox: implement connection statistics loading

    The implementation uses +UGCNTRD=? to query whether the per-PDP
    context
    statistics are supported by the device, and if they are, +UGCNTRD
    is used to
    query them.

    We only process the statistics for the specific CID we're using.

 plugins/ublox/mm-broadband-bearer-ublox.c | 163
 +++++++++++++++++++++++++++++-
 plugins/ublox/mm-modem-helpers-ublox.c    |   6 ++
 2 files changed, 166 insertions(+), 3 deletions(-)

commit e6e53467ee738b493cc89c750818ccb688fb5d5f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 15 12:14:19 2016 +0200

    ublox: new +UGCNTRD? response parser

    The parser returns only the results for the CID being specified as
    input. This
    is so that we can just query the statistics of the CID currently in
    use by the
    bearer.

 plugins/ublox/mm-modem-helpers-ublox.c         | 90
 ++++++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         | 11 ++++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 80
 +++++++++++++++++++++++
 3 files changed, 181 insertions(+)

commit 1775544dbc737c40aae31516f8ecc4d1822aac22
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 15 13:24:45 2016 +0200

    base-bearer: allow deactivating stats loading if device says
    unsupported

 src/mm-base-bearer.c | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

commit 79aebb9ba4e074f2378d0580d2bd00269b4b026c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 12 18:20:32 2016 +0200

    ublox: implement current bands setting

    Reuse the logic and context used to update current modes, as we need
    the same
    steps (check current power state, go into low power, config update,
    and recover
    previous power state).

 plugins/ublox/mm-broadband-modem-ublox.c | 196
 ++++++++++++++++++-------------
 1 file changed, 115 insertions(+), 81 deletions(-)

commit 1c69a847ae0ac2435d48525714bccdc699fab72b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 12 18:03:32 2016 +0200

    ublox: new +UBANDSEL=X command builder

 plugins/ublox/mm-modem-helpers-ublox.c         | 55
 ++++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         |  6 +++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 59
 ++++++++++++++++++++++++++
 3 files changed, 120 insertions(+)

commit c165f24514e1d5ab05c08dd7480241955006b2fa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 12 12:54:53 2016 +0200

    ublox: implement current bands loading

 plugins/ublox/mm-broadband-modem-ublox.c | 33
 ++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

commit 09c9ca5749f2fc59e5d1adf84eb3a0e0c9a58cff
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 12 11:36:48 2016 +0200

    ublox: new +UBANDSEL? response parser

 plugins/ublox/mm-modem-helpers-ublox.c         | 87
 ++++++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         |  6 ++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 83
 ++++++++++++++++++++++++
 3 files changed, 176 insertions(+)

commit 4632836d40af6831835ecea2561be53676c578bd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 11 13:12:48 2016 +0200

    ublox: implement supported bands loading

 plugins/ublox/mm-broadband-modem-ublox.c       |  40 +++++++++
 plugins/ublox/mm-modem-helpers-ublox.c         | 105
 +++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         |   6 ++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 112
 +++++++++++++++++++++++++
 4 files changed, 263 insertions(+)

commit 292914cf65df5e5f87d95fb948a113b56635d1be
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 11 14:03:45 2016 +0200

    iface-modem: always sort supported and current bands before exposing
    them

 libmm-glib/mm-common-helpers.c | 6 ++++++
 libmm-glib/mm-common-helpers.h | 3 ++-
 src/mm-iface-modem.c           | 7 ++++++-
 3 files changed, 14 insertions(+), 2 deletions(-)

commit ca1b9cb686bcf634701d4a6421d60e4e82b6784c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 10 11:17:39 2016 +0200

    ublox: use +UAUTHREQ to setup PDP context authentication

 plugins/ublox/mm-broadband-bearer-ublox.c | 115
 +++++++++++++++++++++++++++---
 1 file changed, 105 insertions(+), 10 deletions(-)

commit 90943177ed7913ee506fb9e5d37bb693d38b54f6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 5 13:59:37 2016 +0200

    broadband-modem: implement the Signal interface

    Provide a generic +CESQ based implementation for the extended Signal
    interface,
    applicable to all AT-based modems.

    We explicitly disable this check in MBIM modems.

 src/mm-broadband-modem-mbim.c | 18 +++++++++--
 src/mm-broadband-modem.c      | 69
 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 84 insertions(+), 3 deletions(-)

commit 7ab3d3e727cdc03fa7e058416e57c7d6c83aeab7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 5 13:51:35 2016 +0200

    modem-helpers: new helper to parse +CESQ response into MMSignal
    objects

 src/mm-modem-helpers.c         | 217
 ++++++++++++++++++++++++++++++++++-------
 src/mm-modem-helpers.h         |   6 ++
 src/tests/test-modem-helpers.c | 123 ++++++++++++++++-------
 3 files changed, 276 insertions(+), 70 deletions(-)

commit df6f6d1f37dfeb27c27cf54e6181df9eaf162322
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 5 13:45:41 2016 +0200

    modem-helpers: new +CESQ response parser

 src/mm-modem-helpers.c         | 92
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         | 10 +++++
 src/tests/test-modem-helpers.c | 76 ++++++++++++++++++++++++++++++++++
 3 files changed, 178 insertions(+)

commit 9b3549e375af5d80fa9986cdbddfa51fe16dfe3e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 10 08:00:24 2016 +0200

    api,signal: new RSCP item

 cli/mmcli-modem-signal.c                           |  4 ++-
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  2 ++
 .../org.freedesktop.ModemManager1.Modem.Signal.xml |  8 +++++
 libmm-glib/mm-signal.c                             | 38
 ++++++++++++++++++++++
 libmm-glib/mm-signal.h                             |  2 ++
 5 files changed, 53 insertions(+), 1 deletion(-)

commit 4c02fba819d492c75ad4f79914663b43d8972518
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 11 17:58:30 2016 +0200

    ublox: implement PIN retry count loading

 plugins/ublox/mm-broadband-modem-ublox.c | 46
 ++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

commit 29517c99ba9fee164b788a1f7cff43773e0b58be
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 9 17:31:04 2016 +0200

    ublox: new +UPINCNT response parser

 plugins/ublox/mm-modem-helpers-ublox.c         | 80
 ++++++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         | 10 ++++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 60 ++++++++++++++++++-
 3 files changed, 149 insertions(+), 1 deletion(-)

commit fe460b2f54b6a035a207815252fe87ee3a06351c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 5 13:32:41 2016 +0200

    3gpp: update registration state enumeration with CSFB related states

    Introduce "sms only" and "CSFB not preferred" home/roaming states
    to be reported
    for the CS context, while already registered on LTE.

    Based on 3GPP TS 27.007 v13.5.0.

 cli/mmcli-modem-simple.c       | 14 +++++---
 include/ModemManager-enums.h   | 24 ++++++++++----
 src/mm-base-bearer.c           | 19 ++++++++++-
 src/mm-iface-modem-3gpp.c      | 75
 +++++++++++++++++++++++++++++++++++-------
 src/mm-modem-helpers.c         | 14 ++++----
 src/tests/test-modem-helpers.c | 24 ++++++++++++++
 6 files changed, 140 insertions(+), 30 deletions(-)

commit a561f6edf0317ee4eb86e6811cd8cd5a7fbf5e60
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 9 12:35:29 2016 +0200

    ublox: use +CEREG if LTE supported

 plugins/ublox/mm-broadband-modem-ublox.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 7cb11f72cd3dcd460feee205d3faad267c5471c9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 9 12:09:57 2016 +0200

    ublox: implement current modes setting and modem power
    up/down/off/reset

    Changing current allowed/preferred modes requires the device to be
    in low-power
    mode, so we will make sure we return an error if any power operation
    is already
    ongoing when a new one is requested.

 plugins/ublox/mm-broadband-modem-ublox.c | 369
 +++++++++++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.c   |  31 +++
 plugins/ublox/mm-modem-helpers-ublox.h   |   5 +
 3 files changed, 405 insertions(+)

commit 9d78f05cbd437169a6f4ca406166edbcc4042316
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 9 09:56:56 2016 +0200

    ublox: new +URAT=X command builder

 plugins/ublox/mm-modem-helpers-ublox.c         | 46
 ++++++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         |  6 ++++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 45
 ++++++++++++++++++-------
 3 files changed, 85 insertions(+), 12 deletions(-)

commit 5d2e89e7129fadc92474fc55a87a84f7e6c98e12
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 9 10:35:05 2016 +0200

    ublox: implement power state loading

 plugins/ublox/mm-broadband-modem-ublox.c | 32
 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

commit 151d608eec4c7728551e03c9b375306c147042b4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 11 16:28:17 2016 +0200

    ublox: new u-blox specific +CFUN? response parser

 plugins/ublox/mm-modem-helpers-ublox.c         | 32
 ++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         |  7 +++++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 38
 ++++++++++++++++++++++++++
 3 files changed, 77 insertions(+)

commit d7fdda224765e8ea9c1b4713dfa3708f2251b8c3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 11 17:49:43 2016 +0200

    linktop: new Linktop specific +CFUN? response parser

    We handle all known CFUN? response values in the new parser, and
    report an error
    if an unknown value is found.

 .gitignore                                         |  1 +
 plugins/Makefile.am                                | 20 +++++
 plugins/linktop/mm-broadband-modem-linktop.c       | 42 +---------
 plugins/linktop/mm-modem-helpers-linktop.c         | 55 +++++++++++++
 plugins/linktop/mm-modem-helpers-linktop.h         | 40 +++++++++
 plugins/linktop/tests/test-modem-helpers-linktop.c | 94
 ++++++++++++++++++++++
 6 files changed, 214 insertions(+), 38 deletions(-)

commit 74fd7da774c3a4c644106618499d68eb92a95baf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 11 17:24:08 2016 +0200

    mbm: new MBM specific +CFUN? response parsers

 plugins/mbm/mm-broadband-modem-mbm.c       | 75
 ++++++------------------------
 plugins/mbm/mm-modem-helpers-mbm.c         | 71
 ++++++++++++++++++++++++++++
 plugins/mbm/mm-modem-helpers-mbm.h         |  9 ++++
 plugins/mbm/tests/test-modem-helpers-mbm.c | 73
 +++++++++++++++++++++++++++--
 4 files changed, 165 insertions(+), 63 deletions(-)

commit aca6bb1c02ddc16d88fb8c9fd934466eb7debf5c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 11 16:27:51 2016 +0200

    modem-helpers: new +CFUN? response parser

 src/mm-broadband-modem.c       | 40 +++------------------
 src/mm-modem-helpers.c         | 79
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         | 11 ++++++
 src/tests/test-modem-helpers.c | 68 ++++++++++++++++++++++++++++++++++++
 4 files changed, 162 insertions(+), 36 deletions(-)

commit b34f147ba27b9d328a17bee092d0d21bd20eb200
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 9 08:44:05 2016 +0200

    ublox: implement current modes loading

 plugins/ublox/mm-broadband-modem-ublox.c | 34
 ++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

commit bde9c4795a0680549f99bac2509f8520e1b2a738
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 9 08:43:56 2016 +0200

    ublox: new +URAT? response parser

 plugins/ublox/mm-modem-helpers-ublox.c         | 94
 ++++++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         |  9 +++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 53 +++++++++++++++
 3 files changed, 156 insertions(+)

commit 29ace8b12076fc6b8e95dbb32230334c9768c82e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 8 16:46:51 2016 +0200

    ublox: implement supported modes loading

    AT+URAT=? provides the format expected, but looks like it isn't
    implemented
    differently for the different u-blox devices seen, so we need an
    additional
    level of filtering which currently is applied per device model string.

 plugins/ublox/mm-broadband-modem-ublox.c       | 40 +++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.c         | 63 ++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         |  8 +++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 79
 +++++++++++++++++++-------
 4 files changed, 171 insertions(+), 19 deletions(-)

commit a4466e83b71effb49d31d7fcbfe1f34c528fb547
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 8 10:57:34 2016 +0200

    ublox: new +URAT=? response parser

 plugins/ublox/mm-modem-helpers-ublox.c         | 124
 +++++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         |   6 ++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 101 ++++++++++++++++++++
 3 files changed, 231 insertions(+)

commit 3a886d848dadd98eda8dff354c1d10450d7613fe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 8 09:40:17 2016 +0200

    modem-helpers: new uint list parser, including interval support

 src/mm-modem-helpers.c         | 99
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |  3 ++
 src/tests/test-modem-helpers.c | 45 +++++++++++++++++++
 3 files changed, 147 insertions(+)

commit 37bd61421245de87d2c04852109d2a1b14d338cb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 5 08:21:08 2016 +0200

    broadband-modem: implement default connection monitoring logic

    A default implementation to monitor the ongoing connection is provided
    in the
    generic MMBroadbandModem, based on AT+CGACT? to check whether the
    PDP context
    of the connection (identified by the cached cid) is active or not.

    This commit also disables the connection monitoring logic in those
    plugins that
    have custom connection methods.

 plugins/altair/mm-broadband-bearer-altair-lte.c |  4 ++
 plugins/huawei/mm-broadband-bearer-huawei.c     |  4 ++
 plugins/icera/mm-broadband-bearer-icera.c       |  4 ++
 plugins/iridium/mm-bearer-iridium.c             |  2 +
 plugins/mbm/mm-broadband-bearer-mbm.c           |  3 +
 plugins/option/mm-broadband-bearer-hso.c        |  3 +
 plugins/sierra/mm-broadband-bearer-sierra.c     |  7 +-
 plugins/ublox/mm-broadband-bearer-ublox.c       |  3 +
 src/mm-bearer-mbim.c                            |  2 +
 src/mm-bearer-qmi.c                             |  2 +
 src/mm-broadband-bearer.c                       | 95
 +++++++++++++++++++++++++
 11 files changed, 128 insertions(+), 1 deletion(-)

commit 61fbab286c3ab231f7fd16c345cc7e352f33bae4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 6 19:01:27 2016 +0200

    modem-helpers: new CGACT? response parser

 src/mm-modem-helpers.c         | 84
 ++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |  9 +++++
 src/tests/test-modem-helpers.c | 92
 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 185 insertions(+)

commit f2c2a6a05f82450383667eb32dca4fd63488ae4f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 7 14:09:41 2016 +0200

    novatel: subclass the connection monitoring logic

    Instead of setting up a custom timeout source to poll the connection
    status, use
    the generic logic in the base bearer object, and just re-implement
    the command
    used to check the status.

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 172
 ++++++++++------------
 plugins/novatel/mm-broadband-bearer-novatel-lte.h |   2 -
 2 files changed, 79 insertions(+), 95 deletions(-)

commit 26d0d718f7834348146ab9e040051f7a538f04f0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 7 13:31:41 2016 +0200

    base-bearer: new periodic monitoring of connection status

 src/mm-base-bearer.c | 80
 ++++++++++++++++++++++++++++++++++++++++++++++++----
 src/mm-base-bearer.h | 11 ++++++++
 2 files changed, 85 insertions(+), 6 deletions(-)

commit 467b3c57f01b37dbcec8d32a449654aac40f90d0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 3 11:10:04 2016 +0200

    modem-helpers: new COPS? response parser

    Split into two different actions the actual COPS? response parsing
    and the
    operator name normalization process.

    Also, allow parsing not only the operator string, but also the
    format, mode
    and the optional access technology value.

 plugins/altair/mm-broadband-modem-altair-lte.c |  26 +++--
 plugins/huawei/mm-broadband-modem-huawei.c     |  12 +-
 src/mm-broadband-modem.c                       |  26 +++--
 src/mm-modem-helpers.c                         | 152
 +++++++++++++++++--------
 src/mm-modem-helpers.h                         |  12 +-
 src/tests/test-modem-helpers.c                 |  79 +++++++++++++
 6 files changed, 243 insertions(+), 64 deletions(-)

commit b117321980c39c2dcc50789058017fa3201e7003
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 7 11:45:25 2016 +0200

    broadband-bearer: allow subclassing the CID selection step in the
    3GPP sequence

    Instead of relying always on CGDCONT to look for a matching PDP
    context or
    creating a new one, we allow plugins to apply their own logic.

 src/mm-broadband-bearer.c | 545
 ++++++++++++++++++++++++++--------------------
 src/mm-broadband-bearer.h |  13 +-
 2 files changed, 326 insertions(+), 232 deletions(-)

commit 30772ffc2609e070306f6fd75c0d787d3ea0153a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 6 17:29:12 2016 +0200

    ublox: implement connection using the 2G/3G logic in router or
    bridge mode

 plugins/ublox/mm-broadband-bearer-ublox.c | 394
 ++++++++++++++++++++++++++++++
 1 file changed, 394 insertions(+)

commit 654f718b062b01083786d3a2c19740d204b128c9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 6 08:57:59 2016 +0200

    modem-helpers: new +CGCONTRDP=N response parser

 src/mm-modem-helpers.c         | 198
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |  12 +++
 src/tests/test-modem-helpers.c | 164 ++++++++++++++++++++++++++++++++++
 3 files changed, 374 insertions(+)

commit 81715ee591599d0774b43006691998bb461f8fa9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Aug 4 10:38:40 2016 +0200

    ublox: new +UIPADDR=N response parser

 plugins/ublox/mm-modem-helpers-ublox.c         | 97
 ++++++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         | 12 ++++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 80 +++++++++++++++++++++
 3 files changed, 189 insertions(+)

commit bc07ec0835a524970e1c35b055788b35da9b0d23
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 2 13:40:39 2016 +0200

    ublox: new broadband bearer object

 plugins/Makefile.am                       |   2 +
 plugins/ublox/mm-broadband-bearer-ublox.c | 177
 ++++++++++++++++++++++++++++++
 plugins/ublox/mm-broadband-bearer-ublox.h |  63 +++++++++++
 plugins/ublox/mm-broadband-modem-ublox.c  |  49 ++++++++-
 4 files changed, 289 insertions(+), 2 deletions(-)

commit eade066d8a1f4ac94a1176a19002d244f63ad7dd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 2 13:26:49 2016 +0200

    ublox: generate enum types for usb profile and networking mode

 .gitignore                               |  2 ++
 plugins/Makefile.am                      | 34
 ++++++++++++++++++++++++++++++++
 plugins/ublox/mm-broadband-modem-ublox.c | 28 +++++---------------------
 plugins/ublox/mm-modem-helpers-ublox.h   |  4 ++--
 4 files changed, 43 insertions(+), 25 deletions(-)

commit 3b0ceabc5d87a30fc1da5c96174dc4616f06e066
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 30 20:29:54 2016 +0200

    ublox: preload networking mode and usb profile when creating a
    new bearer

 plugins/ublox/mm-broadband-modem-ublox.c | 261
 +++++++++++++++++++++++++++++--
 1 file changed, 251 insertions(+), 10 deletions(-)

commit 9d2c2a75cc23a878ff48a1c70377dd49a488cd1a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 2 11:28:43 2016 +0200

    ublox: new 'AT+UBMCONF?' response parser

 plugins/ublox/mm-modem-helpers-ublox.c         | 61
 ++++++++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         | 13 ++++++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 37 ++++++++++++++++
 3 files changed, 111 insertions(+)

commit 241b63304be4ca8a2532401458636ad46b776e45
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 2 09:19:05 2016 +0200

    ublox: new 'AT+UUSBCONF?' response parser

 .gitignore                                     |   1 +
 plugins/Makefile.am                            |  20 +++++
 plugins/ublox/mm-modem-helpers-ublox.c         |  83 ++++++++++++++++++++
 plugins/ublox/mm-modem-helpers-ublox.h         |  35 +++++++++
 plugins/ublox/tests/test-modem-helpers-ublox.c | 101
 +++++++++++++++++++++++++
 5 files changed, 240 insertions(+)

commit 40f3725ef9f5914b89279f270f2b50fe5ada3847
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 1 19:28:26 2016 +0200

    ublox: new broadband modem object

 plugins/Makefile.am                      |  2 +
 plugins/ublox/mm-broadband-modem-ublox.c | 67
 ++++++++++++++++++++++++++++++++
 plugins/ublox/mm-broadband-modem-ublox.h | 49 +++++++++++++++++++++++
 plugins/ublox/mm-plugin-ublox.c          | 24 ++++++------
 4 files changed, 130 insertions(+), 12 deletions(-)

commit f22c088cee9489af0e97c3dad0cfe0a2d897f434
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 1 19:13:53 2016 +0200

    ublox: new plugin skeleton

 plugins/Makefile.am             | 12 +++++++
 plugins/ublox/mm-plugin-ublox.c | 76
 +++++++++++++++++++++++++++++++++++++++++
 plugins/ublox/mm-plugin-ublox.h | 40 ++++++++++++++++++++++
 3 files changed, 128 insertions(+)

commit d91752529307ce9ebd73a73ebddb477660342e11
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 12 11:10:56 2016 +0200

    build: include telit helpers in TELIT_COMMON_LIBADD_FLAGS

    The dell plugin needs them.

      ModemManager[727]: <warn>  [1476194360.614829]
      [mm-plugin-manager.c:1494] load_plugin():
        [plugin manager] could not load plugin
        '/usr/lib64/ModemManager/libmm-plugin-dell.so':
        /usr/lib64/ModemManager/libmm-plugin-dell.so: undefined symbol:
        mm_telit_get_band_flag

    https://bugs.freedesktop.org/show_bug.cgi?id=98207

    Reported-by: Lubomir Rintel <lkundrak@v3.sk>

 plugins/Makefile.am | 46 +++++++++++++++++++++++++---------------------
 1 file changed, 25 insertions(+), 21 deletions(-)

commit 5a43f90a48d3b1494dcd338b2363eda783063e31
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Tue Oct 11 16:29:51 2016 +0200

    plugins: only export useful symbols

    This should avoid poluting the name space and also make module loading
    faster.

 plugins/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit 6dc08a69adc4294e2b22f14b754b541c64109fba
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Tue Oct 11 16:41:52 2016 +0200

    build: limit the available glib functionality to the version we
    support

    Otherwise we can accidentally use something that we ought not. Also,
    there's deprecation warnings for stuff that's not deprecated in the
    version we support yet:

      mm-modem-simple.c: In function 'mm_modem_simple_connect_finish':
      mm-modem-simple.c:117:5: warning:
      'g_simple_async_result_propagate_error' is deprecated
      [-Wdeprecated-declarations]
           if (g_simple_async_result_propagate_error
           (G_SIMPLE_ASYNC_RESULT (res), error))
           ^~

 configure.ac | 3 +++
 1 file changed, 3 insertions(+)

commit 6f11ff10cd8da2d431eb9596185ccb577356c6ab
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Mon Oct 10 14:42:45 2016 +0200

    telit: fix supported and current bands query with GE910

    GE910 is a 2g only modem and when queried for bands it returns
    only a 2g set of bands:

    --> 'AT#BND=?<CR>'
    <-- '<CR><LF>#BND: (0-3)<CR><LF><CR><LF>OK<CR><LF>'

    Current regex fails, since it considers the 3g bands block mandatory.

    A similar problem happens for current bands.

    This patch modifies the regular expressions for properly
    supporting GE910 and updates tests.

 plugins/telit/mm-modem-helpers-telit.c            | 4 ++--
 plugins/telit/tests/test-mm-modem-helpers-telit.c | 8 ++++++++
 2 files changed, 10 insertions(+), 2 deletions(-)

commit d5cfad49d879a21f5f05eaa14fa5d19f12241dda
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Wed Oct 5 16:43:37 2016 +0200

    telit: add GE910 #PORTCFG layouts

    GE910 family supports #PORTCFG layouts different than HE910
    family ones.

    This patch properly tags GE910 ports according to Telit document
    "GE910 Family Ports Arrangements, 1vv0301049"

 plugins/telit/mm-common-telit.c | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

commit 30bcf5605cf661cdc884fcc83adf7c2304bd072d
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Wed Oct 5 16:43:36 2016 +0200

    telit: add udev rules for supporting GE910

    This patch adds the udev rules for supporting GE910 (PID 0x22)

 plugins/telit/77-mm-telit-port-types.rules | 4 ++++
 1 file changed, 4 insertions(+)

commit 14ccde2b5f7f1770950c70b03a0b9ccecc54d692
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Oct 4 15:43:55 2016 -0500

    huawei: handle some weird SYSCFG acquisition orders

    <debug> (ttyUSB2): --> 'AT^SYSCFG?<CR>'
    <debug> (ttyUSB2): <--
    '<CR><LF>^SYSCFG:14,2,400380,1,2<CR><LF><CR><LF>OK<CR><LF>'
    <warn>  couldn't load current allowed/preferred modes: 'No SYSCFG
    combination found matching the current one (14,2)'

    14,2 means "WCDMA-only; acquire WCDMA then GSM" which is somewhat
    non-sensical. The supported modes parsing doesn't generate this
    combination because it doesn't really make sense, so current mode
    matching failed. Just fix up the non-sensical acquisition order
    to 0 (automatic).

 plugins/huawei/mm-modem-helpers-huawei.c         |  6 ++++++
 plugins/huawei/tests/test-modem-helpers-huawei.c | 14 ++++++++++++++
 2 files changed, 20 insertions(+)

commit 9548192985ad68601b069a1f267fcbdc652a5ba2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 4 12:53:13 2016 +0200

    kerneldevice,generic: support ID_USB_INTERFACE_NUM and some other
    udev properties

    We need at least ID_USB_INTERFACE_NUM, as some plugins (Huawei,
    Telit, Option)
    require this property when gathering port type hints.

    We also add support for other properties (ID_VENDOR_ID,
    ID_MODEL_ID...) as we
    already have those values preloaded.

 src/kerneldevice/mm-kernel-device-generic.c | 55
 ++++++++++++++++++++---------
 1 file changed, 39 insertions(+), 16 deletions(-)

commit 58c955f5f23e874e4f8c2a4b389e46c0775e7f07
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 28 19:46:12 2016 +0200

    core: allow building and running without udev

    Instead of relying on the udev daemon and GUDev to manage the
    devices reported
    by the kernel, we can now run ModemManager relying solely on the
    kernel events
    reported via the new ReportKernelEvent() API. Therefore, the
    '--no-auto-scan'
    option is implicit for the ModemManager daemon when udev is disabled
    in the
    build.

    Additionally, a new custom implementation of the kernel device
    object is
    provided, which uses sysfs to load the properties and attributes
    required in
    each kernel device, instead of using a GUdevDevice.

    The udev rule files are kept in place, and a simple custom parser
    is provided
    which preloads all rules in memory once and then applies them to
    the different
    kernel objects reported via ReportKernelEvent(), e.g. to set port
    type hints.
    A simple unit test setup is prepared to validate the udev rules
    during the
    `check' Makefile target.

 .gitignore                                        |   3 +
 cli/Makefile.am                                   |   7 +-
 cli/mmcli-manager.c                               |  31 +-
 configure.ac                                      |  30 +-
 libmm-glib/mm-common-helpers.c                    |  43 ++
 libmm-glib/mm-common-helpers.h                    |   2 +
 plugins/Makefile.am                               |  38 ++
 plugins/tests/test-udev-rules.c                   | 164 +++++
 src/Makefile.am                                   |  15 +
 src/kerneldevice/mm-kernel-device-generic-rules.c | 446 +++++++++++++
 src/kerneldevice/mm-kernel-device-generic-rules.h |  62 ++
 src/kerneldevice/mm-kernel-device-generic.c       | 772
 +++++++++++++++++++++-
 src/kerneldevice/mm-kernel-device-generic.h       |   9 +-
 src/mm-base-manager.c                             |  50 +-
 src/mm-context.c                                  |  27 +-
 src/tests/Makefile.am                             |   5 +-
 src/tests/test-udev-rules.c                       |  79 +++
 test/Makefile.am                                  |  29 +
 test/mmrules.c                                    | 173 +++++
 19 files changed, 1942 insertions(+), 43 deletions(-)

commit ae9ede926a1747216b54e22398edde203ec9a03c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 28 20:34:48 2016 +0200

    core: use the kernel device object in the port object and the plugin
    interface

    The mm_base_modem_grab_port() now receives a MMKernelDevice directly
    from the
    plugin, which is then stored in the MMPort corresponding to the port.

    This means that we have direct access to e.g. all properties set by
    udev rules
    everywhere, and we don't need additional GUdevClient objects
    (e.g. like the one
    used in the Huawei plugin to detect NDISDUP support during runtime).

    For virtual ports (e.g. generated during unit tests), we have a new
    'generic'
    kernel device object which just provides the values from the kernel
    device
    properties given during its creation.

 plugins/cinterion/mm-plugin-cinterion.c     |   4 +-
 plugins/dell/mm-plugin-dell.c               |   4 +-
 plugins/haier/mm-plugin-haier.c             |   4 +-
 plugins/huawei/mm-broadband-modem-huawei.c  |  29 +--
 plugins/huawei/mm-plugin-huawei.c           |   4 +-
 plugins/longcheer/mm-plugin-longcheer.c     |   4 +-
 plugins/mbm/mm-plugin-mbm.c                 |   4 +-
 plugins/mtk/mm-plugin-mtk.c                 |   4 +-
 plugins/nokia/mm-plugin-nokia-icera.c       |   4 +-
 plugins/option/mm-plugin-hso.c              |   4 +-
 plugins/option/mm-plugin-option.c           |   4 +-
 plugins/pantech/mm-plugin-pantech.c         |   4 +-
 plugins/sierra/mm-common-sierra.c           |   4 +-
 plugins/simtech/mm-plugin-simtech.c         |   4 +-
 plugins/telit/mm-common-telit.c             |   4 +-
 plugins/x22x/mm-plugin-x22x.c               |   4 +-
 plugins/zte/mm-plugin-zte.c                 |   4 +-
 src/Makefile.am                             |   5 +-
 src/kerneldevice/mm-kernel-device-generic.c | 309
 ++++++++++++++++++++++++++++
 src/kerneldevice/mm-kernel-device-generic.h |  51 +++++
 src/mm-base-modem.c                         |  36 ++--
 src/mm-base-modem.h                         |  13 +-
 src/mm-plugin.c                             |  48 +++--
 src/mm-port.c                               |  44 ++--
 src/mm-port.h                               |  24 ++-
 src/tests/Makefile.am                       |   1 +
 test/Makefile.am                            |   2 +-
 27 files changed, 482 insertions(+), 144 deletions(-)

commit c4a584416ab4af81b6cae653625c78f9158de1e6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 28 18:49:08 2016 +0200

    core: allow disabling auto-scan and notifying ports one by one via API

    This commit enables a new core ModemManager daemon option, so that
    automatic
    detection of available modems is totally disabled:
    '--no-auto-scan'. Note that
    this option also replaces the previously used '--test-no-auto-scan'
    option,
    which was only used during tests.

    Along with the new ModemManager option, a new ReportKernelEvent()
    method in
    the API is defined, which allows notifying the daemon of which
    interfaces it
    should be accessing, as well as the main details of each
    interface. The only
    mandatory parameters in the new method are 'action' (add/remove),
    'name' (the
    name of the interface) and 'subsystem' (the subsystem of the
    interface).

    The mmcli tool has support for using the new api method via several
    new options:

     * The '--report-kernel-event' option allows specifying device ports
     one by
       one, and is a direct mapping of the ReportKernelEvent() method:
         $ sudo mmcli
         --report-kernel-event="action=add,name=wwan0,subsystem=net"
         $ sudo mmcli
         --report-kernel-event="action=add,name=cdc-wdm0,subsystem=usbmisc"

     * The '--report-kernel-event-auto-scan' option uses udev monitoring
     to notify
       events automatically to the daemon. This allows to operate in a way
       equivalent to the default daemon operation (with implicit
       auto-scan).

    Worth noting that the ReportKernelEvent() method is only usable when
    '--no-auto-scan' is explicitly used in the daemon. An error will be
    reported if
    the method is tried while standard udev monitoring is enabled
    (implicit if
    auto scan isn't explicitly disabled in the daemon).

    If mmcli is going to be used only to report 'real time' events,
    an optional
    '--initial-kernel-events=[PATH]' may be given in the ModemManager
    call to
    automatically process a set of port kernel events one by one on
    boot. The file
    may e.g. contain:
      action=add,name=wwan0,subsystem=net
      action=add,name=cdc-wdm0,subsystem=usbmisc

 cli/Makefile.am                                    |   2 +
 cli/mmcli-manager.c                                | 148 ++++++-
 .../tests/org.freedesktop.ModemManager1.service.in |   2 +-
 docs/reference/libmm-glib/libmm-glib-docs.xml      |   1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  38 ++
 introspection/org.freedesktop.ModemManager1.xml    |  74 ++++
 libmm-glib/Makefile.am                             |   3 +
 libmm-glib/libmm-glib.h                            |   1 +
 libmm-glib/mm-kernel-event-properties.c            | 454
 +++++++++++++++++++++
 libmm-glib/mm-kernel-event-properties.h            |  97 +++++
 libmm-glib/mm-manager.c                            | 124 ++++++
 libmm-glib/mm-manager.h                            |  14 +
 src/kerneldevice/mm-kernel-device-udev.c           | 221 ++++++++--
 src/kerneldevice/mm-kernel-device-udev.h           |   9 +-
 src/main.c                                         |   3 +-
 src/mm-base-manager.c                              | 266 +++++++++++-
 src/mm-base-manager.h                              |   2 +
 src/mm-context.c                                   |  32 +-
 src/mm-context.h                                   |  19 +-
 19 files changed, 1437 insertions(+), 73 deletions(-)

commit aa4577dfb9b5a7863a4939ec2409eae392e2fc0c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 27 19:40:03 2016 +0200

    core: new kernel device object instead of an explicit GUdevDevice

    Instead of relying constantly on GUdevDevice objects reported by
    GUdev, we now
    use a new generic object (MMKernelDevice) for which we provide an
    initial GUdev
    based backend.

 plugins/Makefile.am                      |   1 +
 plugins/cinterion/mm-plugin-cinterion.c  |   4 +-
 plugins/dell/mm-plugin-dell.c            |   6 +-
 plugins/haier/mm-plugin-haier.c          |   4 +-
 plugins/huawei/mm-plugin-huawei.c        |  20 +-
 plugins/longcheer/mm-plugin-longcheer.c  |   6 +-
 plugins/mbm/mm-plugin-mbm.c              |   4 +-
 plugins/mtk/mm-plugin-mtk.c              |   6 +-
 plugins/nokia/mm-plugin-nokia-icera.c    |   6 +-
 plugins/option/mm-plugin-hso.c           |   6 +-
 plugins/option/mm-plugin-option.c        |   4 +-
 plugins/simtech/mm-plugin-simtech.c      |   8 +-
 plugins/telit/mm-common-telit.c          |  24 +-
 plugins/x22x/mm-plugin-x22x.c            |   6 +-
 plugins/zte/mm-plugin-zte.c              |   8 +-
 src/Makefile.am                          |  15 +
 src/kerneldevice/mm-kernel-device-udev.c | 623
 +++++++++++++++++++++++++++++++
 src/kerneldevice/mm-kernel-device-udev.h |  48 +++
 src/kerneldevice/mm-kernel-device.c      | 179 +++++++++
 src/kerneldevice/mm-kernel-device.h      |  89 +++++
 src/mm-base-manager.c                    | 231 +++---------
 src/mm-device.c                          | 347 ++++-------------
 src/mm-device.h                          |  96 +++--
 src/mm-plugin-manager.c                  |  38 +-
 src/mm-plugin.c                          |  78 ++--
 src/mm-plugin.h                          |  10 +-
 src/mm-port-probe.c                      | 205 +++++-----
 src/mm-port-probe.h                      |  20 +-
 28 files changed, 1344 insertions(+), 748 deletions(-)

commit 1f813c4e9691f22017802278ab6f5b1475185113
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 27 14:41:35 2016 +0200

    core: allow identifying devices by a user-provided 'uid'

    All ports of the same modem reported by the kernel will all be
    associated with
    a common 'uid' (unique id), which uniquely identifies the physical
    device. This
    logic was already in place, what we do now is avoid calling it  the
    'sysfs
    path' of the physical device, because we may not want to use that
    to identify
    a device.

    This logic now also enables the possibility of "naming" the modems
    in a unique
    way by setting the "ID_MM_PHYSDEV_UID" property in the "usb_device"
    that owns
    all the ports.

    E.g. a custom device has 4 modems in 4 different USB ports. The
    device path of
    each USB device will always be the same, so the naming rules could
    go like this:

        $ vim /usr/lib/udev/rules.d/78-mm-naming.rules

        ACTION!="add|change|move", GOTO="mm_naming_rules_end"
        DEVPATH=="/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.5/4-1.5.1",
        ENV{ID_MM_PHYSDEV_UID}="USB-MODEM-1"
        DEVPATH=="/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.5/4-1.5.2",
        ENV{ID_MM_PHYSDEV_UID}="USB-MODEM-2"
        DEVPATH=="/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.5/4-1.5.3",
        ENV{ID_MM_PHYSDEV_UID}="USB-MODEM-3"
        DEVPATH=="/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.5/4-1.5.4",
        ENV{ID_MM_PHYSDEV_UID}="USB-MODEM-4"
        LABEL="mm_naming_rules_end"

    Each of the modems found will have a unique UID retrieved from the
    previous list
    of rules. Then, "mmcli" has also been updated to allow using the
    UID instead of
    the modem DBus path or index, e.g.:

        $ sudo mmcli -m USB-MODEM-1
        /org/freedesktop/ModemManager1/Modem/0 (device id
        '988d83252c0598f670c2d69d5f41e077204a92fd')
          -------------------------
          Hardware |   manufacturer: 'ZTE CORPORATION'
                   |          model: 'MF637'
                   |       revision: 'BD_W7P673A3F3V1.0.0B04'
                   |      supported: 'gsm-umts'
                   |        current: 'gsm-umts'
                   |   equipment id: '356516027657837'
          -------------------------
          System   |         device: 'USB-MODEM-1'
                   |        drivers: 'option'
                   |         plugin: 'ZTE'
                   |   primary port: 'ttyUSB5'
                   |          ports: 'ttyUSB5 (at)'
        ...

        $ sudo mmcli -m USB-MODEM-1 --enable
        ...

 cli/mmcli-common.c                       | 98
 +++++++++++++++++++++++---------
 cli/mmcli-common.h                       |  4 +-
 plugins/altair/mm-plugin-altair-lte.c    |  4 +-
 plugins/anydata/mm-plugin-anydata.c      |  6 +-
 plugins/cinterion/mm-plugin-cinterion.c  |  6 +-
 plugins/dell/mm-plugin-dell.c            | 14 ++---
 plugins/generic/mm-plugin-generic.c      |  8 +--
 plugins/haier/mm-plugin-haier.c          |  4 +-
 plugins/huawei/mm-plugin-huawei.c        |  8 +--
 plugins/iridium/mm-plugin-iridium.c      |  4 +-
 plugins/linktop/mm-plugin-linktop.c      |  4 +-
 plugins/longcheer/mm-plugin-longcheer.c  |  4 +-
 plugins/mbm/mm-plugin-mbm.c              |  6 +-
 plugins/motorola/mm-plugin-motorola.c    |  4 +-
 plugins/mtk/mm-plugin-mtk.c              |  4 +-
 plugins/nokia/mm-plugin-nokia-icera.c    |  4 +-
 plugins/nokia/mm-plugin-nokia.c          |  4 +-
 plugins/novatel/mm-plugin-novatel-lte.c  |  4 +-
 plugins/novatel/mm-plugin-novatel.c      |  6 +-
 plugins/option/mm-plugin-hso.c           |  4 +-
 plugins/option/mm-plugin-option.c        |  4 +-
 plugins/pantech/mm-plugin-pantech.c      |  6 +-
 plugins/samsung/mm-plugin-samsung.c      |  4 +-
 plugins/sierra/mm-plugin-sierra-legacy.c |  6 +-
 plugins/sierra/mm-plugin-sierra.c        |  8 +--
 plugins/simtech/mm-plugin-simtech.c      |  6 +-
 plugins/telit/mm-plugin-telit.c          |  4 +-
 plugins/thuraya/mm-plugin-thuraya.c      |  4 +-
 plugins/via/mm-plugin-via.c              |  4 +-
 plugins/wavecom/mm-plugin-wavecom.c      |  4 +-
 plugins/x22x/mm-plugin-x22x.c            |  6 +-
 plugins/zte/mm-plugin-zte.c              | 10 ++--
 src/mm-base-manager.c                    | 66 ++++++++++-----------
 src/mm-device.c                          | 55 ++++++++++--------
 src/mm-device.h                          |  6 +-
 src/mm-plugin-manager.c                  |  6 +-
 src/mm-plugin.c                          |  2 +-
 src/mm-plugin.h                          |  2 +-
 38 files changed, 225 insertions(+), 178 deletions(-)

commit e5fa0233bb73a8374cf35e9170c66c580255815a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 28 09:26:47 2016 +0200

    mmcli,ussd: don't rely on lock status to allow actions

    Commit 001f35234e16d7aeb2ed1282ba3b57aea73c5a9e fixed this very same
    thing in
    all the other interface actions, but 3GPP USSD actions were not fixed.

    https://bugs.freedesktop.org/show_bug.cgi?id=97954

 cli/mmcli-modem-3gpp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit dd98454a7ddeac98011cb1ed82be4cff588044a3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 22 19:58:08 2016 +0200

    base-modem: add missing 'reprobe' property setup

    The sim hotswap logic likely just uses the getter/setter methods,
    but we should
    anyway fix the property definition bits.

 src/mm-base-modem.c | 8 ++++++++
 src/mm-base-modem.h | 1 +
 2 files changed, 9 insertions(+)

commit 2a499f5557fbc1726d4e8d5b39c7c59edf00bdbe
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Thu Sep 22 16:24:23 2016 +0200

    blacklist: add another Infineon flashloader device

    This patch adds another Infineon flashloader device 0x8087/0x0801
    to the blacklist

    Reference to the kernel commit:
    github.com/torvalds/linux/commit/f190fd92458da3e869b4e2c6289e2c617490ae53

 src/77-mm-usb-device-blacklist.rules | 1 +
 1 file changed, 1 insertion(+)

commit fe6f374af6650e58acb8de312fa87afaab2aec92
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 18 16:36:24 2016 +0200

    huawei: fix interface class/subclass/protocol matching

    Commit a66871a2876be2236f634ff6b5e59d20de1ce5df introduced an
    additional
    ATTRS{idVendor} match condition in the same rules matching by
    interface class,
    subclass and protocol. We shouldn't be doing that because we cannot
    mix parent
    attribute matchings from different parents.

 plugins/huawei/77-mm-huawei-net-port-types.rules | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit 07858461b87ed8356b48fb084c2ed2d2aa78fee9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 18 15:51:32 2016 +0200

    dell,telit: set one tag per rule match

 plugins/dell/77-mm-dell-port-types.rules   | 5 +++--
 plugins/telit/77-mm-telit-port-types.rules | 6 ++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

commit c7d8ac622a56142325af1e9b51d0cce1f06eaa3d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 18 15:43:30 2016 +0200

    udev: fix tagging per interface number

    Commit 7ff57f9808f35d434b638a67b84481271c67c90e introduced a change
    to try to
    use ATTRS{bInterfaceNumber} as a common way to match by interface
    number, but
    this logic is broken because all the rules that we use to match
    by interface
    number (attribute in the interface device) also require matching
    by idVendor
    and idProduct (attributes in the physdev device), and udev rules
    forbid matches
    from more than one parent device at a time.

    We could use ATTR{bInterfaceNumber} (instead of ATTRS) to tag the
    actual USB
    interface device, but that would require a change in all the plugins
    to look for
    the tag not in the TTY device, but in its parent.

    So, recover the original behavior, where a hidden property is
    created containing
    the first bInterfaceNumber found in the list of parent devices,
    and then run
    the matches against idVendor and idProduct only if the hidden property
    is found
    with the expected value.

 plugins/cinterion/77-mm-cinterion-port-types.rules |   3 +-
 plugins/haier/77-mm-haier-port-types.rules         |   3 +-
 plugins/longcheer/77-mm-longcheer-port-types.rules | 168 +++++++-------
 plugins/mbm/77-mm-ericsson-mbm.rules               |  40 ++--
 plugins/mtk/77-mm-mtk-port-types.rules             |  26 ++-
 plugins/nokia/77-mm-nokia-port-types.rules         |  27 +--
 plugins/simtech/77-mm-simtech-port-types.rules     |  15 +-
 plugins/telit/77-mm-telit-port-types.rules         |  29 +--
 plugins/x22x/77-mm-x22x-port-types.rules           |  42 ++--
 plugins/zte/77-mm-zte-port-types.rules             | 245
 +++++++++++----------
 10 files changed, 307 insertions(+), 291 deletions(-)

commit aa0e1081070b1062c696d31ed3c68e9511733ad1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Sep 18 14:08:20 2016 +0200

    udev: fix SUBSYSTEMS and ATTRS{idVendor} checks

    Rules with a single condition where a parent property is checked
    with != don't
    work properly. E.g.:
      SUBSYSTEMS!="usb", GOTO="end"
    or:
      ATTRS{idVendor}!="abcd", GOTO="end"

    Instead, we can mix both those previous parent rules and match them:
      SUBSYSTEMS=="usb",ATTRS{idVendor}=="abcd", GOTO="next"
      GOTO="end"
      LABEL="next"
      # Apply rules here
      LABEL="end"

    In this case both SUBSYSTEMS and ATTRS conditions apply to the
    parent usb_device
    (idVendor attribute is only available in the usb_device), so they
    apply to all
    ports of the same device.

 plugins/cinterion/77-mm-cinterion-port-types.rules |  7 ++++---
 plugins/haier/77-mm-haier-port-types.rules         |  7 ++++---
 plugins/huawei/77-mm-huawei-net-port-types.rules   |  6 ++++--
 plugins/longcheer/77-mm-longcheer-port-types.rules |  8 ++------
 plugins/mbm/77-mm-ericsson-mbm.rules               | 12 +++++-------
 plugins/mtk/77-mm-mtk-port-types.rules             |  8 +++-----
 plugins/nokia/77-mm-nokia-port-types.rules         |  7 ++++---
 plugins/simtech/77-mm-simtech-port-types.rules     |  7 ++++---
 plugins/telit/77-mm-telit-port-types.rules         |  7 ++++---
 plugins/x22x/77-mm-x22x-port-types.rules           |  7 ++-----
 plugins/zte/77-mm-zte-port-types.rules             |  6 ++++--
 11 files changed, 40 insertions(+), 42 deletions(-)

commit 546d33db6c8faa9a6ab48ae3e00a0c8339a576a8
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Sep 8 11:11:58 2016 -0500

    broadband-modem-huawei: fix missing return in unsolicited voice
    message enable

 plugins/huawei/mm-broadband-modem-huawei.c | 1 +
 1 file changed, 1 insertion(+)

commit 03a6d969ab594dab9124ef680cf3944e56870a85
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Aug 18 11:39:11 2016 -0500

    broadband-modem-huawei: implement Modem.Signal extended signal
    info interface

    Implement the detailed signal info interface for some Huawei 3GPP
    modems
    including those based on HiSilicon chipsets like the E3276.
    Known not to
    work on many Qualcomm-based Huawei modems like E392, E397, and E367 as
    they don't support the ^HCSQ command, but they do support QMI and so
    have access to the extended signal interface via QMI.

 plugins/huawei/mm-broadband-modem-huawei.c       | 314
 ++++++++++++++++++++++-
 plugins/huawei/mm-modem-helpers-huawei.c         |  71 +++++
 plugins/huawei/mm-modem-helpers-huawei.h         |  12 +
 plugins/huawei/tests/test-modem-helpers-huawei.c |  61 +++++
 src/mm-modem-helpers.c                           |  17 +-
 5 files changed, 467 insertions(+), 8 deletions(-)

commit 3d95a9863bd9ee3c150d4039fe42e47980a9247a
Author: Tabor Kelly <t.kelly@trailtech.net>
Date:   Fri Aug 19 12:44:29 2016 -0700

    blacklist: add blacklist udev rule for U-blox7 GPS/GLOSNASS USB
    dongle.

    Signed-off-by: Tabor Kelly <t.kelly@trailtech.net>

 src/77-mm-usb-device-blacklist.rules | 1 +
 1 file changed, 1 insertion(+)

commit 7fb366c41a7b62723df6ab67b611510216c14b0a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 15 13:11:22 2016 +0200

    core: use MM-specific logging methods always instead of the generic
    GLib ones

 plugins/huawei/mm-broadband-modem-huawei.c |  8 +++----
 plugins/mbm/mm-modem-helpers-mbm.c         | 11 ++++-----
 src/mm-base-bearer.c                       |  2 +-
 src/mm-broadband-modem-mbim.c              | 12 +++++-----
 src/mm-broadband-modem-qmi.c               | 36
 +++++++++++++++---------------
 src/mm-charsets.c                          |  6 ++---
 src/mm-error-helpers.c                     | 13 +++++------
 src/mm-iface-modem.c                       |  2 +-
 src/tests/test-charsets.c                  | 20 +++++++++++++++++
 9 files changed, 65 insertions(+), 45 deletions(-)

commit 2306a466c8a9bf39d0035538a2b73c5e96c73111
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Aug 12 12:05:51 2016 -0500

    api,signal: fix LTE signal dictionary docstring

 introspection/org.freedesktop.ModemManager1.Modem.Signal.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 048667ffc2e137672fb78037342283997f732250
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 10 09:49:40 2016 +0200

    core: minor coding style changes

 src/mm-base-modem.c      |  1 -
 src/mm-broadband-modem.c | 11 +++--------
 src/mm-broadband-modem.h |  2 --
 src/mm-device.c          |  4 +---
 src/mm-iface-modem.c     |  9 +++------
 5 files changed, 7 insertions(+), 20 deletions(-)

commit f6708619393893507396f0a3314c3cc3e4b93791
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Mon Aug 8 15:47:19 2016 +0200

    telit: add support to SIM hot swap

    MMBroadbandModemTelit:
     * added logic to set MMBroadbandModem's SIM_HOT_SWAP property to TRUE
     * added function to enable QSS unsolicited
     * added QSS unsolicited handler

 plugins/telit/mm-broadband-modem-telit.c | 141
 ++++++++++++++++++++++++++++++-
 1 file changed, 140 insertions(+), 1 deletion(-)

commit 60f4f9e57df90cf094fffb6896ffce8dba15d244
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Mon Aug 8 15:47:18 2016 +0200

    modem: support SIM hot swap

    BaseModem
      added reprobe property.

    MMDevice
      added logic to recreate the modem if it is set invalid and
      "to reprobe"

    MMBroadbandModem
     * added initialization step for SIM hot swap:
        1. keep dedicated ports open to listen to modem's unsolicited
        2. dedicated error management in case of initialization failure
        due to SIM missing
     * added function to be called in order to act upon SIM
     insertion/removal:
        1. close dedicated ports
        2. set the modem to be reprobed
        3. disable modem
     * added SIM HOT SWAP boolean property

    MMIfaceModem
     * added initialization step for SIM hot swap, if supported by
     the plugin
     * dedicated error management in case of initialization failure due
     to SIM missing

 src/mm-base-modem.c      |  26 ++++++++++
 src/mm-base-modem.h      |   4 ++
 src/mm-broadband-modem.c | 120
 +++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-broadband-modem.h |   4 ++
 src/mm-device.c          |  15 ++++++
 src/mm-iface-modem.c     |  56 ++++++++++++++++++++++
 src/mm-iface-modem.h     |  17 +++++--
 7 files changed, 233 insertions(+), 9 deletions(-)

commit 3047522b2e494776d9aced64180e54c46e861de1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 10 07:46:34 2016 +0200

    api,signal: Ec/Io is in dB, not dBm

 introspection/org.freedesktop.ModemManager1.Modem.Signal.xml | 2 +-
 libmm-glib/mm-signal.c                                       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 7460793caafe86af21c73b96b709253ae79346b5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 9 08:40:05 2016 +0200

    libmm-glib,helpers: don't warn when trying to read invalid match
    info index

    We may want to use the mm_get_()_from_match_info() calls to read
    optional items,
    so that the method returns FALSE if the item index doesn't apply. So,
    avoid the
    implicit warning issued by g_return_val_if_fail().

 libmm-glib/mm-common-helpers.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit f9e4e6b8f12ef345117dff9dd8adc28cf5154383
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Aug 6 13:02:19 2016 +0200

    device: ignored ports are also owned by the device, so include them
    in lookup

 src/mm-device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 764bfbce9d3b473fa3106e35bc11dc458d8f1429
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 30 12:50:43 2016 +0200

    mtk,udev: single 'usb' subsystems check

 plugins/mtk/77-mm-mtk-port-types.rules | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit c7c65e2d572793373b8105e2a78e94bc3b10fce6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 28 00:14:08 2016 +0200

    udev: simpler check for rfcomm device names

    Just the same kind of match we use for cdc-wdm devices.

 src/80-mm-candidate.rules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1ca47e4b52b04ef4c7b652f39097c9469dde6429
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 28 00:14:07 2016 +0200

    zte,udev: avoid making the rules tty-only, and simplify single
    vendor check

    The rules were matched only against devices with an exact 'tty'
    subsystem, and
    that means that we were not properly adding additional tags on
    e.g. wwan or
    cdc-wdm devices.

 plugins/zte/77-mm-zte-port-types.rules | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

commit e47e654d335a5bd8311090fddef53b621c3a1496
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 28 00:14:06 2016 +0200

    simtech,udev: simplify single vendor check

 plugins/simtech/77-mm-simtech-port-types.rules | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

commit d9ff08749cd7482b2a2355a14ce72f3e6d6ba1a0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 28 00:14:05 2016 +0200

    nokia,udev: simplify single vendor check

 plugins/nokia/77-mm-nokia-port-types.rules | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

commit a5f33f0070992ed836cdfdbc8e82f19c779b42d2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 28 00:14:04 2016 +0200

    telit,udev: single 'usb' subsystems check and simplified single
    vendor check

 plugins/telit/77-mm-telit-port-types.rules | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

commit 4d53e2eb98b394c49ad2800786fd624ff36ac26e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 28 00:14:03 2016 +0200

    mbm,udev: additional per-vendor conditions for quicker processing

 plugins/mbm/77-mm-ericsson-mbm.rules | 32
 ++++++++++++++++++++++++++++----
 1 file changed, 28 insertions(+), 4 deletions(-)

commit a66871a2876be2236f634ff6b5e59d20de1ce5df
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 28 00:14:02 2016 +0200

    huawei,udev: single 'usb' systems check, and per-rule vendor-specific
    conditions

 plugins/huawei/77-mm-huawei-net-port-types.rules | 20
 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

commit 55dbb9fdb99a3e59f8d4fbae05b97b246ce21f38
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 28 00:14:01 2016 +0200

    longcheer,udev: single 'usb' subsystems check

 plugins/longcheer/77-mm-longcheer-port-types.rules | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 2a171b49519e9ac948e7ed1e9a72a56e89982fb7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 28 00:14:00 2016 +0200

    cinterion,udev: ensure 'usb' subsystems before idVendor/idProduct
    rules

 plugins/cinterion/77-mm-cinterion-port-types.rules | 1 +
 1 file changed, 1 insertion(+)

commit 840143aa3df2edf541d55dea91c3bfa86a1f7c3b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 28 00:13:59 2016 +0200

    haier,udev: simplify single vendor check

 plugins/haier/77-mm-haier-port-types.rules | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

commit 6e999584bec213fe2176764cb42b821bd891ab4e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 28 00:13:58 2016 +0200

    x22x,udev: single 'usb' subsystems check

 plugins/x22x/77-mm-x22x-port-types.rules | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 7ff57f9808f35d434b638a67b84481271c67c90e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 28 00:13:57 2016 +0200

    udev: replace ENV{.MM_USBIFNUM} conditions with
    ATTRS{bInterfaceNumber}

 plugins/cinterion/77-mm-cinterion-port-types.rules |   4 +-
 plugins/haier/77-mm-haier-port-types.rules         |   3 +-
 plugins/longcheer/77-mm-longcheer-port-types.rules | 170 +++++++-------
 plugins/mbm/77-mm-ericsson-mbm.rules               |  37 ++--
 plugins/mtk/77-mm-mtk-port-types.rules             |  26 +--
 plugins/nokia/77-mm-nokia-port-types.rules         |  27 ++-
 plugins/simtech/77-mm-simtech-port-types.rules     |  15 +-
 plugins/telit/77-mm-telit-port-types.rules         |  29 ++-
 plugins/x22x/77-mm-x22x-port-types.rules           |  42 ++--
 plugins/zte/77-mm-zte-port-types.rules             | 245
 ++++++++++-----------
 10 files changed, 291 insertions(+), 307 deletions(-)

commit 0b35e71d464fd8e422ddb8b7260d44969e1812f4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 28 00:13:56 2016 +0200

    udev: replace ENV{ID_VENDOR_ID} conditions with ATTRS{idVendor}

 plugins/cinterion/77-mm-cinterion-port-types.rules | 2 +-
 plugins/huawei/77-mm-huawei-net-port-types.rules   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 1a213e3b62abd8e8afee3741ef88bfc6d4b913f0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 28 00:13:55 2016 +0200

    udev: remove ENV{DEVTYPE}!="usb_device" rules

    They're actually a subcase of SUBSYSTEM!="usb", which we apply
    just before.

 src/77-mm-usb-device-blacklist.rules         | 1 -
 src/77-mm-usb-serial-adapters-greylist.rules | 1 -
 2 files changed, 2 deletions(-)

commit f33ea91ccf53be6f7177711f3560f806644ccf01
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Aug 2 16:27:56 2016 -0500

    base-call: formatting cleanups

 src/mm-base-call.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

commit 5350b9f568dc4375c874a3e3912458d512a3cbe4
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jul 25 23:07:03 2016 -0500

    broadband-modem/libqcdm: add signal strength from QCDM EVDO Pilot
    Sets log messages

    When a CDMA-only modem is registered with the EVDO network, its not
    possible to
    read signal strength in the following cases:

    1) while a data connection is active on single-AT-port modems,
    because the AT
    port is used for PPP and not available for AT+CSQ, AT+CIND or
    vendor-specific
    signal strength commands

    2) when the modem reports only CDMA 1x signal strength with AT+CSQ

    Now that we have a reasonable interpretation of RSSI from the QCDM
    EVDO Pilot Sets V2 log messgae, use that when other means of getting
    signal strength aren't available.

 libqcdm/src/Makefile.am   |   2 +
 libqcdm/src/log-items.h   |  34 +++----
 libqcdm/src/logs.c        | 184 +++++++++++++++++++++++++++++++++++
 libqcdm/src/logs.h        |  50 ++++++++++
 src/mm-broadband-modem.c  | 240
 +++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-port-serial-qcdm.c | 160 ++++++++++++++++++++++++++++++-
 src/mm-port-serial-qcdm.h |  16 ++++
 7 files changed, 663 insertions(+), 23 deletions(-)

commit 30f60de7d3f4d61a100ce1e6a01a746bd2409b81
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Wed Jul 27 09:26:20 2016 +0200

    blacklist: include some more Arduinos

    All "2a03  dog hunter AG" devices seem to be Arduinos.

    https://bugzilla.redhat.com/show_bug.cgi?id=1261040

 src/77-mm-usb-device-blacklist.rules | 1 +
 1 file changed, 1 insertion(+)

commit bff43b26bf1fb678e0e13284a581b41fd2af7ec9
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Fri May 13 17:15:21 2016 +0200

    telit: adding a short delay after SIM unlock

    A short delay is necessary with some SIMs when
    they have just been unlocked. Using 1 second as secure margin.

 plugins/telit/mm-broadband-modem-telit.c | 38
 ++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

commit 43d97a46233e65eb5d13a38b4fe4d70b6725e904
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Fri May 13 17:15:20 2016 +0200

    iface-modem: inverted steps in update_lock_info_context_step

    Inverted steps UPDATE_LOCK_INFO_CONTEXT_STEP_RETRIES and
    UPDATE_LOCK_INFO_CONTEXT_STEP_AFTER_UNLOCK.

    Soon after the unlock, the SIM can be busy and
    loading unlock retries might fail.

    When implemented, let run "after unlock" logic before any other
    step in
    update lock info, when SIM is not locked this change does not have any
    effect since "after unlock" is not executed.

 src/mm-iface-modem.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

commit dce9f056738d151e81070188f4312f11758411be
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 26 13:27:37 2016 +0200

    build: post release version bump to 1.7.0

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 397761c9758c3a8c2d130afaf36dab645d6e0ecf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 26 12:53:04 2016 +0200

    release: bump version to 1.6.0

 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 7b4bd888f0e3cc095e566085b99c0061eb7c39a5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 26 13:07:37 2016 +0200

    build: updated copyright years up to 2016

 cli/mmcli.c                                   | 2 +-
 docs/reference/api/ModemManager-docs.xml      | 3 +++
 docs/reference/libmm-glib/libmm-glib-docs.xml | 4 ++++
 src/mm-context.c                              | 2 +-
 4 files changed, 9 insertions(+), 2 deletions(-)

commit dbb05afba8b2f92cf61d6ea71a4ea14ce34835d6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 25 13:17:44 2016 +0200

    examples: avoid warning in modem-watcher-python example

        PyGIWarning: ModemManager was imported without specifying a
        version first. Use gi.require_version('ModemManager', '1.0')
        before import to ensure that the right version gets loaded.

 examples/modem-watcher-python/ModemWatcher.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 24fd3ef5fb2b4795e7f3bad96d16ee36758e9e8d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jul 25 10:36:42 2016 +0200

    examples: add SMS sender in python

 configure.ac                    |  1 +
 examples/Makefile.am            |  2 +-
 examples/sms-python/Makefile.am |  4 ++++
 examples/sms-python/README      | 20 ++++++++++++++++
 examples/sms-python/sms-python  | 51
 +++++++++++++++++++++++++++++++++++++++++
 5 files changed, 77 insertions(+), 1 deletion(-)

commit a7942177c9f969faec1d767c67d4019a61dc7e16
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Wed Jul 20 19:55:20 2016 +0200

    build: don't disable the aliasing checks

    We now don't break the strict aliasing rules.

    Also, having a compiler flag that disables a warning among the flags
    that are
    meant to add extra sanity checking is not correct either:
    --enable-extra-warnings=no would generate a bad aliasin warning while
    the --enable-extra-warnings=yes would not.

 m4/compiler_warnings.m4 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 488992b0109e2a3fb55a1ebd9180b7fa208a8ff6
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Wed Jul 20 19:53:00 2016 +0200

    qcdm: avoid upsetting the compiler with wrong aliasing

    We shouldn't be accessiing u_int8_t * as u_int16_t *. Let's construct
    the 16-bit value by or-ing the 8-bit halves directly; avoiding the
    endianness conversion too.

 libqcdm/src/commands.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 803caab80a8aea7bcdb846aa2b61cdd0bf794360
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jul 20 11:37:45 2016 -0500

    libqcdm: add HDR Pilot Sets V2 log item structures

    Apparently I was looking at this in 2012:
    https://blogs.gnome.org/dcbw/2012/11/14/got-evdo-help-me-out/

    So why not at least get the structures into libqcdm and figure
    out a rough correlation between pilot energy and EC/IO.

 libqcdm/src/log-items.h | 50
 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

commit f137268ce12daaf56b79e508d6cba5e543feac36
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 20 07:51:54 2016 +0200

    iface-modem: fix checking for single capabilities

    The mm_iface_modem_is_*_only() checks were validating that all
    the other
    capabilities except for the ones being queried were unset, but the
    check wasn't
    explicitly checking that the actual capabilities being queried
    were set.

    This was making the check fail when capabilities ==
    MM_MODEM_CAPABILITY_NONE.

    Reported-by: Matthew Stanger <stangerm2@gmail.com>

 src/mm-iface-modem.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit ddbc2195687bf4f5c94d7e60d808ddb695052f7f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 15 12:23:01 2016 +0200

    bearer-qmi: decide IP method during connection attempt

    Deciding the IP method to use based on the underlying QMI port LLP
    should not be
    done when the bearer object is created, because the QMI port in use
    may not
    actually be open or have been opened at that time. During the
    connection attempt
    we do make sure the QMI port is open, so we should check the LLP to
    use just
    after that step.

 src/mm-bearer-qmi.c          | 97
 ++++++++++++--------------------------------
 src/mm-bearer-qmi.h          |  5 +--
 src/mm-broadband-modem-qmi.c | 11 +----
 3 files changed, 28 insertions(+), 85 deletions(-)

commit 46b17908ce18e89280db3cb7fa0981ee4fec5a23
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 14 14:59:17 2016 +0200

    broadband-modem-qmi: fix dhcp/static IP setting when kernel data
    format updated

    When the logic decided that we had to update the kernel data format
    to match the
    one configured in the WWAN network interface, we were not flagging
    the port LLP
    with the correct value, what resulted in NetworkManager trying to
    use dhclient
    on the raw-ip interface:

        dhclient[3257]: Unsupported device type 65534 for "wwan1"
        dhclient[3257]:
        dhclient[3257]: If you think you have received this message due
        to a bug rather
        dhclient[3257]: than a configuration issue please read the
        section on submitting
        dhclient[3257]: bugs on either our web page at www.isc.org or
        in the README file
        dhclient[3257]: before submitting a bug.  These pages explain
        the proper
        dhclient[3257]: process and the information we find helpful
        for debugging..
        dhclient[3257]:
        dhclient[3257]: exiting.

    Fix the internal LLP flag, so that Static IP addressing is requested
    for all raw-ip
    based interfaces.

 src/mm-broadband-modem-qmi.c | 2 +-
 src/mm-port-qmi.c            | 8 +++++---
 2 files changed, 6 insertions(+), 4 deletions(-)

commit 48f02107395986c31b95067b5f08de256dab3c18
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jun 17 10:39:02 2016 -0500

    bearer-mbim: use the context IP type MM asked to be activated instead
    of modem response

    MM never passes MBIM_CONTEXT_IP_TYPE_DEFAULT which would require
    paying
    attention to the ip_type in the reply to figure out what type
    the modem
    activated.  Instead, MM always specifies the ip_type it wants to
    activate,
    and some modems (K5160) return a different type in the response.
    The modem
    is required to activate the type MM asks for or return an error, so if
    the activation was successful we can safely assume the modem activated
    the ip_type we want, and we can ignore the ip_type in the response.

 src/mm-bearer-mbim.c | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

commit d757c32b945da7eafcd95080b30116c98f4e665d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 7 20:22:31 2016 +0200

    release: bump version to 1.5.993 (1.6-rc4)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b09b7dfc2d0ab2fde2c8b9557e494381a90ce327
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jul 7 20:22:00 2016 +0200

    NEWS: update for 1.6-rc4

 NEWS | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit f5cd7476f4bcd3961d408b603344ad5fff03e40d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 6 22:15:55 2016 +0200

    broadband-modem-mbim: try to use FCC Auth through QMI-over-MBIM if
    power up fails

 configure.ac                  |   4 +-
 src/mm-broadband-modem-mbim.c | 445
 ++++++++++++++++++++++++++++++++++++------
 2 files changed, 382 insertions(+), 67 deletions(-)

commit 8080be8209c406169f24d52b69ddda4dd8485c8c
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jun 15 14:16:52 2016 -0500

    broadband-bearer-mbim: log context IP type when connecting

 src/mm-bearer-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 182cf1fa891797438fc79e9cb01bd1cb1b4a3fd8
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jun 1 12:12:21 2016 -0500

    iface-modem-firmware: clarify log message about unsupported firmware
    interface

 src/mm-iface-modem-firmware.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f232afffe92e61b0c0471608ec55fa8e748196a2
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jun 1 11:33:33 2016 -0500

    broadband-modem: document why firmware/OMA interfaces are left
    enabled in FAILURE state

 src/mm-broadband-modem.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit a5baec65be1b20e0d3a223c54ed79230b6d9509e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 31 11:22:13 2016 +0200

    simtech: support QMI devices

 plugins/simtech/mm-plugin-simtech.c | 79
 ++++++++++++++++++++-----------------
 1 file changed, 43 insertions(+), 36 deletions(-)

commit 969189d42cc88bce9bdd6fb5e387352a02f81f2a
Author: Ting-Yuan Huang <laszio@chromium.org>
Date:   Sat May 14 15:25:32 2016 +0800

    plugin-manager: protect mm_plugin_{major,minor}_version

    This patch makes declarations bind to definitions within the same
    module
    to prevent the potential ambiguity if referenced directly.

    AddressSanitizer think they violated one definition rule, although
    those symbols are accessed by address through their modules and do
    not depend on the order of the libararies loaded.

 plugins/altair/mm-plugin-altair-lte.c    | 4 ++--
 plugins/anydata/mm-plugin-anydata.c      | 4 ++--
 plugins/cinterion/mm-plugin-cinterion.c  | 4 ++--
 plugins/dell/mm-plugin-dell.c            | 4 ++--
 plugins/generic/mm-plugin-generic.c      | 4 ++--
 plugins/haier/mm-plugin-haier.c          | 4 ++--
 plugins/huawei/mm-plugin-huawei.c        | 4 ++--
 plugins/iridium/mm-plugin-iridium.c      | 4 ++--
 plugins/linktop/mm-plugin-linktop.c      | 4 ++--
 plugins/longcheer/mm-plugin-longcheer.c  | 4 ++--
 plugins/mbm/mm-plugin-mbm.c              | 4 ++--
 plugins/motorola/mm-plugin-motorola.c    | 4 ++--
 plugins/mtk/mm-plugin-mtk.c              | 4 ++--
 plugins/nokia/mm-plugin-nokia-icera.c    | 4 ++--
 plugins/nokia/mm-plugin-nokia.c          | 4 ++--
 plugins/novatel/mm-plugin-novatel-lte.c  | 4 ++--
 plugins/novatel/mm-plugin-novatel.c      | 4 ++--
 plugins/option/mm-plugin-hso.c           | 4 ++--
 plugins/option/mm-plugin-option.c        | 4 ++--
 plugins/pantech/mm-plugin-pantech.c      | 4 ++--
 plugins/samsung/mm-plugin-samsung.c      | 4 ++--
 plugins/sierra/mm-plugin-sierra-legacy.c | 4 ++--
 plugins/sierra/mm-plugin-sierra.c        | 4 ++--
 plugins/simtech/mm-plugin-simtech.c      | 4 ++--
 plugins/telit/mm-plugin-telit.c          | 4 ++--
 plugins/thuraya/mm-plugin-thuraya.c      | 4 ++--
 plugins/via/mm-plugin-via.c              | 4 ++--
 plugins/wavecom/mm-plugin-wavecom.c      | 4 ++--
 plugins/x22x/mm-plugin-x22x.c            | 4 ++--
 plugins/zte/mm-plugin-zte.c              | 4 ++--
 src/mm-plugin.h                          | 9 +++++++++
 31 files changed, 69 insertions(+), 60 deletions(-)

commit 55f3ab80835114342618083664c4fa585455b9e0
Merge: 830b6ebca ba097f1a4
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 27 12:39:56 2016 -0500

    merge: fix various mbm-related connect/disconnect issues (fdo #95302)
    (fdo #95304)

    https://bugs.freedesktop.org/show_bug.cgi?id=95302
    https://bugs.freedesktop.org/show_bug.cgi?id=95304

commit ba097f1a434761a5129c07b5e4533e57bda43f3e
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 11 13:18:12 2016 -0500

    broadband-bearer-mbm: connect errors should trigger a disconnect

    Otherwise we may leave a bearer connected when ModemManager doesn't
    think it's connected.  Prevents a CME ERROR 277 loop on connect when
    the bearer hasn't been torn down correctly.

 plugins/mbm/mm-broadband-bearer-mbm.c | 38
 +++++++++++++++++++++++++++++++----
 1 file changed, 34 insertions(+), 4 deletions(-)

commit 5c3461ff9c01583ee97a76cbed544144c44627db
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 11 12:27:56 2016 -0500

    broadband-bearer-mbm: wait for disconnect to complete

    Wait for either an E2NAP unsolicited disconnect status or (for older
    devices) an ENAP poll response before completing the disconnect.
    Otherwise the client may start connecting again (such as
    NetworkManager autoconnect retry) and the unsolicited E2NAP may
    abort it, or the modem may return CME ERROR 277 ("not disconnected
    yet") for the next connection attempt.

    https://bugs.freedesktop.org/attachment.cgi?id=123525

 plugins/mbm/mm-broadband-bearer-mbm.c | 143
 ++++++++++++++++++++++++++++++----
 1 file changed, 130 insertions(+), 13 deletions(-)

commit 9cc851954d6c0525ae97b8b0be7661870aa17224
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 11 11:24:59 2016 -0500

    broadband-bearer-mbm: simplify dial_3gpp connection setup flow

    There are a few key parts to this patch:

    1) move the poll id into the Dial3gppContext structure as it is
    conceptually part of the connection context data.  This simplifies
    context cleanup by keeping the poll id cleanup in one place.

    2) move unsolicited connection status (E2NAP) handling into the
    normal connection codepath, instead of completing the connection
    context from the report_connection_status() E2NAP handler.  This
    simplifies connect code by not requiring checks for a NULL context
    everywhere, and allows us to pass the Dial3gppContext structure
    around instead of the Bearer object, since the Dial3gppContext
    will never be comleted/freed outside the normal connection flow
    codepaths like GLib idles and AT command requests.

    3) use the connect context cancellable for all AT command requests
    in the connect path.  This lets us use the error return from
    mm_base_modem_at_command_full_finish() to handle cancellation and
    also not bother listening to the 'cancelled' signal of the
    cancellable, since we can just check for cancellation the next time
    the ENAP poll function runs.

    https://bugs.freedesktop.org/show_bug.cgi?id=95304

 plugins/mbm/mm-broadband-bearer-mbm.c | 297
 +++++++++++++---------------------
 1 file changed, 112 insertions(+), 185 deletions(-)

commit 830b6ebca8e218efeecd211b7a058366ef26272e
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 11 16:25:59 2016 -0500

    broadband-bearer-icera: deactivate context before authentication

    If the modem thinks a PDP context is already active it'll return
    583 errors from IPDPCFG and IPDPACT until the context is
    deactivated.  Deactivation was previously done after authentication,
    but needs to be done before any part of the connect process to
    ensure the PDP context is inactive.

    The previous approach worked only if the context was being
    deactivated already (which can take a bit of time) because it would
    be deactivated after a few seconds and the connect could continue.
    This approach works for more cases (like a MM crash and restart
    while the modem is connected).

 plugins/icera/mm-broadband-bearer-icera.c | 99
 ++++++++++++++++---------------
 1 file changed, 52 insertions(+), 47 deletions(-)

commit e27f4a6226cc7c3293d16e9f57ea37a8aec6b60a
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Thu May 5 19:34:19 2016 +0200

    mbm: clean up the context on activate_ready

    Otherwise the dangling pointer to the context that's being deallocated
    causes a
    crash on spontaneous E2NAP receipt:

      ModemManager[1567]: <info>  [1462468083.031326]
      [mm-iface-modem.c:1431] __iface_modem_update_state_internal():
      Modem /org/freedesktop/ModemManager1/Modem/0: state changed
      (connecting -> registered)
      ModemManager[1567]: <debug> [1462468083.053745]
      [mm-port-serial-at.c:459] debug_log(): (ttyACM0): <--
      '<CR><LF>*E2NAP: 0,36<CR><LF>'
      ModemManager[1567]: <debug> [1462468083.053857]
      [mbm/mm-broadband-modem-mbm.c:824] e2nap_received(): disconnected

      (ModemManager:1567): GLib-GIO-CRITICAL **:
      g_simple_async_result_set_error: assertion 'G_IS_SIMPLE_ASYNC_RESULT
      (simple)' failed

      Program received signal SIGTRAP, Trace/breakpoint trap.
      g_logv (log_domain=0x7ffff7086798 "GLib-GIO",
      log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>,
      args=args@entry=0x7fffffffcda0) at gmessages.c:1046
      1046              g_private_set (&g_log_depth, GUINT_TO_POINTER
      (depth));
      Missing separate debuginfos, use: debuginfo-install
      libmbim-1.12.4-2.el7.centos.x86_64 libqmi-1.14.2-1.el7.centos.x86_64
      (gdb) bt
      #0  0x00007ffff6a508c3 in g_logv (log_domain=0x7ffff7086798
      "GLib-GIO", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>,
      args=args@entry=0x7fffffffcda0) at gmessages.c:1046
      #1  0x00007ffff6a50a3f in g_log
      (log_domain=log_domain@entry=0x7ffff7086798 "GLib-GIO",
      log_level=log_level@entry=G_LOG_LEVEL_CRITICAL,
      format=format@entry=0x7ffff6abe73d "%s: assertion '%s' failed")
      at gmessages.c:1079
      #2  0x00007ffff6a50a79 in g_return_if_fail_warning
      (log_domain=log_domain@entry=0x7ffff7086798 "GLib-GIO",
      pretty_function=pretty_function@entry=0x7ffff7092ce0
      <__FUNCTION__.13394> "g_simple_async_result_set_error",
      expression=expression@entry=0x7ffff7092a40 "G_IS_SIMPLE_ASYNC_RESULT
      (simple)") at gmessages.c:1088
      #3  0x00007ffff6ff9d3d in g_simple_async_result_set_error
      (simple=0x7fffe8006e40, domain=297, code=0, format=0x7ffff175b53f
      "Call setup failed") at gsimpleasyncresult.c:719
      #4  0x00007ffff17569ea in report_connection_status
      (bearer=0x7fffe4008a40 [MMBroadbandBearerMbm],
      status=MM_BEARER_CONNECTION_STATUS_DISCONNECTED) at
      mbm/mm-broadband-bearer-mbm.c:174
      #5  0x000055555559c9f1 in mm_base_bearer_report_connection_status
      (self=0x7fffe4008a40 [MMBroadbandBearerMbm],
      status=MM_BEARER_CONNECTION_STATUS_DISCONNECTED) at
      mm-base-bearer.c:1118
      #6  0x00007ffff17548ed in bearer_list_report_status_foreach
      (bearer=0x7fffe4008a40 [MMBroadbandBearerMbm], ctx=0x7fffffffd060)
      at mbm/mm-broadband-modem-mbm.c:805
      #7  0x00007ffff6a45f18 in g_list_foreach (list=<optimized
      out>, func=0x7ffff17548c9 <bearer_list_report_status_foreach>,
      user_data=0x7fffffffd060) at glist.c:994
      #8  0x00005555555a224b in mm_bearer_list_foreach
      (self=0x5555558e0680 [MMBearerList], func=0x7ffff17548c9
      <bearer_list_report_status_foreach>, user_data=0x7fffffffd060)
      at mm-bearer-list.c:146
      #9  0x00007ffff1754a3d in e2nap_received (port=0x5555558e24c0
      [MMPortSerialAt], info=0x555555935730, self=0x555555900330
      [MMBroadbandModemMbm]) at mbm/mm-broadband-modem-mbm.c:850
      #10 0x000055555563d9fd in parse_unsolicited (port=0x5555558e24c0
      [MMPortSerialAt], response=0x7fffe80054f0) at
      mm-port-serial-at.c:280
      #11 0x0000555555639915 in parse_response_buffer (self=0x5555558e24c0
      [MMPortSerialAt]) at mm-port-serial.c:889
      #12 0x0000555555639f0b in common_input_available
      (self=0x5555558e24c0 [MMPortSerialAt], condition=G_IO_IN) at
      mm-port-serial.c:1019
      #13 0x0000555555639fc7 in iochannel_input_available
      (iochannel=0x555555926df0, condition=G_IO_IN, data=0x5555558e24c0)
      at mm-port-serial.c:1042
      #14 0x00007ffff6a4979a in g_main_context_dispatch
      (context=0x5555558a4a00) at gmain.c:3109
      #15 0x00007ffff6a4979a in g_main_context_dispatch
      (context=context@entry=0x5555558a4a00) at gmain.c:3708
      #16 0x00007ffff6a49ae8 in g_main_context_iterate
      (context=0x5555558a4a00, block=block@entry=1,
      dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3779
      #17 0x00007ffff6a49dba in g_main_loop_run (loop=0x5555558acf10)
      at gmain.c:3973
      #18 0x000055555558d068 in main (argc=2, argv=0x7fffffffdc38)
      at main.c:181
      (gdb)

    https://bugzilla.redhat.com/show_bug.cgi?id=1333293
    https://bugs.freedesktop.org/show_bug.cgi?id=95303

 plugins/mbm/mm-broadband-bearer-mbm.c | 1 +
 1 file changed, 1 insertion(+)

commit ff8f030d2422d20bf5f7f74afb8c135610fba4c5
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Wed May 4 16:11:44 2016 +0200

    mtk: add D-Link DWM-156 A3

 plugins/mtk/77-mm-mtk-port-types.rules | 6 ++++++
 1 file changed, 6 insertions(+)

commit 1af8304a8f4916431d081a2dc34316dc7bdf717d
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Fri Apr 29 12:50:11 2016 +0200

    build: modified Telit and Dell sections

    This patch adds section for building Telit common code and modifies
    Dell section for using Telit library

 plugins/Makefile.am | 28 ++++++++++++++++++++++------
 1 file changed, 22 insertions(+), 6 deletions(-)

commit ed97ebf6bfac937501d4cee8fe97919f30b627c4
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Fri Apr 29 12:50:10 2016 +0200

    dell: add udev rules for 413c/81ba

    udev rules for Dell-branded 413c/81ba Telit modem are used for dynamic
    port configuration in Telit plugin custom init

 plugins/dell/77-mm-dell-port-types.rules | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 4403bb7764268a3924ed0ed7d14c510751fdbb4d
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Fri Apr 29 12:50:09 2016 +0200

    dell: add Telit manufacturer

    Dell-branded AT based Telit modems should use Telit plugin functions

 plugins/dell/mm-plugin-dell.c | 53
 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 51 insertions(+), 2 deletions(-)

commit 850318fd965d992994412688955f1e3ce8a9c97e
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Fri Apr 29 12:50:08 2016 +0200

    telit: code refactoring

    This patch moves init and port grabbing functions to a separate file
    to allow functions call from Dell plugin

 plugins/telit/mm-common-telit.c | 318
 ++++++++++++++++++++++++++++++++++++++++
 plugins/telit/mm-common-telit.h |  40 +++++
 plugins/telit/mm-plugin-telit.c | 300
 +------------------------------------
 3 files changed, 360 insertions(+), 298 deletions(-)

commit f5a061efbf29642521e3da6f5f6ff98129643143
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 20 11:09:13 2016 -0500

    bearer-mbim: fine-tune bearer IP method reporting

    v4: modems/providers may not return DNS servers and not all modems
    support DHCP, so lack of DNS servers should not indicate a bearer
    IP method of "DHCP".  IP config daemon/scripts already have to handle
    missing DNS anyway.

    v6: IPv6 requires SLAAC or DHCPv6 as part of the specification, so for
    now we assume modems will support it.  Provide all the info the modem
    sent, but if there is any missing information use an IP method of
    "DHCP" to indicate that info should be obtained via SLAAC/DHCPv6.
    Only
    use an IP method of "STATIC" when all basic properties are given by
    the modem.

 include/ModemManager-enums.h | 16 +++++++----
 src/mm-bearer-mbim.c         | 66
 +++++++++++++++++++++++++++++---------------
 2 files changed, 54 insertions(+), 28 deletions(-)

commit ccc148fe9bc24a687ba868070014028d7ad0bb22
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 19 13:14:00 2016 +0200

    libmm-glib,common-helpers: fix reading boolean from string

    The "0" case wasn't being handled properly:
      $ sudo mmcli -m 0 --create-bearer="apn=,allow-roaming=0"
      Error parsing properties string: 'Cannot get boolean from string
      '0''

 libmm-glib/mm-common-helpers.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

commit 59f57befa4be81b562f9adfbac39fbe19d88c111
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Apr 18 08:11:45 2016 +0200

    release: bump version to 1.5.992 (1.6-rc3)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5286eaca51b8a871e9b6a2d0825967414aa93249
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Apr 18 08:11:00 2016 +0200

    NEWS: include QMI network disconnections

 NEWS | 1 +
 1 file changed, 1 insertion(+)

commit 80ce59385fb0bc24f9167f339d5673ede735e1c3
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 13 12:16:57 2016 -0500

    bearer-qmi: listen for Packet Service Status indication and handle
    disconnection

    Hook up to the WDS Packet Service Status indication, listen for
    disconnection events, and disconnect the bearer when we get one.

 src/mm-bearer-qmi.c | 139
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 139 insertions(+)

commit 650f4a2e911e5d626e1c9d365437c7e1b2191fcc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 13 11:39:21 2016 +0200

    huawei: fix reading IPv4 address in BE systems

    Tested by: <than@redhat.com>

    https://bugs.freedesktop.org/show_bug.cgi?id=94777

 plugins/huawei/mm-modem-helpers-huawei.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 62805a11f1cfbd92c36cb8215f2451f5018873c1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Apr 13 09:45:02 2016 +0200

    port-probe: fix missing task disposals

 src/mm-port-probe.c | 2 ++
 1 file changed, 2 insertions(+)

commit 276e28fe81e7aeef8a4270fb7be3b542688c27e9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 8 16:38:00 2016 +0200

    port-probe: make sure stored task pointer is set to NULL before
    completing

    When we were completing tasks in idle, the logic was like this:

     * Schedule task completion in idle
     * self->priv->task = NULL
     * (idle) Task completion callback called

    This meant that the self->priv->task was always set to NULL before the
    completion callback was called, which is what we wanted as a new
    task may be
    scheduled in the callback itself.

    Now, without completing in idle, we were wrongly doing:

     * Task completion callback called
     * self->priv->task = NULL

    This commit fixes the logic by making sure self->priv->task = NULL
    before any
    task completion.

 src/mm-port-probe.c | 184
 ++++++++++++++++++++++++++++------------------------
 1 file changed, 100 insertions(+), 84 deletions(-)

commit 8a386218690aeff7e2c923a14f91da7bbc046ed2
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Tue Apr 5 08:18:57 2016 +0200

    dell: fixed cgmi_retries in dell_custom_init

    Initialized "cgmi_retries" variable from CustomInitContext with the
    same value as the other retries, moreover the context is now allocated
    with g_slice_new0.

    Before this changes, when cgmi_retries assumed big values during the
    probing of no AT-capable ports, the command AT+CGMI
    (mm-plugin-dell.c:custom_init_step)
    was sent a semi-infinite number of times, blocking the plugin's
    initialization.

 plugins/dell/mm-plugin-dell.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 1f13909d9b59176afd9cec32cfbd623b44ec8d80
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 1 13:06:55 2016 +0200

    build: make '--with-suspend-resume' auto by default

    If systemd is found, enable suspend resume support.

 configure.ac | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

commit ae2988da933f39d8983c94aaeef3c1b6f98f3e4e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 1 12:59:25 2016 +0200

    build: use 'no' to disable suspend/resume support, instead of 'none'

 configure.ac | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 0e5fdadcd39c0a51a62be29b42752415d4892a71
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 1 12:58:55 2016 +0200

    build: use 'no' to disable polkit, instead of 'none'

 configure.ac | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

commit 55408e8b946b4db77096d1ad403102823e1e6e25
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 27 21:52:46 2016 +0200

    device: port probe may be in the ignored list

 src/mm-device.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit f156ec06fb74d2401ab7147c0977e4fdff20eb52
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 27 21:39:11 2016 +0200

    context: use G_OPTION_ARG_FILENAME when a file path is expected

 cli/mmcli-modem-messaging.c | 2 +-
 src/mm-context.c            | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 0f9377686d08f4ac360c9f1df3366c91af44209f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 27 21:35:44 2016 +0200

    context: fix --help output

    The options that require an argument should explicitly specify so.

    Before:
      --log-level=INFO             Log level: one of [ERR, WARN, INFO,
      DEBUG]
      --log-file                   Path to log file

    After:
      --log-level=[LEVEL]          Log level: one of ERR, WARN, INFO,
      DEBUG
      --log-file=[PATH]            Path to log file

 src/mm-context.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 6ba37aa041627d7246303cd7e46c8ff88f5634cc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 27 18:15:55 2016 +0200

    base-modem: remove unused 'mm_base_modem_get_port()' method

 src/mm-base-modem.c | 24 ------------------------
 src/mm-base-modem.h |  3 ---
 2 files changed, 27 deletions(-)

commit 1583452554385f0f714764467052d70dd1f384c4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 27 18:14:20 2016 +0200

    base-modem: remove unused 'mm_base_modem_owns_port()' method

 src/mm-base-modem.c | 8 --------
 src/mm-base-modem.h | 3 ---
 2 files changed, 11 deletions(-)

commit 547b9b9d87963a3dcc827df65d835bbeb2e44dc7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 27 18:11:24 2016 +0200

    base-modem: remove unused 'mm_base_modem_release_port()' method

 src/mm-base-modem.c | 82
 -----------------------------------------------------
 src/mm-base-modem.h |  3 --
 2 files changed, 85 deletions(-)

commit ad03445bf7edc2a4e294b4179a03b42f1c759a1a
Author: Tomas Jura <tomas.jura1@gmail.com>
Date:   Sat Mar 26 15:43:13 2016 +0100

    serial: do not restore termios on port close

 src/mm-port-serial.c | 10 ----------
 1 file changed, 10 deletions(-)

commit d6cee7782b550f0664a70080c38a3dad1f657723
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 25 11:15:14 2016 +0100

    release: bump version to 1.5.991 (1.6-rc2)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 34961f20a6a7fc892983841eec6eee4796ce7450
Author: Brian Norris <computersforpeace@gmail.com>
Date:   Thu Mar 24 13:58:35 2016 -0700

    libmm-glib: fix enum conversion warning/error

    mm-modem-oma.c:400:51: error: implicit conversion from enumeration
    type 'MMOmaSessionType' to different enumeration type 'MMOmaFeature'
          [-Werror,-Wenum-conversion]
        g_return_val_if_fail (MM_IS_MODEM_OMA (self),
        MM_OMA_SESSION_TYPE_UNKNOWN);
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/include/glib-2.0/glib/gmessages.h:382:11: note: expanded from
    macro 'g_return_val_if_fail'
             return (val);
             \
             ~~~~~~  ^~~

    This should be MMOmaFeature, not MMOmaSessionType. The end result
    is the same,
    as both are 0.

 libmm-glib/mm-modem-oma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2c1230ba7ba9d70f26bc2f76198a458321283a58
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 23 22:50:34 2016 +0100

    po: sleep monitor source file was renamed

    Reported by: Michael Biebl <biebl@debian.org>

 po/POTFILES.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8fee9a99f065b845bd0a9915c8777e6ac60a67b2
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Tue Mar 22 21:00:31 2016 +0100

    port-probe: unlink the task from probe before completing it

    The task completion may try to enqueue a next probe task and in
    mm_port_probe_run() it asserts there's no task linked.

    https://bugs.freedesktop.org/show_bug.cgi?id=94664

    Fixes: 1939c5ace50240127276efacec5c7f166483bb79

 src/mm-port-probe.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit a0e8505156a31fc6fa119e4f4aefa3f1670588a6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 21 23:48:46 2016 +0100

    build: rename sleep monitor source file, only one implementation
    available

 src/Makefile.am                                        | 2 +-
 src/{mm-sleep-monitor-systemd.c => mm-sleep-monitor.c} | 0
 2 files changed, 1 insertion(+), 1 deletion(-)

commit 6197a06931ffd197b4f66b92c4d729b5911e0e36
Author: poma <pomidorabelisima@gmail.com>
Date:   Sun Mar 20 20:39:16 2016 +0100

    UPower signaling obsolescence

    "Newer upower versions no longer emit that signal since this handled
    by systemd."
    by Michael Biebl <mbiebl@gmail.org>
    https://lists.freedesktop.org/archives/devkit-devel/2014-March/001575.html

    See also "Plans for UPower 1.0"
    by Richard Hughes <hughsient@gmail.com>
    https://lists.freedesktop.org/archives/devkit-devel/2013-January/001339.html

    Signed-off-by: poma <pomidorabelisima@gmail.com>

 configure.ac                  |   8 +--
 src/Makefile.am               |   5 --
 src/mm-sleep-monitor-upower.c | 150
 ------------------------------------------
 3 files changed, 2 insertions(+), 161 deletions(-)

commit 342ea24e346f855f57c69a7fc1fccbbf4e12277d
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Mon Mar 21 14:58:41 2016 +0100

    cinterion: drop unused constants

    GCC 6 doesn't like this. Unused since f2024b7.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 24
 ------------------------
 1 file changed, 24 deletions(-)

commit 2a5909af17324442e052d3833ac7d4ff0ab689ba
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Mon Mar 21 14:58:40 2016 +0100

    wmc: fix a typo in the test

    GCC 6 notices an unused constant and errors out.

 libwmc/tests/test-wmc-utils.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 6512fde74da33861591a089390201f2522978db2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 20 17:38:38 2016 +0100

    build: fix missing MMCLI_LIBS variable

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 021e57a28306115c315f8686c30a122f692f394b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 21 10:45:25 2016 +0100

    build: run configure script from builddir rather than srcdir

    Based on an equivalent patch from Philip Withnall
    <philip@tecnocode.co.uk>
    for libmbim; see:

        https://bugs.freedesktop.org/show_bug.cgi?id=94639

 autogen.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 07f899a9d3a1b688a06b858db36d8eea163e1d13
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 18 12:55:58 2016 +0100

    release: bump version to 1.5.900 (1.6-rc1)

    Also bump soname of libmm-glib, as the interface has grown since
    the last tag.

 configure.ac | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 0c2f98d2a7ad96c7144f3ef0e8e6c2fad1b56d2c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 18 12:49:39 2016 +0100

    NEWS: update for 1.6.0

 NEWS | 101
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 101 insertions(+)

commit c6dda5e502d40cdb6599b8b6f64f5e5a893e2a0a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 18 11:36:52 2016 +0100

    build: require libmbim 1.12 and libqmi 1.14

    Preparing for the new ModemManager stable release, we now require
    the latest
    stable series of both libmbim and libqmi.

 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit d7a643b16ac538be5fb6b82da9855420ad9f1a0e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 16 18:26:33 2016 +0100

    libmm-glib,modem-voice: fix unknown methods in documentation

        html/MMCallProperties.html:141: warning: no
        link for: 'mm-modem-voice-create' -> (<code
        class="function">mm_modem_voice_create()</code>).
        html/MMCallProperties.html:141: warning: no
        link for: 'mm-modem-voice-create-sync' -> (<code
        class="function">mm_modem_voice_create_sync()</code>).
        html/MMModemVoice.html:379: warning: no link
        for: 'mm-modem-voice-delete-finish' -> (<code
        class="function">mm_modem_voice_delete_finish()</code>).
        html/MMModemVoice.html:380: warning: no link
        for: 'mm-modem-voice-delete-sync' -> (<code
        class="function">mm_modem_voice_delete_sync()</code>).

 libmm-glib/mm-call-properties.c | 2 +-
 libmm-glib/mm-modem-voice.c     | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 4055488fd0ab7522a8d967086c55c7e706de5173
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 16 18:13:18 2016 +0100

    libmm-glib,modem-location: fix unknown method in documentation

        html/MMModemLocation.html:516: warning: no
        link for: 'mm-modem-dup-supl-server' -> (<code
        class="function">mm_modem_dup_supl_server()</code>).

 libmm-glib/mm-modem-location.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1ae6a7be8abab4b13520679f42c6cc8e2fb57d05
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 15 16:17:42 2016 -0500

    build: work around automake-1.15 & intltool complaining about
    translations in build dir

    make distcheck runs a build in dist directory subtirs and then runs
    intltool -m
    which in turn complains about translations in a built file:

      The following files contain translations and are currently not in
      use. Please
      consider adding these to the POTFILES.in file, located in the po/
      directory.

        sub/data/org.freedesktop.ModemManager.policy.in

    The issue is reported to intltool upstream already:
    https://bugs.launchpad.net/intltool/+bug/1117944

 po/POTFILES.skip | 2 ++
 1 file changed, 2 insertions(+)

commit 93bf189fa245078aa3e8791e8ba89a63da5f3530
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 15 15:56:06 2016 +0100

    build,libmm-glib: built headers shouldn't be included in dist

 libmm-glib/generated/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit eeb9e2bdcc8001d77d2b81ad6e2275fe634c4469
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 15 12:28:56 2016 +0100

    build: end all multiline list variables with $(NULL)

    So that appending a new item in the list only inserts one new line
    (i.e. the
    last $(NULL) is the last item always).

 Makefile.am                      | 32 +++++++++++++++++++++++++++-----
 cli/Makefile.am                  | 10 ++++++----
 libmm-glib/Makefile.am           | 32 +++++++++++++++++++++-----------
 libmm-glib/generated/Makefile.am | 24 +++++++++++++-----------
 src/Makefile.am                  | 30 ++++++++++++++++++++----------
 5 files changed, 87 insertions(+), 41 deletions(-)

commit f9c63bfa058bdab29e00f13a0bedf4b4af39797e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 15 12:57:01 2016 +0100

    build,plugins: update build rules

    We try to combine in common envvars the compiler and linker flags
    shared by the
    different components, and where possible, also re-using the implicit
    AM_CFLAGS
    and AM_LDFLAGS variables that automake provides, and which apply to
    all objects
    being built in the same Makefile.am.

    The plugins build rules are also updated so that whenever a plugin
    has some
    testable 'helpers', these are compiled into a noinst library and
    then the new
    library included by both the plugin and the tester program. This
    avoids multiple
    recompilations of the same sources for different objects.

 plugins/Makefile.am | 847
 +++++++++++++++++++++++++++++++---------------------
 1 file changed, 514 insertions(+), 333 deletions(-)

commit 3b8361eb0635e2a56f8db11823d0b5837f1bb6de
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 15 12:47:13 2016 +0100

    build,core: update build rules

    We try to combine in common envvars the compiler and linker flags
    shared by the
    different components, and where possible, also re-using the implicit
    AM_CFLAGS
    and AM_LDFLAGS variables that automake provides, and which apply to
    all objects
    being built in the same Makefile.am.

    The internal libmodem-helpers.la library is also renamed to
    libhelpers.la

 plugins/Makefile.am   |  12 +--
 src/Makefile.am       | 211
 ++++++++++++++++++++++++++++----------------------
 src/tests/Makefile.am | 203
 +++++++++---------------------------------------
 test/Makefile.am      |  32 ++++++--
 4 files changed, 184 insertions(+), 274 deletions(-)

commit 3bac0a17f5187aa22d433470146875cac15944bf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 15 12:27:20 2016 +0100

    build,libmm-glib: fix gdbus-codegen rules

    The rule with multiple targets means that for each of the target
    the command
    specified is run; not that a single run of the command generates
    all the targets
    specified.

    So, generate the .c file with the command, and make the .h and the
    .xml files
    a side-effect of the .c generation.

 libmm-glib/generated/Makefile.am | 57
 +++++++++++++++++++++++++++++++---------
 1 file changed, 45 insertions(+), 12 deletions(-)

commit 0a9cbf65ea285ebe58b27e1bf40d078504351a80
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 15 10:33:30 2016 -0500

    modem-helpers: fix handling split PDP context ID reporting in
    CGDCONT=? response

    Cinterion PHS8-US devices send split PDP context ID like
    "(1-17,101-112)" and
    that caused the modem-helpers to choke.

 src/mm-modem-helpers.c         |  2 +-
 src/tests/test-modem-helpers.c | 16 ++++++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

commit 8ac075d768cf36b6de19032a2ba208bf3e029cc5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 13 18:01:03 2016 +0100

    build: ignore thuraya helpers test

 .gitignore | 1 +
 1 file changed, 1 insertion(+)

commit e00fd54a200f97aa5ae44e981da152669521f83c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 13 17:38:26 2016 +0100

    build: bump required gettext version to 0.19.3

    Otherwise:
        configure.ac:86: warning: The 'AM_PROG_MKDIR_P' macro is
        deprecated, and its use is discouraged.
        configure.ac:86: You should use the Autoconf-provided
        'AC_PROG_MKDIR_P' macro instead,
        configure.ac:86: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in
        your Makefile.am files.

 .gitignore   | 3 +++
 configure.ac | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

commit a9b69d210d12acc458d2d8ba4e79554f818e8337
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Aug 19 12:44:02 2015 -0500

    huawei: use AT^DHCP response if available for NDISDUP-capable devices

    For non-QMI/non-MBIM Huawei devices that use HiSense chipsets,
    the recommended way to create the connection is to use NDISDUP
    and either DHCP on the net interface, or the ^DHCP command.
    There are some reports of devices that connect successfully, but
    don't respond to DHCP requests on the interface.  Try to get
    IP addressing info from the device via ^DHCP and fall back to
    telling clients to use actual DHCP if that fails.

    https://bugzilla.redhat.com/show_bug.cgi?id=1254886

 plugins/huawei/mm-broadband-bearer-huawei.c      | 112
 +++++++++++++++++++++--
 plugins/huawei/mm-modem-helpers-huawei.c         | 112
 +++++++++++++++++++++++
 plugins/huawei/mm-modem-helpers-huawei.h         |  10 ++
 plugins/huawei/tests/test-modem-helpers-huawei.c |  51 +++++++++++
 4 files changed, 276 insertions(+), 9 deletions(-)

commit 91d343520fec5c5905a4cc3ce898f75025f3f2a8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 13 13:21:05 2016 +0100

    huawei: ignore ^LTERSRP unsolicited message

    Based on a previous patch from Dan Williams <dcbw@redhat.com>

 plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 1939c5ace50240127276efacec5c7f166483bb79
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 10 00:24:54 2016 +0100

    port-probe: simplify task completion

    We no longer need to complete in idle, because the limitation imposed
    by the
    serial port methods no longer exists.

 src/mm-port-probe.c | 230
 ++++++++++++++++++----------------------------------
 1 file changed, 81 insertions(+), 149 deletions(-)

commit d9596587e294ffde715fb2a7ef877da9f903558a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 10 00:34:59 2016 +0100

    port-serial: allow completions not in idle

    Port serial command completions may be performed in several different
    places:
      * When a cached response is set during command sending.
      * When errors happen during command sending.
      * When we process a response (i.e. common_input_available())
      * When we process a timeout (i.e. port_serial_timed_out())
      * When cancelled (i.e. port_serial_response_wait_cancelled())

    We're currently safe with the previous logic only because the users
    of the
    serial port explicitly complete operations in idle, which means
    that whenever
    we're processing in a internal callback (e.g. during response
    or timeout
    processing) the serial port object is valid for as long as the
    callback runs.

    But, if we ever end up using the serial port with a not-in-idle
    completion,
    it may happen that if the command is completed within a internal
    signal callback
    the serial port object may get fully closed and unref-ed before
    exiting the
    callback.

    We could force a valid port reference to exist as long as the
    internal signal
    is scheduled, but then we may lose the ability to automatically
    close the port
    during a full unref(), as the internal signals are set as long as
    the port is
    open.

    So, to cope with this possibility of not-in-idle completion, we
    instead force
    references to be valid whenever we see that a command completion
    may happen,
    which is basically whenever port_serial_got_response() is called;
    but we only
    do that if we're going to use the port object after that, otherwise,
    we ignore
    the problem.

    In addition to the problems with the references, we also update the
    common_input_available() method so that the source isn't kept if
    the last
    response buffer processing ended up closing the port.

 src/mm-port-serial.c | 137
 ++++++++++++++++++++++++++++++++-------------------
 1 file changed, 87 insertions(+), 50 deletions(-)

commit 1322201a43fa4731b0a79dd892bc4a988ae4a428
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Thu Mar 10 15:02:51 2016 +0100

    telit: implemented set current bands

 plugins/telit/mm-broadband-modem-telit.c          | 117 +++++++++++++
 plugins/telit/mm-modem-helpers-telit.c            |  85 ++++++++++
 plugins/telit/mm-modem-helpers-telit.h            |   2 +
 plugins/telit/tests/test-mm-modem-helpers-telit.c | 191
 ++++++++++++++++++++++
 4 files changed, 395 insertions(+)

commit 93056fe3f2038a4144f6f652726831458e849cf2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 16 18:57:25 2016 +0100

    plugin-manager: allow early cancel of port tasks when they haven't
    been run yet

 src/mm-plugin-manager.c | 59
 ++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 48 insertions(+), 11 deletions(-)

commit c605b0bc468429f6f9421b964eea97c62f32056a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 16 01:41:51 2016 +0100

    port-probe: allow cancellation

 src/mm-plugin.c     |    1 +
 src/mm-port-probe.c | 1006
 +++++++++++++++++++++++++++------------------------
 src/mm-port-probe.h |    2 +-
 3 files changed, 533 insertions(+), 476 deletions(-)

commit d3bf07e7a87bac85778750a87463b95f2180c55c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 15 17:54:51 2016 +0100

    plugin: allow cancellation of the port probe operation

 src/mm-plugin-manager.c |   3 +
 src/mm-plugin.c         | 224
 ++++++++++++++++++++++--------------------------
 src/mm-plugin.h         |  20 +++--
 3 files changed, 117 insertions(+), 130 deletions(-)

commit fd4fdbf21b20983cdd46fc925389dd96ca3a99d3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jan 11 19:46:25 2016 +0100

    plugin-manager: refactor device/port support checks and allow
    cancellations

 src/mm-base-manager.c   |   45 +-
 src/mm-plugin-manager.c | 1732
 ++++++++++++++++++++++++++++++++---------------
 src/mm-plugin-manager.h |   32 +-
 3 files changed, 1222 insertions(+), 587 deletions(-)

commit be9b5e0141bbebdff0694a6a664e1074448c3618
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jan 11 20:08:30 2016 +0100

    plugin-manager: improve logging when loading plugins

 src/mm-plugin-manager.c | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

commit be317e8b80cd984149ea152c9d00c6bb814e7c88
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Wed Mar 9 11:27:43 2016 +0100

    broadband-modem: fix +CPMS empty parameter support

    * Add new async virtual method init_current_storages to
      MMIfaceModemMessaging
    * Add logic of init_current_storages to MMBroadbandModem
    * Add step "INIT_CURRENT_STORAGES" in MMIfaceModemMessaging
      initialization in order to load and store current SMS
      storages for mem1 and mem2.
    * Add usage of current sms storage value for mem1 in place
      of an empty string parameter when the command AT+CPMS
      is used.

    https://bugs.freedesktop.org/show_bug.cgi?id=93135

 src/mm-broadband-modem.c       | 92
 +++++++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem-messaging.c | 37 +++++++++++++++++
 src/mm-iface-modem-messaging.h |  7 ++++
 src/mm-modem-helpers.c         | 76 ++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         | 10 +++++
 src/tests/test-modem-helpers.c | 35 ++++++++++++++++
 6 files changed, 256 insertions(+), 1 deletion(-)

commit 7c2d5b1aa358c4edb94203d7de586d489b656576
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 2 17:09:33 2016 +0100

    helpers: fix check for pid when creating device identifier

    https://bugs.freedesktop.org/show_bug.cgi?id=94364

 src/mm-modem-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c8a26e472e05e8a02be881ad97cd9d15cd636f94
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Mon Feb 22 13:32:22 2016 +0100

    telit: add current modes setting

    This patch adds current modes setting in Telit plugin

 plugins/telit/mm-broadband-modem-telit.c | 98
 ++++++++++++++++++++++++++++++++
 1 file changed, 98 insertions(+)

commit 6e7ff47109058e553beb4d9044a302d78e17944c
Author: Michael Farrell <micolous@gmail.com>
Date:   Sat Feb 20 16:29:11 2016 +0100

    proxmark3 is not a modem, blacklist it.

    ModemManager locks the proxmark3 when it is connected. As it is not
    a modem,
    ModemManager shouldn't be talking to it.

    At present, the recommended action in the proxmark3 documentation
    is to
    purge ModemManager to fix this issue.

    Note that this vendor uses an unregistered USB device ID, so it is
    instead matched by the manufacturer string.

    References:
    - http://store.ryscc.com/blogs/news/45802433
    - http://www.proxmark.org/forum/viewtopic.php?id=1759

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 7652486433cbfaf14c1c3fe35aeb69622ca97b79
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 4 22:11:28 2016 -0800

    build: ignore telit unit test

 .gitignore | 1 +
 1 file changed, 1 insertion(+)

commit beeabdea2fd4f9b0719cf2d2605ed429a59aa5b5
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Mon Feb 15 12:10:57 2016 +0100

    telit: add load_current_bands interface

 plugins/telit/mm-broadband-modem-telit.c          | 80
 ++++++++++++++-----
 plugins/telit/mm-modem-helpers-telit.c            | 97
 +++++++++++++++--------
 plugins/telit/mm-modem-helpers-telit.h            | 21 +++--
 plugins/telit/tests/test-mm-modem-helpers-telit.c | 89
 +++++++++++++++++++--
 4 files changed, 221 insertions(+), 66 deletions(-)

commit c533e56e1e9fd2c2c52093369f8a21ebd3f932ea
Author: Michael Biebl <biebl@debian.org>
Date:   Fri Jan 22 23:40:10 2016 +0100

    tests: white space / indentation fixes

    Fixes problems with GCC 6

    Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811583
    Bug: https://bugs.freedesktop.org/show_bug.cgi?id=94149

 libwmc/tests/test-wmc-com.c | 10 +++++-----
 libwmc/tests/test-wmc.c     | 16 ++++++++--------
 2 files changed, 13 insertions(+), 13 deletions(-)

commit a08708c10ded19c5a0d369905f13beb8ee7cdc49
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Feb 15 00:31:27 2016 +0100

    huawei: avoid trying to disable parent voice unsolicited events

    Which actually segfaults, as MMBroadbandModem doesn't implement the
    disable_unsolicited_events() method in the voice interface.

 plugins/huawei/mm-broadband-modem-huawei.c | 39
 ++++++++----------------------
 1 file changed, 10 insertions(+), 29 deletions(-)

commit 5d8b26eeeb9d18ff6022998edd200aa480203d93
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Feb 15 00:12:11 2016 +0100

    huawei: ignore ^ECCLIST unsolicited messages

    These messages list the emergency numbers reported by the network,
    we don't use
    them yet.

    E.g.:

      ^ECCLIST: 112,911\r\n

 plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit eeb23637bd5a637e67955281a97223809023f23b
Author: Thomas Sailer <t.sailer@alumni.ethz.ch>
Date:   Sat Feb 13 17:37:15 2016 +0100

    thuraya: filter by vendor ID instead of vendor string

    Probe the Thuraya XT modem by USB vendor ID; there are no RS232
    versions
    to my knowledge.

    One of my computers exhibiting the probing issue (VID/PID of the PCI
    host controller instead of the USB device) fixed itself after
    a reboot.

    Signed-off-by: Thomas Sailer <t.sailer@alumni.ethz.ch>

 plugins/thuraya/mm-plugin-thuraya.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit cffba7e0ee512800329476d7da13046171c99067
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Feb 13 14:33:12 2016 +0100

    modem-helpers: regex creation should never fail

    We should really consider errors if we expect that the regex string
    may not
    compile; but in this case the pattern is fixed, so should never
    happen.

 src/mm-modem-helpers.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit 95876c6f576875503f20f7e3ad27440bffd9067c
Author: Thomas Sailer <t.sailer@alumni.ethz.ch>
Date:   Sat Feb 13 14:19:13 2016 +0100

    helpers: move +CRSM parsing to mm_3gpp_parse_crsm_response

    Also added test cases.

    Signed-off-by: Thomas Sailer <t.sailer@alumni.ethz.ch>

 src/mm-base-sim.c              | 117
 +++++++++++++----------------------------
 src/mm-modem-helpers.c         |  51 ++++++++++++++++++
 src/mm-modem-helpers.h         |   8 +++
 src/tests/test-modem-helpers.c |  54 +++++++++++++++++++
 4 files changed, 151 insertions(+), 79 deletions(-)

commit a33615d6cb087c646de3b1899fbed0f7284f9340
Author: Thomas Sailer <t.sailer@alumni.ethz.ch>
Date:   Sat Feb 13 14:19:12 2016 +0100

    helpers: allow optional quotes in +CREG: <stat>,"<lac>","<ci>"

    GSM 07.07 CREG=2 unsolicited pattern.

    Added testcase for Thuraya XT.

    Signed-off-by: Thomas Sailer <t.sailer@alumni.ethz.ch>

 src/mm-modem-helpers.c         | 11 ++++++++++-
 src/tests/test-modem-helpers.c | 26 ++++++++++++++++++++++++--
 2 files changed, 34 insertions(+), 3 deletions(-)

commit 9cb0b22f915777a92ac4aa6442edfcf51a1f5601
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Feb 11 11:07:38 2016 -0600

    broadband-modem-qmi: fix compile errors with newest QMI commands
    enabled

 src/mm-broadband-modem-qmi.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

commit 232d4d4aaed69d7e0cdb75c19d0af2fd86c9469a
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 26 12:46:09 2016 -0600

    broadband-bearer: don't send disconnect CGACT on data port for
    multi-port modems

    A Huawei E173 (with FW 11.126.15.00.445) seems to stop responding
    on the
    primary port (ttyUSB2) when the CGACT is resent on the data port
    (ttyUSB0).
    The CGACT-on-data-port was originally added as a fallback attempt
    to get
    single-port modems to disconnect when all other methods failed.

    For single-port modems, the primary port is also the data port so this
    patch will have no effect.

    For multi-port modems, this patch will retry the CGACT on the primary
    port which has a higher chance of success because we already know
    the primary port is talking to us, while the data port may still
    be stuck in PPP mode.

 src/mm-broadband-bearer.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

commit 504f422ddd99848adba2a85055f2ce33c0fbb612
Author: Thomas Sailer <t.sailer@alumni.ethz.ch>
Date:   Thu Feb 11 13:45:12 2016 +0100

    thuraya: add plugin for the Thuraya XT satellite phone modem

    Signed-off-by: Thomas Sailer <t.sailer@alumni.ethz.ch>

 plugins/Makefile.am                                |  25 ++
 plugins/thuraya/mm-broadband-modem-thuraya.c       | 295
 +++++++++++++++++++++
 plugins/thuraya/mm-broadband-modem-thuraya.h       |  50 ++++
 plugins/thuraya/mm-modem-helpers-thuraya.c         | 156 +++++++++++
 plugins/thuraya/mm-modem-helpers-thuraya.h         |  27 ++
 plugins/thuraya/mm-plugin-thuraya.c                |  85 ++++++
 plugins/thuraya/mm-plugin-thuraya.h                |  48 ++++
 .../thuraya/tests/test-mm-modem-helpers-thuraya.c  | 131 +++++++++
 8 files changed, 817 insertions(+)

commit 4442173dcff34fb6f2ce0d07b10c95a06a31a8f5
Author: Thomas Sailer <t.sailer@alumni.ethz.ch>
Date:   Thu Feb 11 13:45:09 2016 +0100

    modem-helpers: allow optional whitespace in +CGDCONT response

    Add testcase for Thuraya XT.

    Signed-off-by: Thomas Sailer <t.sailer@alumni.ethz.ch>

 src/mm-modem-helpers.c         |  4 ++--
 src/tests/test-modem-helpers.c | 14 ++++++++++++++
 2 files changed, 16 insertions(+), 2 deletions(-)

commit 18c8dd60a7ffec58fc1846f0a3894c951018e260
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 30 20:14:25 2016 -0800

    qmi: just one InvalidCommand error is enough to avoid all DMS UIM
    commands

    The MMBroadbandModemQmi will not create a MMSimQmi until the unlock
    status has
    been checked, and therefore this means that when the SIM object is
    being created
    we already know whether the modem supports DMS UIM commands or not,
    so avoid
    further fallbacks in the SIM object.

 src/mm-broadband-modem-qmi.c |  16 +++----
 src/mm-sim-qmi.c             | 109
 ++++++++++++++++++++++++-------------------
 src/mm-sim-qmi.h             |  15 +++---
 3 files changed, 77 insertions(+), 63 deletions(-)

commit 9cbd0c61b0562b2f2370d5c192d06fe8694bb021
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 30 20:14:24 2016 -0800

    sim-qmi: implement SIM verify/unblock/change/enable with UIM service

    Newer modems like the MC7455 don't implement the "DMS UIM" commands
    in the
    DMS service, and therefore these modems need to use the UIM service
    directly.

    We include a new flag to detect whether any of the DMS UIM commands
    is flagged
    as invalid, and if so, we'll fallback to the UIM specific
    implementations for
    all.

    libqmi version bump to 1.13.7, which includes the new required
    methods.

 configure.ac     |   2 +-
 src/mm-sim-qmi.c | 552
 +++++++++++++++++++++++++++++++++++++++++++++++++------
 src/mm-sim-qmi.h |   2 +
 3 files changed, 500 insertions(+), 56 deletions(-)

commit 7ded4f3c3be0a437d39777f38dfd58df4b570c07
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 30 20:14:23 2016 -0800

    broadband-modem-qmi: implement unlock retries loading with UIM service

    Newer modems like the MC7455 don't implement the "DMS UIM" commands
    in the
    DMS service, and therefore these modems need to use the UIM service
    directly.

 src/mm-broadband-modem-qmi.c | 357
 ++++++++++++++++++++++++++++---------------
 1 file changed, 236 insertions(+), 121 deletions(-)

commit 6a675536d678d1855859b5d5dd07fe22e0ceef88
Author: Tomas Jura <tomas_jura1@gmail.com>
Date:   Tue Feb 2 15:30:23 2016 +0100

    serial: remove duplicated ECHO & ECHOE

 src/mm-port-serial.c | 1 -
 1 file changed, 1 deletion(-)

commit 0ccbd5d85d65f932524ca851f2ffa7c18f284f07
Author: Tomas Jura <tomas_jura1@gmail.com>
Date:   Tue Feb 2 15:30:21 2016 +0100

    mbm: stop echos on gps port

 plugins/mbm/mm-broadband-modem-mbm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7f173dfd151708369b53083c996d0b98b0a07c2f
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Mon Feb 1 14:53:34 2016 +0100

    plugin: telit: add current mode loading

    This patch adds current mode loading in Telit plugin

 plugins/telit/mm-broadband-modem-telit.c | 82
 ++++++++++++++++++++++++++++++++
 1 file changed, 82 insertions(+)

commit 85e6c5b915b242f46a528e6415b3e735599ee0c0
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Mon Feb 1 14:53:33 2016 +0100

    plugin: telit: add supported modes loading

    This patch add supported modes loading in Telit plugin.

 plugins/telit/mm-broadband-modem-telit.c | 104
 +++++++++++++++++++++++++++++++
 1 file changed, 104 insertions(+)

commit aeb63621723fd3d7e39870466d2cffcf56fc6570
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 30 11:05:30 2016 -0800

    sim-qmi: port to GTask

 src/mm-sim-qmi.c | 451
 ++++++++++++++++++++++---------------------------------
 1 file changed, 176 insertions(+), 275 deletions(-)

commit b23dace6dd165b4043c54a11521b2cb75eca5a23
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 30 16:27:42 2016 -0800

    broadband-modem-qmi: plug memleak when listing SMS messages

 src/mm-broadband-modem-qmi.c | 1 +
 1 file changed, 1 insertion(+)

commit 8c905383b7f8f59e7b78c054ace828096a7fe6ba
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 30 16:25:20 2016 -0800

    broadband-modem-qmi: locked states also indicate readiness of the
    SIM card

    When the card application is flagged as needing PIN or PUK, then
    the card can be
    considered as being ready.

 src/mm-broadband-modem-qmi.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit 3911ea5a0f6b26e12a3586c75d72bb2c5820e3c1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jan 25 13:58:57 2016 +0100

    telit: minor coding style fixes

 plugins/telit/mm-broadband-modem-telit.c          |  2 +-
 plugins/telit/mm-modem-helpers-telit.c            | 37
 +++++++++++------------
 plugins/telit/tests/test-mm-modem-helpers-telit.c | 18 +++++++----
 3 files changed, 30 insertions(+), 27 deletions(-)

commit 70b8ec1a88477eea3a2f569a83fc270ccaff9504
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Mon Jan 25 11:02:17 2016 +0100

    telit: add load_supported_bands interface

 plugins/telit/mm-broadband-modem-telit.c          |  86 +++++
 plugins/telit/mm-modem-helpers-telit.c            | 372
 +++++++++++++++++++++-
 plugins/telit/mm-modem-helpers-telit.h            |  67 ++++
 plugins/telit/tests/test-mm-modem-helpers-telit.c | 150 ++++++++-
 4 files changed, 671 insertions(+), 4 deletions(-)

commit 81019ca5b519d505da90f119b0037d9cc9916fe4
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Mon Jan 25 09:54:39 2016 +0100

    telit: add udev rule for Telit LE910 V2 modem

 plugins/telit/77-mm-telit-port-types.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 83868c61b10146795a7369a8db452143363a6edb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 29 01:25:59 2015 +0100

    broadband-modem-qmi: use "UIM Get Card Status" if "DMS UIM" command
    unavailable

    The newer modules like the MC7455 which support multiple SIM cards
    won't
    implement the legacy "DMS UIM" commands.

 src/mm-broadband-modem-qmi.c | 452
 +++++++++++++++++++++++++++++++++++++------
 1 file changed, 390 insertions(+), 62 deletions(-)

commit cf66d1bcbfa3c124a30302c9bb9a76957c9e4b75
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Dec 29 01:25:00 2015 +0100

    bearer-qmi: use static IP if LLP is raw-ip

    When using raw-ip we'll default to request static IP setup for now,
    so that we
    don't rely on the DHCP client supporting raw-ip interfaces.

 src/mm-broadband-modem-qmi.c |  9 ++++++++-
 src/mm-port-qmi.c            | 25 +++++++++++++++++++++----
 src/mm-port-qmi.h            |  2 ++
 3 files changed, 31 insertions(+), 5 deletions(-)

commit f8ba106a20d678e50619c5bf3f1a9e3c61b3463f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 28 23:28:45 2015 +0100

    port-qmi: support new Qualcomm chipsets working always in raw-ip

    The port opening logic is changed completely.

    Before this change, the logic would only try 802.3 setting via CTL
    when the
    QmiDevice was being open.

    With this new change, instead, we'll use WDA and the new libqmi APIs
    to query
    the link layer protocol expected by both the device and the kernel. If
    the LLP
    matches in both, we assume we're done; if they differ we'll try to
    update the
    LLP expected by the kernel to the one setup in WDA. This change will
    allow us
    to run with the modem using raw-ip if that is what WDA reports
    by default.

    Also bumped the libqmi version to 1.13.6, which has support for the
    new required
    APIs.

 configure.ac      |   2 +-
 src/mm-port-qmi.c | 351
 +++++++++++++++++++++++++++++++++++++++++++++---------
 2 files changed, 295 insertions(+), 58 deletions(-)

commit 1bdb1a558a05970e436e562cc3f8d3f43640933a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 24 15:26:12 2016 +0100

    build: require GLib 2.36

    We now need it for GTask support.

 configure.ac        | 15 +++++++--------
 plugins/Makefile.am |  8 --------
 2 files changed, 7 insertions(+), 16 deletions(-)

commit 97962bb65caaabc4133740a2698dae2406be319e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jan 18 18:23:40 2016 +0100

    port-serial: rework response parsing

    Response parsing was being done in different places for AT and
    QCDM subclasses;
    in the case of AT it was being done early, before returning the byte
    array in
    the mm_serial_port_command_finish() response. In the case of QCDM,
    it was being
    done after mm_serial_port_command_finish(), and that was forcing
    every caller to
    cleanup the response buffer once the response was processed.

    With the new logic in this patch, the response is always parsed
    (i.e. looked for
    a valid response or an error detected) before
    mm_serial_port_command_finish()
    returns, and actually this method now returns a totally different
    GByteArray,
    not the internal response buffer GByteArray, so there's no longer
    any need for
    the caller to explicitly clean it up. The one doing the cleanup is
    the parser
    method itself in every case.

    This change also allows us to return serial port responses in idle,
    but that's
    not changed for now as there's no immediate need.

 src/mm-port-serial-at.c   |  45 +++++++++++-----
 src/mm-port-serial-gps.c  |  11 ++--
 src/mm-port-serial-qcdm.c | 134
 +++++++++++++++++++++++-----------------------
 src/mm-port-serial.c      | 118 +++++++++++++++++++++-------------------
 src/mm-port-serial.h      |  34 ++++++++----
 5 files changed, 194 insertions(+), 148 deletions(-)

commit ede17bd41c044af1d59b347f8859a9894272d27e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 17 00:55:12 2016 +0100

    port-serial: remove response buffer when an error is returned

    When valid responses were returned to the caller of the serial
    command, the
    caller itself was responsible for removing from the GByteArray the
    data that
    it was successfully processed (all the data in AT, just 1 message
    in QCDM). But,
    the same logic was missing for the case of errors; we were not
    explicitly
    removing the response and therefore in some cases we would see
    it propagated
    into the next command response. It was common to see this issue when
    the echo
    removal was disabled in the serial port, as in Option/HSO modems:

        <debug> (ttyHS3): --> 'AT+CNUM<CR>'
        <debug> (ttyHS3): <-- '<CR><LF>+CME ERROR: 14<CR><LF>'
        <debug> Got failure code 14: SIM busy
        <debug> (ttyHS3) device open count is 1 (close)
        <warn>  couldn't load list of Own Numbers: 'Failed to parse NV
        MDN command result: -17'
        <debug> (ttyHS3) device open count is 2 (open)
        <debug> (ttyHS3): --> 'AT_OPSYS?<CR>'
        <debug> (ttyHS3): <-- '<CR><LF>_OPSYS:
        1,2<CR><LF><CR><LF>OK<CR><LF>'
        <warn>  couldn't load current allowed/preferred modes: 'Couldn't
        parse OPSYS response: '+CME ERROR: 14
        _OPSYS: 1,2''

 src/mm-port-serial.c | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

commit 0512a820cda8e0934ce11339726e66c6dea85d3f
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 20 17:06:07 2016 -0600

    libmm-glib: make C++ happy by not using 'class'

 libmm-glib/mm-sms-properties.c | 8 ++++----
 libmm-glib/mm-sms-properties.h | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

commit 98c58ca64b7fa80ebe7cf96bcee77c7e9ef02f99
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 17:19:22 2016 -0600

    bearer-qmi: print IP details at 'info' log level

 src/mm-bearer-qmi.c | 42 +++++++++++++++++++++---------------------
 1 file changed, 21 insertions(+), 21 deletions(-)

commit 3b97d7e3d7f126ded63393af932d0e147b302fac
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 16 19:19:15 2016 +0100

    broadband-modem: plug memleaks when processing QCDM responses

 src/mm-broadband-modem.c | 2 ++
 1 file changed, 2 insertions(+)

commit 884d7bee1b25697a4fa378f43801e0cafd0a8c5e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 15 20:02:04 2016 +0100

    broadband-modem,time: make sure that error is set when operation fails

 src/mm-broadband-modem.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

commit 6d4597694268f7feab339aa5b903d9b6c6bda829
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 16 17:36:08 2016 +0100

    tests,generic: rename basic DBus test

 plugins/generic/tests/test-service-generic.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 7136c0b32103eda1d62a16a47dfdb37b166fa610
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 16 17:32:13 2016 +0100

    tests,port-context: explicitly close the socket that is added to
    the listener

    Since GLib 2.42, the sockets that are added to socket listeners may
    no longer
    be closed automatically when the listener is finalized. In order to
    avoid that,
    we will keep our own socket reference and close/unref it ourselves.

    This issue was preventing adding new test cases with the same
    port names.

        $ ./test-service-generic --verbose
        GTest: random seed: R02S889153ee0f2e59c570f4edff9caa4176
        GTest: run: /MM/Service/Generic/enable-disable
        Activating service name='org.freedesktop.ModemManager1'
        Successfully activated service 'org.freedesktop.ModemManager1'
        (MSG: DEBUG: client connection closed)
        (MSG: MESSAGE: Found modem at
        '/org/freedesktop/ModemManager1/Modem/0')
        ** Message: Found modem at
        '/org/freedesktop/ModemManager1/Modem/0'
        (MSG: DEBUG: client connection closed)
        GTest: result: OK
        GTest: run: /MM/Service/Generic/cme-error-detected
        Activating service name='org.freedesktop.ModemManager1'
        Successfully activated service 'org.freedesktop.ModemManager1'
        (MSG: FATAL-ERROR: Cannot bind socket: Error binding to address:
        Address already in use)

        **
        (/home/aleksander/Development/foss/ModemManager/plugins/.libs/lt-test-service-generic:32043):
        ERROR **: Cannot bind socket: Error binding to address: Address
        already in use

 plugins/tests/test-port-context.c | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

commit dfd111f29112918d7f2046297670a7481a883354
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 16 17:30:01 2016 +0100

    tests,test-fixture: don't rely on other threads to update dbus
    properties

    We were wrongly using a main loop in the port context thread to
    manage the
    global main context. That was silently making the DBus property
    notifications
    kind of work, as they were being updated via another thread, so here
    we could
    just sleep() and recheck the property values.

    Given that having that unrelated thread updating the dbus properties
    of our
    MMManager object is not a good thing, we'll instead totally ignore
    that and
    fully re-create the MMManager in each iteration with the sync()
    method, which
    has its own internal thread.

 plugins/tests/test-fixture.c | 109
 +++++++++++++++++--------------------------
 1 file changed, 43 insertions(+), 66 deletions(-)

commit 87bafa33dc6b1d58a67147a802bd498f9a2f80d6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 16 17:25:59 2016 +0100

    tests,port-context: properly setup per-thread main context

    Instead of creating a new main context to be used in the thread,
    we were using
    the global context. So, fix that, and create a totally new pair of
    main context
    and main loop to be used within the thread.

 plugins/tests/test-port-context.c | 29 +++++++++++++++++++++++++----
 1 file changed, 25 insertions(+), 4 deletions(-)

commit 99ae6777893d0b149cbefac3f290c63c47e29f42
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 13 15:29:50 2016 -0600

    libqcdm: fix mixed whitespace in test-qcdm.c

 libqcdm/tests/test-qcdm.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit 6a60090d681df313b9416597325d60effed006cf
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jan 12 16:37:28 2016 +0100

    broadband-modem,voice: fix regex leak

 src/mm-broadband-modem.c | 1 +
 1 file changed, 1 insertion(+)

commit 0ebf6d5da5b013faceb8d635d0896e9794c35fae
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 21 17:08:53 2015 +0100

    mbm: query supported modes to the modem with +CFUN=?

    We were trying to load the generic modes supported reported by either
    *CNTI=2 or
    AT+WS46=?, so that then we could filter out the MBM-specific modes
    unsupported.

    But, this may not be ideal, as both these two commands may fail:

        [mm-broadband-modem.c:1612] modem_load_supported_modes():
        loading supported modes...
        [mm-port-serial.c:1237] mm_port_serial_open(): (ttyACM1) device
        open count is 3 (open)
        [mm-port-serial.c:1294] _close_internal(): (ttyACM1) device open
        count is 2 (close)
        [mm-port-serial-at.c:440] debug_log(): (ttyACM1): -->
        'AT*CNTI=2<CR>'
        [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <--
        '<CR><LF>ERROR<CR><LF>'
        [mm-serial-parsers.c:364] mm_serial_parser_v1_parse(): Got
        failure code 100: Unknown error
        [mm-broadband-modem.c:1546] supported_modes_cnti_ready():
        Generic query of supported 3GPP networks with *CNTI failed:
        'Unknown error'
        [mm-port-serial.c:1237] mm_port_serial_open(): (ttyACM1) device
        open count is 3 (open)
        [mm-port-serial.c:1294] _close_internal(): (ttyACM1) device open
        count is 2 (close)
        [mm-port-serial-at.c:440] debug_log(): (ttyACM1): -->
        'AT+WS46=?<CR>'
        [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <--
        '<CR><LF>ERROR<CR><LF>'
        [mm-serial-parsers.c:364] mm_serial_parser_v1_parse(): Got
        failure code 100: Unknown error
        [mm-broadband-modem.c:1494] supported_modes_ws46_test_ready():
        Generic query of supported 3GPP networks with WS46=? failed:
        'Unknown error'
        [mm-iface-modem.c:3974] load_supported_modes_ready(): couldn't
        load Supported Modes: 'Couldn't retrieve supported modes'

    Instead, we'll ask the modem for the list of modes supported, and
    return that
    directly.

 plugins/mbm/mm-broadband-modem-mbm.c       |  93 ++++++++++-----------
 plugins/mbm/mm-modem-helpers-mbm.c         | 100 ++++++++++++++++++++++-
 plugins/mbm/mm-modem-helpers-mbm.h         |  14 ++++
 plugins/mbm/tests/test-modem-helpers-mbm.c |  62 +++++++++++++-
 src/mm-modem-helpers.c                     | 126
 +++++++++++++++--------------
 src/mm-modem-helpers.h                     |   2 +
 6 files changed, 281 insertions(+), 116 deletions(-)

commit 138b3dabc23f7e56adccbd76c42d9136af5b4329
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Dec 19 14:07:10 2015 +0100

    cli: validate SUPL server before showing it

 cli/mmcli-modem-location.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 9123c7bd93c8ca4f8fc3cc45d105946c4517dbb2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Dec 19 14:06:55 2015 +0100

    cli: allow enabling/disabling location signaling via DBus

    Not making them '--location-enable|disable-signal' because that's
    the pattern
    used to enable/disable location sources. Instead, use the
    '--location-set-*'
    pattern, as that is what we're already using for the other location
    setup
    update.

 cli/mmcli-modem-location.c | 41 ++++++++++++++++++++++++++++++++++++-----
 1 file changed, 36 insertions(+), 5 deletions(-)

commit 6c35878f12ab37604d85cb3a864e3859973bd195
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 3 17:06:16 2015 +0100

    location: support updating the GPS refresh time

    The default setup uses a refresh time of 30s, which means that even
    if the GPS
    location updates are received at a higher frequency, the DBus
    interface will
    still expose at most one update every 30s.

    This patch includes a new "SetGpsRefreshTime()" method in the Location
    interface, which takes a single 'u' parameter, specifying the refresh
    rate to
    use, in seconds. This method also allows 0 being passed, which will
    make the
    implementation to publish the GPS location updates are soon as
    ModemManager
    detects them.

    Along with the new method, a "GpsRefreshTime" read-only property
    is exposed
    to specify the refresh time in effect.

    The new method and property will only be applicable if the device
    has GPS
    capabilities.

    https://bugs.freedesktop.org/show_bug.cgi?id=89924

 cli/mmcli-modem-location.c                         |  93
 +++++++++++++++++-
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  10 ++
 ...rg.freedesktop.ModemManager1.Modem.Location.xml |  21 +++++
 libmm-glib/mm-modem-location.c                     | 103
 ++++++++++++++++++++
 libmm-glib/mm-modem-location.h                     |  15 +++
 src/mm-iface-modem-location.c                      | 104
 ++++++++++++++++++++-
 6 files changed, 339 insertions(+), 7 deletions(-)

commit aae96778c54a59dcf3955c2d81bee393c0348077
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Dec 19 11:54:26 2015 +0100

    build: don't redefine test_modem_helpers_telit_LDADD

 plugins/Makefile.am | 1 -
 1 file changed, 1 deletion(-)

commit 0a88ae2d6d87967c0d951cc95de0c1917c78b0ed
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Dec 19 11:51:11 2015 +0100

    telit: use explicit FIRST step name

 plugins/telit/mm-broadband-modem-telit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 46f601edf6046c6d6459f7aee45fca68bc93cee3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Dec 19 11:50:09 2015 +0100

    telit: don't talk to the user in a GError

 plugins/telit/mm-broadband-modem-telit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a74edab57f53ee8c920e681145070b252f5e656e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Dec 19 11:45:32 2015 +0100

    telit: prefix helper methods with 'mm_telit'

 plugins/telit/mm-broadband-modem-telit.c          | 2 +-
 plugins/telit/mm-modem-helpers-telit.c            | 5 ++++-
 plugins/telit/mm-modem-helpers-telit.h            | 4 +++-
 plugins/telit/tests/test-mm-modem-helpers-telit.c | 4 ++--
 4 files changed, 10 insertions(+), 5 deletions(-)

commit 740e1b5461bda9ff28f3ad2210ecf7238c38e785
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Dec 19 11:43:17 2015 +0100

    telit: fix minor coding style issues

 plugins/telit/mm-broadband-modem-telit.c | 18 +++++++++---------
 plugins/telit/mm-modem-helpers-telit.c   |  2 +-
 plugins/telit/mm-modem-helpers-telit.h   |  3 +--
 3 files changed, 11 insertions(+), 12 deletions(-)

commit c4ffe572aeeefac240f16822ca1d2d258f78ad8d
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Wed Dec 16 15:38:58 2015 +0100

    telit: add load_unlock_retries interface

 plugins/Makefile.am                               |  18 ++-
 plugins/telit/mm-broadband-modem-telit.c          | 183
 ++++++++++++++++++++++
 plugins/telit/mm-modem-helpers-telit.c            |  75 +++++++++
 plugins/telit/mm-modem-helpers-telit.h            |  25 +++
 plugins/telit/tests/test-mm-modem-helpers-telit.c | 104 ++++++++++++
 5 files changed, 404 insertions(+), 1 deletion(-)

commit 7978225934dc87bc74fac4d79a1080bc0501e581
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Wed Dec 9 18:06:41 2015 +0100

    telit: add modem_reset to telit plugin

 plugins/telit/mm-broadband-modem-telit.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

commit ae04c4179f423883545e9e6de8b6347c17723029
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 2 16:18:34 2015 +0100

    bearer-mbim: implement stats loading

 src/mm-bearer-mbim.c | 109
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 109 insertions(+)

commit cb59c6d93edba6f3ddc9db92e03588913b192059
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 27 14:30:00 2015 +0100

    bearer-qmi: implement stats loading

    Use the "WDS Get Packet Statistics" method to query for the ongoing
    number
    of bytes transmitted or received. The QMI implementation uses
    different WDS
    clients for IPv4 and IPv6; the stats reported are a combination of
    the values
    retrieved from both WDS clients.

 src/mm-bearer-qmi.c | 158
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 158 insertions(+)

commit 3bf118d01a90ac486ebe4ab9ed9c043930feac26
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 27 14:30:00 2015 +0100

    base-bearer: setup periodic stats loading

    If the bearer implementation supports it, load stats periodically. By
    default
    every 30s for now.

 src/mm-base-bearer.c | 123
 +++++++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-base-bearer.h |  16 +++++--
 2 files changed, 133 insertions(+), 6 deletions(-)

commit 810e52c6dbdc876c43899f4dfdf7c753a285536f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 27 14:30:00 2015 +0100

    cli: print stats if bearer reports them

 cli/mmcli-bearer.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

commit 730123598a22fd176986bb0da455f762be1bcba8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 27 14:30:00 2015 +0100

    libmm-glib: retrieve stats from the bearer

    The MMBearer object is updated to provide getter methods to retrieve
    the new
    MMBearerStats object.

 docs/reference/libmm-glib/libmm-glib-sections.txt |   2 +
 libmm-glib/mm-bearer.c                            | 116
 ++++++++++++++++++++++
 libmm-glib/mm-bearer.h                            |   4 +
 3 files changed, 122 insertions(+)

commit 27c6f15873e3fbfb151f4948a65f214453fe17b0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 27 14:30:00 2015 +0100

    libmm-glib: new helper object to handle bearer stats

    The new MMBearerStats object provides a simple API to interact with
    the new
    dictionary containing the bearer connection stats.

 docs/reference/libmm-glib/libmm-glib-docs.xml     |   1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt |  30 +++
 libmm-glib/Makefile.am                            |   3 +
 libmm-glib/mm-bearer-stats.c                      | 222
 ++++++++++++++++++++++
 libmm-glib/mm-bearer-stats.h                      |  85 +++++++++
 5 files changed, 341 insertions(+)

commit 03ead02686544c6daee48d8a0b0d51ab8cf255b4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 27 14:30:00 2015 +0100

    introspection: new 'Stats' property in the bearer object

    The new property is a dictionary which may include different
    parameters,
    depending on what is actually supported by the underlying modem. For
    now,
    just bytes RX/TX.

    Note that this object will expose the stats *as reported by the
    modem*. These
    values may differ from e.g. what is seen in the network interface
    stats.

 .../org.freedesktop.ModemManager1.Bearer.xml       | 31
 ++++++++++++++++++++++
 1 file changed, 31 insertions(+)

commit ee85a463cf806cd01a61587520245a4818ab1fbb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Dec 7 13:10:21 2015 +0100

    license: mmcli is GPLv2+, not GPLv3+

    mmcli is GPLv2+; that's what --version has always said and that's
    what the
    README in ModemManager sources specifies:
      License.
      The ModemManager and mmcli binaries are both GPLv2+.
      The libmm-glib library is LGPLv2+.

 cli/mmcli-bearer.c          |  2 +-
 cli/mmcli-call.c            |  2 +-
 cli/mmcli-common.c          |  2 +-
 cli/mmcli-common.h          | 11 ++++++++---
 cli/mmcli-manager.c         |  2 +-
 cli/mmcli-modem-3gpp.c      |  2 +-
 cli/mmcli-modem-cdma.c      |  2 +-
 cli/mmcli-modem-firmware.c  |  2 +-
 cli/mmcli-modem-location.c  |  2 +-
 cli/mmcli-modem-messaging.c |  2 +-
 cli/mmcli-modem-oma.c       |  2 +-
 cli/mmcli-modem-signal.c    |  2 +-
 cli/mmcli-modem-simple.c    |  2 +-
 cli/mmcli-modem-time.c      |  2 +-
 cli/mmcli-modem-voice.c     |  2 +-
 cli/mmcli-modem.c           |  2 +-
 cli/mmcli-sim.c             |  2 +-
 cli/mmcli-sms.c             |  2 +-
 cli/mmcli.c                 |  2 +-
 cli/mmcli.h                 |  2 +-
 20 files changed, 27 insertions(+), 22 deletions(-)

commit 14e47710561b2021b79814afa5ecd6b2abc4fad0
Author: Carlo Lobrano <c.lobrano@gmail.com>
Date:   Fri Dec 4 09:06:40 2015 +0100

    telit: add modem_power_down to telit plugin

 plugins/telit/mm-broadband-modem-telit.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit 4c036eb8f96cae06da1f968fb9eb48f6faa12796
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 3 12:01:00 2015 +0100

    iface-modem: explicitly disconnect bearer before removing it

    https://bugs.freedesktop.org/show_bug.cgi?id=90408

 src/mm-bearer-list.c | 23 ++++++++++++++---------
 src/mm-bearer-list.h |  2 ++
 src/mm-iface-modem.c | 53
 +++++++++++++++++++++++++++++++++++++++++++++-------
 3 files changed, 62 insertions(+), 16 deletions(-)

commit ea3cb005b8e276178187654bd1aadbe8b33abf63
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 3 12:00:22 2015 +0100

    bearer-list: rename bearer find method to specify properties are
    compared

 src/mm-bearer-list.c        | 4 ++--
 src/mm-bearer-list.h        | 4 ++--
 src/mm-iface-modem-simple.c | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

commit 75c23479902fd63a9b3bd81e25598ac8c6f22c2a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 3 11:43:21 2015 +0100

    bearer-list: no need for the method to remove all bearers

 src/mm-bearer-list.c | 16 ++++------------
 src/mm-bearer-list.h |  1 -
 2 files changed, 4 insertions(+), 13 deletions(-)

commit 508a37a8916a70831cc74cba1d8b977cf95e4a27
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 2 21:38:06 2015 +0100

    modem-helpers: fix parsing CPMS=? responses without groups

    The CPMS test parser was expecting 3 groups (parenthesis enclosed
    lists) of
    memory IDs, e.g.:

       +CPMS: ("SM","ME"),("SM","ME"),("SM","ME")

    But some modems like the Huawei MU609 may just report single
    elements, not
    groups, e.g.:

       +CPMS: "SM","SM","SM"

    This patch avoids using g_strsplit() to split the groups, as that
    is unaware
    of the possible replies without groups. Instead, a new helper
    method is
    implemented which does the group/item split itself, considering
    also the
    possibility of a reply with mixed groups and non-groups, like e.g.:

       +CPMS: ("SM","ME"),"SM","SM"

    Additionally, we also now support the case where the groups are
    empty, e.g.:

       +CPMS: (),(),()

    https://bugs.freedesktop.org/show_bug.cgi?id=92243

 src/mm-modem-helpers.c         | 108 +++++++++++++++++++++++++-------
 src/tests/test-modem-helpers.c | 137
 +++++++++++++++++++++++++++++++++++++++--
 2 files changed, 220 insertions(+), 25 deletions(-)

commit ffde4298435bf1e3232042c6ac7cb61ddfc1a183
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 2 17:07:11 2015 +0100

    core: use G_SOURCE_REMOVE and G_SOURCE_CONTINUE in GSourceFuncs

 plugins/altair/mm-broadband-modem-altair-lte.c    |  2 +-
 plugins/cinterion/mm-broadband-modem-cinterion.c  |  4 ++--
 plugins/huawei/mm-broadband-bearer-huawei.c       |  6 +++---
 plugins/huawei/mm-broadband-modem-huawei.c        |  2 +-
 plugins/huawei/mm-plugin-huawei.c                 |  2 +-
 plugins/icera/mm-broadband-bearer-icera.c         |  6 +++---
 plugins/mbm/mm-broadband-bearer-mbm.c             |  4 ++--
 plugins/mbm/mm-broadband-modem-mbm.c              |  2 +-
 plugins/mbm/mm-sim-mbm.c                          |  2 +-
 plugins/mtk/mm-broadband-modem-mtk.c              |  2 +-
 plugins/novatel/mm-broadband-bearer-novatel-lte.c |  6 +++---
 plugins/novatel/mm-broadband-modem-novatel-lte.c  |  2 +-
 plugins/novatel/mm-common-novatel.c               |  2 +-
 plugins/option/mm-broadband-bearer-hso.c          |  2 +-
 plugins/option/mm-broadband-modem-option.c        |  2 +-
 plugins/pantech/mm-broadband-modem-pantech.c      |  2 +-
 plugins/sierra/mm-broadband-modem-sierra.c        |  2 +-
 plugins/sierra/mm-common-sierra.c                 |  2 +-
 plugins/wavecom/mm-broadband-modem-wavecom.c      |  2 +-
 plugins/zte/mm-broadband-modem-zte.c              |  2 +-
 src/mm-base-bearer.c                              |  4 ++--
 src/mm-base-manager.c                             |  2 +-
 src/mm-base-modem.c                               |  2 +-
 src/mm-broadband-modem-mbim.c                     |  2 +-
 src/mm-broadband-modem-qmi.c                      |  2 +-
 src/mm-broadband-modem.c                          |  6 +++---
 src/mm-iface-modem-3gpp.c                         |  4 ++--
 src/mm-iface-modem-cdma.c                         |  2 +-
 src/mm-iface-modem-signal.c                       |  2 +-
 src/mm-iface-modem-time.c                         |  2 +-
 src/mm-iface-modem.c                              | 12 +++++------
 src/mm-plugin-manager.c                           |  4 ++--
 src/mm-port-probe.c                               | 26
 +++++++++++------------
 src/mm-port-serial.c                              | 18 ++++++++--------
 test/mmtty.c                                      |  2 +-
 35 files changed, 73 insertions(+), 73 deletions(-)

commit 2a99bdfa00c8b26266049e2c760ec7705c0ae739
Author: Felix Janda <felix.janda@posteo.de>
Date:   Sat Oct 17 16:53:58 2015 +0200

    Do not use obsolete XCASE terminal mode flag

    The XCASE terminal mode flag because is no longer specified by POSIX
    and has no effect on linux. Because of the latter fact we can remove
    it. This fixes a compilation error with musl libc.

 libqcdm/src/com.c    | 2 +-
 libwmc/src/com.c     | 2 +-
 src/mm-port-serial.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit 3129516736bb6eb49458ece7df86f57fce51200e
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Nov 11 12:38:49 2015 -0600

    broadband-modem-qmi: implement power-cycle reset functionality

 src/mm-broadband-modem-qmi.c | 49
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

commit 4e00558fcbdcfc9232f1007e718b9e2afae6520a
Author: Yunlian Jiang <yunlian@google.com>
Date:   Wed Oct 28 14:16:24 2015 -0700

    broadband-modem: fix a undifined behavior

    . A shift has undefined behaviour if the mathematical result
    (lhs * 2^{rhs}) doesn't fit in the range of the resulting type.
    In other words, you can't left shift into the sign bit of a
    signed integer type.
    The error message is:

    mm-broadband-modem.c:3308:15: runtime error: left shift of 1 by 31
    places cannot be represented in type 'int'
    SUMMARY: AddressSanitizer: undefined-behavior
    mm-broadband-modem.c:3308:15 in

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 30cbf7202c6b5c721ac59ac93052d678428d99d6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 25 15:41:08 2015 +0100

    build: on configure errors, show the specific libqmi or libmbim
    version required

 configure.ac | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit 35ab3dedd6fde556536feafe21a3e3fbb33ae942
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 25 15:36:14 2015 +0100

    sim-qmi: try to gather from the optional TLV whether MNC is 2 or
    3 digits

    We bump libqmi requiremetn to 1.13.5, which is the one with support
    for the new TLV.

 configure.ac     |  2 +-
 src/mm-sim-qmi.c | 28 +++++++++++++++++++++++++---
 2 files changed, 26 insertions(+), 4 deletions(-)

commit 77b6b02fd37cd8d89961dc32814b186639d1bafa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Oct 25 15:15:25 2015 +0100

    sim-qmi: fix building MCCMNC string

    For now, use 2 digits for MNC if < 100 and 3 digits otherwise.

 src/mm-sim-qmi.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

commit 3f3ad507e264ec23342269171df57db7a92618df
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 22 15:16:37 2015 -0500

    sim-qmi: load operator identifier and name from NAS home network

 src/mm-sim-qmi.c | 177
 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 173 insertions(+), 4 deletions(-)

commit 267b13c231003bddb51afdc91ea85637b7e678bb
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 22 17:13:31 2015 -0500

    api: correct description of SimIdentifier property

    In MM 0.6 days it used to be obfuscated, but that was pointless.  Now
    it's just the ICCID.

 introspection/org.freedesktop.ModemManager1.Sim.xml | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit a89dadcbc630099fce11a9fc0088d5269e34aee8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 20 10:37:48 2015 +0200

    bearer-qmi: don't add auth settings if no user/pass/auth given

    Auth settings will be added in a QMI message only if at least one
    of these is
    requested:
     * An explicit auth preference is requested.
     * User string is given and isn't empty.
     * Password string is given and isn't empty.

 src/mm-bearer-qmi.c | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

commit 5b568e97f8126879099c349486465cc9f14f64e5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 15 10:07:08 2015 +0200

    iface-modem-3gpp: allow LAC/CID updates reported while registering

    When changing from idle to registered we'll load registration info
    before really
    reporting that we're registered (so that clients can get the new
    registration
    info directly). During this time, we should also allow LAC/CID
    updates triggered
    in the location interface.

    E.g. when receiving this QMI message, we're not processing LAC/CID
    because when
    they get reported, the registration state was not yet 'registered':

        [/dev/cdc-wdm0] Received message (translated)...
        >>>>>> QMUX:
        >>>>>>   length  = 67
        >>>>>>   flags   = 0x80
        >>>>>>   service = "nas"
        >>>>>>   client  = 1
        >>>>>> QMI:
        >>>>>>   flags       = "indication"
        >>>>>>   transaction = 0
        >>>>>>   tlv_length  = 55
        >>>>>>   message     = "Serving System" (0x0024)
        >>>>>> TLV:
        >>>>>>   type       = "MNC PCS Digit Include Status" (0x29)
        >>>>>>   length     = 5
        >>>>>>   value      = D6:00:01:00:00
        >>>>>>   translated = [ mcc = '214' mnc = '1' includes_pcs_digit =
        'no' ]
        >>>>>> TLV:
        >>>>>>   type       = "LTE TAC" (0x25)
        >>>>>>   length     = 2
        >>>>>>   value      = 08:01
        >>>>>>   translated = 264
        >>>>>> TLV:
        >>>>>>   type       = "Detailed Service Status" (0x22)
        >>>>>>   length     = 5
        >>>>>>   value      = 02:03:00:01:00
        >>>>>>   translated = [ status = 'available' capability =
        'cs-ps' hdr_status = 'none' hdr_hybrid = 'yes' forbidden = 'no' ]
        >>>>>> TLV:
        >>>>>>   type       = "CID 3GPP" (0x1e)
        >>>>>>   length     = 4
        >>>>>>   value      = 01:A1:4D:04
        >>>>>>   translated = 72196353
        >>>>>> TLV:
        >>>>>>   type       = "LAC 3GPP" (0x1d)
        >>>>>>   length     = 2
        >>>>>>   value      = FE:FF
        >>>>>>   translated = 65534
        >>>>>> TLV:
        >>>>>>   type       = "Current PLMN" (0x12)
        >>>>>>   length     = 5
        >>>>>>   value      = D6:00:01:00:00
        >>>>>>   translated = [ mcc = '214' mnc = '1' description = '' ]
        >>>>>> TLV:
        >>>>>>   type       = "Data Service Capability" (0x11)
        >>>>>>   length     = 2
        >>>>>>   value      = 01:0B
        >>>>>>   translated = { [0] = 'lte '}
        >>>>>> TLV:
        >>>>>>   type       = "Serving System" (0x01)
        >>>>>>   length     = 6
        >>>>>>   value      = 01:01:01:02:01:08
        >>>>>>   translated = [ registration_state = 'registered'
        cs_attach_state = 'attached' ps_attach_state = 'attached'
        selected_network = '3gpp' radio_interfaces = '{ [0] = 'lte '}' ]
        <debug> [1444895382.427216] Processing 3GPP info...
        <info>  [1444895382.433423] Modem
        /org/freedesktop/ModemManager1/Modem/3: 3GPP Registration state
        changed (idle -> registering)

        [ Here we tried to update LAC/CID ]

        <debug> [1444895382.439668] Modem
        /org/freedesktop/ModemManager1/Modem/3: 3GPP location updated
        (MCC: '214', MNC: '1', Location area code: '0', Cell ID: '0')
        <info>  [1444895382.446788] Modem
        /org/freedesktop/ModemManager1/Modem/3: 3GPP Registration state
        changed (registering -> home)
        <info>  [1444895382.452383] Modem
        /org/freedesktop/ModemManager1/Modem/3: state changed (enabled
        -> registered)

 src/mm-iface-modem-3gpp.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

commit 0579ac076a073f2847c5171c5e72c0db5e3a8e51
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 14 19:24:37 2015 +0200

    mm-broadband-modem: trigger registration checks only after enabling
    all ifaces

    Given that the Location interface requires 3GPP info reported by
    the 3GPP
    interface, we should only trigger registration checks once the
    Location
    interface has been already enabled and ready to be used. If we don't
    do this,
    we'll end up e.g. getting initial MCCMNC values but never reaching
    the Location
    interface properly.

    So, fix this by triggering all registration checks (CDMA and 3GPP)
    only after
    having enabled all interfaces.

 src/mm-broadband-modem.c  | 63
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.c | 27 --------------------
 src/mm-iface-modem-cdma.c | 25 -------------------
 3 files changed, 63 insertions(+), 52 deletions(-)

commit 1cb68c810e9e3f3589bdd121f0c383da1556cdeb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 13 10:41:10 2015 +0200

    broadband-modem-qmi: LAC/CID not given in all serving system
    indications

    LAC/CID may only be given in the serving system indications when
    the values
    change, and therefore we shouldn't reset the values to 0 whenever
    they're not
    reported.

    This seems to happen in newer devices; older devices like the MC7710
    did always
    report the values in the indications.

 src/mm-broadband-modem-qmi.c | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

commit 2c0da9431918ea2aea6f871ab522425b8466b942
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 6 19:44:51 2015 +0200

    build: diagrams and logos are no longer generated during build,
    so don't remove them

 docs/reference/api/Makefile.am        | 6 ------
 docs/reference/libmm-glib/Makefile.am | 5 -----
 2 files changed, 11 deletions(-)

commit b58ff7cdf01d24e6409440d7e278ec6c6fad83b3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 6 19:44:08 2015 +0200

    build: don't add PNGs in content_files, no longer needed

 docs/reference/api/Makefile.am        | 7 +------
 docs/reference/libmm-glib/Makefile.am | 1 -
 2 files changed, 1 insertion(+), 7 deletions(-)

commit b35de2b15f7e3a5b6e58505829cf097d84e51820
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 25 22:41:06 2015 +0200

    modem-helpers-qmi: remove wrong check warning

    This check makes no sense. We're converting from a ModemManager enum
    to a QMI
    enum, nothing else; i.e. 'caps' is *not* the current capabilities
    of the modem.

 src/mm-modem-helpers-qmi.c | 5 -----
 1 file changed, 5 deletions(-)

commit 7cb3b3faad7043374b01c96e875ba10694b40517
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Sep 24 14:54:45 2015 -0500

    broadband-modem-qmi: update access technology from signal info for
    newest QMI commands

 src/mm-broadband-modem-qmi.c | 171
 ++++++++++++++++++++++++-------------------
 1 file changed, 96 insertions(+), 75 deletions(-)

commit a8666bd98f4cdd4c4cad7e40ef48e9980717705f
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Sep 24 14:17:03 2015 -0500

    sierra: fix build error when MBIM and QMI are disabled

    Found by Jean-Christian de Rivaz

 plugins/sierra/mm-plugin-sierra.c | 1 +
 1 file changed, 1 insertion(+)

commit d281b9bddb6440ae00d7e8ec507b27e7a6cfabb3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 24 21:13:26 2015 +0200

    broadband-modem-qmi: fix invalid read

        Breakpoint 2, g_log (log_domain=log_domain@entry=0x7ffff6ad744e
        "GLib", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL,
        format=format@entry=0x7ffff6ae0c1d "%s: assertion '%s' failed")
        at gmessages.c:1075
        1075        {
        (gdb) bt
        #0  0x00007ffff6a71b20 in g_log
        (log_domain=log_domain@entry=0x7ffff6ad744e "GLib",
        log_level=log_level@entry=G_LOG_LEVEL_CRITICAL,
        format=format@entry=0x7ffff6ae0c1d "%s: assertion '%s' failed")
            at gmessages.c:1075
        #1  0x00007ffff6a71be9 in g_return_if_fail_warning
        (log_domain=log_domain@entry=0x7ffff6ad744e "GLib",
        pretty_function=pretty_function@entry=0x7ffff6b316a0
        <__FUNCTION__.5266> "g_variant_new_string",
        expression=expression@entry=0x7ffff6b2f1e8 "g_utf8_validate
        (string, -1, NULL)") at gmessages.c:1088
        #2  0x00007ffff6a9e925 in g_variant_new_string (string=0x7cf850
        "260\366\377\177") at gvariant.c:1230
        #3  0x00007ffff7068cfe in g_dbus_gvalue_to_gvariant
        (gvalue=gvalue@entry=0x7fffffffdec0, type=0x7ffff7b9df91)
        at gdbusutils.c:604
        #4  0x00007ffff7b8f1eb in
        _mm_gdbus_modem3gpp_skeleton_handle_get_property
        (connection=<optimized out>, sender=sender@entry=0x0,
        object_path=object_path@entry=0x7bd340
        "/org/freedesktop/ModemManager1/Modem/1",
        interface_name=interface_name@entry=0x7ffff7b97320
        "org.freedesktop.ModemManager1.Modem.Modem3gpp",
        property_name=property_name@entry=0x7ffff7baa0a4 "OperatorCode",
        error=error@entry=0x0, user_data=0x799ab0)
            at mm-gdbus-modem.c:19680
        #5  0x00007ffff7b8f894 in
        mm_gdbus_modem3gpp_skeleton_dbus_interface_get_properties
        (_skeleton=<optimized out>) at mm-gdbus-modem.c:19759
        #6  0x00007ffff708e791 in g_dbus_interface_skeleton_get_properties
        (interface_=0x799ab0 [MmGdbusModem3gppSkeleton]) at
        gdbusinterfaceskeleton.c:371
        #7  0x00007ffff70937a2 in manager_method_call
        (connection=<optimized out>, sender=sender@entry=0x7fffe0005200
        ":1.270", object_path=object_path@entry=0x7fffe0002fd0
        "/org/freedesktop/ModemManager1",
        interface_name=interface_name@entry=0x7fffe0002dd0
        "org.freedesktop.DBus.ObjectManager",
        method_name=method_name@entry=0x7fffe00059e0 "GetManagedObjects",
        parameters=parameters@entry=0x7c1e70, invocation=0x7fffe0003260
        [GDBusMethodInvocation], user_data=0x713cd0) at
        gdbusobjectmanagerserver.c:845
        #8  0x00007ffff7076aac in call_in_idle_cb
        (user_data=0x7fffe0003260) at gdbusconnection.c:4884
        #9  0x00007ffff6a6a7fb in g_main_context_dispatch
        (context=0x713a00) at gmain.c:3111
        #10 0x00007ffff6a6a7fb in g_main_context_dispatch
        (context=context@entry=0x713a00) at gmain.c:3710
        #11 0x00007ffff6a6ab98 in g_main_context_iterate
        (context=0x713a00, block=block@entry=1, dispatch=dispatch@entry=1,
        self=<optimized out>) at gmain.c:3781
        #12 0x00007ffff6a6aec2 in g_main_loop_run (loop=0x71bf50)
        at gmain.c:3975
        #13 0x0000000000430e57 in main (argc=<optimized out>,
        argv=<optimized out>) at main.c:150

 src/mm-broadband-modem-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 51447bd06bc8e06667843a3921a95a299ce2333d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Sep 24 19:58:02 2015 +0200

    libmm-glib: don't create a SIM object if empty path (/) given

    Instead, we'll return NULL and an error set.

 libmm-glib/mm-modem.c | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

commit b8245b55025e93ef09dfb9a213c7b8933e93e89d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Sep 23 21:24:04 2015 +0200

    broadband-modem-qmi: don't warn on invalid ESN/MEIDs reported

    The MC7304, which is a 3GPP only device, reports a ESN with value 0 in
    "DMS Get IDs":

        ModemManager[10121]: [/dev/cdc-wdm0] Received message
        (translated)...
        >>>>>> QMUX:
        >>>>>>   length  = 45
        >>>>>>   flags   = 0x80
        >>>>>>   service = "dms"
        >>>>>>   client  = 2
        >>>>>> QMI:
        >>>>>>   flags       = "response"
        >>>>>>   transaction = 6
        >>>>>>   tlv_length  = 33
        >>>>>>   message     = "Get IDs" (0x0025)
        >>>>>> TLV:
        >>>>>>   type       = "Result" (0x02)
        >>>>>>   length     = 4
        >>>>>>   value      = 00:00:00:00
        >>>>>>   translated = SUCCESS
        >>>>>> TLV:
        >>>>>>   type   = 0x13
        >>>>>>   length = 1
        >>>>>>   value  = 42
        >>>>>> TLV:
        >>>>>>   type       = "Esn" (0x10)
        >>>>>>   length     = 1
        >>>>>>   value      = 30
        >>>>>>   translated = 0
        >>>>>> TLV:
        >>>>>>   type       = "Imei" (0x11)
        >>>>>>   length     = 15
        >>>>>>   value      = <hidden>
        >>>>>>   translated = <hidden>

 src/mm-broadband-modem-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 585320e0b4cf4e4e7ec9616c4d5bac43e4781000
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 22 09:34:22 2015 +0200

    tests: plug memleak in +CMGR response parser

 src/tests/test-modem-helpers.c | 2 ++
 1 file changed, 2 insertions(+)

commit eaf65ed98dd7e04b985be6b4241e9adab66750aa
Author: Nick Stevens <Nick.Stevens@digi.com>
Date:   Thu Sep 17 21:31:28 2015 +0000

    core: process SMS +CGMR response with regex

    Variability in the response style from certain modems causes the
    parsing
    of the +CGMR response to fail. For example, the Telit HE910 inserts an
    empty string ("") in the second field of the response, causing the
    sscanf implementation to fail.

    This patch converts the parsing of the CGMR response to a regex that
    allows for more flexibility and robustness, and adds unit tests around
    the parsing call.

    Signed-off-by: Nick Stevens <Nick.Stevens@digi.com>

 src/mm-broadband-modem.c       | 17 ++++------
 src/mm-modem-helpers.c         | 73
 +++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-helpers.h         |  5 +++
 src/mm-sms-part-3gpp.h         |  2 --
 src/tests/test-modem-helpers.c | 64 ++++++++++++++++++++++++++++++++++++
 5 files changed, 148 insertions(+), 13 deletions(-)

commit 0ca68657fbcd5bace3d303a0babe2da292784385
Author: Krzysztof Kotlenga <k.kotlenga@sims.pl>
Date:   Wed Sep 16 15:46:12 2015 +0200

    libmm-glib, simple: add missing introspection annotations to
    disconnect()

 libmm-glib/mm-modem-simple.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 8df7f83278e88402ce463c241e72de42b30103f0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 15 16:34:50 2015 +0200

    broadband-modem: minor coding style fixes

 src/mm-broadband-modem.c | 36 +++++++++++++++++++++++-------------
 1 file changed, 23 insertions(+), 13 deletions(-)

commit 7f47f136737007876df190767331b28e3ec32764
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Sep 15 16:33:48 2015 +0200

    broadband-modem: don't issue failure setting up messaging in secondary
    port as a warning

 src/mm-broadband-modem.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit 48cd903189c2bc664da0f26ba7e6845e1950091e
Author: Nick Stevens <Nick.Stevens@digi.com>
Date:   Mon Sep 14 18:06:48 2015 +0000

    core: enable unsolicited messages on secondary

    Previously the enable unsolicited messages command (+CNMI) was only
    being sent on the primary. This patch adds support for sending the
    enable on the secondary as well. If the secondary doesn't exist, or if
    setting the enable causes an error, a warning is logged but no
    error is
    propagated up.

    This change is needed for proper SMS operation on the Telit HE910,
    which
    requires that +CNMI be sent to both primary and secondary. Since a
    failure to send the +CNMI command on the secondary is a non-fatal
    error,
    it is unlikely that this will cause issues with other modems.

    Signed-off-by: Nick Stevens <Nick.Stevens@digi.com>

 src/mm-broadband-modem.c | 91
 +++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 78 insertions(+), 13 deletions(-)

commit 2034918d7b015f1176ec135cc023d4d161db56f7
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Aug 20 11:43:39 2015 -0500

    broadband-modem-mbim: disable CDMA capabilities until we actually
    support MBIM+CDMA

    CDMA-capable modems (like a Sierra EM7355) will fail to even enable,
    because the internal CDMA code tries to initialize using AT
    commands and
    that fails because many MBIM modems don't have an AT port.  We should
    figure out how to support minimal MBIM + CDMA using MBIM instead of
    AT-anything.

    [mm-broadband-modem.c:9000] enabling_step(): Modem has CDMA
    capabilities, enabling the Modem CDMA interface...
    [mm-iface-modem-cdma.c:946]
    mm_iface_modem_cdma_run_registration_checks(): Running registration
    checks (CDMA1x: 'yes', EV-DO: 'yes')
    [mm-broadband-modem.c:7397]
    setup_registration_checks_context_complete_and_free(): Will skip
    all QCDM-based registration checks
    [mm-broadband-modem.c:7418]
    setup_registration_checks_context_complete_and_free(): Will skip
    generic detailed registration check, we don't have Sprint commands
    [mm-iface-modem-cdma.c:768] registration_check_step(): Starting
    QCDM-based registration checks
    [mm-iface-modem-cdma.c:780] registration_check_step():   Skipping
    all QCDM-based checks and falling back to AT-based checks
    [mm-iface-modem-cdma.c:823] registration_check_step(): Starting
    AT-based registration checks
    [mm-iface-modem-cdma.c:641] get_service_status_ready(): Could not
    get service status: No AT port available to run command
    [mm-iface-modem.c:1392] __iface_modem_update_state_internal(): Modem
    /org/freedesktop/ModemManager1/Modem/0: state changed (enabling ->
    disabled)

 src/mm-broadband-modem-mbim.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 0e7fc1dff9b3b8f72f6537f7f2b68e5c94a4c751
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Aug 25 18:53:30 2015 +0200

    blacklist: include MediaTek preloader

    https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1473246

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 707a2ef417b138540d5cc8d1f5c8fe1479845fb0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 2 12:05:51 2015 +0200

    libmm-glib,docs: fix missing documentations

 libmm-glib/mm-bearer-properties.c | 8 ++++----
 libmm-glib/mm-modem-messaging.c   | 2 +-
 libmm-glib/mm-modem.c             | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

commit 7a7fddc931337ecfceb2be5497b3feed9c4c6fcc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 2 11:50:51 2015 +0200

    libmm-glib,docs: update types

       # Extra options to supply to gtkdoc-scan
       SCAN_OPTIONS = --rebuild-types

 docs/reference/libmm-glib/libmm-glib.types | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

commit 4043edfd173e1807b95d98dd54bad4179dce9c65
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 2 11:40:05 2015 +0200

    libmm-glib,docs: avoid already defined id

      DOC   Building HTML
    ../libmm-glib-docs.xml:6: element indexdiv: validity error : ID
    api-index-full already defined
      DOC   Fixing cross-references

 docs/reference/libmm-glib/libmm-glib-docs.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c4c3afa865b3bfc6319cf1a6649144b63f2a81fd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 2 11:31:41 2015 +0200

    libmm-glib,call: add missing 'dtmf' variable description

 libmm-glib/mm-call.c | 2 ++
 1 file changed, 2 insertions(+)

commit 6fbed014dbe6d963a7b5f2a56368430bdd952be7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 2 11:28:39 2015 +0200

    docs,libmm-glib: add missing voice/call documentation

 docs/reference/libmm-glib/libmm-glib-docs.xml     |  17 ++
 docs/reference/libmm-glib/libmm-glib-sections.txt | 277
 ++++++++++++++++++++++
 2 files changed, 294 insertions(+)

commit d0b0c3c3e575de1259a5b7f58a95737f54f91208
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 2 11:06:01 2015 +0200

    api,call: fix Hangup() description

    There's no MM_CALL_DIRECTION_TERMINATED enum; plus, anyway, hangup()
    should be
    allowed regardless the direction.

 introspection/org.freedesktop.ModemManager1.Call.xml | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit fcf54bd8b27e4b19837b496019a145011b03f550
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 2 10:49:14 2015 +0200

    huawei: plug memleak

 plugins/huawei/mm-broadband-modem-huawei.c | 1 +
 1 file changed, 1 insertion(+)

commit d1dab38a0689918a772dea53d71623df5e7e5bc0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 2 10:46:37 2015 +0200

    api,call: minor documentation fix

 introspection/org.freedesktop.ModemManager1.Call.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c55fcab3b3d3b9386e40b1578df588232edb945b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 2 10:45:17 2015 +0200

    mmcli,call: minor alignment and message fixes

 cli/mmcli-call.c | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

commit f6779d60fef803cef3e508249c29b2092cfc70c3
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Thu Jul 23 18:23:26 2015 +0200

    huawei,voice: ignore undocumented ^CSCHANNELINFO unsolicited command

    This command is sent by Huawei ME909s-120 with firmware
    23.613.61.00.00

 plugins/huawei/mm-broadband-modem-huawei.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 74325b547add635b9e3916091d01e0b506bc4eb2
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Thu Jun 4 09:24:36 2015 +0200

    core,libmm-glib,cli,voice: Replaced 'SendTone' method and
    'ToneReceived' signal with 'SendDtmf' and 'DtmfReceived'

 cli/mmcli-call.c                                   | 38 ++++-----
 .../org.freedesktop.ModemManager1.Call.xml         | 16 ++--
 libmm-glib/mm-call.c                               | 40 ++++-----
 libmm-glib/mm-call.h                               | 10 +--
 src/mm-base-call.c                                 | 98
 +++++++++++-----------
 src/mm-base-call.h                                 |  8 +-
 src/mm-call-list.c                                 |  4 +-
 src/mm-call-list.h                                 |  2 +-
 src/mm-iface-modem-voice.c                         |  4 +-
 src/mm-iface-modem-voice.h                         |  2 +-
 10 files changed, 111 insertions(+), 111 deletions(-)

commit 2ac5d620c458ddc8771ae6c8789608b87d58f56b
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Wed Jun 3 09:37:39 2015 +0200

    libmm-glib,cli: Replaced 'list call' with 'list calls'

 cli/mmcli-common.c          | 12 +++++-----
 cli/mmcli-modem-voice.c     | 18 +++++++-------
 libmm-glib/mm-modem-voice.c | 58
 ++++++++++++++++++++++-----------------------
 libmm-glib/mm-modem-voice.h |  6 ++---
 4 files changed, 47 insertions(+), 47 deletions(-)

commit 9f3801df3f1ee8f5b8d9dfbf7e7a1968fdf85f0b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 23 18:17:12 2015 +0200

    core,voice: remove explicit "NO CARRIER" response matching

    This response is already managed by the generic AT serial port
    and translates
    it into a proper error. This change also avoids the Call.Start()
    call to report
    a timeout in the serial port, instead we get a proper no-carrier
    error.

    Before:

        $ sudo mmcli -m 0 --voice-create-call="number=12345678"
        Successfully created new call:
                /org/freedesktop/ModemManager1/Call/1 outgoing (unknown)
        $ sudo mmcli -o 1 --start
        error: couldn't start the call:
        'GDBus.Error:org.freedesktop.ModemManager1.Error.Serial.ResponseTimeout:
        Serial command timed out'

    After:

        $ sudo mmcli -m 0 --voice-create-call="number=12345678"
        Successfully created new call:
                /org/freedesktop/ModemManager1/Call/1 outgoing (unknown)
        $ sudo mmcli -o 1 --start
        error: couldn't start the call:
        'GDBus.Error:org.freedesktop.ModemManager1.Error.Connection.NoCarrier:
        No carrier'

 src/mm-broadband-modem.c | 17 -----------------
 src/mm-modem-helpers.c   | 12 ------------
 src/mm-modem-helpers.h   |  1 -
 3 files changed, 30 deletions(-)

commit b600e6c9ce1552d95652e1e9623a1880941036d9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 23 18:06:20 2015 +0200

    mmcli,voice: align values of printed Call parameters

 cli/mmcli-call.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d5bc19f7db1bbbe8c54c2dc7d31bbc7a68c28d66
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 23 18:03:49 2015 +0200

    policy: fix minor typo

 data/org.freedesktop.ModemManager1.policy.in.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 69585b1374877a97c7dfb15d366cab284cc8f0d2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 23 18:01:35 2015 +0200

    polkit: added Voice policy rule

 data/org.freedesktop.ModemManager1.conf.polkit  | 35
 +++++++++++++++++++++++++
 data/org.freedesktop.ModemManager1.policy.in.in |  9 +++++++
 2 files changed, 44 insertions(+)

commit 6ca7c49d802f3e3c87dc5f2532e6d2064a3e6bf6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 23 17:54:44 2015 +0200

    docs,api: add missing links to the new Voice interface and Call object

 docs/reference/api/ModemManager-dbus-reference.xml | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 394bf91032e7544d323fe861ac13113e9bcfa26d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 23 17:49:52 2015 +0200

    mmcli,voice: fix minor typo

 cli/mmcli-modem-voice.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a6adf041022ce54e3114c61ec387383a56838707
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 23 17:36:56 2015 +0200

    docs,voice: add missing voice related enum values

 docs/reference/api/ModemManager-sections.txt | 3 +++
 1 file changed, 3 insertions(+)

commit e75d888b512c31847c757e0f62df5241602cb1fe
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 23 17:31:19 2015 +0200

    core,voice: minor coding style fixes

 src/mm-base-call.c         | 148
 ++++++++++++++++++++----------------------
 src/mm-base-call.h         |  77 +++++++++++-----------
 src/mm-broadband-modem.c   |  44 ++++++-------
 src/mm-iface-modem-voice.c | 156
 +++++++++++++++++++++++----------------------
 src/mm-modem-helpers.h     |   8 +--
 5 files changed, 216 insertions(+), 217 deletions(-)

commit 61562fbe8b48e747442f5302cc434f8bfb63ba2a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 23 17:31:06 2015 +0200

    huawei,voice: minor coding style fixes

 plugins/huawei/mm-broadband-modem-huawei.c | 104
 +++++++++++++++--------------
 plugins/huawei/mm-call-huawei.c            |  42 ++++++------
 plugins/huawei/mm-call-huawei.h            |   2 +-
 3 files changed, 77 insertions(+), 71 deletions(-)

commit d00fe0d628eb53047963330da1b7c148a4c8209f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 23 17:30:57 2015 +0200

    libmm-glib,voice: minor coding style fixes

 libmm-glib/mm-call-properties.c |  32 +++++------
 libmm-glib/mm-call-properties.h |  32 +++++------
 libmm-glib/mm-call.c            |  76 ++++++++++++-------------
 libmm-glib/mm-call.h            |  98 ++++++++++++++++----------------
 libmm-glib/mm-modem-voice.c     | 121
 ++++++++++++++++++----------------------
 libmm-glib/mm-modem-voice.h     |  50 ++++++++---------
 6 files changed, 197 insertions(+), 212 deletions(-)

commit ca88d6333fecc5a06f433c9e9135c70fe29abe95
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 23 17:30:42 2015 +0200

    api,voice: minor coding style fixes

 include/ModemManager-enums.h                            |  2 +-
 introspection/org.freedesktop.ModemManager1.Call.xml    | 17
 ++++++++++++-----
 .../org.freedesktop.ModemManager1.Modem.Voice.xml       |  5 +++--
 3 files changed, 16 insertions(+), 8 deletions(-)

commit c0e05dbd43bf6b6752ff69b1c27071f88a123923
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat May 23 17:30:16 2015 +0200

    cli,voice: minor coding style fixes

 cli/mmcli-call.c        | 62
 ++++++++++++++++++++++++-------------------------
 cli/mmcli-common.c      | 45 +++++++++++++++++------------------
 cli/mmcli-common.h      | 20 ++++++++--------
 cli/mmcli-modem-voice.c | 32 ++++++++++++-------------
 4 files changed, 80 insertions(+), 79 deletions(-)

commit f67cc379563928ec09e859301d89d7408befcd1c
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Mon May 11 16:24:00 2015 +0200

    iface-modem-voice: cleaned error debug messages

 src/mm-iface-modem-voice.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 8242a991dc59296ca94109f4592ab86e34b44ece
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Mon May 11 11:24:54 2015 +0200

    huawei: fixed status_change reason on new outgoing call

 plugins/huawei/mm-call-huawei.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 915e0e74222573f30cec73ba34e32fe5f1dbced1
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Fri May 8 13:55:37 2015 +0200

    huawei: signal incoming DTMF to DBus

 plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 4a13bc8fec66efc6f74055c4778e569cf830ac5b
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Fri May 8 13:54:40 2015 +0200

    mmcli: added --send-tone option

 cli/mmcli-call.c | 59
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 58 insertions(+), 1 deletion(-)

commit 9874f10e1f27509219b6fe6b0a5374d04d1a3e3b
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Mon May 11 13:40:46 2015 +0200

    base-call,iface-modem-voice:: handle DTMF

 src/mm-base-call.c         | 194
 ++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-base-call.h         |  20 +++--
 src/mm-call-list.c         |  23 ++++++
 src/mm-call-list.h         |   2 +
 src/mm-iface-modem-voice.c |  18 ++++-
 src/mm-iface-modem-voice.h |   2 +
 6 files changed, 252 insertions(+), 7 deletions(-)

commit 8edead919343809d7c4bd7732a15c1a6c3912cba
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Fri May 8 13:51:17 2015 +0200

    api,voice: added DTMF interface specification

 .../org.freedesktop.ModemManager1.Call.xml         | 25 +++++-
 libmm-glib/mm-call.c                               | 88
 +++++++++++++++++++++-
 libmm-glib/mm-call.h                               | 17 +++++
 3 files changed, 126 insertions(+), 4 deletions(-)

commit 40fae5fcbae32a37ae974245008359435e70a91f
Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
Date:   Thu May 7 17:16:29 2015 +0200

    base-call: refactoring of error handling when call starts

 plugins/huawei/mm-call-huawei.c | 20 ++++++++++++++++----
 src/mm-base-call.c              | 24 +++++++++++++++++-------
 2 files changed, 33 insertions(+), 11 deletions(-)

commit bf416045dfda22f91e066640d1202e8241a21c0a
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Thu May 7 12:39:43 2015 +0200

    huawei: acquire incoming DTMF on active call

 plugins/huawei/mm-broadband-modem-huawei.c | 189
 +++++++++++++++++++++++++++++
 src/mm-broadband-modem.c                   |  42 -------
 src/mm-modem-helpers.c                     |  12 --
 src/mm-modem-helpers.h                     |   1 -
 4 files changed, 189 insertions(+), 55 deletions(-)

commit be09f500bd2ad1c22040c91e5cc6dbad0dcb6745
Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
Date:   Thu May 7 09:43:53 2015 +0200

    huawei: added proprietary Huawei call handling

 plugins/Makefile.am                        |   2 +
 plugins/huawei/mm-broadband-modem-huawei.c |   7 ++
 plugins/huawei/mm-call-huawei.c            | 143
 +++++++++++++++++++++++++++++
 plugins/huawei/mm-call-huawei.h            |  46 ++++++++++
 4 files changed, 198 insertions(+)

commit 3b5e43324180c0f46f0e891f94ae41a9ea241c9b
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Wed May 6 16:22:03 2015 +0200

    mmcli: set call-start timeout to 2 minutes

 cli/mmcli-call.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 55ae2c7f2f5729346e28425f84a28b810b33efed
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Wed May 6 16:21:17 2015 +0200

    huawei: handle voice call state changes

 plugins/huawei/mm-broadband-modem-huawei.c | 15 +++-----
 src/mm-call-list.c                         | 54
 ++++++++++++++++++++++++--
 src/mm-call-list.h                         |  2 +
 src/mm-iface-modem-voice.c                 | 62
 +++++++++++++++++++++++++-----
 src/mm-iface-modem-voice.h                 |  2 +
 5 files changed, 113 insertions(+), 22 deletions(-)

commit 5a281dbd34eaebef88299d60d014fa2e82eb6328
Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
Date:   Wed May 6 13:29:17 2015 +0200

    base-call: created an unique function to switch call's state and
    reason

 src/mm-base-call.c | 83
 ++++++++++++++++++++++++++++--------------------------
 src/mm-base-call.h |  1 +
 2 files changed, 44 insertions(+), 40 deletions(-)

commit 65a64c924860eb41fa10c1eba5baf309f0ea2447
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Wed May 6 12:36:54 2015 +0200

    core: set number of incoming call

 src/mm-broadband-modem.c | 2 +-
 src/mm-modem-helpers.c   | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

commit ae7292203105de918b979c88dbceb169ae11913d
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Wed May 6 12:09:57 2015 +0200

    huawei: handle custom voice unsolicited events

 plugins/huawei/mm-broadband-modem-huawei.c | 257
 ++++++++++++++++++++++++++++-
 1 file changed, 256 insertions(+), 1 deletion(-)

commit 94c83710760ca2998af0593644172fad0bc02423
Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
Date:   Wed May 6 10:00:20 2015 +0200

    base-call: fixed bug when hangup call.

    Ok, busy and no carrier messages are handled by serial-parser.

 src/mm-base-call.c | 87
 +++++++++++++++++++++---------------------------------
 1 file changed, 34 insertions(+), 53 deletions(-)

commit 6d85146bba3edceeaf9f23e0e7a5281fda527d59
Author: Marco Bascetta <marco.bascetta@sadel.it>
Date:   Tue May 5 18:00:09 2015 +0200

    core: handle incoming calls (RING/CRING, CLIP, NO CARRIER).

 src/mm-broadband-modem.c   |  59 ++++++++++++++++++++++---
 src/mm-call-list.c         |  59 +++++++++++++++++++++++++
 src/mm-call-list.h         |   3 ++
 src/mm-iface-modem-voice.c | 104
 +++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-voice.h |   8 +++-
 src/mm-modem-helpers.c     |  26 ++++++++++++
 src/mm-modem-helpers.h     |   8 ++--
 7 files changed, 258 insertions(+), 9 deletions(-)

commit c53bc10092563eb361b4980afb00080009067661
Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
Date:   Mon May 4 16:03:34 2015 +0200

    base-call: added deletion of a specified call

 src/mm-base-call.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

commit ecbd146d5aca225c4873f08cc01e069cc284d38e
Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
Date:   Mon May 4 14:51:46 2015 +0200

    fixes: added voice support in libmm-glib MMManager, also fixed wrong
    number of parameters in mm-call-list class init

 libmm-glib/mm-manager.c | 1 +
 src/mm-call-list.c      | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

commit 5c9e2488bff45dca2a762d666bb883a90870530c
Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
Date:   Mon May 4 11:14:09 2015 +0200

    build: added voice call include in libmm-glib and modified Makefile.am

 libmm-glib/libmm-glib.h | 2 ++
 src/Makefile.am         | 6 ++++++
 src/mm-auth-provider.h  | 1 +
 3 files changed, 9 insertions(+)

commit 5c446c3f4364ad2bf4fc2a581e664ba90d3474ba
Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
Date:   Mon May 4 11:13:19 2015 +0200

    broadband-modem: added voice call support

 src/mm-broadband-modem.c | 370
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-broadband-modem.h |   1 +
 src/mm-modem-helpers.c   |  39 +++++
 src/mm-modem-helpers.h   |   7 +
 4 files changed, 417 insertions(+)

commit 886e2963df8951fa163c27527352ebd10321d3e3
Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
Date:   Mon May 4 11:12:18 2015 +0200

    core: implemented MMIfaceModemVoice interface

 src/mm-iface-modem-voice.c | 959
 +++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-voice.h | 127 ++++++
 2 files changed, 1086 insertions(+)

commit ec5c539f553fdb6d1474aa9216b6944aa61e5bb0
Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
Date:   Mon May 4 11:11:43 2015 +0200

    core: implemented new MMBaseCall object

 src/mm-base-call.c | 1030
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-base-call.h |  102 ++++++
 src/mm-call-list.c |  311 ++++++++++++++++
 src/mm-call-list.h |   75 ++++
 4 files changed, 1518 insertions(+)

commit c3bec1537b96b3b3071c2de787126ba11479ed88
Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
Date:   Mon Apr 27 11:41:59 2015 +0200

    mmcli: added Modem.Voice and Call support

 cli/Makefile.am         |   4 +-
 cli/mmcli-call.c        | 357 +++++++++++++++++++++++++++++++++++++++
 cli/mmcli-common.c      | 281 +++++++++++++++++++++++++++++++
 cli/mmcli-common.h      |  15 ++
 cli/mmcli-modem-voice.c | 438
 ++++++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli.c             |  22 +++
 cli/mmcli.h             |  16 ++
 7 files changed, 1132 insertions(+), 1 deletion(-)

commit 0bf4ad6b66b1ea7626df28dc2417686b9e2d03f7
Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
Date:   Mon Apr 27 11:38:57 2015 +0200

    libmm-glib: added support for Modem.Voice and Call interfaces

 build-aux/header-generator.xsl   |   3 +
 libmm-glib/Makefile.am           |   9 +
 libmm-glib/generated/Makefile.am |  20 ++
 libmm-glib/libmm-glib.h          |   1 +
 libmm-glib/mm-call-properties.c  | 478 +++++++++++++++++++++++++++++++
 libmm-glib/mm-call-properties.h  |  94 ++++++
 libmm-glib/mm-call.c             | 422 +++++++++++++++++++++++++++
 libmm-glib/mm-call.h             | 118 ++++++++
 libmm-glib/mm-common-helpers.c   |  66 +++++
 libmm-glib/mm-common-helpers.h   |   8 +
 libmm-glib/mm-modem-voice.c      | 599
 +++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-modem-voice.h      | 111 ++++++++
 libmm-glib/mm-object.c           |  36 +++
 libmm-glib/mm-object.h           |   3 +
 14 files changed, 1968 insertions(+)

commit 0feb4acef4d47bc3c22bb1b8f121e5959fb55901
Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
Date:   Mon Apr 27 11:37:18 2015 +0200

    api: added Modem.Voice and Call interfaces for voice call handling

 include/ModemManager-enums.h                       | 56 ++++++++++++++
 introspection/all.xml                              |  2 +
 .../org.freedesktop.ModemManager1.Call.xml         | 88
 ++++++++++++++++++++++
 .../org.freedesktop.ModemManager1.Modem.Voice.xml  | 88
 ++++++++++++++++++++++
 4 files changed, 234 insertions(+)

commit 0337781ba746fb869198cff9705e521a2722b26d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Aug 2 09:03:06 2015 +0200

    base-manager: plug memleak

    Don't g_strdup() the physdev string to store it in the hash table;
    instead store
    the original string right away as it is already created with
    g_strdup_printf().

    Reported by: Yunlian Jiang <yunlian@chromium.org>

    https://code.google.com/p/chromium/issues/detail?id=515929

 src/mm-base-manager.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit 9b051b14ed33b5eca2e7d1b384d6a9f60d08e482
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jul 20 12:17:12 2015 -0500

    iface-modem: don't check the cache when asking for required unlocks

    When passing known_lock=UNKNOWN to mm_iface_modem_update_lock_info()
    we actually do want to ask the modem itself for locks instead of
    checking the cache.  For example, when an unknown error is returned
    after performing PIN/PUK operations, the cache value may well be
    NONE if that was the prior lock state, and that bypasses the modem
    which might now be locked.  Thus the state gets messed up.

    Reproducer is to send 'ChangePin' with the wrong "old" PIN 3 times,
    then send a wrong PUK.  No error was returned from mmcli and
    the modem's lock state was shown as 'none'.

 src/mm-iface-modem.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

commit 99da30059f136600e4bf5ac2faec8b42def17d65
Author: David Herrmann <dh.herrmann@gmail.com>
Date:   Wed Jul 15 13:49:49 2015 +0200

    policy: don't prevent us from receiving signals

    By using:
        <deny send_destination="org.freedesktop.ModemManager1"/>

    ..we prevent anyone on the system from sending us signals, even if we
    subscribed to them. This is clearly not what this line intended. More
    importantly, we silently break mm-auth-provider-polkit, as we never
    receiver 'changed' signals via PolkitAuthority. Right now, this is not
    required by the implementation of PolkitAuthority, but ModemManager
    should not place restrictions on the implementation of external
    libraries.

    So make sure we only prevent Method-Calls to be sent to us. Any other
    message that we didn't expect is automatically discarded by gdbus,
    anyway.

    Without this change, debugging dbus policies constantly shows messages
    that Polkit couldn't send the 'changed' signal to ModemManager. This
    is
    suppressed in non-debugging mode. But it would make debugging a lot
    easier, if we'd avoid force-dropping those events and not clutter the
    debug-log.

 data/org.freedesktop.ModemManager1.conf.polkit | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit ad2c2ad14cbf894fa755a56536fa72b0db83e3d3
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 2 10:30:58 2015 -0500

    blacklist: ignore POSNET POLSKA S.A. devices

 src/77-mm-usb-device-blacklist.rules | 4 ++++
 1 file changed, 4 insertions(+)

commit e09463dfb28e2024767184cb7f3489618a4839ac
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 19 12:20:03 2015 -0700

    blacklist: ignore Palm M5xx devices

    https://bugs.freedesktop.org/show_bug.cgi?id=91032

 src/77-mm-usb-device-blacklist.rules | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 1f270c09d03b6c2c4c57fb9b8ca539243035992b
Author: Marc Murphy <marc.murphy@marcm.co.uk>
Date:   Thu Jun 18 08:28:28 2015 +0100

    huawei: update to correct secondary port request and regex masking
    for ^POSITION

 plugins/huawei/mm-broadband-modem-huawei.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

commit 0ac7feb79720715a4a4f91e5e3f6c0775a092e0e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 5 17:42:18 2015 +0200

    broadband-modem-qmi: retry unlock checks on 'UimUninitialized' errors

    The Pantech UML290 takes a horribly great time to initialize the
    SIM, and
    therefore we may even be losing the 3GPP capabilities as the SIM
    is not
    detected during the initial checks:

        load_unlock_required_ready(): Couldn't check if unlock required:
        'SIM failure: QMI protocol error (37): 'UimUninitialized''
        current_capabilities_internal_load_unlock_required_ready():
        Multimode device without SIM, no 3GPP capabilities

    To avoid this, let 'UimUninitialized' be a retriable error.

 src/mm-broadband-modem-qmi.c | 17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)

commit d5fb4284e13b534b57660282cf80c33bf981929e
Author: David McCullough <david.mccullough@accelecon.com>
Date:   Thu May 28 11:23:45 2015 +1000

    qmi: fix '0' prefixed IMEI/ESN/MEID on QMI modems

    QMI modems are incorrectly ignoring IMEI/ESN/MEID numbers that start
    with a
    '0'.  Fix this up.  Seen on an AT&T Beam (340u)

    Signed-off-by: David McCullough <david.mccullough@accelecon.com>

 src/mm-broadband-modem-qmi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 4fcae938fc93415857fd1eb6dfdbcac34848ec5e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 4 09:27:33 2015 +0200

    build: request to generate the enum types support files before
    building

    Instead of providing explicit dependency rules to generate the
    enum types
    support files before they're first used, just pre-generate them
    before building
    anything. Maintaining the explicit dependency rules is not really
    worth it.

 src/Makefile.am | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit d5adce08f5c17d25da782e611b377a8e1a815638
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 17 09:57:57 2015 +0200

    build: only compile dbus tests if GIO >= 2.34 is available

 configure.ac        | 4 ++++
 plugins/Makefile.am | 7 +++++++
 2 files changed, 11 insertions(+)

commit cc5f7311027b4062e2566d3b03e6dad65daf3b6e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 10 12:45:33 2015 +0200

    blacklist: ignore all devices from Access Interface Solutions

 src/77-mm-usb-device-blacklist.rules | 4 ++++
 1 file changed, 4 insertions(+)

commit f60b0551429bbb767d0154f9c1335146641d340a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 10 08:23:28 2015 +0200

    mbm: enable GPS port for HS2350

    https://bugs.freedesktop.org/show_bug.cgi?id=85008

    As reported by Dan Williams <dcbw@redhat.com>.

 plugins/mbm/77-mm-ericsson-mbm.rules | 1 +
 1 file changed, 1 insertion(+)

commit 5fb8e87abd82d4eb463fdb601ca33ead153f5fc2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 10 08:22:24 2015 +0200

    mbm: enable GPS port for H5321gw

    https://bugs.freedesktop.org/show_bug.cgi?id=85008

    As reported by Sven Arvidsson <sa@whiz.se>.

 plugins/mbm/77-mm-ericsson-mbm.rules | 2 ++
 1 file changed, 2 insertions(+)

commit 534eea345dd8dda96a88559b621ab1a55028cee8
Author: Fabrice Bellet <fabrice@bellet.info>
Date:   Wed Apr 8 16:48:29 2015 +0200

    mbm: add GPS location gathering support

    The udev rules file is updated according to the list of devices
    supporting gps features provided by the udev rules file from the
    mbm-gpsd project.

    https://bugs.freedesktop.org/show_bug.cgi?id=85008

 plugins/mbm/77-mm-ericsson-mbm.rules |  16 ++
 plugins/mbm/mm-broadband-modem-mbm.c | 346
 ++++++++++++++++++++++++++++++++++-
 plugins/mbm/mm-plugin-mbm.c          |  31 ++++
 3 files changed, 392 insertions(+), 1 deletion(-)

commit 9293fd2bca31a09fe79334d20aa33fa91eecd044
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 9 11:38:39 2015 -0500

    base-manager: quiet message about unsupported ports

    This message gets printed for all netdevs and ttys, including most
    machines normal ethernet/Wi-Fi interfaces.  It seems a bit less
    critical
    than 'warning' level would indicate.

    ModemManager[32097]: <warn>  Couldn't find support for device at
    '/sys/devices/pci0000:00/0000:00:19.0': not supported by any plugin
    ModemManager[32097]: <warn>  Couldn't find support for device at
    '/sys/devices/pci0000:00/0000:00:1c.1/0000:02:00.0': not supported
    by any plugin

 src/mm-base-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8009f16ecb4408024e1d793d7aac5d08a31e2399
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Mar 28 19:03:19 2015 +0100

    huawei: allow responses like ^NDISSTATQry (e.g. Huawei E353)

 plugins/huawei/mm-modem-helpers-huawei.c         | 91
 ++++++++++++++++--------
 plugins/huawei/tests/test-modem-helpers-huawei.c |  4 ++
 2 files changed, 66 insertions(+), 29 deletions(-)

commit 977cf658a6bf92a764632f69e99fe39a39e0ee4d
Author: Yunlian Jiang <yunlian@google.com>
Date:   Fri Mar 27 20:30:18 2015 +0100

    tests: fix memory leaks

 plugins/huawei/tests/test-modem-helpers-huawei.c | 14 +++++++++-----
 plugins/icera/tests/test-modem-helpers-icera.c   |  2 ++
 plugins/mbm/tests/test-modem-helpers-mbm.c       |  2 ++
 3 files changed, 13 insertions(+), 5 deletions(-)

commit 948be2343a592d35403a8e7319fbe21952e56256
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 27 19:06:43 2015 +0100

    telit: minor coding style fixes

 plugins/telit/mm-plugin-telit.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

commit 12318970a7df2e0dd83b8284762e4cf7294fe0d3
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Tue Mar 24 14:17:34 2015 +0100

    telit: changing udev rules for HE910/UE910/UL865

    Changing udev rules for HE910/UE910/UL865 in order to use dynamic port
    identification through #PORTCFG (tag ID_MM_TELIT_PORTS_TAGGED)

 plugins/telit/77-mm-telit-port-types.rules | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

commit ad6d15b535e80392ee04581f5d638cb73367170c
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Tue Mar 24 14:17:33 2015 +0100

    telit: implementing dynamic port identification with #PORTCFG

    Adding dynamic port identification for Telit modems that support
    AT#PORTCFG
    command. Port configurations for HE910/UE910/UL865 taken from document
    "HE910/UE910/UL865 Families Ports Arrangements User Guide"

 plugins/telit/mm-plugin-telit.c | 260
 +++++++++++++++++++++++++++++++++++++++-
 1 file changed, 257 insertions(+), 3 deletions(-)

commit 0e97dc3a7aaf5c2d1291eb5f2baf216e2ad4d9a5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 25 08:38:42 2015 +0100

    zte: add support for ZTE MF700

    Fix suggested by Pablo Nazar <pablo.e.nazar@gmail.com>

    https://bugs.freedesktop.org/show_bug.cgi?id=89721

 plugins/zte/77-mm-zte-port-types.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 3ad64c8f5aed43697bf289fce277bde48f208051
Author: Jason Simmons <jsimmons@chromium.org>
Date:   Fri Mar 13 15:30:58 2015 -0700

    broadband-modem: default implementation of the network time interface

    Add a default implementation that queries the real-time clock
    using the
    AT+CCLK? command.  Also set AT+CTZU=1 in case a modem requires it.

 src/mm-broadband-modem.c       | 96
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.c         | 75 +++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |  9 ++++
 src/tests/test-modem-helpers.c | 73 ++++++++++++++++++++++++++++++++
 4 files changed, 253 insertions(+)

commit a92566ec0e01bc606fd3673276eb5f7ece3b8291
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Fri Mar 13 16:25:48 2015 +0100

    telit: adding 3gpp unsolicited events support for Telit modems

    Mobile Equipment Event Reporting command for Telit modems (+CMER)
    does not support <ind>=1. Changing to <ind>=2

 plugins/telit/mm-broadband-modem-telit.c | 52
 +++++++++++++++++++++++++++++++-
 1 file changed, 51 insertions(+), 1 deletion(-)

commit f9a5848d71972797a2871c6ccceaa6d9123eb8de
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Thu Mar 12 11:33:39 2015 +0100

    telit: add custom flow control settings for Telit HE910, UE910, UL865

    Telit HE910, UE910 and UL865 do not support XON/XOFF; defaulting
    to RTS/CTS

 plugins/telit/mm-broadband-modem-telit.c | 48
 ++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

commit 00b5ae3e5b61eaf2757d7d34044842299181d80e
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Thu Mar 12 09:15:37 2015 +0100

    telit: Adding udev rules for Telit HE910, UE910 and UL865

    Adding udev rules for proper modem identification.

 plugins/telit/77-mm-telit-port-types.rules | 5 +++++
 1 file changed, 5 insertions(+)

commit 46b2aeae531ea47d3cf3d455305c40694d4f60b7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 11 19:37:07 2015 +0100

    novatel: fix checking for time support

 plugins/novatel/mm-broadband-modem-novatel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 61ced36f8341ecedc403818c378f78f17f55ca9a
Author: Daniele Palmas <dnlplm@gmail.com>
Date:   Fri Mar 6 16:12:34 2015 +0100

    Adding IMC flashing device in blacklist

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 6a8fbf917a220416913a5e64a40bd4d26c6448f5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 2 14:37:25 2015 +0100

    iface-modem: don't artificially forbid power updates when in OFF state

    If for any reason the modem is in OFF state and still can talk to
    the modem,
    allow running the remaining transition requests to LOW or ON. This
    can happen
    for example for modems that use CFUN:0, i.e. which can still go
    online with
    CFUN=1.

    https://bugs.freedesktop.org/show_bug.cgi?id=89368

 src/mm-iface-modem.c | 16 ----------------
 1 file changed, 16 deletions(-)

commit 28d4bb932cfdbf7a4320382d17312b3d1f2d1be0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 27 17:30:43 2015 +0100

    greylist: add Cypress USB<->RS232 adapters

    https://bugs.freedesktop.org/show_bug.cgi?id=89362

 src/77-mm-usb-serial-adapters-greylist.rules | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 0a31a466cbeb42c613a80def224c94bba14431c3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 26 12:37:20 2015 +0100

    bearer,qmi: also print IPv6 gateway prefix

 src/mm-bearer-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2dbebbd0bf0fcc9d1080b96f899d4e57332839db
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 26 10:36:20 2015 +0100

    bearer-qmi: avoid unref-ing arrays owned by the output bundles

    When we get an array from a libqmi output or input bundle, the array
    is always
    owned by the bundle (i.e. transfer-none).

 src/mm-bearer-qmi.c | 4 ----
 1 file changed, 4 deletions(-)

commit de9446e13b7849ef4aad2664bc500c2fa2bb6d9c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 20 10:14:58 2015 +0100

    build: refactor and cleanup configure.ac

 configure.ac | 137
 +++++++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 92 insertions(+), 45 deletions(-)

commit 9f7006616c8ee4d5e5381fa3637eff21d1d9c4fc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 20 09:40:09 2015 +0100

    build: disable static libraries by default

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ee41e57507eb890d4e320a0e3fdf53d48925bf31
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 20 09:39:10 2015 +0100

    build: setup silent-rules

    And bump automake requirement to 1.11.

 configure.ac | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 9186e2aa39668c0d071f52d47d6a1aea087bc8a7
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 23 10:25:14 2015 -0600

    iface-modem-3gpp: used DENIED registration state if others are UNKNOWN

    If all other registration states are UNKNOWN, use a registration state
    of DENIED as the global modem state.

 src/mm-iface-modem-3gpp.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

commit 37bda21a370bfd5c125a7093bec55dca3914af9b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 17 10:57:22 2015 +0100

    plugin: add implicit QMI and MBIM forbidden drivers check

 src/mm-plugin.c | 45 +++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 43 insertions(+), 2 deletions(-)

commit 57b5ffa8c4a7fdd48a8ae944010422a4754654d2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Feb 16 17:36:12 2015 +0100

    gobi: remove plugin

    There's no real need for a custom Gobi plugin any more. All the
    vendor-specific
    Gobi-powered modems should be handled by vendor-provided plugins
    supporting QMI
    modems; or otherwise, as a last resort, by the generic plugin.

 plugins/Makefile.am                    |  10 ---
 plugins/gobi/mm-broadband-modem-gobi.c | 124
 ---------------------------------
 plugins/gobi/mm-broadband-modem-gobi.h |  49 -------------
 plugins/gobi/mm-plugin-gobi.c          |  95 -------------------------
 plugins/gobi/mm-plugin-gobi.h          |  41 -----------
 5 files changed, 319 deletions(-)

commit 93d6e4f102da51e72ecd2fbfcfa096cd2fd2e02e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 6 16:35:52 2015 +0100

    dell: new Dell plugin

    For Dell-branded Novatel, Sierra and Ericsson modems.

    The Novatel plugin will no longer accept every Dell-branded modem,
    which was
    the current situation. Instead, a new Dell plugin will take care of
    probing for
    the correct vendor string, and based on the results create a specific
    Novatel,
    Sierra or Ericsson modem.

    In order to properly support this, the Novatel, Sierra and MBM
    plugins now
    export their implementations into non-inst libraries that the Dell
    plugin will
    import.

    Also, for now, the Dell plugin doesn't make any difference between
    e.g. Sierra
    or Ericsson MBIM implementations, just a generic MBIM modem is
    created in both
    cases, as that is anyway what the Ericsson MBM and Sierra plugins
    do already.

    https://bugs.freedesktop.org/show_bug.cgi?id=86713

 plugins/Makefile.am                 |   9 +
 plugins/dell/mm-plugin-dell.c       | 448
 ++++++++++++++++++++++++++++++++++++
 plugins/dell/mm-plugin-dell.h       |  46 ++++
 plugins/novatel/mm-plugin-novatel.c |   4 +-
 4 files changed, 504 insertions(+), 3 deletions(-)

commit 6bbc4c1746c9e7c48e12dcb1e1986f1e16327161
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 6 20:02:20 2015 +0100

    sierra: move all the legacy Sierra support to a new 'sierra-legacy'
    plugin

    In short:

      * The 'sierra-legacy' plugin will handle all the old AT based
      modems,
        including the DirectIP ones. This plugin is filtered by driver
        ('sierra' or
        'sierra_net') and forbidden-drivers ('qmi_wwan' and
        'cdc_mbim'). This plugin
        should also grab HP and AT&T branded models if they are handled
        by the
        proper kernel driver.

      * The 'sierra' plugin will only handle QMI or MBIM based Sierra
      modems, which
        are really all the new ones. This plugin is filtered by VID
        (0x1199) and
        driver (qmi_wwan and cdc_mbim).

    For this separation to work, the 'sierra' and 'sierra_net' plugins
    need to be
    complementary to each other.

 plugins/Makefile.am                      | 18 ++++--
 plugins/sierra/mm-plugin-sierra-legacy.c | 99
 ++++++++++++++++++++++++++++++++
 plugins/sierra/mm-plugin-sierra-legacy.h | 40 +++++++++++++
 plugins/sierra/mm-plugin-sierra.c        | 34 ++++-------
 4 files changed, 162 insertions(+), 29 deletions(-)

commit 3c6a7ed3f344e565271f26390da8d6db43fa0f70
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 6 21:05:05 2015 +0100

    plugin-manager: make sure there is some wait time before probing
    the first port

    We really do need a wait time to make sure most ports are exposed
    by the
    kernel, so that plugin filters based on "forbidden-drivers" work
    correctly. E.g.
    the "gobi" plugin now flags as forbidden the "qmi_wwan" driver,
    which means that
    modems exposing both TTYs and QMI/WWAN ports should never be handled
    by the Gobi
    plugin.

 src/mm-plugin-manager.c | 95
 +++++++++++++++++++++++++++++++++++--------------
 1 file changed, 68 insertions(+), 27 deletions(-)

commit 07fcb807dd002be829b1462c131ca2f2dfb56b36
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 6 21:13:56 2015 +0100

    plugin: allow having both 'drivers' and 'forbidden drivers' filters

 src/mm-plugin.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 51ab292802e21d1031c54bcab8c449d18b97ceaa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 6 18:38:32 2015 +0100

    plugin: let vendor/product filter be complementary

    So that a plugin can specify a full VID and a specific PID subset
    of another VID
    as supported.

 src/mm-plugin.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit b1159453998e6dc89ba31a803c4c3886c8da0605
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 6 17:29:56 2015 +0100

    sierra: move custom init and port grabbing methods to separate
    source files

 plugins/sierra/mm-common-sierra.c | 217
 ++++++++++++++++++++++++++++++++++++
 plugins/sierra/mm-common-sierra.h |  17 +++
 plugins/sierra/mm-plugin-sierra.c | 224
 +-------------------------------------
 3 files changed, 239 insertions(+), 219 deletions(-)

commit 5a268430c4c89e21d977403ec764c59b86498af8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 6 17:11:52 2015 +0100

    mbm: build a common non-inst library with the core Ericsson modem
    support

 plugins/Makefile.am | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

commit 299280166301d00c2b0e2b8868a96013388b2a3f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 6 16:51:13 2015 +0100

    sierra: build a common non-inst library with the core Sierra modem
    support

 plugins/Makefile.am | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

commit 60a17df4c78d7bd9f27ca1425dba6c53298fd3d3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 6 15:55:18 2015 +0100

    novatel: build a common non-inst library with the core Novatel
    modem support

 plugins/Makefile.am | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

commit 7c929b5cf19ca6fd3ed8c5667efc026df13046a1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 6 15:30:50 2015 +0100

    novatel: move custom init method to separate source files

 plugins/Makefile.am                 |   2 +
 plugins/novatel/mm-common-novatel.c | 158
 ++++++++++++++++++++++++++++++++++++
 plugins/novatel/mm-common-novatel.h |  31 +++++++
 plugins/novatel/mm-plugin-novatel.c | 146
 +--------------------------------
 4 files changed, 194 insertions(+), 143 deletions(-)

commit 553666d63a8a13baccfffa236f38f7f26dc1df9f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Feb 16 16:48:57 2015 +0100

    build: use absolute paths when ignoring specific files in subdirs

    If paths are not prefixed with '/' they are taken as filename-ignores
    that apply
    to the whole tree.

 .gitignore | 320
 ++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 159 insertions(+), 161 deletions(-)

commit 8b985af3b6c3ac1aa40227a2116f107949b3b39d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 11 19:26:36 2015 +0100

    build: remove obsolete ignored files

 .gitignore | 3 ---
 1 file changed, 3 deletions(-)

commit f4ec32e6335b20c22db5b964ec5e667bbb8f8c39
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 11 18:24:50 2015 +0100

    test: new 'mmtty' utility

    The new tester allows to play with the AT-capable TTY using the same
    code as
    ModemManager itself.

        $ sudo ./test/mmtty -d /dev/ttyHS0 --verbose
        opening serial port '/dev/ttyHS0'...
        (ttyHS0) opening serial port...
        (ttyHS0): port attributes not fully set
        (ttyHS0) device open count is 1 (open)
        flashing serial port '/dev/ttyHS0'...
        ready
        > AT+GCAP
        (ttyHS0): --> 'AT+GCAP<LF><CR>'
        (ttyHS0): <-- '<CR><LF>+GCAP:
        +CGSM,+DS,+ES<CR><LF><CR><LF>OK<CR><LF>'
        +GCAP: +CGSM,+DS,+ES
        > AT+GMI
        (ttyHS0): --> 'AT+GMI<LF><CR>'
        (ttyHS0): <-- '<CR><LF>Option N.V.<CR><LF><CR><LF>OK<CR><LF>'
        Option N.V.
        > ^C

        cancelling the main loop...

        (ttyHS0) device open count is 0 (close)
        (ttyHS0) closing serial port...
        (ttyHS0) serial port closed
        (ttyHS0) forced to close port

 .gitignore       |   4 +-
 test/Makefile.am |  17 +++-
 test/mmtty.c     | 299
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 318 insertions(+), 2 deletions(-)

commit 7133d72f698c551d01cbc8f35102dc4d61148e20
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 11 19:24:46 2015 +0100

    ports: move serial parsers to the internal libports

 src/Makefile.am | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit b7ed2c6b0ed163dcf67bdfd43c3fb73d5e51d069
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 11 19:32:49 2015 +0100

    po: added systemd sleep management file to the list of translatable
    files

 po/POTFILES.in | 1 +
 1 file changed, 1 insertion(+)

commit 9b2b46e2be90553f0389a5395d5312d232ffa018
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 10 18:17:37 2015 +0100

    broadband-modem-qmi: don't try FCC auth if the first Set Operating
    Mode succeeds

 src/mm-broadband-modem-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit a83d1c70b1f433bcb9a33b4cb1b5e3032050a104
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Feb 7 21:39:00 2015 +0100

    broadband-modem-qmi: use 'DMS Set FCC Authentication' if online
    mode fails

    Some new devices, like the Dell DW5770, will return an internal
    error when
    trying to bring the power mode to online. We can avoid this by
    sending the
    magic "DMS Set FCC Auth" message before retrying.

    Bumping libqmi version to 1.13.4, which is the one that supports
    this new
    message.

    https://bugzilla.kernel.org/show_bug.cgi?id=92101

 configure.ac                 |   2 +-
 src/mm-broadband-modem-qmi.c | 185
 +++++++++++++++++++++++++++++++++----------
 2 files changed, 143 insertions(+), 44 deletions(-)

commit b6f8e5f08de8860b4c54609a3648cb86a04244ea
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 16 09:52:05 2015 +0100

    suspend: invalidate and remove modems on suspend, reprobe on resume

 configure.ac          |  9 +++++++--
 src/main.c            | 33 ++++++++++++++++++++++++++++++++-
 src/mm-base-manager.c | 34 ++++++++++++++++++++++++++++------
 src/mm-base-manager.h |  3 ++-
 4 files changed, 69 insertions(+), 10 deletions(-)

commit 132fbb0a7f51d01f11094367ee1f76cdafca350b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 15 12:51:26 2015 +0100

    suspend: port upower backend to GDBus

 src/mm-sleep-monitor-upower.c | 69
 +++++++++++++++++++++++++------------------
 1 file changed, 41 insertions(+), 28 deletions(-)

commit a92b6f286bc8a9cd487a88e841e78c627ed98f85
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 15 11:53:03 2015 +0100

    suspend: imported suspend/resume support from NetworkManager

    We're going to make this optional during build, not mandatory as
    was the case
    in NM.

 configure.ac                   |  22 ++++
 src/Makefile.am                |  10 ++
 src/mm-sleep-monitor-systemd.c | 247
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-sleep-monitor-upower.c  | 137 +++++++++++++++++++++++
 src/mm-sleep-monitor.h         |  43 +++++++
 5 files changed, 459 insertions(+)

commit c6ba09403a404d191e388db3b54d0145f057075c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 15 11:33:51 2015 +0100

    utils: imported singleton setup from NetworkManager

 src/Makefile.am |  1 +
 src/mm-utils.h  | 83
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 84 insertions(+)

commit 6fb83b5e029134ab9844f05517a444f2df501773
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Feb 6 15:29:52 2015 +0100

    novatel: remove unused custom AT probe array

 plugins/novatel/mm-plugin-novatel.c | 13 -------------
 1 file changed, 13 deletions(-)

commit 60cd66b4fa77fe470772aa4957b43ce060555c2c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 29 21:28:52 2015 +0100

    helpers: avoid segfault when empty pdp type string is given

    https://bugzilla.redhat.com/show_bug.cgi?id=1183250

 src/mm-modem-helpers.c | 2 ++
 1 file changed, 2 insertions(+)

commit dc38332224f804be1f0557789c95442898827d72
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 29 12:07:43 2015 +0100

    plugin: avoid segfault when port driver is unknown

    Based on a patch from Bastiaan Jacques <bastiaan@bjacques.org>

    https://bugzilla.redhat.com/show_bug.cgi?id=1177799
    https://bugs.freedesktop.org/show_bug.cgi?id=88864

 src/mm-device.c |  1 +
 src/mm-plugin.c | 10 ++++------
 2 files changed, 5 insertions(+), 6 deletions(-)

commit 086a10ede07bc37c3603d70d7d5b4880e75b7df7
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 26 17:02:13 2015 -0600

    blacklist: ignore PalmOS devices driven by 'visor'

    MM probing appears to make 'visor' module die; and anyway
    most of the devices driven by 'visor' are not phones, and
    of the 3 that are phones they are so old (2002 - 2005 era)
    that nobody is likely using them for dialup anymore.

    http://www.spinics.net/lists/linux-usb/msg120483.html

 src/77-mm-usb-device-blacklist.rules | 7 +++++++
 1 file changed, 7 insertions(+)

commit f9489a06bed0c410d9bba694af6d681a143be09d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 25 21:49:01 2015 +0100

    mmcli: add command completion

 cli/Makefile.am      |  12 ++++
 cli/mmcli-completion | 171
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 183 insertions(+)

commit 1e62589cb160607afa490b716f253de357b95802
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 24 18:05:41 2015 +0100

    bearer-qmi: even if we request DHCP in the bearer, expose available
    IPv4 config

    Same as we do in IPv6. Note that NM won't use it if DHCP is requested.

 src/mm-bearer-qmi.c | 74
 ++++++++++++++++++++++++++---------------------------
 1 file changed, 37 insertions(+), 37 deletions(-)

commit 67392272271c9ea455f1f333289491c9b726b209
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Dec 25 12:51:38 2014 +0100

    nokia: 20s for CSCS=? test command

    Nokia N9 via Bluetooth DUN may require up to 20s for the supported
    charsets
    query; so update the timeout in the Nokia plugin.

    https://bugs.freedesktop.org/show_bug.cgi?id=87635
    https://bugzilla.gnome.org/show_bug.cgi?id=741813

 plugins/nokia/mm-broadband-modem-nokia.c | 39
 ++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

commit 4a0a10c795d81576bff5a2019b51f301ad72b301
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Oct 14 16:34:20 2014 +0200

    haier: new Haier plugin to handle port type hints in the CE81B

    https://bugzilla.gnome.org/show_bug.cgi?id=685011
    https://bugs.freedesktop.org/show_bug.cgi?id=85001

 plugins/Makefile.am                        |  11 ++-
 plugins/haier/77-mm-haier-port-types.rules |  15 +++++
 plugins/haier/mm-plugin-haier.c            | 105
 +++++++++++++++++++++++++++++
 plugins/haier/mm-plugin-haier.h            |  40 +++++++++++
 4 files changed, 170 insertions(+), 1 deletion(-)

commit fcfd52df10c176dbc930c63011bfe8a48a0347dd
Author: Jakub Sitnicki <jsitnicki@gmail.com>
Date:   Sun Jan 11 15:07:23 2015 +0100

    core: perform clean-up when terminating due to a Unix signal

    Since commit 2d700043abc5 ("core: use g_unix_signal_add() for more
    reliable Unix signal handling") we no longer have to stick to
    signal-safe functions in the SIGTERM/SIGINT handler.

    Use exit() to terminate so that the clean-up functions are ran
    and code
    coverage data gets written into files.

 src/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7552030ef90004857b4535f835e19fe734b22a39
Author: Jakub Sitnicki <jsitnicki@gmail.com>
Date:   Sun Jan 11 15:07:22 2015 +0100

    build: add code coverage support

    Build all targets, except for CLI tools (mmcli, uml290), with special
    flags needed for collecting code coverage information when the
    build has
    been configured with --enable-code-coverage.

    Three new targets are available in the top build directory:

     - `check-code-coverage' runs the test suite and generates a code
       coverage report,

     - `code-coverage-capture' generates a code coverage report from
     already
       collected data, which can come in handy when one wants to see code
       paths touched by a particular test,

     - `code-coverage-clean' removes the collected coverage data and the
       generated reports.

 .gitignore                             | 5 +++++
 Makefile.am                            | 7 +++++++
 configure.ac                           | 9 +++++++++
 libmm-glib/Makefile.am                 | 6 +++++-
 libmm-glib/generated/Makefile.am       | 3 +++
 libmm-glib/generated/tests/Makefile.am | 3 ++-
 libmm-glib/tests/Makefile.am           | 3 +++
 libqcdm/src/Makefile.am                | 4 +++-
 libqcdm/tests/Makefile.am              | 3 +++
 libwmc/src/Makefile.am                 | 4 +++-
 libwmc/tests/Makefile.am               | 3 +++
 plugins/Makefile.am                    | 9 +++++++--
 src/Makefile.am                        | 3 +++
 src/tests/Makefile.am                  | 3 +++
 14 files changed, 59 insertions(+), 6 deletions(-)

commit ffe2106d4e556526119b89eedb62047fd8eab7de
Author: Jakub Sitnicki <jsitnicki@gmail.com>
Date:   Sun Jan 11 15:07:21 2015 +0100

    build: include ax_code_coverage.m4 serial 5

    So that we don't require a fairly recent version of
    autoconf-archive (v2014.10.15 or newer) to build.

 m4/ax_code_coverage.m4 | 229
 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 229 insertions(+)

commit ebf516c074e39ce81f7681e0c285e22751534047
Author: Jakub Sitnicki <jsitnicki@gmail.com>
Date:   Sun Jan 11 15:07:20 2015 +0100

    build: remove incomplete support for code coverage

    Looks like make targets for generating code coverage reports with LCOV
    were copied from GLib but corresponding changes to configure.ac
    were not
    made. Clean it up.

 gtester.make | 20 --------------------
 1 file changed, 20 deletions(-)

commit 470b02e8c8ee97277a2cfbb7e79853c03340b09b
Author: Roshan Pius <rpius@chromium.org>
Date:   Tue Dec 9 09:55:56 2014 -0800

    port-probe: Increase AT probe command timeout to 7 seconds for altair.

    This patch increases the response timeout for the probe AT commands
    for
    altair modems.

    We've been noticing some altair modems taking upto 6 seconds to
    respond to the
    initial probe command after a reset which results in modem-manager
    timing out and sending a second probe command. The modem sends
    a response
    after about 6 seconds for the initial probe command which
    modem-manager
    treats as response to second probe command and this results in the
    modem-manager and modem going out of sync because the modem's second
    probe response is treated as response to the next initialization
    AT command
    sent by modem-manager and so on.

    Change-Id: Iad8b0786327b153fd95c8ee4516f352325a42cf7

 plugins/altair/mm-plugin-altair-lte.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 2edb00cbcb0ab7ad0bef82f4d7f4111f2edb75a6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 9 12:47:54 2015 +0100

    broadband-modem-qmi: fix memleak when listing SMS

    If we get multiple message lists, we need to make sure the previous
    one is
    cleared out before going to the next one.

 src/mm-broadband-modem-qmi.c | 2 ++
 1 file changed, 2 insertions(+)

commit 46b707f8477c2dfbf6e6b4f48c73c2d3cbf5cd12
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 28 17:55:50 2014 +0100

    mbim: use the new response checker helper method

    mbim_message_response_get_result() is available in libmbim-glib
    1.11.1.

 configure.ac                  |  2 +-
 src/mm-bearer-mbim.c          | 10 +++++-----
 src/mm-broadband-modem-mbim.c | 30 +++++++++++++++---------------
 src/mm-sim-mbim.c             | 16 ++++++++--------
 src/mm-sms-mbim.c             |  4 ++--
 5 files changed, 31 insertions(+), 31 deletions(-)

commit 35575ccc158651d56f7cf39031d559d0974cf837
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Dec 28 18:00:36 2014 +0100

    port-qmi: always use QMI proxy

    We already require libqmi > 1.7.0 in the build.

 src/mm-port-qmi.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

commit 0dd707a2793c28369991377a0e09e00d3a09636f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Dec 26 16:36:32 2014 +0100

    iface-modem-location: don't print location info to syslog with
    info level

    Use debug level, which has to be explicitly requested by the user.

    https://bugs.freedesktop.org/show_bug.cgi?id=87498

 src/mm-iface-modem-location.c | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

commit 3b2ed15abdb12a1a55404897dcffb447ac035d87
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Dec 3 19:25:26 2014 +0100

    port-probe: retry icera probing up to 3 times, with some time in
    between cmds

    Icera-based modems need to return a correct response to the
    AT%IPSYS? command,
    so that they are properly detected as being Icera-based.

    Now, some modems, like the Nokia 21M-02, don't seem to return a
    correct response
    to AT%IPSYS just after being plugged in. So, setup a retry mechanism
    (3 retries,
    with 2 seconds between retries) to try to cope with this issue.

    https://bugs.freedesktop.org/show_bug.cgi?id=85012

    Logs from the error situation:

    [mm-port-serial-at.c:440] debug_log(): (ttyACM0): --> 'ATE1 E0<CR>'
    [mm-port-serial-at.c:440] debug_log(): (ttyACM2): --> 'ATE1 E0<CR>'
    [mm-port-serial-at.c:440] debug_log(): (ttyACM1): --> 'ATE1 E0<CR>'
    [mm-port-serial-at.c:440] debug_log(): (ttyACM0): <-- 'E0'
    [mm-port-serial-at.c:440] debug_log(): (ttyACM0): <--
    '<CR><CR><LF>ERROR<CR><LF>'
    [mm-serial-parsers.c:364] mm_serial_parser_v1_parse(): Got failure
    code 100: Unknown error
    [mm-port-probe-at.c:43] mm_port_probe_response_processor_is_at():
    Parsing AT got: 'Unknown error'
    [mm-port-probe.c:155] mm_port_probe_set_result_at(): (tty/ttyACM0)
    port is AT-capable
    [mm-port-serial-at.c:440] debug_log(): (ttyACM2): <-- 'ATE1 E0'
    [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <-- ' E0'
    [mm-port-serial-at.c:440] debug_log(): (ttyACM2): <-- '<CR>'
    [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <--
    '<CR><CR><LF>ERROR<CR><LF>'
    [mm-serial-parsers.c:364] mm_serial_parser_v1_parse(): Got failure
    code 100: Unknown error
    [mm-port-probe-at.c:43] mm_port_probe_response_processor_is_at():
    Parsing AT got: 'Unknown error'
    [mm-port-probe.c:155] mm_port_probe_set_result_at(): (tty/ttyACM1)
    port is AT-capable
    [mm-port-serial-at.c:440] debug_log(): (ttyACM2): <--
    '<CR><LF>OK<CR><LF>'
    [mm-port-probe.c:155] mm_port_probe_set_result_at(): (tty/ttyACM2)
    port is AT-capable
    [mm-port-serial-at.c:440] debug_log(): (ttyACM0): --> 'AT%IPSYS?<CR>'
    [mm-port-serial-at.c:440] debug_log(): (ttyACM1): --> 'AT%IPSYS?<CR>'
    [mm-port-serial-at.c:440] debug_log(): (ttyACM2): --> 'AT%IPSYS?<CR>'
    [mm-port-serial-at.c:440] debug_log(): (ttyACM0): <-- 'AT%IPSYS?'
    [mm-port-serial-at.c:440] debug_log(): (ttyACM0): <-- '<CR>'
    [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <-- 'AT%IPSYS?'
    [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <--
    '<CR><CR><LF>ERROR<CR><LF>'

 src/mm-port-probe.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

commit fd28a4d5cd6139f19f814328bfe860f69c418a25
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 14 12:32:10 2014 +0100

    icera: IPv6 '::' is a placeholder for 'no IPv6', so don't error out
    if found

    Also, allow IPDPADDR returns where only DNS IPv6 is given (i.e. no
    IPv6 address
    to set), and in that case default to DHCP method in the bearer.

    https://bugs.freedesktop.org/show_bug.cgi?id=85012

 plugins/icera/mm-modem-helpers-icera.c         | 67
 +++++++++++++++-----------
 plugins/icera/tests/test-modem-helpers-icera.c | 31 +++++++++---
 2 files changed, 61 insertions(+), 37 deletions(-)

commit 71a1b64b3b60527a15dea72d0cc9a2bb31adcf9f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 24 20:53:23 2014 +0100

    huawei: expect 'modem' and 'pcui' in ^GETPORTMODE responses

    Newer huawei modems, like the E3372, use the following ^GETPORTMODE
    response
    format:
      ^GETPORTMODE: TYPE: WCDMA: ,pcui:1,modem:2,ncm:3,mass:4,mass_two:5,

    This patch updates the parser that looks for the control TTY (pcui)
    and data TTY
    (modem).

    https://bugs.freedesktop.org/show_bug.cgi?id=86658

 plugins/huawei/mm-plugin-huawei.c | 4 ++++
 1 file changed, 4 insertions(+)

commit b51f701524778acde8ed33d3e4f1a2ac0f694f81
Author: Tyler <twsmith85@gmail.com>
Date:   Fri Nov 14 12:11:14 2014 +0100

    bearer: PDP context APN scan should be case insensitive

 src/mm-broadband-bearer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 692e6d344a6b2b9d943a577cfe3df1994e6d42a4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 9 16:53:33 2014 +0100

    tests,port-context: joining thread takes the reference already

 plugins/tests/test-port-context.c | 1 -
 1 file changed, 1 deletion(-)

commit bc410ce03f6bfbfc970a89d79f200cece4c582de
Author: Torsten Hilbrich <torsten.hilbrich@secunet.com>
Date:   Wed Nov 12 12:45:38 2014 +0100

    qmi: retrieve MM_MODEM_3GPP_FACILITY_SIM

    This facility cannot be retrieved via 'DMS UIM Get CK Status'
    and seems
    currently unimplemented for mm-broadband-modem-qmi. The SIM enabled
    status is however available via 'DMS UIM Get PIN Status'.

    Using this message to add the retrieval of PIN status just after the
    other facilities were queried.

    Succesfully tested with Gobi2000 (05c6:9205), both retrieval of 3gpp
    SIM lock status and enabling/disabling the PIN.

 src/mm-broadband-modem-qmi.c | 68
 ++++++++++++++++++++++++++++++++++++++++----
 src/mm-modem-helpers-qmi.c   | 26 +++++++++++++++++
 src/mm-modem-helpers-qmi.h   |  1 +
 3 files changed, 90 insertions(+), 5 deletions(-)

commit d44690489b57969bfdc44ebfcbfefce6cf3c5b42
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Wed Oct 1 12:00:14 2014 +0200

    udev: Don't mark disconnected RFCOMM ttys as candidates

    Bluetooth serial devices are weird. They begin life being bound with
    RFCOMMCREATEDEV ioctl() and then move around the sysfs tree when
    they are
    connected and disconnected. The connection is estabilished upon
    the first
    open() and torn down upon last close(), their first user virtually
    being
    "owner" of the connection. We don't want to be that process,
    we're only
    interested in actually connected modems. However, currently we have no
    knowledge of that and therefore we connect and disconnect multiple
    times while
    probing.

    This patch marks unconnected RFCOMM devices as uninteresting to us.
    The actual connection and disconnection will be handled by
    NetworkManager.

 src/80-mm-candidate.rules | 4 ++++
 1 file changed, 4 insertions(+)

commit f79ec9bf4d94a6ae204e24647bf844d6af2ecb96
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Wed Oct 1 12:00:14 2014 +0200

    manager: Remove devices which are deemed unfit during addition attempt

    device_added() might be called in response to a "change" or "move"
    attempt that
    might have changed a candidate device to a non-candidate one.

 src/mm-base-manager.c | 118
 ++++++++++++++++++++++++++------------------------
 1 file changed, 62 insertions(+), 56 deletions(-)

commit b8cd5ae838b1a17ce1bb6f01e6491c7b887e8474
Author: Lubomir Rintel <lkundrak@v3.sk>
Date:   Wed Oct 1 12:02:36 2014 +0200

    device: Keep track of devices as they are move across sysfs

    For certain devices the name changes with their status. Notably,
    RFCOMM
    devices move from /devices/virtual/ to underneath the HCI that is used
    for the connection as the session is estabilished, and return
    back when
    it's torn down.

 src/mm-device.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 98f21ec195a090618139c601870bcc4b1883c33f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Oct 30 00:05:35 2014 +0100

    modem-helpers: fix IP4 -> IPV4

    Stupid me, introduced a bug when manually writing the previous patch.

    :/

 src/mm-modem-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 01bd5006f5b0fb322fde03e3faa6ead5a80fe40a
Author: Oskar Enoksson <enok@lysator.liu.se>
Date:   Wed Oct 29 23:12:26 2014 +0100

    modem-helpers: handle "IPV4" pdp type response

    My modem (Samsung GI B3740) responded "IPV4" to "CGDCONT=?". This was
    not handled in mm-modem-helpers.c. The obvious fix was to return
    MM_BEARER_IP_FAMILY_IPV4.

 src/mm-modem-helpers.c | 2 ++
 1 file changed, 2 insertions(+)

commit 555ec15a16414414dae1e71b889f38fa159e49fd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 29 22:35:52 2014 +0100

    mm-broadband-modem-qmi: avoid using NULL pointer coming from an
    empty GArray

 src/mm-broadband-modem-qmi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 3a76c0df5790dc4cd2019bd67b1e36c7f4114b32
Author: Greg Suarez <gpsuarez2512@gmail.com>
Date:   Thu Oct 23 13:15:17 2014 -0700

    bearer-mbim: Implement report_connection_status() to set the port
    as disconnected

    When the MBIM modem unexpectedly loses connection the port state never
    gets set as disconnected thus when trying to reestablish a new
    connection the bearer cannot find a port in the disconnected state.

    Signed-off-by: Greg Suarez <gpsuarez2512@gmail.com>

 src/mm-bearer-mbim.c | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

commit 046d9141c4277ac4b66c227a6e4649b1276f6a71
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Oct 28 11:46:51 2014 -0500

    blacklist: ignore GW Instek AFG-2225 arbitrary waveform generator

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit a72b120798e7298e039acbf1144272ec5f54dc0e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Oct 17 15:55:12 2014 +0200

    tests,fixture: fix comment

 plugins/tests/test-fixture.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f2fa7a7fbf739ad38e0c10338bbcc59818c7670e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Oct 15 18:29:18 2014 +0200

    qcdm: don't retry probing if QCDM unescaping fails

    But keep the retries when the frame marker isn't found.

    https://bugzilla.gnome.org/show_bug.cgi?id=708861

 include/ModemManager-errors.h     |  2 ++
 src/mm-port-probe.c               |  3 +++
 src/mm-port-serial-qcdm.c         | 10 +++++-----
 src/tests/test-qcdm-serial-port.c |  3 ++-
 4 files changed, 12 insertions(+), 6 deletions(-)

commit 41b7e7b048e67a0b329c820c81beccf42bf0957e
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Oct 7 15:53:53 2014 -0500

    port-serial: fix forced closing after b28230411

    b28230411 moved up the self->priv->forced_close = TRUE, which
    caused mm_port_serial_close() to just return without actually
    closing the port and cleaning up.

    Also, cancel the reopen separately from closing the port since
    the two operations are actually independent of each other.

 src/mm-port-serial.c | 43 +++++++++++++++++++++++--------------------
 1 file changed, 23 insertions(+), 20 deletions(-)

commit 1e5ec7e1b147fc6dd2227d7ebf7510a96eb0503e
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 3 13:42:49 2014 -0700

    tests: increase timeout for starting ModemManager on test bus

    The timeout for starting ModemManager on the test bus was 3s, which is
    sufficient under normal conditions. However, when running ModemManager
    tests on a build infrastructure under a heavy load, we've observed
    that
    the timeout isn't always sufficient and that becomes the source
    of false
    test failures. This patch increases the timeout to 30s, which
    shouldn't
    introduce any unexpected behavior under normnal conditions while
    addressing the timeout issue on heavily loaded systems.

 plugins/tests/test-fixture.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8718ed53bee53519fb11f313dfbe55be527f6d76
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Sep 15 10:56:36 2014 +0200

    build: remove --with-newest-qmi-commands configure option

    We don't want people to use the logic enabled by this switch, so
    remove it from
    configure to avoid confusions. Developers can still enable the
    related code by
    defining WITH_NEWEST_QMI_COMMANDS via CFLAGS; e.g.:

     $ NOCONFIGURE=1 ./autogen.sh
     $ ./configure CFLAGS="-DWITH_NEWEST_QMI_COMMANDS"

 configure.ac | 20 --------------------
 1 file changed, 20 deletions(-)

commit 340ff7dce3517b2b476a408572794e5206f43bac
Author: David McCullough <david.mccullough@accelecon.com>
Date:   Thu Sep 11 12:00:33 2014 +1000

    broadband-modem-qmi: fix registration state when built with
    --with-newest-qmi-commands

    This patch fixes the registration reporting/checking when ModemManager
    is
    built with --with-newest-qmi-commands.  apply_cs and apply_ps were not
    properly initialised and may never be true. Also fixes a CnP error for
    mm_ps_registration_state.

    Signed-off-by: David McCullough <david.mccullough@accelecon.com>

 src/mm-broadband-modem-qmi.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 84db93956591947843f640d11ab474c77486f6b5
Author: David McCullough <david.mccullough@accelecon.com>
Date:   Thu Sep 11 11:55:01 2014 +1000

    broadband-modem-qmi: fix signal strength when built with
    --with-newest-qmi-commands

    This patch fixes the signal strength values when using ModemManager
    built
    with --with-newest-qmi-commands.

    It was never getting a valid signal strength because the default
    (0) is
    always greater than a valid signal strength, and the rssi_max handling
    was completely wrong.

    Signed-off-by: David McCullough <david.mccullough@accelecon.com>

 src/mm-broadband-modem-qmi.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

commit fd7d0a08f73cb0f8e7166dd34bc713ec0089f62f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 6 19:07:53 2014 +0100

    broadband-modem-qmi: implement A-GPS enabling/disabling

 src/mm-broadband-modem-qmi.c | 371
 ++++++++++++++++++++++++++++++++++++-------
 1 file changed, 310 insertions(+), 61 deletions(-)

commit 75f35cdb9edd0a9822b8af62cd3c36e8de95c655
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 6 17:58:09 2014 +0100

    broadband-modem-qmi: implement SUPL server setting

 src/mm-broadband-modem-qmi.c | 139
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 139 insertions(+)

commit 8d2b4fa5f9fb5e926cfa49231051ce09b8426bb3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 6 15:32:15 2014 +0100

    broadband-modem-qmi: implement SUPL server loading

 src/mm-broadband-modem-qmi.c | 129
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 129 insertions(+)

commit 836892902e73c7046f2f2352d711e44d05675afb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 6 15:31:54 2014 +0100

    broadband-modem-qmi: A-GPS available by default

    Also bump libqmi requirement to 1.11.1, which is the one exposing
    the new A-GPS
    related commands.

 configure.ac                 | 2 +-
 src/mm-broadband-modem-qmi.c | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

commit 63f2e72c6c14ecef88d0a89b48729876b3cec931
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 6 12:20:56 2014 +0100

    iface-modem-location: load SUPL server setup when initializing
    interface

 src/mm-iface-modem-location.c | 41
 ++++++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem-location.h |  8 ++++++++
 2 files changed, 48 insertions(+), 1 deletion(-)

commit d20f3e5d6002cb64d5e0f55fc1085b889da75c3f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 6 12:15:32 2014 +0100

    iface-modem-location: handle setting SUPL server

 src/mm-iface-modem-location.c | 116
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-location.h |   9 ++++
 2 files changed, 125 insertions(+)

commit 72f4aa75d79b22cdcfec4612d7ab9916c4660181
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 6 12:04:35 2014 +0100

    cli,location: allow enabling/disabling A-GPS

 cli/mmcli-modem-location.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

commit 9dc5cdf78e528603f52c56cd9da9bfe0dd41d746
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 6 11:58:48 2014 +0100

    cli,location: allow getting/setting SUPL server address

 cli/mmcli-modem-location.c | 65
 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 64 insertions(+), 1 deletion(-)

commit cd5ca169f1a4d9de1fd6802a4c735ffec634a245
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 6 11:51:03 2014 +0100

    libmm-glib,location: add helpers to get/set the SUPL server address

 docs/reference/libmm-glib/libmm-glib-sections.txt |   5 +
 libmm-glib/mm-modem-location.c                    | 122
 ++++++++++++++++++++++
 libmm-glib/mm-modem-location.h                    |  16 +++
 3 files changed, 143 insertions(+)

commit fbeee20d5b7789bd0bcd4e4ab1dce784390e5ebd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 6 11:10:53 2014 +0100

    introspection,api: add SUPL server configuration in the Location
    interface

 docs/reference/libmm-glib/libmm-glib-sections.txt  |  7 ++++++
 include/ModemManager-enums.h                       |  2 ++
 ...rg.freedesktop.ModemManager1.Modem.Location.xml | 25
 ++++++++++++++++++++++
 src/mm-iface-modem-location.c                      | 10 ++++++---
 4 files changed, 41 insertions(+), 3 deletions(-)

commit 02961c388b54fe3a00419004d2e9f1ce6025751c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 5 11:19:05 2014 +0200

    docs,man: renew the ModemManager man page and add several missing
    commands

 docs/man/ModemManager.8 | 70
 +++++++++++++++++++++++++++++++++----------------
 1 file changed, 47 insertions(+), 23 deletions(-)

commit c4e7fdf02530f13c037945d6abe70c3e11277df5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 5 11:18:01 2014 +0200

    core: add --version option to the ModemManager daemon

    It was actually included in the man page of the daemon, but we didn't
    have it.

 src/main.c       |  4 ----
 src/mm-context.c | 19 +++++++++++++++++++
 src/mm-context.h |  5 +++++
 3 files changed, 24 insertions(+), 4 deletions(-)

commit 50ec0907de15cb6311088b81d0181b10943772bc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Apr 7 14:10:50 2014 +0200

    zte: blacklist QMI and net interface in the MF60

    The MF60 exposes a QMI+net pair, but they are unusable as the
    WDS service
    returns error when e.g. launching a connection.

    So, fallback to AT+PPP in this device.

 plugins/zte/77-mm-zte-port-types.rules | 5 +++++
 1 file changed, 5 insertions(+)

commit 31f81725e628fd94233e62752ec386215d2b9e13
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 5 09:33:38 2014 +0200

    plugin: allow to explicitly ignore any kind of port via udev

    The new 'ID_MM_PORT_IGNORE' tag will tell ModemManager to fully
    avoid using a
    given port.

    Note that it is key to not only flag the port probe as ignored,
    but also to
    fully ignore the ports in e.g. mm_port_probe_list_has_qmi_port()
    as those
    methods will be used to decide which kind of modem object to
    create. We don't
    want to create a QMI-based modem which may have all QMI ports
    blacklisted.

 src/mm-plugin.c     | 13 +++++++++++++
 src/mm-port-probe.c | 26 +++++++++++++++++++++++---
 src/mm-port-probe.h |  1 +
 3 files changed, 37 insertions(+), 3 deletions(-)

commit 8450e563bb79bd1e300bba1d2e89c6d39a173694
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 5 08:52:22 2014 +0200

    plugin: if no QMI or no MBIM still grab the WWAN ports, flagged
    as ignored

    E.g. this would be the result when having ModemManager compiled
    without QMI
    support, and a modem with 2 QMI/WWAN pairs:

        $ mmcli -m 2

        /org/freedesktop/ModemManager1/Modem/2 (device id
        '417e4dcff7f232b62cfe6c972e2099701848fd7f')
          -------------------------
          Hardware |   manufacturer: 'Sierra Wireless, Incorporated'
                   |          model: 'MC7304'
                   |       revision: 'SWI9X15C_05.05.02.00 r19147
                   carmd-fwbuild1 2013/11/15 13:54:28'
                   |      supported: 'gsm-umts'
                   |        current: 'gsm-umts'
                   |   equipment id: 'unknown'
          -------------------------
          System   |         device:
          '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.7'
                   |        drivers: 'qcserial, qmi_wwan'
                   |         plugin: 'Gobi'
                   |   primary port: 'ttyUSB8'
                   |          ports: 'ttyUSB8 (at), wwp0s29u1u7i8
                   (unknown), ttyUSB6 (qcdm), wwp0s29u1u7i10 (unknown)'

    The /dev/cdc-wdm ports don't even appear (as they were not even
    probed), but the
    newly ignored WWAN ports do appear in the list, but flagged as
    UNKNOWN type
    (instead of NET).

 src/mm-plugin.c | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

commit d2544ac044aea6b24e2f60e71fb3c1291552a2f9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Sep 5 08:47:30 2014 +0200

    base-modem: always grab ports marked as ignored

    Modems may expose ports that are either just not used (e.g. modems
    exposing more
    than 2 functional AT ports) or explicitly avoided (e.g. WWAN ports
    when we don't
    know how to use them).

    Those kind of ports are part of the modem, but not used by
    ModemManager. Still,
    ModemManager should list them in the list of ports available for
    the modem, with
    IGNORED type.

 src/mm-base-modem.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit a22681ba99f8249a5d516dca773b125c0bdf0912
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 27 13:45:10 2014 +0200

    port-mbim: use the mbim-proxy by default

 src/mm-port-mbim.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit 1acfb0ad2f37df03c4d76627792a247750ae0278
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 22 18:11:27 2014 +0200

    build: post release version bump to 1.5.0 (development)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a2a71317015e6bcf600bbf131c629e62c5859b1c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 22 16:56:05 2014 +0200

    release: bump version to 1.4.0

 NEWS         | 43 +++++++++++++++++++++++++++++++++++++++++++
 configure.ac |  6 +++---
 2 files changed, 46 insertions(+), 3 deletions(-)

commit 8fcfae43e0316dab0086a7ae535b4f383b31fed8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Aug 22 16:52:31 2014 +0200

    AUTHORS: update from git log

    $ git shortlog -s -n

 AUTHORS | 74
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 71 insertions(+), 3 deletions(-)

commit 0c6f1ae6c4bae4b4d82d015f6940e0448749aee3
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Aug 18 09:47:59 2014 -0500

    qmi: always use DHCP for IPv4 configuration instead of STATIC

    Some newer modems (Huawei E1750, Sierra 73xx) provide what looks like
    legitimate static IPv4 configuration through the WDSGetCurrentSettings
    call, but when configured the interface does not pass traffic.
    Running
    DHCP on the same interface provides a slightly different IPv4
    configuration but does allow traffic to pass.

    Since QMI was switched to static originally for consistency with IPv6
    and for speed of IP configuration (since DHCP takes a bit of time),
    but
    not for any known problems with modems, let's switch back to DHCP
    until
    we have time to figure out what's actually going on.

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b03e1cfd582d433694ac9b4f13e9e2757da61348
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Aug 13 20:04:03 2014 +0200

    bearer-qmi: allow forcing DHCP instead of static IP config

 src/mm-bearer-qmi.c          | 154
 +++++++++++++++++++++++++++++++------------
 src/mm-bearer-qmi.h          |   5 +-
 src/mm-broadband-modem-qmi.c |   2 +-
 3 files changed, 117 insertions(+), 44 deletions(-)

commit 46696114124d1a69cd3d90ba83abff36014a7326
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Aug 11 12:42:38 2014 -0700

    broadband-modem,plugins: fix GMatchInfo leaks

 plugins/huawei/mm-broadband-modem-huawei.c   | 2 ++
 plugins/mtk/mm-broadband-modem-mtk.c         | 5 +++--
 plugins/novatel/mm-broadband-modem-novatel.c | 1 +
 plugins/x22x/mm-broadband-modem-x22x.c       | 1 +
 src/mm-broadband-modem.c                     | 1 +
 5 files changed, 8 insertions(+), 2 deletions(-)

commit da933468c81d45fa1eb8a80b926b5fe06876ebef
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 11 18:31:27 2014 +0200

    huawei: minor style fixes

 plugins/huawei/mm-broadband-modem-huawei.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit bd0ffd24f1c95a1974176a1cc0eb6f3444f45e8e
Author: David McCullough <david.mccullough@accelecon.com>
Date:   Wed Aug 6 17:30:22 2014 +1000

    huawei: improve support for network time on Huawei modules

    Third revision of Huawei nwtime support.  Takes on feedback from the
    mailing list including helpers,  some basic tests and use of the ^NTCT
    command to determine network time support (^NWTIME).  Expanded test
    cases,
    more use of g_assert and more logical helper return values/errors.

    Signed-off-by: David McCullough <david.mccullough@accelecon.com>

 plugins/huawei/mm-broadband-modem-huawei.c       | 168
 ++++++++++++++---------
 plugins/huawei/mm-modem-helpers-huawei.c         | 151
 ++++++++++++++++++++
 plugins/huawei/mm-modem-helpers-huawei.h         |  16 +++
 plugins/huawei/tests/test-modem-helpers-huawei.c | 134 ++++++++++++++++++
 4 files changed, 404 insertions(+), 65 deletions(-)

commit 8c4318d87a5cc604d04913c66ac3e4ebda10bc18
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Aug 11 10:45:41 2014 -0500

    iface-mode: downgrade "access technology changed" message to debug

    We have a report of a modem that switches access technologies
    frequently,
    in this case almost every 10 seconds.  While that's unusual, it's not
    unexpected depending on the RF environment.  We shouldn't spam syslog
    with that info; if we need it we can get it with mmcli.

 src/mm-iface-modem.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 31695a3912ee396836b6af017f9eb9a0b2d46073
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Aug 5 09:52:20 2014 -0500

    build: INCLUDES -> AM_CPPFLAGS to quiet automake warning

 docs/reference/api/Makefile.am        | 2 +-
 docs/reference/libmm-glib/Makefile.am | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 3dd6f931330e75a644d92e8f96f3268fc39938ae
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Aug 4 15:20:57 2014 +0200

    build: require libmbim 1.10.0

    We were depending on some new MbimNwError values defined at some
    point in the
    1.9 development series. Depend on the new stable 1.10 version now
    that it's been
    released.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b8138d93f5b56ea5681a6f5dd3629a4ec1a78879
Author: David McCullough <david.mccullough@accelecon.com>
Date:   Tue Jul 29 09:34:44 2014 +1000

    libmbim-glib: handle explicit '+' on positive numbers

 libmm-glib/mm-common-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f203b1bf00f6dbf37d6fb11be869ecdfcd4f7397
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 27 13:55:10 2014 +0200

    plugin: improve probing decision logic for QMI and MBIM

    So, we may have modems with multiple /dev/cdc-wdm ports, like
    Ericsson modems,
    where only 1 of them is MBIM. With the previous logic, we would
    probe all
    /dev/cdc-wdm ports for MBIM as soon as one of the ports was handled
    by the
    cdc_mbim driver. That is totally not optimal, as we are already know
    that they
    are not MBIM (not handled by cdc_mbim).

    Instead, fix the logic to just probe for MBIM or QMI if the actual
    driver
    managing the port is MBIM or QMI.

 src/mm-plugin.c | 19 ++-----------------
 1 file changed, 2 insertions(+), 17 deletions(-)

commit 0284daf87e8f0ba780a4dcbe4741713cb3c779eb
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 17 00:19:41 2014 -0700

    broadband-modem-mbim: increase timeout for powering modem up and down

    It's been observed that some modems occasionally take a long time to
    power down (which may be due to some shutdown sequence that involves
    communicating with network). This patch increases the timeout for
    powering modem up and down from 10s to 20s.

 src/mm-broadband-modem-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8a56cd4c2a0578ee2a191c89926bb36bb55da80e
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 17 00:19:42 2014 -0700

    bearer-mbim: increase disconnect timeout

    It's been observed that modems may take a long time to disconnect from
    the network under certain network conditions. This patch increases the
    timeout for the MBIM_CID_CONNECT set command in the disconnect
    sequence
    from 10s to 30s.

 src/mm-bearer-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c8572c8098d02dfb8102028e055f29d35c878719
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 11 18:56:37 2014 +0200

    polkit: fix Location.Setup() authorization rules

 data/org.freedesktop.ModemManager1.conf.polkit | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e5920efe092ea41965ecf11fc98193e18bd502b3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 11 11:51:38 2014 +0200

    broadband-modem-mbim: VZ20M returns ERROR_PIN_REQUIRED in PIN query
    response

    VID/PID: 258d:e000

    Instead of returning success and the PIN type + PIN status +
    Remaining attempts,
    this modem returns a plain ERROR_PIN_REQUIRED error, so try to
    handle that...

 src/mm-broadband-modem-mbim.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit 6062462dcb8f68aff25607b742e05a4a53148c79
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 9 11:58:46 2014 +0200

    broadband-modem-mbim: reset strings to NULL, not 0

 src/mm-broadband-modem-mbim.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 0be8808cbd6cd490d842876cefd249796838b377
Author: kuonirat <konrad.procak@gmail.com>
Date:   Tue Jul 8 16:15:18 2014 +0200

    broadband-modem-mbim: update_registration_info immune to null
    pointers passed

 src/mm-broadband-modem-mbim.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 5358d6fea0b27ae4c71de6ce0b4d71060906216e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 6 16:50:30 2014 +0200

    sim: rename 'MMSim' to 'MMBaseSim'

    Just so that we don't have same header names in src/ and /libmm-glib.

 plugins/huawei/mm-broadband-modem-huawei.c       |   2 +-
 plugins/huawei/mm-sim-huawei.c                   |  34 +--
 plugins/huawei/mm-sim-huawei.h                   |  18 +-
 plugins/iridium/mm-broadband-modem-iridium.c     |   2 +-
 plugins/iridium/mm-sim-iridium.c                 |  28 +--
 plugins/iridium/mm-sim-iridium.h                 |  18 +-
 plugins/mbm/mm-broadband-modem-mbm.c             |   2 +-
 plugins/mbm/mm-sim-mbm.c                         |  30 +--
 plugins/mbm/mm-sim-mbm.h                         |  18 +-
 plugins/nokia/mm-broadband-modem-nokia.c         |   2 +-
 plugins/nokia/mm-sim-nokia.c                     |  24 +-
 plugins/nokia/mm-sim-nokia.h                     |  18 +-
 plugins/novatel/mm-broadband-modem-novatel-lte.c |   2 +-
 plugins/novatel/mm-sim-novatel-lte.c             |  22 +-
 plugins/novatel/mm-sim-novatel-lte.h             |  18 +-
 plugins/pantech/mm-broadband-modem-pantech.c     |   2 +-
 plugins/pantech/mm-sim-pantech.c                 |  30 +--
 plugins/pantech/mm-sim-pantech.h                 |  18 +-
 plugins/sierra/mm-common-sierra.c                |   2 +-
 plugins/sierra/mm-common-sierra.h                |  13 +-
 plugins/sierra/mm-sim-sierra.c                   |  22 +-
 plugins/sierra/mm-sim-sierra.h                   |  18 +-
 src/Makefile.am                                  |   4 +-
 src/{mm-sim.c => mm-base-sim.c}                  | 282
 +++++++++++------------
 src/mm-base-sim.h                                | 168 ++++++++++++++
 src/mm-broadband-modem-mbim.c                    |   2 +-
 src/mm-broadband-modem-qmi.c                     |   2 +-
 src/mm-broadband-modem.c                         |  20 +-
 src/mm-iface-modem-3gpp.c                        |   6 +-
 src/mm-iface-modem-simple.c                      |  16 +-
 src/mm-iface-modem.c                             |  22 +-
 src/mm-iface-modem.h                             |   8 +-
 src/mm-sim-mbim.c                                |  80 +++----
 src/mm-sim-mbim.h                                |  18 +-
 src/mm-sim-qmi.c                                 |  72 +++---
 src/mm-sim-qmi.h                                 |  18 +-
 src/mm-sim.h                                     | 168 --------------
 37 files changed, 614 insertions(+), 615 deletions(-)

commit a29382be70ead81b31a1e7f14ad6fc0984082536
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 6 16:20:47 2014 +0200

    sms: rename 'MMSms' to 'MMBaseSms'

    Just so that we don't have same header names in src/ and /libmm-glib.

 src/Makefile.am                 |   4 +-
 src/{mm-sms.c => mm-base-sms.c} | 276
 ++++++++++++++++++++--------------------
 src/mm-base-sms.h               | 126 ++++++++++++++++++
 src/mm-broadband-modem-mbim.c   |   2 +-
 src/mm-broadband-modem-qmi.c    |   2 +-
 src/mm-broadband-modem.c        |   4 +-
 src/mm-iface-modem-messaging.c  |  12 +-
 src/mm-iface-modem-messaging.h  |   6 +-
 src/mm-sms-list.c               |  80 ++++++------
 src/mm-sms-list.h               |   2 +-
 src/mm-sms-mbim.c               |  48 +++----
 src/mm-sms-mbim.h               |   8 +-
 src/mm-sms-qmi.c                |  66 +++++-----
 src/mm-sms-qmi.h                |   8 +-
 src/mm-sms.h                    | 129 -------------------
 15 files changed, 384 insertions(+), 389 deletions(-)

commit 3ca267b01f5496e1d03f31801a14a383acbd33a2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 6 15:55:34 2014 +0200

    bearer: rename 'MMBearer' to 'MMBaseBearer'

    Just so that we don't have same header names in src/ and /libmm-glib.

 plugins/altair/mm-broadband-bearer-altair-lte.c   |  12 +-
 plugins/altair/mm-broadband-bearer-altair-lte.h   |  16 +-
 plugins/altair/mm-broadband-modem-altair-lte.c    |  12 +-
 plugins/huawei/mm-broadband-bearer-huawei.c       |  40 ++--
 plugins/huawei/mm-broadband-bearer-huawei.h       |  14 +-
 plugins/huawei/mm-broadband-modem-huawei.c        |  20 +-
 plugins/icera/mm-broadband-bearer-icera.c         |  28 +--
 plugins/icera/mm-broadband-bearer-icera.h         |  16 +-
 plugins/icera/mm-broadband-modem-icera.c          |  16 +-
 plugins/iridium/mm-bearer-iridium.c               |  30 +--
 plugins/iridium/mm-bearer-iridium.h               |  10 +-
 plugins/iridium/mm-broadband-modem-iridium.c      |   8 +-
 plugins/mbm/mm-broadband-bearer-mbm.c             |  22 +--
 plugins/mbm/mm-broadband-bearer-mbm.h             |  14 +-
 plugins/mbm/mm-broadband-modem-mbm.c              |  12 +-
 plugins/novatel/mm-broadband-bearer-novatel-lte.c |  20 +-
 plugins/novatel/mm-broadband-bearer-novatel-lte.h |  14 +-
 plugins/novatel/mm-broadband-modem-novatel-lte.c  |   6 +-
 plugins/option/mm-broadband-bearer-hso.c          |  28 +--
 plugins/option/mm-broadband-bearer-hso.h          |  14 +-
 plugins/option/mm-broadband-modem-hso.c           |  14 +-
 plugins/sierra/mm-broadband-bearer-sierra.c       |  16 +-
 plugins/sierra/mm-broadband-bearer-sierra.h       |  16 +-
 plugins/sierra/mm-broadband-modem-sierra-icera.c  |   8 +-
 plugins/sierra/mm-broadband-modem-sierra.c        |   8 +-
 src/Makefile.am                                   |  10 +-
 src/{mm-bearer.c => mm-base-bearer.c}             | 227
 +++++++++++-----------
 src/{mm-bearer.h => mm-base-bearer.h}             |  97 ++++-----
 src/mm-bearer-list.c                              |  24 +--
 src/mm-bearer-list.h                              |  10 +-
 src/mm-bearer-mbim.c                              |  42 ++--
 src/mm-bearer-mbim.h                              |  12 +-
 src/mm-bearer-qmi.c                               |  46 ++---
 src/mm-bearer-qmi.h                               |  10 +-
 src/mm-broadband-bearer.c                         |  64 +++---
 src/mm-broadband-bearer.h                         |  24 +--
 src/mm-broadband-modem-mbim.c                     |  16 +-
 src/mm-broadband-modem-qmi.c                      |  12 +-
 src/mm-broadband-modem.c                          |   8 +-
 src/mm-iface-modem-simple.c                       |  50 ++---
 src/mm-iface-modem.c                              |  24 +--
 src/mm-iface-modem.h                              |  22 +--
 42 files changed, 554 insertions(+), 558 deletions(-)

commit ff478e301ea82b0c41776b80c478312bc52a721e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jul 6 13:23:37 2014 +0200

    manager: rename 'MMManager' to 'MMBaseManager'

    Just so that we don't have same header names in src/ and /libmm-glib.

 src/Makefile.am                         |   4 +-
 src/main.c                              |  28 ++++-----
 src/{mm-manager.c => mm-base-manager.c} | 104
 ++++++++++++++++----------------
 src/mm-base-manager.h                   |  64 ++++++++++++++++++++
 src/mm-manager.h                        |  64 --------------------
 5 files changed, 132 insertions(+), 132 deletions(-)

commit 07fd7faea5a24fb1a17e60820cdbd4ee7c8788cc
Author: David McCullough <david.mccullough@accelecon.com>
Date:   Sat Jul 5 01:44:51 2014 +1000

    huawei: enable GPS_UNMANAGED for Huawei modems

    Signed-off-by: David McCullough <david.mccullough@accelecon.com>

 plugins/huawei/mm-broadband-modem-huawei.c | 137
 ++++++++++++++++-------------
 1 file changed, 78 insertions(+), 59 deletions(-)

commit 054c77224d6d97de03c864d64695b5330991e36e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 4 09:52:19 2014 +0200

    option,hso: add missing GPS unamanged capability

 plugins/option/mm-broadband-modem-hso.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit b7cf21dc24d56ec7e5617082480c95fde2cd1525
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jul 4 09:47:49 2014 +0200

    huawei: close GPS port once GPS has been disabled

 plugins/huawei/mm-broadband-modem-huawei.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit f6b0fd3f7bc75bceb6c09e0f1c7fadaa82b53d9c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue May 13 19:05:07 2014 +0200

    libqcdm: new 'reset' tester

    Just like 'modepref', but not doing any mode changes, just
    OFFLINE+RESET.

 .gitignore                |   2 +
 libqcdm/tests/Makefile.am |  11 +-
 libqcdm/tests/reset.c     | 260
 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 272 insertions(+), 1 deletion(-)

commit d73b633639d1549b8543282a4af5a8906e645233
Author: David McCullough <david.mccullough@accelecon.com>
Date:   Wed Jul 2 21:26:16 2014 +1000

    huawei: GPS support for MU609/MU909

    Implement GPS support on the MU609 and MU090 Huawei modules.
    Its highly likely the commands are the same for other Huawei modems
    and it just needs to be activated via udev rules that flag the
    GPS port
    with ID_MM_HUAWEI_GPS_PORT=1.

    There are a lot of options that can be tweaked on the Huawei GPS
    setup,
    this code just chooses a simple default for unassisted, standalone GPS
    operation.

    Signed-off-by: David McCullough <david.mccullough@accelecon.com>

 plugins/huawei/77-mm-huawei-net-port-types.rules |   5 +
 plugins/huawei/mm-broadband-modem-huawei.c       | 322
 +++++++++++++++++++++++
 plugins/huawei/mm-plugin-huawei.c                |  12 +-
 3 files changed, 337 insertions(+), 2 deletions(-)

commit 09eb87f8994551e11ab3844101a4302fa0a3cb99
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 2 12:21:01 2014 +0200

    cinterion: allow 'unmanaged' GPS setup

 plugins/cinterion/mm-common-cinterion.c | 67
 ++++++++++++++++++++++-----------
 1 file changed, 44 insertions(+), 23 deletions(-)

commit 40cdf3bac4e21f20d881f16de38141f66a4b32a1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jul 2 12:12:03 2014 +0200

    option,hso: print port type before parsing

 plugins/option/mm-plugin-hso.c | 1 +
 1 file changed, 1 insertion(+)

commit d43363ef14de14bb944c531ad7a00894f650bcb3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 27 10:41:26 2014 +0200

    option,hso: allow 'unmanaged' GPS setup

 plugins/option/mm-broadband-modem-hso.c | 145
 ++++++++++++++++++--------------
 1 file changed, 83 insertions(+), 62 deletions(-)

commit ad67d68179263355510306c500f31a4d7f8cd87d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 27 10:28:16 2014 +0200

    location: new 'unmanaged' GPS setup

    Standard GPS setup (raw/nmea) will both enable the GPS module and
    take full
    control of the GPS port. This prevents other processes from reading
    the NMEA
    traces from e.g. a tty. In order to handle this, a new 'unmanaged'
    GPS location
    source is introduced, which will just enable/disable the GPS module,
    without
    reading anything from the GPS port. Of course, both raw/nmea and
    unmanaged
    setups cannot be enabled at the same time.

 cli/mmcli-modem-location.c    | 28 +++++++++++++++++++++++++---
 docs/man/mmcli.8              |  7 +++++++
 include/ModemManager-enums.h  | 12 +++++++-----
 src/mm-iface-modem-location.c | 28 +++++++++++++++++++++++++---
 4 files changed, 64 insertions(+), 11 deletions(-)

commit 915a5beac0e10b0246adc9eefdb2dc29eb2c071e
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jul 1 16:30:18 2014 -0500

    bearer-mbim: ignore empty DNS server addresses

 src/mm-bearer-mbim.c | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)

commit 15a3ebbd354017347d3d296980c7a7460c916bae
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Jul 1 15:46:12 2014 +0200

    cinterion: enable GPS location reporting for the PHS8 in QMI-mode

    The PHS8 in QMI-mode doesn't support GPS location retrieval via QMI,
    so we will
    fallback to use the AT-based setup and the TTY for reading NMEA
    traces.

 plugins/Makefile.am                                |   9 +
 plugins/cinterion/mm-broadband-modem-cinterion.c   | 344 +---------------
 .../cinterion/mm-broadband-modem-qmi-cinterion.c   |  92 +++++
 .../cinterion/mm-broadband-modem-qmi-cinterion.h   |  48 +++
 plugins/cinterion/mm-common-cinterion.c            | 445
 +++++++++++++++++++++
 plugins/cinterion/mm-common-cinterion.h            |  51 +++
 plugins/cinterion/mm-plugin-cinterion.c            |  12 +-
 7 files changed, 666 insertions(+), 335 deletions(-)

commit ce5c3f5af6bac03421e329900f0a1eaa1f775eb0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 27 14:17:57 2014 +0200

    ifaces: always include <libmm-glib.h>

    As they all use the 'MMSimpleStatus' type.

 src/mm-iface-modem-firmware.h  | 3 +++
 src/mm-iface-modem-location.h  | 3 +++
 src/mm-iface-modem-messaging.h | 3 +++
 src/mm-iface-modem-oma.h       | 3 +++
 src/mm-iface-modem-time.h      | 3 +++
 5 files changed, 15 insertions(+)

commit 83c8db88193e910981c06ea0d35c3b182dddb49d
Author: David McCullough <david.mccullough@accelecon.com>
Date:   Mon Jun 30 17:10:01 2014 +1000

    huawei: avoid AT^GETPORTMODE in Huawei MU609

    The MU609 modems from Huawei have a bug (confirmed by Huawei)
    that causes
    the modem to reset if AT^GETPORTMODE is issued.

    I have provided and example udev rule I use to disable this command
    as a
    patch,  feel free to drop that if its not acceptable.  Since I
    cannot tell
    the modem type from within the udev rules this is less specific
    than my
    previous code based patch,  but much simpler ;-)

    I have two modems that share the same USB ID,  however,  neither
    supports the
    ^GETPORTMODE command (and one of them crashes when it is issued).
    Perhaps
    someone with a Huawei that supports ^GETPORTMODE can check their
    USB ID's
    and see if they clash.

    Here is a comment from the Huawei devs:
    > We confirmed this is a issue. This is Qualcomm baseband command
    at Data
    > Card. We didn’t delete and block it. We will fix this issue in
    next FW.
    > Thank you very much.

    Sign-off-by: David McCullough <david.mccullough@accelecon.com>

 plugins/huawei/77-mm-huawei-net-port-types.rules | 3 +++
 plugins/huawei/mm-plugin-huawei.c                | 4 +++-
 2 files changed, 6 insertions(+), 1 deletion(-)

commit 8f837b830d5f636a113bacc8c552f990766694fa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 27 12:58:50 2014 +0200

    cinterion: enable GPS location reporting for the PHS8 in AT-mode

    This enables support for GPS location reporting when the PHS8 is
    NOT used in QMI
    mode.

 plugins/Makefile.am                                |   2 +
 plugins/cinterion/77-mm-cinterion-port-types.rules |  11 +
 plugins/cinterion/mm-broadband-modem-cinterion.c   | 347
 ++++++++++++++++++++-
 plugins/cinterion/mm-plugin-cinterion.c            |  19 +-
 4 files changed, 376 insertions(+), 3 deletions(-)

commit e0f3716d2627dead7c8cb5f8f59fa2c126a86d72
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 27 09:08:42 2014 +0200

    modem-helpers: don't return any result if an error happens when
    parsing CPMS=?

    We shouldn't rely on the caller to cleanup intermediate results
    when returning
    an error.

 src/mm-modem-helpers.c         | 42
 ++++++++++++++++++++++++++++++------------
 src/tests/test-modem-helpers.c |  6 +++---
 2 files changed, 33 insertions(+), 15 deletions(-)

commit 4406b1e6ece6507518362cf5fdb53d09243ddfb8
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 25 17:40:06 2014 +0200

    modem-helpers: improve +CMTI indication regex

    Allow whitespaces added in several places, like between the comma
    and the index,
    which is what the Cinterion PHS8 does:
      <CR><LF>+CMTI: "MT", 5<CR><LF>

 src/mm-modem-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9637c1ed3825673103fbbf10005f4547682fbf56
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 25 15:39:45 2014 +0200

    cinterion: update default setting for new SMS indications

    The setup in Cinterion modems goes as follows:
      AT+CNMI=<mode>[, <mt>[, <bm>[, <ds>[, <bfr>]]]]

    For each field, several setups are available, so we could use a
    default value,
    as we were doing until now (+CNMI=2,1,2,2,1).

    BUT, not every Cinterion modem allows the same set of settings. For
    example, the
    new PHS8 only allows '0' for the <ds> value:
      AT+CNMI=?
      +CNMI: (0,1,2),(0,1),(0,2),(0),(1)

    So, instead of hardcoding the setup, try to find the best suitable
    one for each
    modem. We'll parse the +CNMI=? test response to know which values
    are supported
    during the messaging support check, which is run once during
    initialization.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 224
 ++++++++++++++++++++++-
 1 file changed, 215 insertions(+), 9 deletions(-)

commit 58d2806f4cceba6adde76d5df8f0781129bc7e1f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 25 15:04:09 2014 +0200

    cinterion: new 'AT+CNMI=?' parser helper

 plugins/cinterion/mm-modem-helpers-cinterion.c     | 149
 +++++++++++++++++++++
 plugins/cinterion/mm-modem-helpers-cinterion.h     |  11 ++
 .../cinterion/tests/test-modem-helpers-cinterion.c | 118 ++++++++++++++++
 3 files changed, 278 insertions(+)

commit 08ecc147221b6f02c6db83d16b7c241efdfbc91e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 22 17:54:33 2014 +0200

    base-modem: quicker find matching cdc-wdm QMI or MBIM ports

 src/mm-base-modem.c | 250
 ++++++++++------------------------------------------
 1 file changed, 48 insertions(+), 202 deletions(-)

commit b520503686ced256146335d6e51bab5c150188d1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 22 17:41:04 2014 +0200

    huawei: quicker find matching cdc-wdm AT port

    Without using a new GUdevClient.

    Based on a patch from Dan Williams <dcbw@redhat.com>

 plugins/huawei/mm-broadband-modem-huawei.c | 83
 ++++++------------------------
 1 file changed, 15 insertions(+), 68 deletions(-)

commit 7c347aa3ec1d5540c23c20dcb5edd3c6ccb28c24
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 22 17:29:50 2014 +0200

    port: store parent sysfs path in each MMPort

 plugins/cinterion/mm-plugin-cinterion.c |  1 +
 plugins/huawei/mm-plugin-huawei.c       |  1 +
 plugins/longcheer/mm-plugin-longcheer.c |  1 +
 plugins/mtk/mm-plugin-mtk.c             |  3 ++-
 plugins/nokia/mm-plugin-nokia-icera.c   |  1 +
 plugins/option/mm-plugin-hso.c          |  6 +++---
 plugins/option/mm-plugin-option.c       |  1 +
 plugins/pantech/mm-plugin-pantech.c     |  1 +
 plugins/sierra/mm-plugin-sierra.c       |  1 +
 plugins/simtech/mm-plugin-simtech.c     |  1 +
 plugins/telit/mm-plugin-telit.c         |  1 +
 plugins/x22x/mm-plugin-x22x.c           |  1 +
 plugins/zte/mm-plugin-zte.c             |  1 +
 src/mm-base-modem.c                     |  6 ++++++
 src/mm-base-modem.h                     |  1 +
 src/mm-plugin.c                         |  2 ++
 src/mm-port-probe.c                     | 11 +++++++++++
 src/mm-port-probe.h                     |  1 +
 src/mm-port.c                           | 28 +++++++++++++++++++++++++++-
 src/mm-port.h                           | 24 +++++++++++-------------
 20 files changed, 75 insertions(+), 18 deletions(-)

commit 7752c9920d83059836d010a61e44daa4232c4c65
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 16 13:55:46 2014 +0100

    huawei: flag /dev/cdc-wdm as primary if no primary found already

 plugins/huawei/mm-plugin-huawei.c | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

commit e9d016f0886de3946bb5eaa6889f28c44b5b93bf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 20 18:25:48 2013 +0100

    huawei: setup unsolicited message handlers also in the AT cdc-wdm
    ports

 plugins/huawei/mm-broadband-modem-huawei.c | 131
 +++++++++++++++++------------
 1 file changed, 79 insertions(+), 52 deletions(-)

commit 75a5c48345351585ad176b1a56c76309720248e2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 20 00:02:13 2013 +0100

    huawei: use the cdc-wdm port dialing if available

    With the new 'huawei-cdc-ncm' driver in the kernel, we now may get a
    /dev/cdc-wdm AT-capable port exposed by the Huawei device. If so,
    we must use
    this port for NDISDUP dialling in order to get the network interface
    connected.

 plugins/huawei/mm-broadband-bearer-huawei.c |  34 +++++-
 plugins/huawei/mm-broadband-modem-huawei.c  | 167
 ++++++++++++++++++++++++----
 plugins/huawei/mm-broadband-modem-huawei.h  |   3 +
 3 files changed, 177 insertions(+), 27 deletions(-)

commit 293b032149d387109eab2164da6a7139c068c9bb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 22 18:18:33 2014 +0200

    build: ignore test files

 .gitignore | 2 ++
 1 file changed, 2 insertions(+)

commit a691eec6ca6b942152e11edb878a8c338c8b295b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jun 22 17:56:56 2014 +0200

    build: avoid using 'INCLUDES' in Makefile.am

    Avoids warnings during build; e.g.:
        warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or
        '*_CPPFLAGS')

 libqcdm/tests/Makefile.am | 19 ++++++++++++-------
 libwmc/tests/Makefile.am  | 11 ++++++-----
 2 files changed, 18 insertions(+), 12 deletions(-)

commit 9e93e22482a0f418d48d7c3ecdaf38b75df0a775
Author: Prathmesh Prabhu <pprabhu@chromium.org>
Date:   Thu Jun 19 11:20:02 2014 -0700

    bearer-mbim: fix disconnect error handling case split

    The first case, with no error, needs to check that there was no
    original error.
    Currently, if an error occurs and the resulting NwError is parsed
    correctly, the
    case split treats it as a no-error case.

 src/mm-bearer-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 699a25b802f6e18c5c00e4573ac5e3febe9b0093
Author: Prathmesh Prabhu <pprabhu@chromium.org>
Date:   Thu Jun 19 09:01:28 2014 -0700

    modem-helpers-mbim: map more MbimNwError to MMMobileEquipmentError

    Commit 55e40ea b1ae81a in libmbim ("libmbim-glib: add additional GMM
    cause codes to MbimNwError") added one more GMM cause code to
    MbimNwError. This patch maps that to MMMobileEquipmentError.

    This patch requires libmbim >= 1.9.0

 src/mm-modem-helpers-mbim.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 6491d82655ac0ac9dacc6abd4c24f51e3e93443b
Author: Prathmesh Prabhu <pprabhu@chromium.org>
Date:   Wed Jun 18 07:24:57 2014 -0700

    bearer-mbim: disconnect attempt should succeed if bearer is already
    disconnected

    When trying to disconnect bearer, if the modem responds with
    MBIM_STATUS_ERROR_CONTEXT_NOT_ACTIVATED, take it to mean that the
    bearer has
    already been disconnected.

 src/mm-bearer-mbim.c | 64
 ++++++++++++++++++++++++++++++++--------------------
 1 file changed, 39 insertions(+), 25 deletions(-)

commit 9e5020901977456987430e74a18be83fa56cbc4d
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jun 17 23:56:45 2014 -0700

    icera: fix 'sometimes-uninitialized' variable issues

 plugins/icera/mm-broadband-bearer-icera.c | 2 +-
 plugins/icera/mm-modem-helpers-icera.c    | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit ed623f662849a9b784280bcb7e6500b962a7e041
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 16 16:22:51 2014 +0200

    iface-modem-messaging: don't skip MT storage when reading if it's
    the only one

 src/mm-iface-modem-messaging.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

commit 6e490944d07061ca15837963552d023807958feb
Merge: ff4e45791 02f9b926c
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jun 13 14:57:08 2014 -0500

    merge: fix IPv6 support and operation

    Notable changes include reporting all available IP configruation
    information in the bearer IP details, even if the method is DHCP,
    in which case the client should apply the given configuration and
    then proceed with DHCP/PPP/SLAAC/etc addressing mechanisms.

    QMI, MBIM, and some other plugins have been switched to the "STATIC"
    configuration method from DHCP when the firmware supplies all the
    necessary details.

commit 02f9b926cd5776835bcd7c2b77c452e2ff8169d9
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jun 10 01:18:41 2014 -0500

    broadband-bearer-mbm: support IPv6 DNS and use static IPv4
    configuration

 plugins/Makefile.am                        |  16 +++
 plugins/mbm/mm-broadband-bearer-mbm.c      | 161
 ++++++++++++++++++++++++++++
 plugins/mbm/mm-modem-helpers-mbm.c         | 166
 +++++++++++++++++++++++++++++
 plugins/mbm/mm-modem-helpers-mbm.h         |  27 +++++
 plugins/mbm/tests/test-modem-helpers-mbm.c | 162
 ++++++++++++++++++++++++++++
 5 files changed, 532 insertions(+)

commit ca0a567f74f30a719f11b749165731630528834a
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Apr 15 15:22:11 2014 -0500

    broadband-bearer-qmi: support IPv6 configuration and use static
    for IPv4

 src/mm-bearer-qmi.c | 306
 +++++++++++++++++++++++++++++++++-------------------
 1 file changed, 195 insertions(+), 111 deletions(-)

commit 801762835309bdaeb6c6a9758b41c58e03cbdf38
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 4 09:26:03 2014 -0600

    cli: print IP details for all valid bearer types

    Even DHCP or PPP may have some IP details, like the link-local
    address for IPv6 bearers.

 cli/mmcli-bearer.c | 72
 ++++++++++++++++++++++++++++--------------------------
 1 file changed, 38 insertions(+), 34 deletions(-)

commit 7673a1d3a35c3e0a26301b5c605b2f68d4b58de1
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Feb 28 10:22:28 2014 -0600

    bearer-mbim: use DHCP method when only an IPv6 link-local address
    is found

    When only given a link-local address, then SLAAC must be used to
    retrieve the real prefix.

 src/mm-bearer-mbim.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 33eba0393d259b6dc97e991be6c1dc4585e15f5d
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Feb 27 13:01:38 2014 -0600

    api: update documentation about IPv6 bearer methods

    Even if the IPv6 bearer method is DHCP, the client should use SLAAC
    (eg, IPv6 Router Solicitations, Router Adverisements, and possibly
    DHCPv6) to determine the correct prefix and DNS information.  In
    some cases, even with the DHCP method, and IPv6 "address" will be
    given which should be assigned to the data port before beginning
    an IP addressing as the mobile network may expect this address
    to be used.

 include/ModemManager-enums.h                           |  8 ++++++--
 introspection/org.freedesktop.ModemManager1.Bearer.xml | 13 +++++++++----
 2 files changed, 15 insertions(+), 6 deletions(-)

commit 6e5d013eb12d6ee134a59d4131128374af139fb3
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 18 12:16:54 2014 -0600

    broadband-bearer-sierra: use Icera authentication for Icera devices

    Devices with Icera chipsets (USB305) don't support the Qualcomm
    proprietary $QCPDPP command, and we must use the Icera command
    instead.  Otherwise authenticated bearer creation will fail.

 plugins/sierra/mm-broadband-bearer-sierra.c      | 90
 ++++++++++++++++++++++--
 plugins/sierra/mm-broadband-bearer-sierra.h      |  3 +
 plugins/sierra/mm-broadband-modem-sierra-icera.c |  1 +
 plugins/sierra/mm-broadband-modem-sierra.c       |  1 +
 4 files changed, 89 insertions(+), 6 deletions(-)

commit a416d8056c9f9bbc8b926ffbe8f066859054a990
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 17 12:32:02 2014 -0600

    broadband-bearer-icera: add IPv6 support

    Split out the %IPDPADDR parsing into a helper and add testcases
    for it,
    and add support for IPv6 handling.  If the returned IPv6 is
    link-local,
    the address should be assigned to the interface and SLAAC performed to
    retrieve the actual IPv6 prefix and RDNSS/DNSSD information.

 plugins/Makefile.am                            |  17 +-
 plugins/icera/mm-broadband-bearer-icera.c      | 187 ++++++-----------
 plugins/icera/mm-modem-helpers-icera.c         | 277
 +++++++++++++++++++++++++
 plugins/icera/mm-modem-helpers-icera.h         |  28 +++
 plugins/icera/tests/test-modem-helpers-icera.c | 191 +++++++++++++++++
 5 files changed, 571 insertions(+), 129 deletions(-)

commit e68d51f439190eb5434581c8db072687028f0b55
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Feb 19 12:06:55 2014 -0600

    broadband-bearer: also return IPv6 config if IPv6 context is used

    If the subclass doesn't override IP config retrieval, and IPv6 was
    used when connecting the bearer, return IPv6 config too.

 src/mm-broadband-bearer.c | 29 +++++++++++++++++++++--------
 1 file changed, 21 insertions(+), 8 deletions(-)

commit e9395d83e388aba8b46f2fbe371c247c42bd6452
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Feb 20 12:29:27 2014 -0600

    broadband-bearer: pass the IP family to subclasses when getting
    IP config

    Subclasses may need to know which IP families were used for the setup
    so they can return the correct IP configuration.  We can't just use
    the MMBearer default_ip_family becuase that isn't the family that
    was actually used during the connection.

 plugins/icera/mm-broadband-bearer-icera.c | 1 +
 plugins/option/mm-broadband-bearer-hso.c  | 1 +
 src/mm-broadband-bearer.c                 | 1 +
 src/mm-broadband-bearer.h                 | 1 +
 4 files changed, 4 insertions(+)

commit 502a5dbaf5555515cf6a81d69403aaf6aa6ea656
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 18 12:19:25 2014 -0600

    broadband-bearer-sierra: use correct modem type when creating bearer

    MMBroadbandModemSierraIcera is not a subclass of
    MMBroadbandModemSierra, so we cannot cast it to that type when
    passing it to bearer creation.  Luckily the bearer doesn't
    care, so just downgrade the type to MMBroadbandModem.

 plugins/sierra/mm-broadband-bearer-sierra.c      | 2 +-
 plugins/sierra/mm-broadband-bearer-sierra.h      | 2 +-
 plugins/sierra/mm-broadband-modem-sierra-icera.c | 2 +-
 plugins/sierra/mm-broadband-modem-sierra.c       | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

commit 1e30bad1741a7322142e7cf129f92cdfff4f9216
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Apr 10 18:31:39 2014 -0500

    libmm-glib: always return all bearer properties

    IPv6 may have addresses and other information even if the bearer's
    method is DHCP.

 libmm-glib/mm-bearer-ip-config.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

commit ff4e45791ddac7086c6b45b9b732c67d54dc6c1a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jun 13 16:54:06 2014 +0200

    build: use the correct pkg-config in checks

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6313f5707e7ff69f81fcb80784196f35ddd7c56f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 11 17:14:18 2014 +0200

    build: look for gdbus-codegen through pkg-config

 configure.ac                           |  2 ++
 libmm-glib/generated/Makefile.am       | 10 +++++-----
 libmm-glib/generated/tests/Makefile.am |  2 +-
 3 files changed, 8 insertions(+), 6 deletions(-)

commit 8ca6c6cbad0d56cdda99b95795ab308c6fe3c493
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Jun 11 17:12:52 2014 +0200

    build: glib-genmarshal no longer needed

 configure.ac | 2 --
 1 file changed, 2 deletions(-)

commit 235fb874c993d95bd128f28d75beabad4d83baf7
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jun 9 14:15:05 2014 -0700

    modem-helpers-mbim: map more MbimNwError to MMMobileEquipmentError

    Commit b1ae81a in libmim ("libmbim-glib: add additional GMM cause
    codes
    to MbimNwError") added additional GMM cause codes to MbimNwError. This
    patch maps some of those MbimNwError to MMMobileEquipmentError.

    This patch requires libmbim >= 1.9.0

 configure.ac                |  2 +-
 src/mm-modem-helpers-mbim.c | 24 ++++++++++++++++++++++++
 2 files changed, 25 insertions(+), 1 deletion(-)

commit 0b975f226627b4a3197a46734c11c8d83fbff884
Author: Thieu Le <thieule@chromium.org>
Date:   Fri Jun 6 12:35:42 2014 -0700

    altair-lte: update PCO to handle latest VZW deployment

    Update PCO handling code such that it conforms to the latest VZW
    network
    behavior. This includes updating the way we mark a SIM as provisioned.
    In the old network, only provisioned SIMs can attach to the network.
    Now, unprovisioned SIMs can attach and connect to the network.

    Change-Id: Ie454f6fb6d8764161f167e93a4235bb93fbde59a

 plugins/altair/mm-broadband-modem-altair-lte.c     | 51
 +++-------------------
 plugins/altair/mm-modem-helpers-altair-lte.c       | 28 ++++++++----
 plugins/altair/mm-modem-helpers-altair-lte.h       |  4 +-
 .../altair/tests/test-modem-helpers-altair-lte.c   | 30 +++++++++----
 src/mm-broadband-modem.c                           |  9 +---
 5 files changed, 48 insertions(+), 74 deletions(-)

commit af810a0a87642a0947ec1692b4952105e893bdbf
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jun 5 23:20:45 2014 -0700

    bearer-mbim: pass the right GError pointer to response parsers

 src/mm-bearer-mbim.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit aedcb376a85c059ffe667ef2a10c7577bfcf3ad4
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jun 4 14:10:22 2014 -0500

    iface-modem: make "signal quality updated" log message debug not info

    Otherwise your logs fill up if the signal quality changes, which is
    pretty frequently for many devices.

 src/mm-iface-modem.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit dcb627a61f33076169ef01374e9f2bb05327eb29
Author: Yegor Yefremov <yegorslists@googlemail.com>
Date:   Wed May 28 16:46:19 2014 +0200

    trivial: resolve maybe-uninitialized warnings

    Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>

 src/mm-port-serial.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a038ff172b086181ba656a42529992e248ce940c
Author: Thieu Le <thieule@chromium.org>
Date:   Mon Jun 2 18:48:09 2014 -0700

    altair-lte: handle optional quotes around sim refresh

    Some firmware version sends quotes around SIMREFRESH, this patch
    adds support
    for those versions.

 plugins/altair/mm-broadband-modem-altair-lte.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8680e066b5530fedcbb1dc14c446443cbc11db9a
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jun 2 14:27:07 2014 -0700

    cinterion: fix memory leaks in tests

 plugins/cinterion/tests/test-modem-helpers-cinterion.c | 2 ++
 1 file changed, 2 insertions(+)

commit 7c389511d8d1f86facf93f8884526386457fac85
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jun 2 14:26:59 2014 -0700

    tests: fix more memory leaks

 src/tests/test-modem-helpers.c | 16 ++++++++++++----
 src/tests/test-sms-part-3gpp.c |  1 +
 src/tests/test-sms-part-cdma.c |  1 +
 3 files changed, 14 insertions(+), 4 deletions(-)

commit 830ef27bac5e3ba54bb3f273b7e3f8b98f572a87
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jun 2 13:35:43 2014 -0700

    libmm-glib: fix a memory leak of GMutex

 libmm-glib/mm-modem.c | 1 +
 1 file changed, 1 insertion(+)

commit c9dc702eaa50ea54981b1bcfb9e2f2492a2f9b33
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Jun 2 09:25:36 2014 +0200

    plugin-manager: fix defer-until-suggested probing tasks

    If a task is marked as defer-until-suggested (e.g. a wwan port)
    and there was
    already a 'best' plugin set in the parent device, use it to
    complete the
    deferred task.

    This may happen in e.g. MBIM devices if the WWAN port arrives later
    than the
    already probed /dev/cdc-wdm character device.

 src/mm-plugin-manager.c | 165
 +++++++++++++++++++++++++++++-------------------
 1 file changed, 99 insertions(+), 66 deletions(-)

commit 239ab6ca6b6e8af45a25a32692cdc10e5f0071f1
Author: Bjørn Mork <bjorn@mork.no>
Date:   Mon Jun 2 15:33:52 2014 +0200

    blacklist: ignore Infineon flashloader device

    A device like this shows up briefly while the Sierra EM7345 is
    booting:

    P:  Vendor=8087 ProdID=0716 Rev= 0.00
    C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=500mA
    I:* If#= 0 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
    E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

    We do have a driver identifying this as an "Infineon Flashloader"
    device.  It is not a modem in any case, and should be ignored.

    Signed-off-by: Bjørn Mork <bjorn@mork.no>

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 4213d2fe69ed66b2541f8245ad4e2f2d1a3ea61f
Author: Ben Chan <benchan@chromium.org>
Date:   Sat May 31 18:03:30 2014 -0700

    broadband-modem: report an error when enabling a modem in FAILED state

    If the initialization of the Modem3gpp / ModemCdma interface fails,
    the
    modem transitions to the FAILED state. But since the Modem interface
    is
    already initialized and exported over DBus, it is possible to
    invoke the
    Enable method on the Modem interface. This patch changes
    MMBroadbandModem to report an error if one tries to enable the
    modem in
    the FAILED state instead of raising an assertion.

 src/mm-broadband-modem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit cdb334649dcf317672b50943466ba9296e41924b
Author: Thieu Le <thieule@chromium.org>
Date:   Fri May 30 13:53:39 2014 -0700

    altair-lte: fix memory leak in PCO parsing code

    This patch fixes memory leaks in PCO parsing code detected by
    LeakSanitizer.

 plugins/altair/mm-modem-helpers-altair-lte.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

commit 6e7bae9dc5be47b0a41ad3cee0212e1793beb073
Author: Ben Chan <benchan@chromium.org>
Date:   Thu May 29 23:19:38 2014 -0700

    tests: fix memory leaks

    This patch fixes memory leaks in unit tests detected by LeakSanitizer.

 src/tests/test-modem-helpers.c    | 10 ++++++++++
 src/tests/test-qcdm-serial-port.c |  1 +
 src/tests/test-sms-part-3gpp.c    |  7 ++++++-
 3 files changed, 17 insertions(+), 1 deletion(-)

commit c2d3704aa5ca67a7b5836717c6f98567a6e80390
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu May 29 10:10:16 2014 +0200

    api,doc: add missing documentation for the new GPRS errors

 include/ModemManager-errors.h | 3 +++
 1 file changed, 3 insertions(+)

commit c8f62fb4de0420a1c0876b3076a1a1a903bd8bff
Author: Ben Chan <benchan@chromium.org>
Date:   Wed May 28 23:13:15 2014 -0700

    altair-lte: ignore invalid bands in %BANDCAP / %GETCFG="BAND"
    responses

    Due to a firmware issue, the modem may reply an invalid band value,
    such
    as 0, for the %BANDCAP or %GETCFG="BAND" command. This patch moves
    parse_bands_response() to mm-modem-helpers-altair-lte.c, modifies the
    function to ignore any invalid band outside the range of E-UTRAN
    operating bands, and add unit tests for the function.

 plugins/altair/mm-broadband-modem-altair-lte.c     | 35
 ++-----------------
 plugins/altair/mm-modem-helpers-altair-lte.c       | 39
 ++++++++++++++++++++++
 plugins/altair/mm-modem-helpers-altair-lte.h       |  3 ++
 .../altair/tests/test-modem-helpers-altair-lte.c   | 29 ++++++++++++++++
 4 files changed, 73 insertions(+), 33 deletions(-)

commit 8cdf45c66c3c2660ed7e49e1edf241b30f7c037c
Author: Ben Chan <benchan@chromium.org>
Date:   Wed May 28 23:13:14 2014 -0700

    core: add E-UTRAN operating band 44

    E-UTRAN operating band 44 is specified in 3GPP release 11 (see Table
    5.5-1 "E-UTRA operating bands" in 3GPP TS 36.101 version 11.2.0
    Release
    11).

 include/ModemManager-enums.h | 2 ++
 src/mm-modem-helpers-qmi.c   | 4 +++-
 2 files changed, 5 insertions(+), 1 deletion(-)

commit 54b75e3bcd87f026fe449349691fbc096932749e
Author: Ben Chan <benchan@chromium.org>
Date:   Wed May 28 23:12:43 2014 -0700

    qcdm: fix memory leaks in tests

 libqcdm/tests/test-qcdm-result.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit f0542aa8092ed6a8f91bbc406b6c76bd6fd4c734
Author: Ben Chan <benchan@chromium.org>
Date:   Wed May 28 23:12:30 2014 -0700

    cli: show a nicer modem description if manufacturer or model is
    unknown

 cli/mmcli-manager.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit 08d8524b17fb52b08657cec287f2bf3e20f3e42f
Author: Thieu Le <thieule@chromium.org>
Date:   Tue May 27 14:27:51 2014 -0700

    altair-lte: prevent connect while processing sim refresh

    This patch modifies the Altair LTE plugin to fail connect requests
    while the
    modem has detached from the network when processing sim refresh.

 plugins/altair/mm-broadband-bearer-altair-lte.c | 14 ++++++++++++++
 plugins/altair/mm-broadband-modem-altair-lte.c  | 19 ++++++++++++++++++-
 plugins/altair/mm-broadband-modem-altair-lte.h  |  2 ++
 3 files changed, 34 insertions(+), 1 deletion(-)

commit 551197b4e51a6caf096cf0957d8bb69583b52c09
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 20 09:56:50 2014 -0700

    plugins: remove unnecessary MM_BASE_MODEM() casts

 plugins/huawei/mm-sim-huawei.c              |  2 +-
 plugins/icera/mm-broadband-bearer-icera.c   |  4 ++--
 plugins/mbm/mm-broadband-bearer-mbm.c       |  2 +-
 plugins/option/mm-broadband-bearer-hso.c    |  4 ++--
 plugins/sierra/mm-broadband-bearer-sierra.c | 10 +++++-----
 plugins/sierra/mm-sim-sierra.c              |  2 +-
 6 files changed, 12 insertions(+), 12 deletions(-)

commit c8ad177db9e215d46069b7488af660f8e0c7547a
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 20 09:54:18 2014 -0700

    sms: remove unnecessary MM_BASE_MODEM() casts

 src/mm-sms.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit d375224ffebd721c08c609a097ebebe86a258a3e
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 20 09:54:12 2014 -0700

    broadband-bearer: remove unnecessary MM_BASE_MODEM() casts

 src/mm-broadband-bearer.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 3d378bef5dbe483c8a1aeec776ed0382b28e9664
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 20 09:53:47 2014 -0700

    tests: consistently use spaces for indentation

 plugins/tests/test-fixture.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 37b0402ee52ee98271d75681fee5dd4de0bebb8f
Author: Ben Chan <benchan@chromium.org>
Date:   Mon May 19 23:46:55 2014 -0700

    core: minor coding style fixes

 src/main.c                        |  2 +-
 src/mm-auth-provider-polkit.c     |  8 ++--
 src/mm-base-modem.c               |  2 +-
 src/mm-bearer-list.c              |  2 +-
 src/mm-bearer-mbim.c              |  2 +-
 src/mm-bearer-qmi.c               |  2 +-
 src/mm-bearer-qmi.h               |  2 +-
 src/mm-bearer.c                   |  2 +-
 src/mm-broadband-bearer.c         |  2 +-
 src/mm-broadband-modem-mbim.c     |  2 +-
 src/mm-broadband-modem-mbim.h     |  8 ++--
 src/mm-broadband-modem-qmi.c      |  2 +-
 src/mm-broadband-modem.c          |  2 +-
 src/mm-charsets.c                 | 86
 +++++++++++++++++++--------------------
 src/mm-device.c                   |  2 +-
 src/mm-log.h                      | 18 ++++----
 src/mm-manager.c                  |  6 +--
 src/mm-modem-helpers.c            | 18 ++++----
 src/mm-plugin-manager.c           |  6 +--
 src/mm-port-probe.c               |  4 +-
 src/mm-port-serial-gps.c          |  2 +-
 src/mm-port-serial.c              |  2 +-
 src/mm-sim.c                      |  2 +-
 src/mm-sms-list.c                 |  2 +-
 src/mm-sms-part-cdma.c            | 16 ++++----
 src/mm-sms.c                      |  2 +-
 src/tests/test-modem-helpers.c    | 66 +++++++++++++++---------------
 src/tests/test-qcdm-serial-port.c | 12 +++---
 28 files changed, 141 insertions(+), 141 deletions(-)

commit d4177f554bab5e596aeb8a2f80ad8466d837e799
Author: Ben Chan <benchan@chromium.org>
Date:   Mon May 19 23:46:27 2014 -0700

    cli: consistently use spaces for indentation

 cli/mmcli-bearer.c          | 18 ++++-----
 cli/mmcli-common.c          | 18 ++++-----
 cli/mmcli-manager.c         | 18 ++++-----
 cli/mmcli-modem-3gpp.c      | 16 ++++----
 cli/mmcli-modem-cdma.c      | 16 ++++----
 cli/mmcli-modem-firmware.c  | 16 ++++----
 cli/mmcli-modem-location.c  | 16 ++++----
 cli/mmcli-modem-messaging.c | 16 ++++----
 cli/mmcli-modem-oma.c       | 16 ++++----
 cli/mmcli-modem-signal.c    | 16 ++++----
 cli/mmcli-modem-simple.c    | 16 ++++----
 cli/mmcli-modem-time.c      | 16 ++++----
 cli/mmcli-modem.c           | 18 ++++-----
 cli/mmcli-sim.c             | 18 ++++-----
 cli/mmcli-sms.c             | 18 ++++-----
 cli/mmcli.c                 | 96
 ++++++++++++++++++++++-----------------------
 16 files changed, 174 insertions(+), 174 deletions(-)

commit 5d47478d06944cb420a78982604a0eded5d1c9e2
Author: Ben Chan <benchan@chromium.org>
Date:   Mon May 19 23:46:12 2014 -0700

    libmbim-glib: consistently use spaces for indentation

 libmm-glib/mm-common-helpers.c | 84
 +++++++++++++++++++++---------------------
 1 file changed, 42 insertions(+), 42 deletions(-)

commit 7c656cce47cb99099b0bef3ecbea932798d0ceb4
Author: Ben Chan <benchan@chromium.org>
Date:   Mon May 19 23:45:55 2014 -0700

    mbm: minor coding style fixes

 plugins/mbm/mm-broadband-bearer-mbm.c | 4 ++--
 plugins/mbm/mm-broadband-modem-mbm.c  | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit bdab75d0b8e7bbdd1a6a561c819a801f5498406a
Author: Ben Chan <benchan@chromium.org>
Date:   Mon May 19 23:45:48 2014 -0700

    option,hso: minor coding style fixes

 plugins/option/mm-broadband-bearer-hso.c   | 16 ++++++++--------
 plugins/option/mm-broadband-modem-hso.c    |  2 +-
 plugins/option/mm-broadband-modem-option.c |  2 +-
 3 files changed, 10 insertions(+), 10 deletions(-)

commit f5d7213a3cd5f1026d131c70e97c8158d4c92a42
Author: Ben Chan <benchan@chromium.org>
Date:   Mon May 19 23:45:35 2014 -0700

    icera: minor coding style fixes

 plugins/icera/mm-broadband-bearer-icera.c | 4 ++--
 plugins/icera/mm-broadband-modem-icera.c  | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit a0d15f23c9c1ec719f4cba23574203d3da38dada
Author: Ben Chan <benchan@chromium.org>
Date:   Sat May 17 00:10:17 2014 -0700

    huawei: minor coding style fixes

 plugins/huawei/mm-broadband-bearer-huawei.c | 24 ++++++++++++------------
 plugins/huawei/mm-broadband-bearer-huawei.h | 12 ++++++------
 plugins/huawei/mm-broadband-modem-huawei.c  |  2 +-
 3 files changed, 19 insertions(+), 19 deletions(-)

commit adcda0a544b5e70ab63c4e032e59d6f8585ce53c
Author: Ben Chan <benchan@chromium.org>
Date:   Mon May 12 23:24:05 2014 -0700

    broadband-modem-mbim: refine access technology updates

    This patch refines the access technology updates on a MBIM modem by
    observing the MBIM_CID_PACKET_SERVICE notifications in addition to the
    MBIM_CID_REGISTER_STATE notifications. If a MBIM_CID_PACKET_SERVICE
    notification indicates the highest available data class, the current
    access technology is updated to reflect that. Otherwise, the access
    technology is updated according to the available data classes
    indicated
    by a MBIM_CID_REGISTER_STATE notification.

 src/mm-broadband-modem-mbim.c | 82
 +++++++++++++++++++++++++++++++++++++------
 1 file changed, 71 insertions(+), 11 deletions(-)

commit 66e4b0d6034c3c6b29ba3321ae45cab5b9d7b078
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 7 16:11:50 2014 -0500

    api,errors: define new EPS-related errors

    We can use these to return better error messages if an operator
    does not support the default subscription APN functionality,
    and the user does not give us an APN.

 include/ModemManager-errors.h | 3 +++
 1 file changed, 3 insertions(+)

commit 8e3b67bf44bf339a9b341ab02d67af92d6d185e2
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 7 13:46:38 2014 -0500

    broadband-bearer-qmi: don't set APN if it isn't given

    If the APN was empty (implying that the modem/network should choose
    the default APN) this caused an assertion in libqmi.  Just don't
    set an APN if we aren't given one.

 src/mm-bearer-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 828e2e00eb8e4ced54ec51fb61bfdb37df526935
Author: Martin Pitt <martin.pitt@ubuntu.com>
Date:   Wed Apr 30 15:57:30 2014 +0200

    libmm-glib: Initialize result array

    In mm_modem_messaging_get_supported_storages(), initialize array to
    avoid a
    potential crash with an uninitialized value, and a build failure
    due to

    mm-modem-messaging.c:168:24: error: 'array' may be used uninitialized
    in this
    function [-Werror=maybe-uninitialized]
         *n_storages = array->len;

    https://bugzilla.gnome.org/show_bug.cgi?id=729267

 libmm-glib/mm-modem-messaging.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0126eb63114ddd5099a4f63dac67e190ccd00706
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon May 5 20:25:31 2014 +0200

    sierra: PCSTATE=0 needs to be treated as low-power mode

    OFF only applies to a real shutdown, where the modem no longer
    replies.

 plugins/sierra/mm-common-sierra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 771c83a73a3bd4ddf5045b86bb3d64d71f9d02c1
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Apr 30 00:59:21 2014 -0700

    huawei: treat CFUN 0 as low power state

    The Huawei plugin uses +CFUN=0 to put the modem in low power mode as
    +CFUN=4 isn't supported by all Huawei modems. This patch modifies the
    plugin to treat CFUN 0 as the 'LOW' power state, which is necessary as
    otherwise ModemManager would prevent the modem from transitioning
    to the
    'ON' power state.

 plugins/huawei/mm-broadband-modem-huawei.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

commit ae99c452eb46d0f0c36a8e44e627994ce261a726
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Apr 11 09:27:51 2014 +0200

    examples: add modem watcher example in JS

 configure.ac                                       |  1 +
 examples/Makefile.am                               |  2 +-
 examples/modem-watcher-javascript/Makefile.am      |  5 ++
 examples/modem-watcher-javascript/README           | 22 ++++++
 examples/modem-watcher-javascript/main.js          | 11 +++
 .../modem-watcher-javascript                       | 20 +++++
 examples/modem-watcher-javascript/modemWatcher.js  | 89
 ++++++++++++++++++++++
 7 files changed, 149 insertions(+), 1 deletion(-)

commit ebff76cfaa0e5809ef5883d7588f55dc3e11f828
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Apr 10 19:05:13 2014 +0200

    examples: add modem watcher example in python

 Makefile.am                                        |   2 +-
 configure.ac                                       |   2 +
 examples/Makefile.am                               |   1 +
 examples/modem-watcher-python/Makefile.am          |   4 +
 examples/modem-watcher-python/ModemWatcher.py      | 108
 +++++++++++++++++++++
 examples/modem-watcher-python/README               |  22 +++++
 examples/modem-watcher-python/modem-watcher-python |  42 ++++++++
 7 files changed, 180 insertions(+), 1 deletion(-)

commit 79b34b77b4703eaaf7e007c294325a660a51bc9e
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Apr 2 23:34:42 2014 -0700

    port-probe: remove the 3s wait before opening a MBIM port

    The 3s wait before opening a MBIM port is not necessary for handling a
    delayed response to the MBIM OPEN messages. mbim_device_open() already
    retries the MBIM OPEN message when the MBIM device does not respond.

 src/mm-port-probe.c | 23 ++++++-----------------
 1 file changed, 6 insertions(+), 17 deletions(-)

commit 09d92ef3338effa85eff7f4efa416afe11f780a0
Author: David (Pololu) <dev-david@pololu.com>
Date:   Tue Apr 1 16:26:26 2014 -0700

    blacklist: All devices from Pololu Corporation except some possible
    future products.

    We make many USB virtual COM port devices, none of which are modems.
    ModemManager's automatic attempts to access those devices can cause
    problems.

    That might change in the future, so we have left two potential
    future product IDs off of the blacklist.

 src/77-mm-usb-device-blacklist.rules | 6 ++++++
 1 file changed, 6 insertions(+)

commit 1af1d1fb780f9f53f4c924818d261dc3107c2471
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Apr 1 18:29:25 2014 +0200

    novatel: read HDR signal quality

    (ttyUSB0): --> 'AT$NWRSSI<CR>'
    (ttyUSB0): <-- '<CR><LF><CR><CR><LF> HDR RSSI=
    93<CR><LF><CR><LF><CR><LF>OK<CR><LF>

 plugins/novatel/mm-broadband-modem-novatel.c | 2 ++
 1 file changed, 2 insertions(+)

commit 2a5230c93e054a96902626740f2e364421f4565e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Mar 25 17:13:59 2014 +0100

    docs,libmm-glib: add methods to manage the MTU in the MMBearerIpConfig

 docs/reference/libmm-glib/libmm-glib-sections.txt | 2 ++
 1 file changed, 2 insertions(+)

commit a0ddcaa7a485580f3bcb88cff819f002a30fb4d0
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Mar 25 00:18:34 2014 -0700

    bearer-mbim: update MTU in bearer IP config properties

    This patch modifies MMBearerMbim to update the MTU value in the bearer
    IPv4 and IPv6 config property when such information is available
    in the
    MBIM_CID_IP_CONFIGURATION response.

 src/mm-bearer-mbim.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit c184c2f1be65fa0af966771fe2d6d0509bb057f3
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Mar 25 00:18:33 2014 -0700

    cli: print MTU in bearer IP config properties

 cli/mmcli-bearer.c | 86
 +++++++++++++++++++++++++++++++-----------------------
 1 file changed, 50 insertions(+), 36 deletions(-)

commit e4db8c5302e61b84d796e9a84f57fa51cfce2577
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Mar 25 00:18:32 2014 -0700

    api: add MTU to bearer IP config properties

    This patch adds a 'mtu' value to the Ip4Config and Ip6Config
    property of
    a Bearer object, which indicates the value of the maximum transmission
    unit for the established connection when such information is available
    (e.g. via QMI_WDS_GET_RUNTIME_SETTINGS on a QMI modem or
    MBIM_CID_IP_CONFIGURATION on a MBIM modem).

 .../org.freedesktop.ModemManager1.Bearer.xml       | 18 ++++++++++
 libmm-glib/mm-bearer-ip-config.c                   | 39
 ++++++++++++++++++++++
 libmm-glib/mm-bearer-ip-config.h                   |  3 ++
 3 files changed, 60 insertions(+)

commit 4de728447a1b5825e5a9bd29cc54f196540fb6c1
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Mar 25 00:17:50 2014 -0700

    bearer-mbim: fix a misleading comment

 src/mm-bearer-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit aa9af0ba68aaae7dae4c28d6a76f7b829360f40a
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Mar 24 22:37:53 2014 -0700

    introspection: fix typos

 introspection/org.freedesktop.ModemManager1.Bearer.xml          |
 6 +++---
 introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

commit e9cae166cc1e67d93e2497ab2ec381980669808f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 24 16:24:48 2014 +0100

    blacklist: ignore empiriKit science lab controller device

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 4827933f0c4a85febb39bfed05329389f5bc64dd
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Mar 18 00:06:58 2014 -0700

    port-serial: fix command context completion when clearing command
    queue

    This patch removes an extra invocation of
    g_simple_async_result_complete
    on the result associated with each command context in the command
    queue
    when mm_port_serial_close clears the queue. It also changes the
    code to
    complete the results in idle, which avoids a nested invocation of
    mm_port_serial_close. That could happen if the completion of the
    result
    calls mm_port_serial_close again (e.g. via at_command_context_free,
    at_sequence_context_free in mm-base-modem-at.c). The nested invocation
    of mm_port_serial_close could create undesirable effects (e.g. the
    assertion on open_count > 0 fails in case of a forced close).

 src/mm-port-serial.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 31a19c2299b10c51475a778880be2d0ef863f6b6
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Mar 13 15:45:08 2014 -0700

    broadband-modem,modem-helpers: improve +CGDCONT? error handling

    This patch fixes the following crash, which happens when
    MMBroadbandBearer tries to parse the NULL response of a failed
    +CGDCONT?
    query. It also fixes a leak in parse_pdp_list where it fails to
    free the
    GError object return by mm_3gpp_parse_cgdcont_read_response.

    Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )

    0x7feb15564c11   [ModemManager]            - mm-modem-helpers.c:850
    mm_3gpp_parse_cgdcont_read_response
    0x7feb15518e51   [ModemManager]            - mm-broadband-bearer.c:927
    parse_pdp_list
    0x7feb1551ada2   [ModemManager]            - mm-base-modem-at.c:189
    at_sequence_parse_response
    0x7feb151d4b86   [libgio-2.0.so.0.3400.3]  - gsimpleasyncresult.c:775
    g_simple_async_result_complete
    0x7feb1556e223   [ModemManager]            - mm-port-serial-at.c:355
    serial_command_ready
    0x7feb151d4b86   [libgio-2.0.so.0.3400.3]  - gsimpleasyncresult.c:775
    g_simple_async_result_complete
    0x7feb1556a834   [ModemManager]            - mm-port-serial.c:141
    command_context_complete_and_free
    0x7feb1556bc26   [ModemManager]            - mm-port-serial.c:734
    port_serial_got_response
    0x7feb1556c51a   [ModemManager]            - mm-port-serial.c:758
    port_serial_timed_out
    0x7feb1508cc33   [libglib-2.0.so.0.3400.3] - gmain.c:4026
    g_timeout_dispatch
    0x7feb1508c087   [libglib-2.0.so.0.3400.3] - gmain.c:2715
    g_main_context_dispatch
    0x7feb1508c437   [libglib-2.0.so.0.3400.3] - gmain.c:3290
    g_main_context_iterate
    0x7feb1508c891   [libglib-2.0.so.0.3400.3] - gmain.c:3484
    g_main_loop_run
    0x7feb1550ad16   [ModemManager]            - main.c:154
    main
    0x7feb14a9e9c6   [libc-2.15.so]            - libc-start.c:234
    __libc_start_main
    0x7feb1550a808   [ModemManager             + 0x00023808

 src/mm-broadband-bearer.c | 14 ++++++++++++--
 src/mm-modem-helpers.c    |  2 +-
 2 files changed, 13 insertions(+), 3 deletions(-)

commit 6bdcd7cb226c75e72a4ef351adb257ef92e74578
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Mar 9 22:15:16 2014 +0100

    data: add icon

 data/ModemManager-icon.svg | 197
 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 197 insertions(+)

commit 4eb733c07c68da40c492d44b46d05e222b5ac6f1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Mar 7 12:29:56 2014 +0100

    wavecom: avoid +COPS=0 if already in automatic registration mode

    AT+COPS=0 in a FXT009 may end up making the device stuck in a
    weird state
    in which it only replies "+CME ERROR: 515" to every AT command. So
    try to
    avoid this command whenever possible.

 plugins/wavecom/mm-broadband-modem-wavecom.c | 174
 ++++++++++++++++++++++++++-
 1 file changed, 170 insertions(+), 4 deletions(-)

commit f14a2ea14eec298e023225f48fa8082ff0570f27
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Mar 4 00:29:20 2014 -0800

    broadband-modem-mbim: handle subscriber info updates

    Subscriber information like MSISDNs / MDNs may not be readily
    available
    when MMIfaceModem queries for it during modem initialization.

    This patch modifies MMBroadbandModemMbim to subscribe to the
    MBIM_CID_SUBSCRIBER_READY_STATUS notification and update the
    'OwnNumbers' property of the Modem interface when the information
    becomes available.

 src/mm-broadband-modem-mbim.c | 53
 ++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 47 insertions(+), 6 deletions(-)

commit a7da3fc387749182bfdd680b8b4c6526ea65e021
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Feb 18 12:43:26 2014 -0800

    broadband-modem-mbim: update to use
    mbim_message_device_service_subscribe_list

    libmbim renames 'MBIM_CID_DEVICE_SERVICE_SUBSCRIBER_LIST' to
    'MBIM_CID_DEVICE_SERVICE_SUBSCRIBE_LIST' to be consistent with
    the MBIM
    specification. This patch updates MMBroadbandModemMbim accordingly.

 src/mm-broadband-modem-mbim.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit a2ef167ccd476e2574b598df8786582664f6c570
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Mar 6 14:30:56 2014 +0100

    build: require libmbim 1.8

    We're going to add support for some features only available in
    that version.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 70fb7c2ede2668013eb1cc1c7319d70d2be62f9f
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Mar 5 19:30:57 2014 -0800

    broadband-modem: fix hdr_subsys_state_info_ready

    hdr_subsys_state_info_ready() did not implement the
    GAsyncReadyCallback
    function signature, which led to a crash. This patch fixes
    hdr_subsys_state_info_ready() to properly extract the QCDM response
    from
    the GAsyncResult object.

 src/mm-broadband-modem.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 22193e2f3aafe5a314d7a891bf0b1e713cfd34c5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Mar 5 11:47:15 2014 +0100

    license: add LGPLv2+ license in addition to the GPLv2+ one

    This is not a license change; the daemon and command line tool are
    still GPLv2+,
    and the libmm-glib library LGPLv2+.

    For reference, see libqmi bug:
      https://bugs.freedesktop.org/show_bug.cgi?id=74220

 COPYING.LIB | 502
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Makefile.am |   3 +-
 README      |   4 +
 3 files changed, 508 insertions(+), 1 deletion(-)

commit 4a5a0197b5ae170575bc816ecaefc77ea6c057b4
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Mar 4 00:17:34 2014 -0800

    port-mbim: increase timeout of device open operation

    A MBIM device typically delays its response to an 'Open' command
    when it
    has not completed the initialization process. This patch increases the
    timeout of the MBIM device open operation from 10s to 30s to handle
    situations where the device takes much longer to initialize.

 src/mm-port-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f3ded99af1c296781a564c4539b351db93ad0a59
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 3 16:33:51 2014 +0100

    cinterion: implement unlock retries loading

 plugins/cinterion/mm-broadband-modem-cinterion.c | 120
 +++++++++++++++++++++++
 1 file changed, 120 insertions(+)

commit 191168e3ef2796eb9d06414c384482d88c3bb5ee
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Mar 3 14:33:12 2014 +0100

    cinterion: after SIM unlock, query SIM status until ready

 plugins/cinterion/mm-broadband-modem-cinterion.c   | 116
 +++++++++++++++++++++
 plugins/cinterion/mm-modem-helpers-cinterion.c     |  47 +++++++++
 plugins/cinterion/mm-modem-helpers-cinterion.h     |   9 ++
 .../cinterion/tests/test-modem-helpers-cinterion.c |  45 +++++++-
 4 files changed, 213 insertions(+), 4 deletions(-)

commit f20724ec3f5bb4ad9821059021a5d4ee1d74528c
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Feb 28 12:30:18 2014 -0800

    iface-modem: allow setting power state to OFF when modem is in
    FAILED state

 src/mm-iface-modem.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit 17bf3f8578c2e4a43d81630071daf15a5f374254
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 27 22:15:01 2014 +0100

    cinterion: request to force refresh access tech after current
    bands update

 plugins/cinterion/mm-broadband-modem-cinterion.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 019d038c17f9d633379ab29b9fb7ea15bc0f3fab
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 27 16:23:12 2014 +0100

    cinterion: force band preference update to be applied immediately

 plugins/cinterion/mm-broadband-modem-cinterion.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit f2024b78b297079c61f51d1a7f6cd73611bc7de2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 27 11:32:05 2014 +0100

    cinterion: consolidate setting current bands in 2G and 3G devices

 plugins/cinterion/mm-broadband-modem-cinterion.c | 95
 +++++++-----------------
 plugins/cinterion/mm-modem-helpers-cinterion.c   | 19 +++++
 plugins/cinterion/mm-modem-helpers-cinterion.h   |  1 +
 3 files changed, 46 insertions(+), 69 deletions(-)

commit c1e2a3a5bc686f310a705724e806d058f3cee68c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 20:42:15 2014 +0100

    cinterion: consolidate current bands loading for 2G and 3G devices

 plugins/cinterion/mm-broadband-modem-cinterion.c   | 101
 ++-------------------
 plugins/cinterion/mm-modem-helpers-cinterion.c     |  53 +++++++----
 plugins/cinterion/mm-modem-helpers-cinterion.h     |   7 +-
 .../cinterion/tests/test-modem-helpers-cinterion.c |  48 +++++++++-
 4 files changed, 92 insertions(+), 117 deletions(-)

commit 0877f68a8481c5d011652831cfe523f7a629604e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 17:11:25 2014 +0100

    cinterion: consolidate supported bands loading for 2G and 3G devices

 plugins/cinterion/mm-broadband-modem-cinterion.c   | 32 ++++-----------
 plugins/cinterion/mm-modem-helpers-cinterion.c     | 46
 ++++++++++++++--------
 plugins/cinterion/mm-modem-helpers-cinterion.h     |  7 ++--
 .../cinterion/tests/test-modem-helpers-cinterion.c |  5 ++-
 4 files changed, 45 insertions(+), 45 deletions(-)

commit 65eda92ceb411982331f8ee2922852c9587456d6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 17:09:54 2014 +0100

    broadband-modem: allow querying current charset

    So that plugins can use it.

 src/mm-broadband-modem.c | 6 ++++++
 src/mm-broadband-modem.h | 3 +++
 2 files changed, 9 insertions(+)

commit 87d867c8aedf59a55fdbed358e252592fc86fc35
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 16:23:27 2014 +0100

    cinterion: add helper to build Cinterion band mask

 plugins/cinterion/mm-broadband-modem-cinterion.c | 96
 ++++++------------------
 plugins/cinterion/mm-modem-helpers-cinterion.c   | 46 ++++++++++++
 plugins/cinterion/mm-modem-helpers-cinterion.h   |  8 ++
 3 files changed, 78 insertions(+), 72 deletions(-)

commit e6430acaaaa56eae95206a564109e2a04c99e7c5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 15:51:11 2014 +0100

    cinterion: add helper to parse AT^SCFG="Radio/Band" response in
    3G devices

 plugins/cinterion/mm-broadband-modem-cinterion.c   | 68
 +++------------------
 plugins/cinterion/mm-modem-helpers-cinterion.c     | 71
 ++++++++++++++++++++++
 plugins/cinterion/mm-modem-helpers-cinterion.h     |  7 +++
 .../cinterion/tests/test-modem-helpers-cinterion.c | 60
 +++++++++++++++++-
 4 files changed, 146 insertions(+), 60 deletions(-)

commit 82067915d16a5e367346a3b62489b6efcb19f834
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 15:12:43 2014 +0100

    cinterion: use AT^SCFG=? to parse supported bands in 3G devices

 .gitignore                                         |   1 +
 plugins/Makefile.am                                |  15 +++
 plugins/cinterion/mm-broadband-modem-cinterion.c   |  77 +++++++----
 plugins/cinterion/mm-modem-helpers-cinterion.c     | 121
 +++++++++++++++++
 plugins/cinterion/mm-modem-helpers-cinterion.h     |  28 ++++
 .../cinterion/tests/test-modem-helpers-cinterion.c | 149
 +++++++++++++++++++++
 6 files changed, 363 insertions(+), 28 deletions(-)

commit e6cfa57c608a4097c9d63067f8dba261b3cddfe4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 13:06:30 2014 +0100

    cinterion: request access tech update after allowed mode change

 plugins/cinterion/mm-broadband-modem-cinterion.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 8a47dce5fb19c8b183ef47cb9ab90f6183a5508b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 13:01:44 2014 +0100

    iface-modem-3gpp: request access tech update after registration
    attempt

 src/mm-iface-modem-3gpp.c | 2 ++
 1 file changed, 2 insertions(+)

commit 73dad3d899316352ab4f058f526069a8724b2b13
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 12:59:05 2014 +0100

    iface-modem: allow requesting the refresh of the access tech

    For periodic updates, we may want to request an explicit re-check
    at some point,
    instead of waiting for the next scheduled update.

 src/mm-iface-modem.c | 31 ++++++++++++++++++++++++++-----
 src/mm-iface-modem.h |  3 +++
 2 files changed, 29 insertions(+), 5 deletions(-)

commit 82340cd5f7e1c464eda820632b07cf55e78cc90f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 12:45:04 2014 +0100

    cinterion: add support for HSUPA+HSDPA reported access tech

 plugins/cinterion/mm-broadband-modem-cinterion.c | 27
 ++++++++++++++----------
 1 file changed, 16 insertions(+), 11 deletions(-)

commit a9a4a2a337d14baecbcc6a76670ed48ce6b91259
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 12:37:01 2014 +0100

    cinterion: allow recovering automatic mode

    When automatic mode (i.e. 2G+3G+none preferred) is selected, we
    need to
    explicitly request it by giving the AT+COPS write command with values
    (i.e. not
    just empty fields).

 plugins/cinterion/mm-broadband-modem-cinterion.c | 34
 +++++++++++++++---------
 1 file changed, 21 insertions(+), 13 deletions(-)

commit 177f15f295810614d1ee8f845745b9b40a02dac7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 12:30:04 2014 +0100

    cinterion: cache operator id if manual selection attempted

    We'll need it afterwards for proper mode switching

 plugins/cinterion/mm-broadband-modem-cinterion.c | 87
 +++++++++++++++++++++++-
 1 file changed, 86 insertions(+), 1 deletion(-)

commit 914caf0f3b2da220388aae56ba35f56cbc76b117
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 12:28:00 2014 +0100

    cinterion: unsupported modes are already filtered out

    So no need to try to handle error cases or fallbacks to support them.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 45
 +++++-------------------
 1 file changed, 8 insertions(+), 37 deletions(-)

commit ece4f0f0144ad8fc34a93aa2add0a933edbc4ab1
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 11:55:45 2014 +0100

    cinterion: increase AT command timeout when changing modes

 plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e3bebc85c44f4d7826a2c4cdef937b33aeceb329
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Feb 27 13:03:04 2014 -0600

    libmm-glib: deep-copy ports array in ensure_internal_ports()
    (bgo #724900)

    ensure_internal_ports() didn't deep-copy the ports array, which
    meant that anything calling mm_modem_port_info_array_free() was
    freeing the internal memory owned by MMModem if it retrieved
    the array with mm_modem_get_ports().

    https://bugzilla.gnome.org/show_bug.cgi?id=724900

 libmm-glib/mm-modem.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

commit 5d88c2ff8f6bb3a59fa12f35d354eea0e7c26324
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Feb 26 14:56:34 2014 -0800

    broadband-modem-mbim: handle if unlock retries info is not available

    By setting the 'RemainingAttempts' field of a MBIM_CID_PIN response to
    0xffffffff, a MBIM modem indicates that it does not support the
    information on the number of remaining attempts for pin-related
    operations. This patch modifies MMBroadbandModemMbim to handle
    this case
    properly, instead of reporting a very large unlock retries count.

 src/mm-broadband-modem-mbim.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

commit accb611e1f7ec648c6a7a6080c89b41fa5f9fd5c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 26 11:52:33 2014 +0100

    base-modem: if no AT primary given, try to use data port

    The Cinterion PHS8 reports a single AT port to be used as data port,
    and no
    other port as primary. In this case, recover the tty as primary AT
    port, instead
    of failing with an error.

 src/mm-base-modem.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

commit e3c4dec3d7db6cb61fd68f5b82452c236ed91843
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 18 11:33:28 2014 +0100

    wavecom: implement power off

    Powering off Wavecom devices is done via the AT^CPOF=1 command. These
    devices
    seem to not only power-off, but also power-cycle when this command
    is received,
    which means that the user needs to make sure to fully cut the power
    to the
    device when the SetPowerState() method replies.

 plugins/wavecom/mm-broadband-modem-wavecom.c | 28
 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

commit f9b9f25cd1bee4996d918e6976c53e74edfa364a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 18 11:03:33 2014 +0100

    cinterion: implement power off

    Powering off Cinterion modems is done with the AT^SMSO command. Once
    this
    command is sent to the device, ModemManager still needs to wait to
    get an
    unsolicited ^SHUTDOWN message from the modem, which is when the
    shutdown
    is considered complete.

    Newer Cinterion devices, though, don't seem to follow this rule
    and just
    reply OK to AT^SMSO (i.e. no ^SHUTDOWN), but instead, they will
    remove the
    tty ports.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 154
 +++++++++++++++++++++++
 1 file changed, 154 insertions(+)

commit 00a924617c407f5e3144992eaca4ed6eb8460ada
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 18 10:47:58 2014 +0100

    broadband-modem-qmi: implement full power off

    The power off command will transition the device to the OFFLINE
    state. After
    this, the modem will not be able to go online again unless it is
    power-cycled,
    either externally (cut power and re-establish power) or through
    another
    transition to QMI_DMES_OPERATING_MODE_RESET (which ModemManager
    will not
    implement for this case).

 src/mm-broadband-modem-qmi.c | 51
 +++++++++++++++++++++++++++-----------------
 1 file changed, 32 insertions(+), 19 deletions(-)

commit fe9f3a65531a4f02771a20290498dc033544c67b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 18 10:45:31 2014 +0100

    cli: new '--set-power-state-off' command

 cli/mmcli-modem.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

commit 9239fbcd7a137f2bb349592d649fc80847e6e731
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 18 10:35:58 2014 +0100

    iface-modem: allow transitioning to the OFF power state

    There are systems in which the modem power source can be controlled
    externally,
    e.g. to switch it on or off. In these cases, it is sometimes advisable
    to be
    able to tell the modem to cleanly shut off completely before the
    power is cut.
    So, allow transitioning to the OFF power state if the modem supports
    it, even if
    afterwards the modem could be completely unreachable.

 src/mm-iface-modem.c | 88
 ++++++++++++++++++++++++++++++++++++++++++++++------
 src/mm-iface-modem.h |  7 +++++
 2 files changed, 86 insertions(+), 9 deletions(-)

commit 705dd0133d8a02c0bf2a2cfa3d8920030dc1392d
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Feb 19 21:44:23 2014 -0800

    broadband-modem-mbim: handle network initiated disconnect

    Observing registration updates via the MBIM_CID_REGISTER_STATE
    notification alone is not always sufficient to detect if the modem is
    disconnected from the network. In case of a network-initiated
    disconnect, it is possible that the modem is disconnected from the
    network but remains registered.

    This patch modifies MMBroadbandModemMbim to subscribe to the
    MBIM_CID_CONNECT notification. Upon receiving a notification of a
    deactivated session ID, the corresponding bearer is reported as
    disconnected.

 src/mm-broadband-modem-mbim.c | 85
 ++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 79 insertions(+), 6 deletions(-)

commit 1866aad9d3a628572fb8c22e5a7ae1ad1c7ad9d2
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Feb 19 22:32:05 2014 -0800

    bearer: remove unnecessary MM_BEARER() casts

 src/mm-bearer.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit acc7b4b8b91cb5428cf2dcd16328febaeece680b
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Feb 19 18:59:24 2014 -0600

    Revert "broadband-modem-mbim: update to use
    mbim_message_device_service_subscribe_list"

    This reverts commit 8327db70b9b5b08481ce1666d7a0192f306ff5ee.

    libmbim change not committed yet...

 configure.ac                  |  4 ++--
 src/mm-broadband-modem-mbim.c | 10 +++++-----
 2 files changed, 7 insertions(+), 7 deletions(-)

commit 8327db70b9b5b08481ce1666d7a0192f306ff5ee
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Feb 18 12:43:26 2014 -0800

    broadband-modem-mbim: update to use
    mbim_message_device_service_subscribe_list

    libmbim renames 'MBIM_CID_DEVICE_SERVICE_SUBSCRIBER_LIST' to
    'MBIM_CID_DEVICE_SERVICE_SUBSCRIBE_LIST' to be consistent with
    the MBIM
    specification. This patch updates MMBroadbandModemMbim accordingly.

 configure.ac                  |  4 ++--
 src/mm-broadband-modem-mbim.c | 10 +++++-----
 2 files changed, 7 insertions(+), 7 deletions(-)

commit 1bd939d4b8e6e5d28ffdb9cd63e7b9c560469b1d
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Feb 19 12:08:24 2014 -0800

    huawei: fix a debug message

    This patch simply fixes the following debug message:

    from:
      <debug> (Huawei) couldn't turn off unsolicited messages insecondary
      ports: 'Unknown error'

    to:
      <debug> (Huawei) couldn't turn off unsolicited messages in secondary
      ports: 'Unknown error'

 plugins/huawei/mm-plugin-huawei.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 9e1472d5ecb04e30c4b1259ab84510c601aa5f37
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 17 12:33:51 2014 -0600

    trivial: fix dist of gsm-port.conf

 plugins/Makefile.am | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 759f13f693a149b3a10d11b402d174d97e9bc5f8
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Feb 14 19:09:53 2014 -0800

    cli: align printout of bearer IPv6 configuration properties

 cli/mmcli-bearer.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit ccbd5a2e2da263de35917d841fdf3bc44a776e52
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Feb 13 12:42:11 2014 -0800

    port-serial: fix gsize/gssize type mismatch

    This patch fixes the following type mismatch in
    MMPortSerial::port_serial_process_command():

    mm-port-serial.c:612:21: error: comparison of unsigned expression <
    0 is always false [-Werror,-Wtautological-compare]
            if (written < 0) {
                ~~~~~~~ ^ ~

 src/mm-port-serial.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit d278f381d28f6a4ebc82f4f7ea838961ebb466a3
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Feb 13 13:10:17 2014 -0800

    tests: fix array bound checks in process_next_command

    This patch fixes the out-of-bounds array accesses in
    test-port-context.c,
    which is detected by AddressSanitizer, by checking the index
    against the
    array length before accessing the array.

 plugins/tests/test-port-context.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 0ce424451789a5ffacde7ff3cce038c2fbda97eb
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Feb 13 12:42:19 2014 -0800

    tests: add missing call to g_type_init()

    This patches fixes the following error when testing ModemManager with
    glib < 2.36, which still requires g_type_init() to be called:

    TEST: test-service-generic... (pid=20166)
      /MM/Service/Generic:
    (/work/ModemManager/plugins/.libs/lt-test-service-generic:20166):
    GLib-GObject-CRITICAL **: gtype.c:2720: You forgot to call
    g_type_init()
    FAIL

 plugins/generic/tests/test-service-generic.c | 1 +
 1 file changed, 1 insertion(+)

commit 50de6798b0ae86692ad1f9a7b3e3188f16d2e45a
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Feb 13 15:55:35 2014 -0600

    broadband-modem: fix double-free of QCDM mode-pref query

    Caused by a merge conflict between 81ee0783 and 529e94b0.

 src/mm-broadband-modem.c | 3 ---
 1 file changed, 3 deletions(-)

commit 42ad7b758a09b91bba6cda7fe9ac06525aa86f6a
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Feb 13 15:18:16 2014 -0600

    manager: make Bluetooth rfcomm ports work again

    At some point rfcomm serial ports stopped having parents in sysfs,
    so checks to get the physical device fail because the rfcomm port
    is /sys/devices/virtual/rfcommX and has no parents.  So we have
    to fall back on checking the interface name.

 src/mm-device.c  | 7 +++++++
 src/mm-manager.c | 9 ++++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

commit fbb35628d525a7072ef87a9968cbc2ab1a705a6b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Feb 4 11:10:20 2014 +0100

    po: don't translate test files

 po/POTFILES.skip | 1 +
 1 file changed, 1 insertion(+)

commit bff2a8d2f29fbf5e493c115101e48dd0ce37c3cd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 25 18:32:20 2013 +0100

    tests: added support for DBus service tests

    We can now run 'simulated' modems against a ModemManager running in
    its own
    session bus.

 .gitignore                                   |   1 +
 plugins/Makefile.am                          |  53 +++-
 plugins/generic/tests/test-service-generic.c |  84 ++++++
 plugins/tests/gsm-port.conf                  |  46 ++++
 plugins/tests/test-fixture.c                 | 186 +++++++++++++
 plugins/tests/test-fixture.h                 |  54 ++++
 plugins/tests/test-port-context.c            | 391
 +++++++++++++++++++++++++++
 plugins/tests/test-port-context.h            |  35 +++
 8 files changed, 849 insertions(+), 1 deletion(-)

commit ba58aa42f2ff931b561c45e2073772bc9b419dfc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 25 18:03:32 2013 +0100

    base-modem: don't apply auth checks if running in the SESSION bus

 src/mm-base-modem.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit f85e345a9e0f6cd78e69092a55adfacb911f89bc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 25 18:03:08 2013 +0100

    manager: as soon as we know we're going to stop, clear DBus connection

    So that the ObjectManager interface doesn't try to signal about
    e.g. interface
    removals; see:

      https://bugzilla.gnome.org/show_bug.cgi?id=715157.

 src/main.c       |  7 +++++++
 src/mm-manager.c | 21 +++++++++++++++++++--
 2 files changed, 26 insertions(+), 2 deletions(-)

commit 247a9459509a1eeee7ffb686034920d3614c2b99
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 24 16:34:15 2013 +0100

    context: new '--test-plugin-dir' to allow specifying where the
    plugins are

 .../tests/org.freedesktop.ModemManager1.service.in |  2 +-
 src/main.c                                         |  1 +
 src/mm-context.c                                   |  8 +++
 src/mm-context.h                                   |  1 +
 src/mm-manager.c                                   | 24 +++++++-
 src/mm-manager.h                                   |  2 +
 src/mm-plugin-manager.c                            | 72
 ++++++++++++++++++++--
 src/mm-plugin-manager.h                            |  5 +-
 8 files changed, 107 insertions(+), 8 deletions(-)

commit ea362ce18e0e594bf2815e8c94f3491e73fc68d7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 24 15:50:18 2013 +0100

    service,tests: run in MM in debug mode in service tests

 data/tests/org.freedesktop.ModemManager1.service.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6810aff8641151a092adda02a84e90ac10b48b0c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 23:42:15 2013 +0100

    manager: allow to remotely setup test profiles with 'virtual' ports

 src/mm-manager.c | 54
 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 52 insertions(+), 2 deletions(-)

commit 2d9d15f892cd0b2181b6fab73290d81bad63e7e3
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 23:40:55 2013 +0100

    plugin: allow creating 'virtual' modems with 'virtual' ports

 src/mm-plugin.c | 43 +++++++++++++++++++++++++++++++++++--------
 1 file changed, 35 insertions(+), 8 deletions(-)

commit c182a04f6438850875319862cf8d22de2250e907
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 23:40:31 2013 +0100

    base-modem: allow grabbing 'virtual' AT ports

 src/mm-base-modem.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

commit abb88a5e0ab7a0ed4a661372aa24e82aa38bc89f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 23:40:05 2013 +0100

    plugin-manager: allow looking plugins by name

 src/mm-plugin-manager.c | 22 ++++++++++++++++++++++
 src/mm-plugin-manager.h |  4 ++++
 2 files changed, 26 insertions(+)

commit 9641d27518e3f0a33c909ce46331d34eed76b432
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 23:32:28 2013 +0100

    device: allow creating 'virtual' devices

 src/mm-device.c | 146
 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 src/mm-device.h |  11 +++++
 2 files changed, 136 insertions(+), 21 deletions(-)

commit b7fa48dd22f9bf4cb38a60e7c78184b7eea5fcf7
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 21:15:15 2013 +0100

    device: new 'hotplugged' property

 src/mm-device.c | 29 +++++++++++++++++++++--------
 src/mm-device.h |  4 +++-
 2 files changed, 24 insertions(+), 9 deletions(-)

commit 84ab92d85a331e835ab5672865e0238d08ee8857
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 16:58:25 2013 +0100

    port-serial: allow ports based on Unix sockets

 src/mm-port-serial-at.c |   4 +-
 src/mm-port-serial.c    | 363
 +++++++++++++++++++++++++++++++++++-------------
 src/mm-port.h           |   3 +-
 3 files changed, 273 insertions(+), 97 deletions(-)

commit 65f87561c58571bce8fca18c568a03f53f3d40eb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 13:47:11 2013 +0100

    context: new '--test-enable' to enable the Test interface

 .../tests/org.freedesktop.ModemManager1.service.in |  2 +-
 src/Makefile.am                                    |  5 +-
 src/main.c                                         |  1 +
 src/mm-context.c                                   |  8 +++
 src/mm-context.h                                   |  1 +
 src/mm-manager.c                                   | 63
 ++++++++++++++++++++++
 src/mm-manager.h                                   |  6 ++-
 7 files changed, 82 insertions(+), 4 deletions(-)

commit 243720414e2d7a1b1c6d42bed3275296b4bc1da0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 11:54:30 2013 +0100

    context: new '--test-no-auto-scan' to avoid automatic scanning
    for devices

 .../tests/org.freedesktop.ModemManager1.service.in |  2 +-
 src/main.c                                         |  4 ++-
 src/mm-context.c                                   |  8 ++++++
 src/mm-context.h                                   |  1 +
 src/mm-manager.c                                   | 31
 +++++++++++++++++++++-
 src/mm-manager.h                                   |  2 ++
 6 files changed, 45 insertions(+), 3 deletions(-)

commit bf57da537d62c5ef15b7be32818cd4a531f89d38
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 11:27:14 2013 +0100

    context: new '--test-session' allows launching the MM daemon in the
    session bus

 .../tests/org.freedesktop.ModemManager1.service.in |  2 +-
 src/main.c                                         |  5 ++-
 src/mm-context.c                                   | 49
 ++++++++++++++++++----
 src/mm-context.h                                   |  3 ++
 4 files changed, 49 insertions(+), 10 deletions(-)

commit 46ff06ff80b404ceb92297c4d8ca8cec40c7c51e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 10:11:36 2013 +0100

    service,tests: new DBus service file for tests

 .gitignore                                          | 1 +
 configure.ac                                        | 2 ++
 data/Makefile.am                                    | 2 ++
 data/tests/Makefile.am                              | 2 ++
 data/tests/org.freedesktop.ModemManager1.service.in | 5 +++++
 5 files changed, 12 insertions(+)

commit 4827e79848da98c600fd228d02ea6fb56dc4e814
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 09:25:21 2013 +0100

    libmm-glib,tests: use gdbus-codegen to generate code for the new
    Test interface

 .gitignore                             |  1 +
 configure.ac                           |  1 +
 docs/reference/libmm-glib/Makefile.am  |  9 +++++++-
 libmm-glib/generated/Makefile.am       |  2 ++
 libmm-glib/generated/tests/Makefile.am | 38
 ++++++++++++++++++++++++++++++++++
 5 files changed, 50 insertions(+), 1 deletion(-)

commit 1eaa416f22d7d247a3a69afe6ff025984f10b491
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Nov 22 09:24:07 2013 +0100

    introspection,tests: add new 'Test' interface

 configure.ac                                       |  1 +
 introspection/Makefile.am                          |  3 +++
 introspection/tests/Makefile.am                    |  3 +++
 .../tests/org.freedesktop.ModemManager1.Test.xml   | 31
 ++++++++++++++++++++++
 4 files changed, 38 insertions(+)

commit e684851698924e5b3872ac3adc93c2773ef910ee
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 18:31:39 2013 +0100

    huawei: use shortened version of NDISDUP when possible

    Adds support for the Huawei E3276 by sending the shortened form of the
    AT^NDISDUP command where possible, as the E3276 fails with an
    '+CME ERROR:
    Incorrect parameters' if encoded_auth is set to 0. This behaviour
    is slightly
    different to the E1820 and K4605 (E372) which will happily establish a
    connection with encoded_auth set to 0, 1 or 2.

 plugins/huawei/mm-broadband-bearer-huawei.c | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

commit b28230411a3f47bbba71b905e3982575308f81f4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 18:24:38 2013 +0100

    port-serial: always set the forced_close flag if forced to close

 src/mm-port-serial.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 0d0f5de161562df82a47bdc387b6ecb62e902719
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 19 23:59:57 2013 +0100

    base-modem: allow looking for a subset of the available ports

 src/mm-base-modem.c | 32 ++++++++++++++++++++++++++++++++
 src/mm-base-modem.h |  5 +++++
 2 files changed, 37 insertions(+)

commit 2b46f658799e51d3db0ad61bbde45b3426622827
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 19 23:15:48 2013 +0100

    base-modem: allow grabbing non-tty AT ports

 src/mm-base-modem.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 070f4938f3ff5425f8c4f18f57e79d935ad05b32
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 19 20:48:20 2013 +0100

    plugin: allow probing non-tty AT ports

 src/mm-plugin.c     | 20 +++++++++++++-------
 src/mm-port-probe.c |  6 ++----
 2 files changed, 15 insertions(+), 11 deletions(-)

commit 38ebf7c95b94f065f80c85505e65f102cef733d2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 19 20:24:27 2013 +0100

    port-serial-at: allow specifying subsystem when creating a
    'MMPortSerialAt'

    Don't just assume that all AT ports are TTYs.

 src/mm-base-modem.c     |  2 +-
 src/mm-port-probe.c     |  7 ++++++-
 src/mm-port-serial-at.c | 13 ++++++++++---
 src/mm-port-serial-at.h |  3 ++-
 4 files changed, 19 insertions(+), 6 deletions(-)

commit 9432674087617b8140ca2e517e367bf74061e87e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 17:47:19 2013 +0100

    port-serial: use the GIOChannel also for writing data

 src/mm-port-serial.c | 113
 +++++++++++++++++++++++++++++++++------------------
 1 file changed, 74 insertions(+), 39 deletions(-)

commit 3ef71e45414b6797d464bb572a1dfb29c9c49d16
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 19 20:22:45 2013 +0100

    port-serial: allow non-tty 'MMPortSerial' objects

    Allow having 'MMPortSerial' objects for non-tty devices. This will
    allow us e.g.
    handling /dev/cdc-wdm ports speaking the AT protocol.

 src/mm-port-serial.c | 112
 +++++++++++++++++++++++++++++----------------------
 1 file changed, 64 insertions(+), 48 deletions(-)

commit 6fc14f6611cb94fe0b2d280cfeddf658fdce8c53
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 19 20:19:22 2013 +0100

    port-serial: remove unneeded method

 src/mm-port-serial.c | 8 --------
 src/mm-port-serial.h | 2 --
 2 files changed, 10 deletions(-)

commit a2f4fbe373de4f0cf094004b954504e510546b6e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 18 12:07:25 2013 +0100

    port-serial-qcdm: commands are never cached

    The QCDM port commands are never cached, so remove the option from
    the command()
    method. Will also simplify command caching afterwards as it will be
    an AT-only
    thing.

 plugins/novatel/mm-broadband-modem-novatel.c |  4 ----
 src/mm-broadband-modem.c                     | 10 ----------
 src/mm-port-probe.c                          |  2 --
 src/mm-port-serial-qcdm.c                    |  3 +--
 src/mm-port-serial-qcdm.h                    |  1 -
 src/tests/test-qcdm-serial-port.c            |  2 +-
 6 files changed, 2 insertions(+), 20 deletions(-)

commit 5792bcc876c9e3152d0444fca938091c112d05af
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 19 18:51:50 2013 +0100

    port: remove 'constructor' checking for property validity

    A constructor cannot return NULL, specially when there are subclasses,
    as it
    would segfault. Just remove it, as it doesn't really do anything
    useful.

 src/mm-port.c | 41 -----------------------------------------
 1 file changed, 41 deletions(-)

commit ef77e35a7f203bbe64cc13fb00feb1602ccbc1f5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Tue Nov 19 18:50:14 2013 +0100

    port: use a 'priv' pointer to handle the private info

 src/mm-port.c | 56
 +++++++++++++++++++++++++++-----------------------------
 src/mm-port.h |  2 ++
 2 files changed, 29 insertions(+), 29 deletions(-)

commit 3f8f88499e100a3c0cce7775c3bf36c09052ac4a
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 18 00:34:10 2013 +0100

    port-serial: use a 'priv' pointer to handle the private info

 src/mm-port-serial.c | 469
 ++++++++++++++++++++++++---------------------------
 src/mm-port-serial.h |   3 +-
 2 files changed, 220 insertions(+), 252 deletions(-)

commit dbe13520eedfce385ef5f2e09185ba0321ed9d86
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 18 00:18:47 2013 +0100

    port-serial-at: use a 'priv' pointer to handle the private info

 src/mm-port-serial-at.c | 125
 ++++++++++++++++++++++--------------------------
 src/mm-port-serial-at.h |   2 +
 2 files changed, 60 insertions(+), 67 deletions(-)

commit e909edcf1fb18d884ebf9915e15a53ff19bbe00d
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Mon Nov 18 00:07:04 2013 +0100

    port-serial: use GIO Async API like method for command()

 src/mm-port-serial-at.c   |  75 ++++----
 src/mm-port-serial-qcdm.c | 152 +++++++---------
 src/mm-port-serial.c      | 445
 ++++++++++++++++++++++------------------------
 src/mm-port-serial.h      |  32 +---
 4 files changed, 318 insertions(+), 386 deletions(-)

commit 8122153a88b6f87962d2702c14b642d4f344eca2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 17 14:50:22 2013 +0100

    port-serial: use GIO Async API like method for flash()

 src/mm-broadband-bearer.c |  22 ++++--
 src/mm-broadband-modem.c  |  11 +--
 src/mm-port-probe.c       |  10 +--
 src/mm-port-serial.c      | 180
 ++++++++++++++++++++++++++++------------------
 src/mm-port-serial.h      |  12 ++--
 5 files changed, 144 insertions(+), 91 deletions(-)

commit 6e35f0a8881de9f5a81a9abb2db17a15fda618bc
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 17 14:13:50 2013 +0100

    port-serial: use GIO Async API like method for reopen()

 src/mm-broadband-bearer.c |  20 +++---
 src/mm-port-serial.c      | 161
 ++++++++++++++++++++++++++++------------------
 src/mm-port-serial.h      |  12 ++--
 3 files changed, 117 insertions(+), 76 deletions(-)

commit d4dfd661b9bcfdad5a79e2a3f28374f0d0982c23
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Nov 17 01:11:12 2013 +0100

    port-serial-at: use GIO Async API like methods

 plugins/cinterion/mm-plugin-cinterion.c |  31 ++++----
 plugins/huawei/mm-plugin-huawei.c       |  55 ++++++++------
 plugins/longcheer/mm-plugin-longcheer.c |  19 +++--
 plugins/novatel/mm-plugin-novatel.c     |  28 ++++---
 plugins/sierra/mm-plugin-sierra.c       |  32 +++++---
 plugins/x22x/mm-plugin-x22x.c           |  19 +++--
 src/mm-base-modem-at.c                  | 107 +++++++++++++-------------
 src/mm-port-probe.c                     |  35 +++++----
 src/mm-port-serial-at.c                 | 130
 +++++++++++++++++++-------------
 src/mm-port-serial-at.h                 |  31 +++-----
 10 files changed, 276 insertions(+), 211 deletions(-)

commit 81ee07832d3ab733f59f869ad17d1d5577aef3ff
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Nov 16 00:56:29 2013 +0100

    port-serial-qcdm: use GIO Async API like methods

 plugins/novatel/mm-broadband-modem-novatel.c |  83 +++++++---
 src/mm-broadband-modem.c                     | 239
 +++++++++++++++++----------
 src/mm-port-probe.c                          |  48 ++++--
 src/mm-port-serial-qcdm.c                    |  93 +++++++----
 src/mm-port-serial-qcdm.h                    |  20 +--
 src/mm-port-serial.c                         |  10 +-
 src/tests/test-qcdm-serial-port.c            |  93 +++++------
 7 files changed, 352 insertions(+), 234 deletions(-)

commit 1d57a008df410846499099fb84e06abcbfbbb6f5
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Nov 16 00:16:35 2013 +0100

    port-serial-qcdm: remove unneeded private info

 src/mm-port-serial-qcdm.c | 18 ------------------
 1 file changed, 18 deletions(-)

commit 0c86840dde3baf1b77c841426453e014c9af9d31
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 16:00:14 2013 +0100

    ports: rename 'libserial' to 'libport'

 .gitignore                        |  4 ++--
 plugins/huawei/mm-plugin-huawei.c |  2 +-
 src/Makefile.am                   | 44
 +++++++++++++++++++--------------------
 src/mm-base-modem.c               |  2 +-
 src/mm-bearer-mbim.c              |  2 +-
 src/mm-bearer-qmi.c               |  2 +-
 src/mm-broadband-bearer.c         |  2 +-
 src/tests/Makefile.am             |  4 ++--
 8 files changed, 31 insertions(+), 31 deletions(-)

commit c236e18692d887269a71da6e8105187f58ddfd75
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 15:54:35 2013 +0100

    ports: rename 'MMMbimPort' to 'MMPortMbim'

 src/Makefile.am                        |  4 +--
 src/mm-base-modem.c                    | 26 +++++++++---------
 src/mm-base-modem.h                    | 10 +++----
 src/mm-bearer-mbim.c                   |  4 +--
 src/mm-broadband-modem-mbim.c          | 24 ++++++++---------
 src/{mm-mbim-port.c => mm-port-mbim.c} | 48
 +++++++++++++++++-----------------
 src/{mm-mbim-port.h => mm-port-mbim.h} | 46
 ++++++++++++++++----------------
 src/mm-port-probe.c                    | 20 +++++++-------
 src/mm-sim-mbim.c                      |  4 +--
 src/mm-sms-mbim.c                      |  4 +--
 10 files changed, 95 insertions(+), 95 deletions(-)

commit 403e013f15903ee3d2d3fe2c5f60e8beb3c4356e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 15:49:57 2013 +0100

    ports: rename 'MMQmiPort' to 'MMPortQmi'

 src/Makefile.am                      |  4 +--
 src/mm-base-modem.c                  | 26 +++++++-------
 src/mm-base-modem.h                  | 10 +++---
 src/mm-bearer-qmi.c                  | 40 +++++++++++-----------
 src/mm-broadband-modem-qmi.c         | 54 ++++++++++++++---------------
 src/mm-port-probe.c                  | 24 ++++++-------
 src/{mm-qmi-port.c => mm-port-qmi.c} | 66
 ++++++++++++++++++------------------
 src/{mm-qmi-port.h => mm-port-qmi.h} | 64
 +++++++++++++++++-----------------
 src/mm-sim-qmi.c                     |  6 ++--
 src/mm-sms-qmi.c                     |  6 ++--
 10 files changed, 150 insertions(+), 150 deletions(-)

commit 6f235b9948cf1ff1d11a7a339d3d1ffc40171dcd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 15:41:33 2013 +0100

    ports: rename 'MMAtSerialPort' to 'MMPortSerialAt'

 plugins/altair/mm-broadband-bearer-altair-lte.c   |  18 +--
 plugins/altair/mm-broadband-modem-altair-lte.c    |  28 ++---
 plugins/anydata/mm-broadband-modem-anydata.c      |  16 +--
 plugins/cinterion/mm-plugin-cinterion.c           |  16 +--
 plugins/huawei/mm-broadband-bearer-huawei.c       |  12 +-
 plugins/huawei/mm-broadband-modem-huawei.c        |  76 ++++++------
 plugins/huawei/mm-plugin-huawei.c                 |  38 +++---
 plugins/icera/mm-broadband-bearer-icera.c         |  20 +--
 plugins/icera/mm-broadband-modem-icera.c          |  16 +--
 plugins/iridium/mm-bearer-iridium.c               |   2 +-
 plugins/iridium/mm-broadband-modem-iridium.c      |   4 +-
 plugins/longcheer/mm-plugin-longcheer.c           |  16 +--
 plugins/mbm/mm-broadband-bearer-mbm.c             |  10 +-
 plugins/mbm/mm-broadband-modem-mbm.c              |  34 +++---
 plugins/mtk/mm-broadband-modem-mtk.c              |  31 +++--
 plugins/mtk/mm-plugin-mtk.c                       |   6 +-
 plugins/nokia/mm-broadband-modem-nokia.c          |   4 +-
 plugins/nokia/mm-plugin-nokia-icera.c             |   6 +-
 plugins/novatel/mm-broadband-bearer-novatel-lte.c |  20 +--
 plugins/novatel/mm-plugin-novatel.c               |  10 +-
 plugins/option/mm-broadband-bearer-hso.c          |  20 +--
 plugins/option/mm-broadband-modem-hso.c           |  14 +--
 plugins/option/mm-broadband-modem-option.c        |  28 ++---
 plugins/option/mm-plugin-hso.c                    |  12 +-
 plugins/option/mm-plugin-option.c                 |   4 +-
 plugins/pantech/mm-plugin-pantech.c               |   4 +-
 plugins/samsung/mm-broadband-modem-samsung.c      |   2 +-
 plugins/sierra/mm-broadband-bearer-sierra.c       |  16 +--
 plugins/sierra/mm-broadband-modem-sierra.c        |   4 +-
 plugins/sierra/mm-common-sierra.c                 |   6 +-
 plugins/sierra/mm-plugin-sierra.c                 |  18 +--
 plugins/simtech/mm-broadband-modem-simtech.c      |   8 +-
 plugins/simtech/mm-plugin-simtech.c               |   8 +-
 plugins/telit/mm-plugin-telit.c                   |   6 +-
 plugins/via/mm-broadband-modem-via.c              |  28 ++---
 plugins/wavecom/mm-broadband-modem-wavecom.c      |   4 +-
 plugins/x22x/mm-plugin-x22x.c                     |  22 ++--
 plugins/zte/mm-common-zte.c                       |  16 +--
 plugins/zte/mm-plugin-zte.c                       |   6 +-
 src/Makefile.am                                   |   8 +-
 src/mm-at-serial-port.h                           | 134
 --------------------
 src/mm-base-modem-at.c                            |  44 +++----
 src/mm-base-modem-at.h                            |   6 +-
 src/mm-base-modem.c                               |  90 +++++++-------
 src/mm-base-modem.h                               |  20 +--
 src/mm-broadband-bearer.c                         |  66 +++++-----
 src/mm-broadband-bearer.h                         |  22 ++--
 src/mm-broadband-modem.c                          |  88 +++++++-------
 src/mm-iface-modem-3gpp-ussd.h                    |   2 -
 src/mm-iface-modem-3gpp.h                         |   2 +-
 src/mm-iface-modem-cdma.h                         |   2 +-
 src/mm-iface-modem-location.h                     |   2 -
 src/mm-iface-modem-messaging.h                    |   1 -
 src/mm-iface-modem.h                              |   2 +-
 src/mm-plugin.c                                   |   4 +-
 src/mm-port-probe.c                               |  22 ++--
 src/mm-port-probe.h                               |   4 +-
 src/{mm-at-serial-port.c => mm-port-serial-at.c}  | 142
 +++++++++++-----------
 src/mm-port-serial-at.h                           | 133
 ++++++++++++++++++++
 src/tests/test-at-serial-port.c                   |   4 +-
 60 files changed, 700 insertions(+), 707 deletions(-)

commit 0d1602bf0f861eed0af68a51610a3a6d3e139d0b
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 15:38:34 2013 +0100

    ports: rename 'MMQcdmSerialPort' to 'MMPortSerialQcdm'

 plugins/novatel/mm-broadband-modem-novatel.c       | 22 +++---
 src/Makefile.am                                    |  4 +-
 src/mm-base-modem.c                                | 14 ++--
 src/mm-base-modem.h                                |  6 +-
 src/mm-broadband-modem.c                           | 80
 +++++++++++-----------
 src/mm-plugin.c                                    |  2 +-
 src/mm-port-probe.c                                | 14 ++--
 ...mm-qcdm-serial-port.c => mm-port-serial-qcdm.c} | 46 ++++++-------
 ...mm-qcdm-serial-port.h => mm-port-serial-qcdm.h} | 43 ++++++------
 src/tests/test-qcdm-serial-port.c                  | 16 ++---
 10 files changed, 123 insertions(+), 124 deletions(-)

commit e505ea0a5874f783b3e76c1f7f18174f1012f9f4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 15:36:32 2013 +0100

    ports: rename 'MMGpsSerialPort' to 'MMPortSerialGps'

 plugins/option/mm-broadband-modem-hso.c            | 12 ++---
 src/Makefile.am                                    |  4 +-
 src/mm-base-modem.c                                | 14 +++---
 src/mm-base-modem.h                                |  6 +--
 src/mm-gps-serial-port.h                           | 57
 ----------------------
 src/{mm-gps-serial-port.c => mm-port-serial-gps.c} | 36 +++++++-------
 src/mm-port-serial-gps.h                           | 57
 ++++++++++++++++++++++
 7 files changed, 93 insertions(+), 93 deletions(-)

commit 9cde02111b3c0eb2ef487c021bcb0950d7cb5f92
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Nov 20 15:28:34 2013 +0100

    ports: rename 'MMSerialPort' to 'MMPortSerial'

 plugins/altair/mm-broadband-modem-altair-lte.c |   2 +-
 plugins/icera/mm-broadband-bearer-icera.c      |   2 +-
 plugins/iridium/mm-broadband-modem-iridium.c   |   2 +-
 plugins/mbm/mm-broadband-modem-mbm.c           |   4 +-
 plugins/option/mm-broadband-bearer-hso.c       |   2 +-
 plugins/option/mm-broadband-modem-hso.c        |   6 +-
 plugins/samsung/mm-broadband-modem-samsung.c   |   2 +-
 src/Makefile.am                                |   4 +-
 src/mm-at-serial-port.c                        |  28 +--
 src/mm-at-serial-port.h                        |   6 +-
 src/mm-base-modem-at.c                         |   6 +-
 src/mm-base-modem.c                            |   2 +-
 src/mm-broadband-bearer.c                      |  34 +--
 src/mm-broadband-modem.c                       |  32 +--
 src/mm-gps-serial-port.c                       |  12 +-
 src/mm-gps-serial-port.h                       |   6 +-
 src/mm-port-probe.c                            |  28 +--
 src/{mm-serial-port.c => mm-port-serial.c}     | 310
 ++++++++++++-------------
 src/{mm-serial-port.h => mm-port-serial.h}     |  96 ++++----
 src/mm-qcdm-serial-port.c                      |  22 +-
 src/mm-qcdm-serial-port.h                      |   6 +-
 src/tests/test-qcdm-serial-port.c              |   4 +-
 22 files changed, 309 insertions(+), 307 deletions(-)

commit c9e2b46b2124afcf710736900ba1848711126a83
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 13 11:55:59 2014 +0100

    cinterion: try to gather port type for devices with multiple tty ports

    The new PHS8 or PXS8 devices may expose multiple tty ports, but only
    one is
    supposed to be used for PPP. So, query which port that is and flag
    it before
    grabbing it in the modem.

 plugins/cinterion/mm-plugin-cinterion.c | 119
 ++++++++++++++++++++++++++++++++
 1 file changed, 119 insertions(+)

commit e60485a4aaede4d5a85b941574bd3e12143cb501
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Wed Feb 12 17:18:24 2014 +0100

    wavecom: implement after-sim-unlock step

    Just give some time to the SIM to get properly initialized, so that
    we avoid
    errors when reloading e.g. facility lock status.

 plugins/wavecom/mm-broadband-modem-wavecom.c | 39
 ++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

commit 5d2f15041bb17b1c6108632b862a5cfba4d76826
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Feb 11 23:31:31 2014 -0800

    zte: allow MBIM devices

 plugins/zte/mm-plugin-zte.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit bd5cecb577b7e47ff1f84f9f476fb0a69374c798
Author: Arnd Hannemann <arnd@arndnet.de>
Date:   Tue Feb 11 09:52:18 2014 +0100

    mbm: add lenovo branded ericsson ID (Lenovo N5321gw)

    This device ID is used in a Lenovo Thinkpad T440s.

    Link:
    http://forums.debian.net/viewtopic.php?f=7&t=107986&sid=4f81b9c1a8f4563f26fec24f7b65aaea&start=15

    Signed-off-by: Arnd Hannemann <arnd@arndnet.de>

 plugins/mbm/77-mm-ericsson-mbm.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 121fbd91e7208746e5f5f802b9ef406d9b5e5152
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Feb 6 10:41:09 2014 +0100

    docs,api: fix section reference to the Messaging interface

 docs/reference/api/ModemManager-overview.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit c48b97b1187971a7b545921bfdc961e9ad53f0a6
Author: Yunlian Jiang <yunlian@chromium.org>
Date:   Wed Feb 5 16:08:07 2014 -0800

    libqcdm: use NULL instead of 0 for empty pointer

    When I use clang 3.5 to build it, I got

    commands.c:1444:16: error: expression which evaluates to zero treated
    as a
    null
          pointer constant of type 'QcdmResult *' (aka 'struct QcdmResult
          *')
          [-Werror,-Wnon-literal-null-conversion]
            return FALSE;
                   ^~~~~
    ./utils.h:29:15: note: expanded from macro 'FALSE'
    #define FALSE ((u_int8_t) 0)
                  ^~~~~~~~~~~~~~
    commands.c:1464:20: error: expression which evaluates to zero treated
    as a
    null
          pointer constant of type 'QcdmResult *' (aka 'struct QcdmResult
          *')
          [-Werror,-Wnon-literal-null-conversion]
                return FALSE;
                       ^~~~~
    ./utils.h:29:15: note: expanded from macro 'FALSE'
    #define FALSE ((u_int8_t) 0)
                  ^~~~~~~~~~~~~~
    2 errors generated.
    make[3]: *** [libqcdm_la-commands.lo] Error 1
    make[3]: *** Waiting for unfinished jobs....

    Below is the patch that fixes it

 libqcdm/src/commands.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 9447527c357a91bbd3660274c41fd1b802e4cf84
Author: Julian Oes <julian@oes.ch>
Date:   Tue Feb 4 12:11:39 2014 +0100

    blacklist: ignore all devices from VID 0x26a, no modems from 3D
    Robotics

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 94bf076f28ecf32b8a28f6b88b775bf11c5c1250
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 18:03:10 2014 +0100

    docs: update email address

 AUTHORS                                       | 2 +-
 docs/reference/api/ModemManager-docs.xml      | 2 +-
 docs/reference/libmm-glib/libmm-glib-docs.xml | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit d81dd744529b2d732302d8aec04be9c922e504a4
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 17:57:00 2014 +0100

    build: post release version bump to 1.3.0 (development)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2c53c664d85f8762b2cada1a7fcddc6c6a20fc03
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 17:17:45 2014 +0100

    release: bump version to 1.2.0

 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 38501a06bf059182cbb43b3c667366cf5fb3e71e
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 13:10:03 2014 +0100

    mmcli: allow passing SMS index in --messaging-delete-sms

 cli/mmcli-modem-messaging.c | 57
 +++++++++++++++++++++++++++++++++++++++------
 1 file changed, 50 insertions(+), 7 deletions(-)

commit 513248a2b7b4bc9d3043c81c024ad3277d35523f
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Thu Jan 30 12:50:30 2014 +0100

    mmcli: allow passing bearer index in --delete-bearer

 cli/mmcli-modem.c | 57
 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 50 insertions(+), 7 deletions(-)

commit 06d2e51bbc4e183d7934adcc9cddbbe6195689a3
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jan 30 00:43:45 2014 -0800

    zte: add port type hints for the ZTE MF190 (19d2:1254)

 plugins/zte/77-mm-zte-port-types.rules | 3 +++
 1 file changed, 3 insertions(+)

commit c28ff0d5470f0564cc09d8fa06e18506876033a3
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jan 28 23:44:01 2014 -0800

    modem-helpers: recognize "3G" as UMTS access technology

    Some modems (e.g. ZTE MF190) report UMTS access technology as "3G":

      --> 'AT+ZPAS?<CR>'
      <-- '<CR><LF>+ZPAS: "3G","CS_PS"<CR><LF><CR><LF>OK<CR><LF>'

 src/mm-modem-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c5cfa2cad103bba58f281324458be6c05dbd8326
Author: Guido Günther <agx@sigxcpu.org>
Date:   Sun Jan 26 16:37:58 2014 +0100

    broadband-modem-qmi: Fix compilation error due to removed variable

    otherwise we fail with:

    CC       ModemManager-mm-broadband-modem-qmi.o
    mm-broadband-modem-qmi.c: In function ‘process_gsm_info’:
    mm-broadband-modem-qmi.c:4182:18: error: ‘egprs_support_valid’
    undeclared (first use in this function)
                     &egprs_support_valid,  &egprs_support,
                      ^
    mm-broadband-modem-qmi.c:4182:18: note: each undeclared identifier
    is reported only once for each function it appears in
    mm-broadband-modem-qmi.c:4182:40: error: ‘egprs_support’
    undeclared (first use in this function)
                     &egprs_support_valid,  &egprs_support,

 src/mm-broadband-modem-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 3c2800f02eef9f1aed2ad7b25717b2bb54fcd764
Author: Guido Günther <agx@sigxcpu.org>
Date:   Sun Jan 26 16:37:57 2014 +0100

    broadband-modem-qmi: Fix compilation error due to variable type change

    otherwise we fail with:

    CC       ModemManager-mm-broadband-modem-qmi.o
    mm-broadband-modem-qmi.c: In function ‘get_signal_info_ready’:
    mm-broadband-modem-qmi.c:2309:5: error: passing argument 3 of
    ‘signal_info_get_quality’ from incompatible pointer type [-Werror]
         if (!signal_info_get_quality (ctx->self, output, &quality)) {
         ^
    mm-broadband-modem-qmi.c:2236:1: note: expected ‘gint8 *’ but
    argument is of type ‘guint *’
     signal_info_get_quality (MMBroadbandModemQmi *self,
     ^
    cc1: all warnings being treated as errors

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 983c197c6b7b6c31e91bfb82c3d32a2578c39b53
Author: Guido Günther <agx@sigxcpu.org>
Date:   Sun Jan 26 16:37:56 2014 +0100

    broadband-modem-qmi: Fix compilation error due to variable name change

    otherwise we fail with:

    CC       ModemManager-mm-broadband-modem-qmi.o
    mm-broadband-modem-qmi.c: In function ‘modem_load_current_bands’:
    mm-broadband-modem-qmi.c:1881:35: error: ‘ctx’ undeclared (first
    use in this function)
         if (qmi_client_check_version (ctx->client, 1, 19)) {
                                       ^
    mm-broadband-modem-qmi.c:1881:35: note: each undeclared identifier
    is reported only once for each function it appears in

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fdba981f8e5023fc4c42ba29c401444a3a2f2578
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 26 19:56:58 2014 +0100

    huawei: fix leaked string

 plugins/huawei/mm-broadband-modem-huawei.c | 2 ++
 1 file changed, 2 insertions(+)

commit 48585c250b68ab2ca192af36b8873c475f73165c
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 26 19:29:45 2014 +0100

    udev: apply udev rules upon 'move' events as well

    Otherwise, we may end up losing the tags we expect if the device
    gets a 'move'
    event just after the initial 'add'.

 plugins/huawei/77-mm-huawei-net-port-types.rules   | 2 +-
 plugins/longcheer/77-mm-longcheer-port-types.rules | 2 +-
 plugins/mbm/77-mm-ericsson-mbm.rules               | 2 +-
 plugins/mtk/77-mm-mtk-port-types.rules             | 2 +-
 plugins/nokia/77-mm-nokia-port-types.rules         | 2 +-
 plugins/simtech/77-mm-simtech-port-types.rules     | 2 +-
 plugins/telit/77-mm-telit-port-types.rules         | 2 +-
 plugins/x22x/77-mm-x22x-port-types.rules           | 2 +-
 plugins/zte/77-mm-zte-port-types.rules             | 2 +-
 src/77-mm-pcmcia-device-blacklist.rules            | 3 +--
 src/77-mm-platform-serial-whitelist.rules          | 3 +--
 src/77-mm-usb-device-blacklist.rules               | 2 +-
 src/77-mm-usb-serial-adapters-greylist.rules       | 2 +-
 13 files changed, 13 insertions(+), 15 deletions(-)

commit b7adbf97a560d8c4ae59d151872ed154c7e49822
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 26 11:25:06 2014 +0100

    port-probe: the 'buffer-full' signal is only used during AT probing

    Make sure we cleanup the 'buffer-full' signal handler when moving
    from AT
    probing to QCDM probing, so that we don't try to remove a signal
    handler from
    a QCDM port in which we haven't set it.

    E.g. avoids:

    ModemManager[1493]: <debug> [1390731359.108502] [mm-port-probe.c:239]
    mm_port_probe_set_result_qcdm(): (tty/ttyHS2) port is QCDM-capable

    (ModemManager:1493): GLib-GObject-WARNING **: gsignal.c:2585: instance
    '0x7431b0' has no handler with id '16'

 src/mm-port-probe.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit 72d83898da16015361c2fed216fe797678fca427
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 26 11:01:42 2014 +0100

    huawei: fix some leaked 'GStrv' arrays

 plugins/huawei/mm-modem-helpers-huawei.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 0cfc825e11ba935d84c51e2d206d3e7ee242b9fb
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sun Jan 26 10:55:43 2014 +0100

    huawei: fix leaked 'GUdevDevice'

 plugins/huawei/mm-broadband-modem-huawei.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit a282237ae518bb782f1e92e3a8044be431421cfd
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 25 20:56:01 2014 +0100

    port-probe: buffer_full_id is a signal handler, not a GSource

 src/mm-port-probe.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 93108fdb60641ec82f363be1a4ecb4be5f575607
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 25 20:45:34 2014 +0100

    novatel: fix leaked 'GSimpleAsyncResult'

 plugins/novatel/mm-broadband-modem-novatel.c | 1 +
 1 file changed, 1 insertion(+)

commit 95249239a21870c85082306e7ac791979abc9a76
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 25 20:01:32 2014 +0100

    sierra: fix leaked 'GStrv' with CDMA modems

 plugins/sierra/mm-broadband-modem-sierra.c | 2 ++
 1 file changed, 2 insertions(+)

commit 529e94b039305eacc13df48e9721120eb14a4636
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 25 19:34:57 2014 +0100

    broadband-modem: fix leaked 'QcdmResult'

 src/mm-broadband-modem.c | 3 +++
 1 file changed, 3 insertions(+)

commit 561c8b715ecdff3e4e6f0bc397e4ca46b71f21f2
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 24 21:26:46 2014 +0100

    bearer-mbim: fix leaked 'MMBearerIpConfig' objects

 src/mm-bearer-mbim.c | 4 ++++
 1 file changed, 4 insertions(+)

commit ae86ce1cbbea78fe90c4801f50ab0aa6671547c6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 24 21:08:47 2014 +0100

    bearer-mbim: fix leaked 'MMBearerProperties'

 src/mm-bearer-mbim.c | 1 +
 1 file changed, 1 insertion(+)

commit 1547be518165464fc0700c65aa864fcc35597717
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 24 20:44:14 2014 +0100

    bearer-mbim: fix several leaked 'MbimMessage' objects

    mbim_device_command_finish() returns always a new reference to
    the response.

 src/mm-bearer-mbim.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit 26793e10d6e32ba8595cbc70970e8d02aa3169b9
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 24 19:15:46 2014 +0100

    release: update NEWS

 NEWS | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit 3914808120bb852dc22ee1d89ad2a21d6120af9d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 27 06:50:06 2012 +0100

    zte: support for QMI-based modems

    E.g. the ZTE MF190

    [/dev/cdc-wdm1] QMI Device supports 4 services:
    [/dev/cdc-wdm1]    ctl (1.2)
    [/dev/cdc-wdm1]    wds (1.3)
    [/dev/cdc-wdm1]    dms (1.2)
    [/dev/cdc-wdm1]    nas (1.0)

 plugins/zte/mm-plugin-zte.c | 24 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

commit 19b0a7e28fa27556db8f09f93c8628a3fa21aeaa
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Sat Jan 18 14:16:59 2014 +0100

    altair-lte: add 'mm' prefix in the exported helper methods

 plugins/altair/mm-broadband-modem-altair-lte.c       |  4 ++--
 plugins/altair/mm-modem-helpers-altair-lte.c         |  8 ++++----
 plugins/altair/mm-modem-helpers-altair-lte.h         |  8 ++++----
 plugins/altair/tests/test-modem-helpers-altair-lte.c | 20
 ++++++++++----------
 4 files changed, 20 insertions(+), 20 deletions(-)

commit 87f0f808bf9282e3de3bfcf7486049ff9b6f6aa8
Author: Thieu Le <thieule@chromium.org>
Date:   Wed Jan 15 13:06:39 2014 -0800

    altair-lte: set subscription state using PCO

    This patch sets the subscription state using Verizon's PCO values.

 plugins/altair/mm-broadband-modem-altair-lte.c     | 229
 +++++++++++++++++++--
 plugins/altair/mm-modem-helpers-altair-lte.c       | 155 ++++++++++++++
 plugins/altair/mm-modem-helpers-altair-lte.h       |   8 +
 .../altair/tests/test-modem-helpers-altair-lte.c   |  38 ++++
 src/mm-iface-modem-3gpp.c                          |   1 +
 5 files changed, 415 insertions(+), 16 deletions(-)

commit afabde0f2c710302024d4fd40c8d719d4196ded6
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 17 11:58:18 2014 +0100

    build: fix linker flags when building plugins

    MM_LIBS was missing in PLUGIN_COMMON_LINKER_FLAGS, and replace
    GUDEV_LDFLAGS
    with GUDEV_LIBS.

 plugins/Makefile.am | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 22eb8816f1711d9903c9de55d5a99f6bdaad6c50
Author: Mario Blättermann <mario.blaettermann@gmail.com>
Date:   Mon Jan 13 17:55:41 2014 +0100

    po: add German translation

 po/LINGUAS |  3 +-
 po/de.po   | 95
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 97 insertions(+), 1 deletion(-)

commit 5c00736f4402eae5ea15861f376239ae73cf8aa0
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jan 10 16:55:44 2014 -0800

    iface-modem,sim: make SIM interface initialization cancellable

 src/mm-iface-modem.c |  2 +-
 src/mm-sim.c         | 10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

commit 50f3f41c3a857caf9403ef943b4832735fb4ffba
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jan 8 16:10:06 2014 -0800

    huawei: avoid creating Connect3gppContext when no data port is
    available

    This patch modifies MMBroadbandBearerHuawei such that connect_3gpp
    simply reports an error via g_simple_async_report_error_in_idle,
    without
    creating a Connect3gppContext, if no data port is available.

 plugins/huawei/mm-broadband-bearer-huawei.c | 30
 ++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

commit fd1a1839ae1bcade2f9d422f6bc0d6e6040295e6
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jan 8 10:13:16 2014 -0800

    serial-port: fail open/reopen after a serial port has been forced
    close

    After a MMSerialPort object is forced close, it may be opened again
    if some
    other object still holds a reference to it. When the MMSerialPort
    object is
    eventually disposed, mm_serial_port_close_force is invoked on the
    object but
    does nothing as 'priv->forced_close' is already set to
    TRUE. 'priv->watch_id'
    is still active, which could potentially lead to a crash if
    data_available is
    called after the MMSerialPort object is finalized. This patch prevents
    such a
    scenario by failing mm_serial_port_open / mm_serial_port_reopen
    after the
    MMSerialPort has been forced close.

 src/mm-serial-port.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

commit 910a55a0f2373a3469e7d0f3fe6dc5b0e8440e9f
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jan 7 23:16:56 2014 -0800

    novatel-lte: remove unused macro definitions

 plugins/novatel/mm-broadband-bearer-novatel-lte.h | 3 ---
 1 file changed, 3 deletions(-)

commit 76d52c2df38ce6bf7c2093df097e97b6f6690946
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Jan 7 23:55:45 2014 -0800

    huawei: avoid calling g_object_unref on NULL

    This patch prevents connect_3gpp_context_complete_and_free from
    calling
    'g_object_unref (ctx->data)' when connect_3gpp finds no data port
    (i.e.
    ctx->data is set to NULL).

 plugins/huawei/mm-broadband-bearer-huawei.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 84bdcb04ed076a8c32a6e7146922e8bdded930c2
Author: Yegor Yefremov <yegorslists@googlemail.com>
Date:   Tue Jan 7 11:41:59 2014 +0100

    trivial: resolve maybe-uninitialized warnings

    Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>

 plugins/huawei/mm-broadband-modem-huawei.c | 2 +-
 src/mm-serial-port.c                       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 1601069e50b9cf2d2d22cf44245bee042c35f150
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jan 6 17:20:52 2014 -0800

    novatel-lte: explicitly use primary port for connection/disconnection
    sequence

    The Novatel LTE modem only uses its primary AT port for AT commands.
    Instead of referencing any existing secondary port, this patch changes
    MMBroadbandBearerNovatelLte to explicitly use the primary port
    during the
    connection and disconnection sequence.

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 39
 +++++++++++++----------
 1 file changed, 22 insertions(+), 17 deletions(-)

commit 6c1c0d5e2b45ad0d156ace656d9e74c62ff485b9
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jan 6 11:27:46 2014 -0800

    altair-lte: explicitly use primary port for connection/disconnection
    sequence

    The Altair LTE modem only uses its primary AT port for AT commands.
    Instead of referencing any existing secondary port, this patch changes
    MMBroadbandBearerAltairLte to explicitly use the primary port
    during the
    connection and disconnection sequence.

 plugins/altair/mm-broadband-bearer-altair-lte.c | 64
 ++++++++++++-------------
 1 file changed, 32 insertions(+), 32 deletions(-)

commit 22b0de736b73d076eebd8978a8d0b9da1f3d126d
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jan 6 09:50:05 2014 -0800

    huawei: handle ^NDISSTAT disconnected notification only on a
    connected bearer

    If the bearer is not actually connected and the modem
    (inappropriately)
    indicates a disconnected status via a ^NDISSTAT unsolicited message,
    it
    could potentially lead to the following assertion in
    connect_3gpp_context_step. This patch addresses such an issue.

        g_assert (ctx->self->priv->network_disconnect_pending_id == 0);

    0x7f940c2ecd95   [libc-2.15.so]            - raise.c:64
    raise
    0x7f940c2ee217   [libc-2.15.so]            - abort.c:91
    abort
    0x7f940c8e6086   [libglib-2.0.so.0.3400.3] - gtestutils.c:1877
    g_assertion_message
    0x7f940c8e6553   [libglib-2.0.so.0.3400.3] - gtestutils.c:1888
    g_assertion_message_expr
    0x7f940cba5710   [libmm-plugin-huawei.so]  -
    mm-broadband-bearer-huawei.c:240   connect_3gpp_context_step
    0x7f940cd4a51e   [ModemManager]            -
    mm-broadband-bearer.c:1246         connect
    0x7f940cd662b7   [ModemManager]            -
    mm-iface-modem-simple.c:588        connection_step
    0x7f940cd66e6e   [ModemManager]            -
    mm-iface-modem-simple.c:267
    register_in_3gpp_or_cdma_network_ready
    0x7f940ca0e296   [libgio-2.0.so.0.3400.3]  - gsimpleasyncresult.c:775
    g_simple_async_result_complete
    0x7f940ca0e398   [libgio-2.0.so.0.3400.3]  - gsimpleasyncresult.c:787
    complete_in_idle_cb
    0x7f940c8c2ff4   [libglib-2.0.so.0.3400.3] - gmain.c:2715
    g_main_context_dispatch
    0x7f940c8c3377   [libglib-2.0.so.0.3400.3] - gmain.c:3290
    g_main_context_iterate
    0x7f940c8c37c9   [libglib-2.0.so.0.3400.3] - gmain.c:3484
    g_main_loop_run
    0x7f940cd3b425   [ModemManager]            - main.c:142
    main
    0x7f940c2d9464   [libc-2.15.so]            - libc-start.c:234
    __libc_start_main
    0x7f940cd3afa8   [ModemManager]            + 0x0001efa8

 plugins/huawei/mm-broadband-bearer-huawei.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 2a946bd72cbc1f1a09db2d72e46e0e1f2a95107f
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jan 6 11:47:08 2014 -0800

    novatel-lte: remove unnecessary MM_BASE_MODEM() casts

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 19
 +++++--------------
 plugins/novatel/mm-sim-novatel-lte.c              |  2 +-
 2 files changed, 6 insertions(+), 15 deletions(-)

commit 885a453dadecf00e08f7f8c6cdaec2a208907f88
Author: Jens Seidel <jens.seidel@mathematik.tu-chemnitz.de>
Date:   Fri Jan 3 11:31:58 2014 -0600

    mbm: add another C5621 ID

    This device ID is used in a Lenovo Helix.

 plugins/mbm/77-mm-ericsson-mbm.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 0ddbbaab17023bf83a6566c4ef57c2fcfc8b8cf0
Author: Aleksander Morgado <aleksander@aleksander.es>
Date:   Fri Jan 3 12:38:01 2014 +0100

    sms-mbim: increase timeout when sending SMS part to 30s

    Aligned to the value used also in QMI, and likely a much better
    value than the
    original 10s.

    See:
      http://lists.freedesktop.org/archives/libmbim-devel/2013-December/000079.html

 src/mm-sms-mbim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 496f298832a8269204e11662d20d3feaebba0739
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jan 2 16:00:44 2014 -0800

    altair-lte: remove unnecessary MM_BASE_MODEM() casts

 plugins/altair/mm-broadband-bearer-altair-lte.c | 12 +++---------
 plugins/altair/mm-broadband-modem-altair-lte.c  |  4 ++--
 2 files changed, 5 insertions(+), 11 deletions(-)

commit dac652321bd59a2d1d9b992f4a436de1e129ab3f
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jan 2 16:00:43 2014 -0800

    altair-lte: refactor code for handling 'data' in
    DetailedConnectContext

 plugins/altair/mm-broadband-bearer-altair-lte.c | 40
 ++++++++++++-------------
 1 file changed, 19 insertions(+), 21 deletions(-)

commit cddc4af7bd18b93214ac270295b6410db1e0749f
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jan 2 15:56:33 2014 -0800

    huawei: report an error when ^PREFMODE reports no valid values

    This patch fixes mm_huawei_parse_prefmode_test to always report an
    error when
    returning NULL, which avoid a potential crash when the caller tries
    to access
    the error.

 plugins/huawei/mm-modem-helpers-huawei.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 52d34ce0dbe375de646fd6ae25d2d8197d24dd32
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 19 12:55:51 2013 +0100

    bearer-mbim: parse replies on failure

    Based on a patch from: Bjørn Mork <bjorn@mork.no>

    Some messages provide an additional NwError cause code from
    the network in case of failure. This means that we need to
    parse the reply even if the status indicates failure, to be
    able to return the exact failure cause.

 src/mm-bearer-mbim.c | 146
 ++++++++++++++++++++++++++++++++-------------------
 1 file changed, 91 insertions(+), 55 deletions(-)

commit ab12d17bfb508e85c6b983b5d0ec8c915bd67a86
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Dec 16 16:17:38 2013 -0800

    iface-modem: fix crash in
    wait_for_final_state_context_complete_and_free

    When wait_for_final_state_context_complete_and_free is invoked,
    if the callback
    associated with the GSimpleAsyncResult object of the
    WaitForFinalStateContext
    object updates the modem state via mm_iface_modem_update_state,
    state_changed
    is invoked, which causes
    wait_for_final_state_context_complete_and_free to be
    invoked again on the same WaitForFinalStateContext object. That
    leads to the
    following crash, which is observed sometimes when a modem is being
    disabled.

    Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )

    0x7fcb7728f202   [libgobject-2.0.so.0.3400.3] - gobject.c:2916
    g_object_unref
    0x7fcb7743205c   [ModemManager]               -
    mm-broadband-modem.c:8034   disabling_context_complete_and_free
    0x7fcb77434d64   [ModemManager]               -
    mm-broadband-modem.c:8130   disabling_wait_for_final_state_ready
    0x7fcb770c0b86   [libgio-2.0.so.0.3400.3]     -
    gsimpleasyncresult.c:775    g_simple_async_result_complete
    0x7fcb7740cdbc   [ModemManager]               - mm-iface-modem.c:101]
    wait_for_final_state_context_complete_and_free
    0x7fcb7740ce19   [ModemManager]               - mm-iface-modem.c:128]
    state_changed_wait_expired
    0x7fcb76f78c33   [libglib-2.0.so.0.3400.3]    - gmain.c:4026]
    g_timeout_dispatch
    0x7fcb76f78087   [libglib-2.0.so.0.3400.3]    - gmain.c:2715]
    g_main_context_dispatch
    0x7fcb76f78437   [libglib-2.0.so.0.3400.3]    - gmain.c:3290]
    g_main_context_iterate
    0x7fcb76f78891   [libglib-2.0.so.0.3400.3]    - gmain.c:3484]
    g_main_loop_run
    0x7fcb773f4d55   [ModemManager]               - main.c:142]
    main
    0x7fcb7698a9c6   [libc-2.15.so]               - libc-start.c:234]
    __libc_start_main
    0x7fcb773f48b8   [ModemManager]               + 0x000218b8]

 src/mm-iface-modem.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 004924b0385a503520f26e499444f8c8c42616a6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 16 12:30:13 2013 +0100

    broadband-modem-qmi: fix segfault when using AT-fallback mode for
    messaging

    The default broadband modem implementation doesn't have a method
    to disable
    unsolicited messages for SMS.

 src/mm-broadband-modem-qmi.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

commit 5b078edc214653cf28e172230e50eab1f647bbbd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 10 14:27:35 2013 +0100

    release: bump version to 1.1.900 (1.2-rc1)

    Also bump soname of libmm-glib, as the interface has grown since
    the last tag.

 configure.ac | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 5aa2f11535b1d650111963af0a195103e45af604
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Dec 9 15:07:27 2013 -0800

    sim-mbim: prevent potential leak when loading SIM idenitifier and IMSI

    This patch addresses a potential memory leak when load_sim_identifier
    or
    load_imsi in MMSimMbim is called but the caller does not provide a
    GAsyncReadyCallback.

 src/mm-sim-mbim.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 4c213d460e446e69eb3265de3042e9e1582f1fd0
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Dec 9 15:07:26 2013 -0800

    broadband-modem-mbim: prevent potential leak when scanning networks

    This patch addresses a potential memory leak when scan_networks in
    MMBroadbandModemMbim is called but the caller does not provide a
    GAsyncReadyCallback.

    Reported by Aleksander Morgado <aleksander@lanedo.com>

 src/mm-broadband-modem-mbim.c | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

commit ebadb6786a4a398c0110c8e794922427081f10ee
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Dec 9 15:07:25 2013 -0800

    sim-mbim: prevent potential leak when loading operator idenitifier
    and name

    This patch addresses a potential memory leak when
    load_operator_identifier or load_operator_name in MMSimMbim is called
    but the caller does not provide a GAsyncReadyCallback.

    Reported by Aleksander Morgado <aleksander@lanedo.com>

 src/mm-sim-mbim.c | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

commit fc42b2df8c0c68425f79dae17f6fac988f69f6f5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 11 01:12:21 2013 +0100

    huawei: handle empty response to AT^SYSCFG=?

    Some Huawei modems (e.g. E220) may give an empty response for
    AT^SYSCFG=?, even
    if they do support the command. Handle this case by prividing a
    default fallback
    format string when this happens.

 plugins/huawei/mm-broadband-modem-huawei.c       | 15 ++++++++--
 plugins/huawei/mm-modem-helpers-huawei.h         |  4 +++
 plugins/huawei/tests/test-modem-helpers-huawei.c | 35
 ++++++++++++++++++++++++
 3 files changed, 52 insertions(+), 2 deletions(-)

commit e81fdd07c3e8ef824b13e157d4c50213786d9973
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 11 00:55:15 2013 +0100

    huawei: new current mode setting based on the supported combinations

 plugins/huawei/mm-broadband-modem-huawei.c | 262
 +++++++++++++++++------------
 1 file changed, 151 insertions(+), 111 deletions(-)

commit c337f52e30125d4c7e5a607b2bb71ccd92b07784
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Nov 10 22:07:03 2013 +0100

    huawei: new current mode loading based on the supported combinations

 plugins/huawei/mm-broadband-modem-huawei.c | 347
 ++++++++++++++++-------------
 1 file changed, 194 insertions(+), 153 deletions(-)

commit 02839b2e4468afcd96e1259e60f5f4665057581a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Nov 10 21:28:17 2013 +0100

    huawei: new ^SYSCFGEX? response parser

 plugins/huawei/mm-modem-helpers-huawei.c         |  71 ++++++++++++
 plugins/huawei/mm-modem-helpers-huawei.h         |   7 ++
 plugins/huawei/tests/test-modem-helpers-huawei.c | 138
 +++++++++++++++++++++++
 3 files changed, 216 insertions(+)

commit 9ac136028b710f6b65c7fa2b61a535afb3b0b192
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Nov 10 21:24:42 2013 +0100

    huawei: new ^SYSCFG? response parser

 plugins/huawei/mm-modem-helpers-huawei.c         | 66
 +++++++++++++++++++++++
 plugins/huawei/mm-modem-helpers-huawei.h         |  7 +++
 plugins/huawei/tests/test-modem-helpers-huawei.c | 69
 ++++++++++++++++++++++++
 3 files changed, 142 insertions(+)

commit 4e5c35a69fd8e9aab7c7b2b3f7d14298487c2de6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Nov 10 21:14:00 2013 +0100

    huawei: new ^PREFMODE? response parser

 plugins/huawei/mm-modem-helpers-huawei.c         | 46 +++++++++++++++++++
 plugins/huawei/mm-modem-helpers-huawei.h         |  7 +++
 plugins/huawei/tests/test-modem-helpers-huawei.c | 56
 ++++++++++++++++++++++++
 3 files changed, 109 insertions(+)

commit 8cc3eff661ea8cfa61c2c7d5960e82d0c411e8e1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 8 21:15:53 2013 +0100

    huawei: load supported modes, not just assume them

 plugins/huawei/mm-broadband-modem-huawei.c | 249
 +++++++++++++++++++++++------
 1 file changed, 201 insertions(+), 48 deletions(-)

commit ef526395df7ed2688db5e1a3e3536153e09f0677
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 8 20:02:24 2013 +0100

    huawei: consolidate command support checks

 plugins/huawei/mm-broadband-modem-huawei.c | 77
 +++++++++++++-----------------
 1 file changed, 33 insertions(+), 44 deletions(-)

commit 47640a65078cc796c638a7c70ff5951ab240fd6d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 8 00:06:07 2013 +0100

    huawei: new ^SYSCFGEX=? test parser

 plugins/huawei/mm-modem-helpers-huawei.c         | 180
 ++++++++++++++++++++++
 plugins/huawei/mm-modem-helpers-huawei.h         |  12 ++
 plugins/huawei/tests/test-modem-helpers-huawei.c | 185
 +++++++++++++++++++++++
 3 files changed, 377 insertions(+)

commit 677dd7da91b001a5eeb53f2e1b54b7935b764a66
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Nov 7 23:30:53 2013 +0100

    huawei: new ^SYSCFG=? test parser

 plugins/huawei/mm-modem-helpers-huawei.c         | 299
 +++++++++++++++++++++++
 plugins/huawei/mm-modem-helpers-huawei.h         |  13 +
 plugins/huawei/tests/test-modem-helpers-huawei.c | 150 ++++++++++++
 3 files changed, 462 insertions(+)

commit ceb578a824c60310c64d7a972afb12282fd7af35
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Nov 3 19:16:20 2013 +0100

    huawei: new ^PREFMODE=? test parser

 plugins/huawei/mm-modem-helpers-huawei.c         | 119
 +++++++++++++++++++++
 plugins/huawei/mm-modem-helpers-huawei.h         |  12 +++
 plugins/huawei/tests/test-modem-helpers-huawei.c | 125
 +++++++++++++++++++++++
 3 files changed, 256 insertions(+)

commit 0dcf609dcc49c3f6831184133c933c924ff5e397
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Nov 3 19:13:48 2013 +0100

    huawei,tests: enable log traces in the tests

 plugins/Makefile.am                              |  4 +++-
 plugins/huawei/mm-modem-helpers-huawei.h         |  3 +++
 plugins/huawei/tests/test-modem-helpers-huawei.c | 25
 ++++++++++++++++++++++++
 3 files changed, 31 insertions(+), 1 deletion(-)

commit a1ffe805affb058e49692b6e473d296a72a39f1b
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Dec 9 11:15:15 2013 -0600

    broadband-modem-huawei: fix CDMA unsolicited response parsing

    On at least the EC168C, various unsolicited responses like RSSILVL,
    HRSSILVL, and MODE can include an extra Carriage Return:

    ^MODE: 2<CR><CR><LF><CR><CR><LF>
    ^RSSILVL:60<CR><CR><LF><CR><CR><LF>

 plugins/huawei/mm-broadband-modem-huawei.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit f721c650d2b37dc91301ed41e3ed10f28c8acd10
Author: Bjørn Mork <bjorn@mork.no>
Date:   Thu Dec 5 12:43:20 2013 +0100

    qcdm: add utility to display and set the "IPv6 enabled" variable

    Signed-off-by: Bjørn Mork <bjorn@mork.no>

 .gitignore                |   1 +
 libqcdm/tests/Makefile.am |   8 +-
 libqcdm/tests/ipv6pref.c  | 316
 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 324 insertions(+), 1 deletion(-)

commit fa0fa1c647a10e229b61477e2768fd8b12c1924c
Author: Bjørn Mork <bjorn@mork.no>
Date:   Thu Dec 5 12:43:19 2013 +0100

    qcdm: add IPv6 nvram setting to test suite

    Signed-off-by: Bjørn Mork <bjorn@mork.no>

 libqcdm/tests/test-qcdm-com.c | 55
 +++++++++++++++++++++++++++++++++++++++++++
 libqcdm/tests/test-qcdm-com.h |  2 ++
 libqcdm/tests/test-qcdm.c     |  1 +
 3 files changed, 58 insertions(+)

commit 13552aa8b67058caa5a183238f2cfe73737f26c2
Author: Bjørn Mork <bjorn@mork.no>
Date:   Thu Dec 5 12:43:18 2013 +0100

    qcdm: add IPv6 nvram setting

    Some Qualcomm firmwares disable IPv6 unless this flag is set in
    nvram, at
    least for the LTE default bearer. The firmware will happily let you
    configure the IPV6 and IPV4V6 PDP types, also including the default
    profile, but any attempt to connect will fail.

    Signed-off-by: Bjørn Mork <bjorn@mork.no>

 libqcdm/src/commands.c | 88
 ++++++++++++++++++++++++++++++++++++++++++++++++++
 libqcdm/src/commands.h | 23 +++++++++++++
 libqcdm/src/nv-items.h | 13 ++++++++
 3 files changed, 124 insertions(+)

commit 073163fb0b7fd1408029d986b7052638d357f69c
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Dec 4 23:44:15 2013 -0800

    core: fix some typos in comments

 src/mm-broadband-modem.c | 4 ++--
 src/mm-iface-modem.c     | 4 ++--
 src/mm-serial-port.c     | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

commit 9a72f90cf7d36092be4fdb8fed35ac8146a97cc3
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Dec 4 13:19:26 2013 -0800

    cli: fix source tag of GSimpleAsyncResult objects

 cli/mmcli-common.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 2db3df9d934acf01e93b11b6bcb1fc5a34f7b25a
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Dec 4 11:07:42 2013 -0800

    broadband-modem-mbim: implement network scan

 src/mm-broadband-modem-mbim.c | 81
 ++++++++++++++++++++++++++++++++++++++++---
 src/mm-modem-helpers-mbim.c   | 48 +++++++++++++++++++++++++
 src/mm-modem-helpers-mbim.h   |  4 +++
 3 files changed, 129 insertions(+), 4 deletions(-)

commit 891f55f25c86e8bc35dd02b4254891508d4becba
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Dec 3 23:38:51 2013 -0800

    broadband-modem-mbim: fix source tag of GSimpleAsyncResult objects

 src/mm-broadband-modem-mbim.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 1e8baaf7a2927a95945333eda97744bf7f04aa95
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Nov 30 13:19:34 2013 -0800

    sim-mbim: implement operator identifier and name loading

 src/mm-sim-mbim.c | 138
 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 132 insertions(+), 6 deletions(-)

commit 1b34fe6c514e319bfac66e1edb89798c7c411979
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Dec 1 14:15:13 2013 -0600

    broadband-bearer-qmi: ensure errors are cleared before re-using them

    If the bearer doesn't have one of IPv4 or IPv6 configuration, then the
    qmi_message_wds_get_current_settings_output_get_ip*_address()
    functions
    will return FALSE with a filled error, which was not cleared.

    This fixes a glib warning message about overwriting an already-filled
    GError.

 src/mm-bearer-qmi.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit c30a8f67eff3afe5565e7e2134f56841802556fb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 22 14:57:39 2013 +0100

    base-modem: also release cdc-wdm ports

 src/mm-base-modem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 6d251daf4716c34587bf11826b7f798c54fda5ff
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Nov 21 22:24:50 2013 -0800

    cli: print 'Bearers' property in Modem interface

 cli/mmcli-modem.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit e4382212586447f63004db0fdd7df78243da582a
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Nov 21 22:24:49 2013 -0800

    libmm-glib: add methods to retrieve 'Bearers' property in Modem
    interface

 docs/reference/libmm-glib/libmm-glib-sections.txt |  2 ++
 libmm-glib/mm-modem.c                             | 39
 +++++++++++++++++++++++
 libmm-glib/mm-modem.h                             |  3 ++
 3 files changed, 44 insertions(+)

commit a787d1bbb8460e577f1f32bda84f6c1b7420274e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Nov 21 12:46:05 2013 +0100

    docs,libmm-glib: add missing methods for the new properties

 docs/reference/libmm-glib/libmm-glib-sections.txt | 6 ++++++
 1 file changed, 6 insertions(+)

commit f7546ad82456afcd0bb176586d26c8bd7cec60cc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 15 19:33:04 2013 +0100

    introspection,api: new 'Messages' property in the Messaging interface

    https://bugzilla.gnome.org/show_bug.cgi?id=712276

 ...g.freedesktop.ModemManager1.Modem.Messaging.xml |  7 +++
 libmm-glib/mm-modem-messaging.c                    | 50
 ++++++----------------
 src/mm-iface-modem-messaging.c                     | 13 ++++++
 src/mm-sms-list.c                                  |  3 ++
 4 files changed, 37 insertions(+), 36 deletions(-)

commit 7f442b777c6fe7fd71f4f9022121752dabad5cdd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 15 19:06:58 2013 +0100

    introspection,api: new 'Bearers' property in the Modem interface

    https://bugzilla.gnome.org/show_bug.cgi?id=712276

 .../org.freedesktop.ModemManager1.Modem.xml        |  8 ++++
 libmm-glib/mm-modem.c                              | 52
 +++++++---------------
 src/mm-bearer-list.c                               | 27 +++++++++--
 src/mm-bearer-list.h                               |  1 +
 src/mm-iface-modem.c                               | 27 +++++++++++
 5 files changed, 75 insertions(+), 40 deletions(-)

commit c21709b32e1af46f1764888a03b21fd747db7da1
Author: Thieu Le <thieule@chromium.org>
Date:   Tue Nov 19 13:06:19 2013 -0800

    altair-lte: add SIMREFRESH support

    Register for SIMREFRESH event and reload own numbers and reregister
    modem with network when this happens.

 plugins/altair/mm-broadband-modem-altair-lte.c | 189
 ++++++++++++++++++++++---
 src/mm-iface-modem.c                           |  15 ++
 src/mm-iface-modem.h                           |   4 +
 3 files changed, 191 insertions(+), 17 deletions(-)

commit 5e7fee1d116f69fbee0b984e11c39f1f9c5277f3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 20 15:07:45 2013 +0100

    build: use 'g_cclosure_marshal_generic' by default

    Avoid custom marshalers, and just use libffi-based
    'g_cclosure_marshal_generic'.

 src/Makefile.am      | 18 +-----------------
 src/mm-marshal.list  |  3 ---
 src/mm-plugin.c      |  1 -
 src/mm-serial-port.c | 26 +++++++++++++-------------
 src/mm-sim.c         |  3 +--
 src/mm-sms-list.c    |  5 ++---
 6 files changed, 17 insertions(+), 39 deletions(-)

commit fe744b4534a3190112e8dbd0f0131ebcf34f3643
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 19 23:59:38 2013 +0100

    base-modem: fix port validity checks

 src/mm-base-modem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 974408760c548b25fbf6972da13c49756d7ecb0e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 15 19:14:13 2013 +0100

    introspection,api: fix Messaging documentation

    We don't have a Completed signal.

 introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml |
 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

commit 85d5d968248b54fbcbc145cc05a4690bd865a782
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 15 17:25:33 2013 +0100

    port: remove 'carrier-detect' property

    It is no longer used since commit 736aa0d2d.

 plugins/samsung/mm-broadband-modem-samsung.c |  1 -
 plugins/sierra/mm-common-sierra.c            |  4 ----
 plugins/zte/mm-broadband-modem-zte-icera.c   | 16 ----------------
 plugins/zte/mm-broadband-modem-zte.c         | 16 ----------------
 src/mm-port-probe.c                          |  1 -
 src/mm-port.c                                | 25
 -------------------------
 src/mm-port.h                                | 11 ++++-------
 7 files changed, 4 insertions(+), 70 deletions(-)

commit 3d4c143b40285b1ce6d5d0b502ddea50245a6ae5
Author: Prathmesh Prabhu <pprabhu@chromium.org>
Date:   Thu Nov 7 13:08:37 2013 -0800

    altair-lte: early fail connect/disconnect attempts when out of
    coverage

    A firmware bug in Altair ALT3100 bricks the modem when
     - The modem is out of coverage (Registration state is unknown
     (CEREG: 4))
     - A disconnect attempt is made using the AT%DPDNACT command.

    This patch prevents this situation by failing the connect/disconnect
    attempts in
    the altair plugin when registration state is unknown, without
    attempting to
    connect/disconnect the modem.

 plugins/altair/mm-broadband-bearer-altair-lte.c | 41
 +++++++++++++++++++++++--
 1 file changed, 38 insertions(+), 3 deletions(-)

commit 3c6428fa588cbd9f81f30de259af20d3825b0320
Author: Prathmesh Prabhu <pprabhu@chromium.org>
Date:   Wed Oct 30 15:57:03 2013 -0700

    bearer: notify final disconnect status using
    mm_bearer_report_connection_status

    Some MMBearer methods to disconnect the bearer assume that the
    bearer is
    disconnected even if the operation fails in a subclass. This leaves
    MMBearer
    and MMBroadbandBearer states out of sync.

    This patch notifies the bearer object of the final disconnection using
    mm_bearer_report_connection_status. This gives the subclasses a
    chance to update
    their state even when the disconnection attempt fails.

 src/mm-bearer.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

commit 1b3114a0f9ca28273e1446535b73d5b83c54c6cf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 1 15:44:18 2013 +0100

    modem-helpers: handle +CGDCONT=? replies with single context

    https://bugzilla.gnome.org/show_bug.cgi?id=708983

 src/mm-modem-helpers.c         | 21 ++++++++++-----------
 src/tests/test-modem-helpers.c | 15 +++++++++++++++
 2 files changed, 25 insertions(+), 11 deletions(-)

commit 04b52d590f9c47316e8eca9eeccb8084991f2f55
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 1 15:43:44 2013 +0100

    tests: enable logging if 'ENABLE_TEST_MESSAGE_TRACES' is defined

 src/tests/test-at-serial-port.c   | 10 ++++++++++
 src/tests/test-modem-helpers.c    | 10 ++++++++++
 src/tests/test-qcdm-serial-port.c | 10 ++++++++++
 3 files changed, 30 insertions(+)

commit deaeeec3678f0996a58fae8be1e365e463ee9400
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 18 08:55:09 2013 +0200

    x22x: handle QMI modems

    With some bits and pieces developed by Dan Williams <dcbw@redhat.com>

    https://bugzilla.gnome.org/show_bug.cgi?id=710439

 plugins/x22x/mm-plugin-x22x.c | 58
 ++++++++++++++++++++++++++++---------------
 1 file changed, 38 insertions(+), 20 deletions(-)

commit fcc2b1be2c36f4d866cd8a13b39df1c8931c067a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 31 11:31:00 2013 +0100

    altair-lte: fix LDFLAGS in the helper tests

 plugins/Makefile.am | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit e9523a6abdead8669e21a1190209d962ab1cbf7d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 30 20:18:11 2013 +0100

    huawei: clear only once the timeout to wait for the first interface

    As soon as we get a match between the current interface being probed,
    and the
    first expected interface to probe, clear the timeout. But this
    doesn't mean that
    this interface being probed will be the correct one, so it may be
    the case that
    we end up expecting a new first interface and probing another one.

    With an example probably seen better...

    Modem appears with interfaces 2, 3 and 4.

    1. We first try to look for interface 0, which is not in the set:
      1.1. Probing interfaces 2, 3 and 4 get deferred.

    2. First-interface timeout happens because interface 0 doesn't appear,
    so we
    switch to wait for interface 1:
      2.1 Probing interfaces 2, 3 and 4 get deferred.

    3. First-interface timeout happens because interface 1 doesn't appear,
    so we
    switch to wait for interface 2:
      3.1. We get a match on interface 2, which exists. We now remove the
           first-interface timeout and start running the init sequence
           there.
      3.2. Probing interfaces 3 and 4 get deferred.

    4. Init sequence in interface 2 fails, because it is not an AT port,
    so we
    switch to wait for interface 3:
      3.1. We get a match on interface 3, which exists. We do *not*
      need to remove
    now the first-interface timeout because this interface we are
    testing is
    actually the second one which we tried.

    So, just check whether the timeout exists or not, and if it exists
    remove it.
    Yeah, this commit just fixes a warning at the end.

 plugins/huawei/mm-plugin-huawei.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 6a26ad7b530b112e694c406316934429039c7fb2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 30 16:10:58 2013 +0100

    blacklist: include the whole Openmoko VID

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit b09044bcb3153e17e7b75ef1a22402027e3f4d8f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 28 18:13:14 2013 +0100

    plugin: for non-AT ports, don't expect vendor/product string probing

    When running the pre-probing VID/PID filters, the ports were not
    filtered out if
    the plugin had configured post-probing vendor/product string
    filters. But, these
    post-probing filters are only applicable to AT ports.

    From now on, this logic will not be applied to non-serial ports. In
    other words,
    pre-probing VID/PID filters applied to non-serial ports will always
    result in
    the port being filtered out or being allowed, regardless of any
    additional
    vendor/product string post-probing filter configured by the plugin.

    https://bugzilla.gnome.org/show_bug.cgi?id=710437

 src/mm-plugin.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

commit 9c2be510f6324b288d45f4d424c15ec5f865b5f3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 28 17:57:43 2013 +0100

    build: ignore built translation files

 .gitignore | 1 +
 1 file changed, 1 insertion(+)

commit c65c01703b7465229320b9eca29b3f57249c9cff
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 28 17:51:02 2013 +0100

    mtk: fix GOTO tag in udev rules

 plugins/mtk/77-mm-mtk-port-types.rules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 51b4ab44f16844236916584939799707b9cf1a1d
Author: Yuri Chornoivan <yurchor@ukr.net>
Date:   Sat Oct 19 18:24:15 2013 +0300

    po: add Ukrainian translation (bgo #710513)

 po/LINGUAS |  1 +
 po/uk.po   | 98
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 99 insertions(+)

commit c431fb8208e1b6299b06ad8ebbff094c6f6f3740
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 25 16:25:14 2013 -0500

    blacklist/greylist: add more GPS devices (rh #1023234)

    Attempt to blacklist entire drivers that we know aren't modems,
    and add a sprinkling of specific devices too.

 src/77-mm-usb-device-blacklist.rules         | 16 ++++++++++++++++
 src/77-mm-usb-serial-adapters-greylist.rules |  1 +
 2 files changed, 17 insertions(+)

commit adc7df200ff5f3c8f9fb62bda8f48be7f403d3ff
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 25 11:55:59 2013 +0200

    sms-part-cdma,test: new tests for Latin and Unicode encodings

 src/tests/test-sms-part-cdma.c | 158
 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 156 insertions(+), 2 deletions(-)

commit c669464eec28cfb390dbb00ae62a3f68ff21334a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 25 11:17:47 2013 +0200

    sms-part-cdma: fix log message

 src/mm-sms-part-cdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 364df3106ad068175b423d6dbbd478f49b5cb788
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 25 10:55:03 2013 +0200

    sms-part-cdma: improve logging when creating PDUs

 src/mm-sms-part-cdma.c | 86
 ++++++++++++++++++++++++++++----------------------
 1 file changed, 48 insertions(+), 38 deletions(-)

commit 80f55923ed9a7e3dcdaa35d8c31b6ae94d27d8b4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 25 10:35:21 2013 +0200

    sms-part-cdma: support parsing SMS with Unicode encoding

 src/mm-sms-part-cdma.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

commit 66f134b7bd0f5114630faafdf9083936cf143c9d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 25 10:34:31 2013 +0200

    sms-part-cdma: support generating SMS with Latin or Unicode encodings

 src/mm-sms-part-cdma.c | 115
 +++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 92 insertions(+), 23 deletions(-)

commit 3174b7b73fe2cfb08e39fd95c34195d1e25d1d08
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 24 09:50:09 2013 +0200

    sms-part-cdma: support receiving SMS with Latin encoding

 src/mm-sms-part-cdma.c         | 26 ++++++++++++++++++++++++
 src/tests/test-sms-part-cdma.c | 46
 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 72 insertions(+)

commit 57882f6dad82e605fbe39fe292145939811fe64d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 24 09:19:43 2013 +0200

    sms: decide whether to create a 3GPP2 or 3GPP SMS based on caps

    Don't rely on receiving a Teleservice ID. If none received, and the
    modem is
    CDMA-only, default to WMT.

 src/mm-sms.c | 32 ++++++++++++++++++++++++++------
 1 file changed, 26 insertions(+), 6 deletions(-)

commit 43694e26772ba9c9716e95e1c3607980e4ab5c12
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 20 20:39:04 2013 +0200

    sms: unknown delivery state in newly created SMS objects

 src/mm-sms.c | 1 +
 1 file changed, 1 insertion(+)

commit 0341c1663c555149a8c2cdff9bb0d76fe600a3fb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 20 20:32:57 2013 +0200

    sms: handle CDMA SMS when creating new ones from MMSmsProperties

 src/mm-sms.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 86795b928e0cc7945c88103a79d5cf7353319d8f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 20 20:17:53 2013 +0200

    libmm-glib: allow new 'teleservice-id' and 'service-category'
    keywords in MMSmsProperties

 docs/reference/libmm-glib/libmm-glib-sections.txt |   4 +
 libmm-glib/mm-common-helpers.c                    |  44 ++++++++
 libmm-glib/mm-common-helpers.h                    |   4 +
 libmm-glib/mm-sms-properties.c                    | 120
 +++++++++++++++++++++-
 libmm-glib/mm-sms-properties.h                    |   6 ++
 5 files changed, 176 insertions(+), 2 deletions(-)

commit 663017a3d20f3beeff12bd5b56f730c6b43eee32
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 20 19:56:05 2013 +0200

    sms: clear generated parts when storing/sending fails

 src/mm-sms.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

commit bd05787b51ba1806850a365bc7d08088a2109c2a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 20 19:50:49 2013 +0200

    sms-qmi: check whether the modem supports the specific SMS type

 src/mm-sms-qmi.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 49 insertions(+), 2 deletions(-)

commit b728b14efb2ad96bb8501a021969f6155bed9ea3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 20 19:38:37 2013 +0200

    sms: only set concat reference on multipart messages

 src/mm-sms.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

commit 9ed42af5373839c1c0031014d7050258f848070e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 20 19:37:03 2013 +0200

    sms: handle CDMA SMS part creation

 src/mm-sms.c | 68
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 66 insertions(+), 2 deletions(-)

commit 5267cf6f4a4eace00c216d733a92f6ecae55e8cc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 20 18:50:30 2013 +0200

    cli,sms: print properties just when they are available

    The logic to decide whether a property is valid in a given PDU type
    is kind of
    fuzzy for 3GPP2 as it is currently implemented; so just print whatever
    we have
    in the interface.

 cli/mmcli-sms.c | 50 +++++++++++++++++++++++---------------------------
 1 file changed, 23 insertions(+), 27 deletions(-)

commit 7a56b143aa5dc4d4fe8794d4f70dd6945f628b87
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 19 18:44:02 2013 +0200

    sms-qmi: handle CDMA SMS messages

 src/mm-sms-part.h |  8 ++++++
 src/mm-sms-qmi.c  | 77
 ++++++++++++++++++++++++++++++++++++++++++++++---------
 2 files changed, 73 insertions(+), 12 deletions(-)

commit 2eb5e0d578adbb6c630d88f8d55a4eae0c887cdd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 19 18:27:19 2013 +0200

    sms-part-cdma: new CDMA SMS creator

    Currently very limited:
     * Only WMT teleservice.
     * Only DMTF-encoded numbers.
     * Only either raw binary data or ASCII-7 text.

 src/mm-sms-part-cdma.c         | 370
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-sms-part-cdma.h         |   4 +
 src/tests/test-sms-part-cdma.c |  99 +++++++++++
 3 files changed, 473 insertions(+)

commit cadbc0412d5dee16cd484b52b14df4f19ae47cf6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 19 18:24:55 2013 +0200

    sms-part-3gpp: ensure PDU type in part is the correct one when
    building SUBMIT

 src/mm-sms-part-3gpp.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 3a6bdabcdf2da5ddea5ef52df5017c82ff765ef2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 19 12:51:43 2013 +0200

    sms-part-cdma: consolidate logging

 src/mm-sms-part-cdma.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit 49ab6ce9807a0a9925e998671df499081a0d47cc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 19 12:37:43 2013 +0200

    sms-part-cdma: read 7-bit ASCII text or raw data

 src/mm-sms-part-cdma.c         | 44
 +++++++++++++++++++++++++++++++++++++++++-
 src/tests/test-sms-part-cdma.c | 17 +++++++++++-----
 2 files changed, 55 insertions(+), 6 deletions(-)

commit aba7efb6155a15298689211053b47e725b25e66d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 19 11:58:05 2013 +0200

    broadband-modem-qmi: add CDMA SMS parts if found

 src/mm-broadband-modem-qmi.c | 49
 ++++++++++++++++++++++----------------------
 1 file changed, 25 insertions(+), 24 deletions(-)

commit e493292b7a1a0648d058147aca0022b64538653b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 22 23:39:11 2013 +0200

    tests: new CDMA SMS part tester

 .gitignore                     |   1 +
 src/tests/Makefile.am          |  27 ++++-
 src/tests/test-sms-part-cdma.c | 241
 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 268 insertions(+), 1 deletion(-)

commit c440f121cc8625332e5dce63cda054e1ca8ce66f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 22 23:15:50 2013 +0200

    tests: rename 3GPP SMS part tester

 .gitignore                                         |  2 +-
 src/tests/Makefile.am                              | 14 ++---
 .../{test-sms-part.c => test-sms-part-3gpp.c}      | 66
 +++++++++++-----------
 3 files changed, 41 insertions(+), 41 deletions(-)

commit 5ecdae8dc807c95ffeca7266288c0ee0ce6398a6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 22 21:38:56 2013 +0200

    sms-part-cdma: new CDMA SMS parser

 src/Makefile.am        |    4 +-
 src/mm-sms-part-cdma.c | 1070
 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-sms-part-cdma.h |   33 ++
 3 files changed, 1106 insertions(+), 1 deletion(-)

commit 7db17b64a3f7263f91c2f7e7625f3ba8a1d9a4b4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 22 20:00:15 2013 +0200

    sms-part: handle CDMA teleservice ID and service category

 src/mm-sms-part.c | 11 +++++++++++
 src/mm-sms-part.h |  8 ++++++++
 src/mm-sms.c      |  4 ++--
 3 files changed, 21 insertions(+), 2 deletions(-)

commit df986c076dec33128c2ba202062ce4338cef3ad2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 18 14:45:58 2013 +0200

    sms: split SMS part handling into common and 3GPP-specific

 src/Makefile.am               |    6 +-
 src/mm-broadband-modem-mbim.c |    9 +-
 src/mm-broadband-modem-qmi.c  |    9 +-
 src/mm-broadband-modem.c      |   11 +-
 src/mm-sms-mbim.c             |    3 +-
 src/mm-sms-part-3gpp.c        | 1160
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-sms-part-3gpp.h        |   54 ++
 src/mm-sms-part.c             | 1124
 ---------------------------------------
 src/mm-sms-part.h             |   25 -
 src/mm-sms-qmi.c              |    5 +-
 src/mm-sms.c                  |    7 +-
 src/tests/test-sms-part.c     |   20 +-
 12 files changed, 1252 insertions(+), 1181 deletions(-)

commit e90ff4155c63735581d0a213fdf3ae53c02bfc26
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 23 14:31:00 2013 +0200

    api,header: added new CDMA-specific 'MMSmsDeliveryState' enumeration
    values

 include/ModemManager-enums.h | 131
 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 129 insertions(+), 2 deletions(-)

commit 0bb91ce53dd2d2351f2070d302a35b6f0b8d7c8b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 18 13:32:16 2013 +0200

    api: add 'ServiceCategory' property to the SMS interface

    Will be used in 3GPP2 SMS messages.

 cli/mmcli-sms.c                                    |  8 ++-
 docs/reference/api/ModemManager-sections.txt       |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  7 ++
 include/ModemManager-enums.h                       | 82
 ++++++++++++++++++++++
 .../org.freedesktop.ModemManager1.Sms.xml          |  9 +++
 libmm-glib/mm-sms.c                                | 18 +++++
 libmm-glib/mm-sms.h                                |  2 +
 src/mm-sms.c                                       |  2 +
 8 files changed, 126 insertions(+), 3 deletions(-)

commit d0fb94c49f3c27590bb6134fdca328c6f0a2180f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 18 13:27:18 2013 +0200

    api: add 'TeleserviceId' property to the SMS interface

    Will be used in 3GPP2 SMS messages.

 cli/mmcli-sms.c                                    | 10 ++++++++
 docs/reference/api/ModemManager-sections.txt       |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  7 ++++++
 include/ModemManager-enums.h                       | 27
 ++++++++++++++++++++++
 .../org.freedesktop.ModemManager1.Sms.xml          |  9 ++++++++
 libmm-glib/mm-sms.c                                | 18 +++++++++++++++
 libmm-glib/mm-sms.h                                |  2 ++
 src/mm-sms.c                                       |  2 ++
 8 files changed, 76 insertions(+)

commit 2864e777ae0232561b23b7bf08fdebb8f26311a4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 18 13:23:33 2013 +0200

    cli,sms: 'class' and 'smsc' are 3GPP specific

 cli/mmcli-sms.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

commit 13595dcd7f439cfc49cb6d7f165690e22676a805
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 18 13:15:54 2013 +0200

    api,introspection: minor indentation fixes in 'Validity' property
    definition

 introspection/org.freedesktop.ModemManager1.Sms.xml | 18
 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit 1ebbd16f98cb8f88ab0cf910c3d225de3b427f9f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 18 13:11:19 2013 +0200

    api,header: added new CDMA-specific 'MMSmsPduType' enumeration values

 include/ModemManager-enums.h | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

commit c37f94ffd02a6a77151c33bed78b09c1cee0ee5e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 17 09:46:10 2013 +0200

    broadband-modem-qmi: SM storage not supported in CDMA-only modems

 src/mm-broadband-modem-qmi.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit cb42a80b1e4d703d8556e59a09504c022dd6e8ee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 16 13:13:36 2013 +0200

    broadband-modem-qmi: also request to read 3GPP2 SMS

 src/mm-broadband-modem-qmi.c | 141
 ++++++++++++++++++++++++++++++++-----------
 1 file changed, 106 insertions(+), 35 deletions(-)

commit 9a9638ef2098e11f3496ad51ed2471df869a1986
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Oct 24 08:38:16 2013 -0700

    iface-modem: remove unnecessary G_SIMPLE_ASYNC_RESULT() cast

    This patch removes an unnecessary G_SIMPLE_ASYNC_RESULT() cast of the
    'result' field, which is already of type GSimpleAsyncResult, of
    InternalLoadUnlockRequiredContext.

 src/mm-iface-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5dc6db19621ba53c883741edd01b10dd18260f9b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 24 17:38:36 2013 +0200

    libmm-glib: fix some more introspection annotations

 libmm-glib/mm-modem-location.c | 2 +-
 libmm-glib/mm-modem.c          | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit e1c0621b099d698d2c462f32e4d341207a98d520
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 24 17:16:33 2013 +0200

    libmm-glib: fix several introspection annotations

 libmm-glib/mm-bearer.c            | 12 ++++++------
 libmm-glib/mm-location-gps-nmea.c |  2 +-
 libmm-glib/mm-modem-location.c    | 14 +++++++-------
 libmm-glib/mm-modem.c             |  6 +++---
 libmm-glib/mm-sms.c               |  2 +-
 libmm-glib/mm-unlock-retries.c    |  2 +-
 6 files changed, 19 insertions(+), 19 deletions(-)

commit babc4aa2594b239aae7287a4f3944b47d5cbe737
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Oct 24 07:52:10 2013 -0700

    broadband-modem: remove unnecessary G_SIMPLE_ASYNC_RESULT() casts

    This patch removes unnecessary G_SIMPLE_ASYNC_RESULT() casts of the
    'result' field, which is already of type GSimpleAsyncResult, of
    InitializeContext, EnablingContext and DisablingContext.

 src/mm-broadband-modem.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit 686caef536f4dee3ddee22bdfc8f3522e68abf7b
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Oct 24 02:30:18 2013 -0700

    huawei: handle pending network-initiated disconnection in
    disconnect_3gpp

    If a client-initiated disconnection attempt is issued while a
    network-initiated disconnection is still pending, the latter may
    interfere with the former. Also, when the client-initiated
    disconnection
    attempt fails but the bearer status is reported as 'disconnected', the
    pending network-initiated disconnection is not cleared and may result
    in an assertion when a connection attempt is issued.

    This patch addresses the issue by clearing any pending
    network-initiated
    disconnection before proceeding with a client-initiated disconnection.

 plugins/huawei/mm-broadband-bearer-huawei.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

commit 613155cb2e92d858c8a9465be0d5daf80475a24e
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Oct 23 19:39:04 2013 -0500

    broadband-modem: report signal quality as 0 when no
    service/unknown/etc

    Instead of using the NO_NETWORK error, which is only ever read
    internally by ModemManager and not very useful when reading quality,
    just report signal quality as zero.  Before MM 1.0, the signal quality
    could be explicitly requested by clients, so the NO_NETWORK error
    was of
    some use, but now that the quality is updated automatically by MM
    and is
    a property instead of a D-Bus method call, the error is pointless.

 src/mm-broadband-modem.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

commit f81a3fc0b445de1f2a595b9aed1a8f66fd5dc396
Author: Prathmesh Prabhu <pprabhu@chromium.org>
Date:   Fri Oct 18 15:27:59 2013 -0700

    broadband-modem: mark SIM provisioned by default in
    load_subscription_state

    load_subscription_state is called only after a successful
    registration, so the
    default behaviour should be to mark the SIM as provisioned.
    This default behaviour is needed because it is not possible for
    plugins to
    detect a successful registration state during the registration
    update itself.
    So, this function is the first place where a plugin can detect
    a successful
    registration update.

 src/mm-broadband-modem.c | 45
 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

commit 18053540eae1794da9289e8af087d1cb4fa9137c
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 18 02:56:51 2013 -0700

    huawei: handle unquoted strings in ^SYSINFOEX response

    The original sysinfoex_parse() in MMBroadbandModemHuawei does
    not handle
    unquoted <sysmode_name> and <submode_name> fields in ^SYSINFOEX
    responses,
    which are sen on some Huawei modems (e.g. E303). This patch moves the
    ^SYSINFOEX parsing code to mm-modem-helpers-huawei.c, fixes the
    regex for
    handling unquoted strings in ^SYSINFOEX responses, and adds unit
    tests.

 plugins/huawei/mm-broadband-modem-huawei.c       | 76
 +++---------------------
 plugins/huawei/mm-modem-helpers-huawei.c         | 65
 ++++++++++++++++++++
 plugins/huawei/mm-modem-helpers-huawei.h         | 10 ++++
 plugins/huawei/tests/test-modem-helpers-huawei.c | 60 ++++++++++++++++++-
 4 files changed, 140 insertions(+), 71 deletions(-)

commit 49d4163a2b1271edc2a1794c4e86a3f01c19a92c
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Oct 18 02:56:50 2013 -0700

    huawei: fix ^SYSINFO parsing

    The original sysinfo_parse() in MMBroadbandModemHuawei incorrectly
    sets
    'out_sys_submode_valid' to TRUE even when <sys_submode> is not present
    in a ^SYSINFO response. This patch moves the code to
    mm-modem-helpers-huawei.c, fixes the regex for parsing ^SYSINFO
    responses, and adds unit tests.

 plugins/huawei/mm-broadband-modem-huawei.c       | 82
 +++---------------------
 plugins/huawei/mm-modem-helpers-huawei.c         | 67 +++++++++++++++++++
 plugins/huawei/mm-modem-helpers-huawei.h         | 11 ++++
 plugins/huawei/tests/test-modem-helpers-huawei.c | 64 ++++++++++++++++++
 4 files changed, 151 insertions(+), 73 deletions(-)

commit e529cd32124618d26ef15a7b8d25597a9634531a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 10 08:34:52 2013 +0200

    build: ignore plugin testers

 .gitignore | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 09ea458f78f417df0b5e7ff86dafc1b5ab326d5a
Author: Prathmesh Prabhu <pprabhu@chromium.org>
Date:   Wed Oct 9 10:06:27 2013 -0700

    altair-lte: obtain subscription state of SIM from registration
    failure code

    This patch uses the extended error code after a registration
    failure to
    determine if the SIM in the relevant modem is associated with a
    non-provisioned
    account. It uses the standard AT+CEER command, but the implementation
    is
    restricted to the altair plugin.

 plugins/Makefile.am                                |  13 ++
 plugins/altair/mm-broadband-modem-altair-lte.c     | 134
 ++++++++++++++++++++-
 plugins/altair/mm-modem-helpers-altair-lte.c       |  68 +++++++++++
 plugins/altair/mm-modem-helpers-altair-lte.h       |  26 ++++
 .../altair/tests/test-modem-helpers-altair-lte.c   |  75 ++++++++++++
 5 files changed, 313 insertions(+), 3 deletions(-)

commit 92a2953e938e7687d8f2a534b38b26647517c99a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 9 10:06:56 2013 +0200

    docs: fixed a couple of issues regarding the new
    MMModem3gppSubscriptionState enum

 docs/reference/api/ModemManager-sections.txt | 1 +
 include/ModemManager-enums.h                 | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

commit f9a4f87d5204432b52cb41b31809d43425467da5
Author: Thieu Le <thieule@chromium.org>
Date:   Mon Oct 7 13:57:27 2013 -0700

    iface-modem-3gpp: add SubscriptionState property

 cli/mmcli-modem-simple.c                           |  15 ++-
 cli/mmcli-modem.c                                  |   3 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   9 ++
 docs/reference/libmm-glib/libmm-glib.types         |   1 +
 include/ModemManager-enums.h                       |  17 +++
 ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml |   9 ++
 libmm-glib/mm-modem-3gpp.c                         |  19 +++
 libmm-glib/mm-modem-3gpp.h                         |   1 +
 libmm-glib/mm-simple-status.c                      |  45 +++++++
 libmm-glib/mm-simple-status.h                      |   2 +
 src/mm-broadband-modem.c                           |   4 +-
 src/mm-iface-modem-3gpp.c                          | 148
 ++++++++++++++++-----
 src/mm-iface-modem-3gpp.h                          |  28 ++--
 13 files changed, 252 insertions(+), 49 deletions(-)

commit 564b3610fd6e4060bc36c2cf568b2305aaf6ea19
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 8 10:15:57 2013 +0200

    TODO: remove already implemented or no longer applicable items

 TODO | 45 ---------------------------------------------
 1 file changed, 45 deletions(-)

commit a006761c7159594c6c3fade53eb2326393510a2a
Author: Thieu Le <thieule@chromium.org>
Date:   Fri Sep 27 16:47:25 2013 -0700

    novatel-lte: abort connect request if call failed

    Change-Id: Iae16ec87e12aaaf314b7e66b2f9c72a13251e352

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit b5ef861d12c7533d89a18454b03e8e3301164bea
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Sep 26 11:07:16 2013 -0700

    modem-helpers,sim: auto-detect if ICCID response is character swapped

    This patch modifies mm_3gpp_parse_iccid() to auto-detect if an ICCID
    response is character swapped or not by comparsing the major industry
    identifier part of the ICCID response to the known value (89) for
    telecommunication purposes. This addresses the issue where the same AT
    command (e.g. AT^ICCID used by the huawei plugin) does not report
    ICCID
    in a consistent format.

 plugins/huawei/mm-sim-huawei.c |  3 +--
 plugins/sierra/mm-sim-sierra.c |  3 +--
 src/mm-modem-helpers.c         | 19 ++++++++++++++++++-
 src/mm-modem-helpers.h         |  2 +-
 src/mm-sim.c                   |  3 +--
 src/tests/test-modem-helpers.c | 36 ++++++++++++++++++++++++++++++------
 6 files changed, 52 insertions(+), 14 deletions(-)

commit b786ac0debc7aa5e9a6b0f00bd61e15d9daea049
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Sep 26 00:10:59 2013 -0700

    serial-port: ensure GCancellable handler is disconnected when serial
    port is closed

 src/mm-serial-port.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 2a611c38563db71a1dbd18c8bb56f95a69841c9c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 25 17:46:31 2013 +0200

    cinterion: support QMI-based Cinterion PLXX and PHXX modules

    E.g. with a Cinterion PLS8 LTE modem:

      $ sudo mmcli -m 0

      /org/freedesktop/ModemManager1/Modem/0 (device id
      '0042872f6597b3d772a3d9d3cd6f14f152af8a0b')
        -------------------------
        Hardware |   manufacturer: 'QUALCOMM INCORPORATED'
                 |          model: '0'
                 |       revision: 'M9615A-CETWMAZM-2.0.19015  1  [Jan
                 31 2013 00:00:00]'
                 |      supported: 'gsm-umts
                 |                  lte
                 |                  gsm-umts, lte'
                 |        current: 'gsm-umts, lte'
                 |   equipment id: 'unknown'
        -------------------------
        System   |         device:
        '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.7'
                 |        drivers: 'option1, qmi_wwan'
                 |         plugin: 'Cinterion'
                 |   primary port: 'cdc-wdm0'
                 |          ports: 'ttyUSB2 (at), cdc-wdm0 (qmi),
                 wwp0s29u1u7i4 (net)'
        -------------------------
        Numbers  |           own : 'unknown'
        -------------------------
        Status   |           lock: 'sim-pin'
                 | unlock retries: 'sim-pin (3), sim-pin2 (2), sim-puk
                 (10), sim-puk2 (10)'
                 |          state: 'locked'
                 |    power state: 'on'
                 |    access tech: 'unknown'
                 | signal quality: '0' (cached)
        -------------------------
        Modes    |      supported: 'allowed: 2g, 3g, 4g; preferred: none'
                 |        current: 'allowed: 2g, 3g, 4g; preferred: none'
        -------------------------
        Bands    |      supported: 'cdma-bc15-aws, dcs, egsm, u2100,
        u1800, u900, eutran-i, eutran-iii, eutran-vii, eutran-viii,
        eutran-xx'
                 |        current: 'cdma-bc15-aws, dcs, egsm, u2100,
                 u1800, u900, eutran-i, eutran-iii, eutran-vii,
                 eutran-viii, eutran-xx'
        -------------------------
        IP       |      supported: 'ipv4, ipv6, ipv4v6'
        -------------------------
        SIM      |           path: '/org/freedesktop/ModemManager1/SIM/0'

 plugins/cinterion/mm-plugin-cinterion.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

commit 0dd93549a175f05cd5290ca8b3a3fd78e59863b5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 24 16:50:59 2013 +0200

    blacklist: add Bluegiga BLE112B

    https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1229748

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 2f7ec3df8ca2176cbe8f8c1513dcbd5a2b1b1d14
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 24 16:49:13 2013 +0200

    blacklist: add some missing commas

 src/77-mm-usb-device-blacklist.rules | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 6774d93acae0534fa57f43cef2bdf948e651641b
Author: Arun Raghavan <arun@accosted.net>
Date:   Mon Sep 23 18:53:15 2013 +0530

    blacklist: Add Adafruit Flora

    The official PID is 8004, but I've seen the device sometimes turn up
    with a 0004, so adding both to be safe.

    https://bugzilla.gnome.org/show_bug.cgi?id=708644

 src/77-mm-usb-device-blacklist.rules | 4 ++++
 1 file changed, 4 insertions(+)

commit 21a5aaf4fe6934aad2e6c770aa4bdffa3ad29f9d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 20 19:29:38 2013 +0200

    huawei: delay processing of network-initiated disconnection

    Originally developed by:
      Prathmesh Prabhu <pprabhu@chromium.org>
      Ben Chan <benchan@chromium.org>

    Huawei MU736 prematurely fires a ^NDISSTAT unsolicited message upon a
    network-initiated disconnection. The modem can go into a bad state
    if a
    reconnect attempt happens before the disconnection completes. This
    patch works
    around the issue by delaying the reporting of the disconnection.

 plugins/huawei/mm-broadband-bearer-huawei.c | 56
 ++++++++++++++++++++++++++++-
 plugins/huawei/mm-broadband-modem-huawei.c  |  7 ++--
 src/mm-bearer.h                             |  1 +
 3 files changed, 61 insertions(+), 3 deletions(-)

commit d818d9fe065b4baac979abf5c45e0d212ccf908d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 20 19:29:37 2013 +0200

    bearer: consolidate unsolicited connection status reports

    Originally developed by:
      Ben Chan <benchan@chromium.org>

    This patch replaces mm_bearer_report_disconnection() with a more
    generic
    mm_bearer_report_connection_status(), which allows reporting any
    connection status of a bearer. This further allows getting rid
    of those
    custom report_connection_status functions in plugic specific bearer
    subclasses.

    Note that while plugin-specific implementations can receive multiple
    'MMBearerConnectionStatus' values, the generic implementation is
    only allowed
    to receive DISCONNECTED. Plugins need to make sure that they process
    all the
    other status values, and only report DISCONNECTED to the parent
    when required.

    MBM:
      The MBM bearer implementation of report_connection_status()
      expects either
      CONNECTED or DISCONNECTED. If any of these is received and there
      is an ongoing
      connection attempt, the corresponding operation will be
      completed. If there is
      no connection attempt, we will just handle the DISCONNECTED state,
      calling the
      parent method to notify that the modem got network-disconnected.

    Icera:
      The Icera bearer implementation of report_connection_status()
      expects either
      CONNECTED, CONNECT FAILED or DISCONNECTED. If any of these is
      received and
      there is an ongoing connection or disconnection attempt, the
      corresponding
      operation will be completed. If there is no connection or
      disconnection
      attempt, we will just handle the CONNECT FAILED and DISCONNECTED
      states,
      calling the parent method (always with DISCONNECTED) to notify
      that the modem
      got network-disconnected.

    Option/HSO:
      The Option/HSO bearer implementation of report_connection_status()
      expects
      either CONNECTED, CONNECTION FAILED or DISCONNECTED. If any of
      these is
      received and there is an ongoing connection or disconnection
      attempt, the
      corresponding operation will be completed. If there is no
      connection or
      disconnection attempt, we will just handle the CONNECTION FAILED and
      DISCONNECTED states, calling the parent method (always with
      DISCONNECTED) to
      notify that the modem got network-disconnected.

    Huawei:
      The Huawei bearer implementation of report_connection_status()
      expects either
      CONNECTED or DISCONNECTED. These messages are not used to process
      pending
      connection or disconnection attempts; so if they are received
      while one of
      these is on-going, it will just be ignored. CONNECTED reports
      are also
      ignored, so we will just handle the DISCONNECTED state, calling
      the parent
      method to notify that the modem got network-disconnected.

    Altair-LTE:
      The Altair-LTE bearers will only report DISCONNECTED on
      network-disconnected
      cases. There is no custom report_connection_status().

    Novatel-LTE:
      The Novatel-LTE bearers will only report DISCONNECTED on
      network-disconnected
      cases. There is no custom report_connection_status().

 plugins/altair/mm-broadband-modem-altair-lte.c    |   3 +-
 plugins/huawei/mm-broadband-bearer-huawei.c       |  30 +++--
 plugins/huawei/mm-broadband-bearer-huawei.h       |   3 -
 plugins/huawei/mm-broadband-modem-huawei.c        |   6 +-
 plugins/icera/mm-broadband-bearer-icera.c         | 154
 ++++++++++------------
 plugins/icera/mm-broadband-bearer-icera.h         |  10 --
 plugins/icera/mm-broadband-modem-icera.c          |  15 +--
 plugins/mbm/mm-broadband-bearer-mbm.c             |  63 +++++----
 plugins/mbm/mm-broadband-bearer-mbm.h             |   9 --
 plugins/mbm/mm-broadband-modem-mbm.c              |  13 +-
 plugins/novatel/mm-broadband-bearer-novatel-lte.c |   2 +-
 plugins/option/mm-broadband-bearer-hso.c          | 107 +++++++--------
 plugins/option/mm-broadband-bearer-hso.h          |  10 --
 plugins/option/mm-broadband-modem-hso.c           |  15 +--
 src/mm-bearer-qmi.c                               |  14 +-
 src/mm-bearer.c                                   |  16 ++-
 src/mm-bearer.h                                   |  15 ++-
 src/mm-broadband-bearer.c                         |  16 ++-
 18 files changed, 243 insertions(+), 258 deletions(-)

commit 6b4602a3356e779389ef97bac0b8461e6d26fc41
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 18 19:56:41 2013 +0200

    broadband-modem-qmi: make 'internal' errors on pin check retriable

    When we get an internal error while checking the lock status, tell
    the upper
    layers that we can retry the check. It's been observed that this
    internal error
    may be issued not only when e.g. there is no SIM, but also when the
    SIM is not
    yet fully ready.

 src/mm-broadband-modem-qmi.c | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

commit 13c7319bffe80545a5c7e8399ad6279b8d3cd87d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 18 19:55:22 2013 +0200

    iface-modem: consolidate new unlock required check with retries

    The new internal_load_unlock_required() method will take care of
    running the
    subclassed load_unlock_required(), if available, and also retry the
    check up
    to 6 times.

    This method will be used both by the standard unlock required check
    and by the
    check within the current capabilities loading for multimode devices.

 src/mm-iface-modem.c | 231
 ++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 172 insertions(+), 59 deletions(-)

commit 43d1c904e6f7668143007723d205d923feb620c0
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Thu Jul 18 16:30:16 2013 +0100

    plugins: fix linkage of huawei test program

    https://bugzilla.gnome.org/show_bug.cgi?id=704481

 plugins/Makefile.am | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit b3307524323e17af040d74c8d3e5147ef3c3b2ef
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Thu Jul 18 16:28:56 2013 +0100

    plugins: add missing linker flags

    https://bugzilla.gnome.org/show_bug.cgi?id=704481

 plugins/Makefile.am | 2 ++
 1 file changed, 2 insertions(+)

commit 2b2026421507df561fa329b3d480a7d6476221b9
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 18 01:46:20 2013 -0700

    huawei: handle disconnection via ^NDISSTAT unsolicited message

    This patch changes MMBroadbandModemHuawei to use ^NDISSTAT unsolicited
    messages to handle network-initiated disconnection. As a ^NDISSTAT
    unsolicited message is similar to a ^NDISSTATQRY response, the patch
    extends the ^NDISSTATQRY parser code to handle both ^NDISSTAT and
    ^NDISSTATQRY responses.

 plugins/huawei/mm-broadband-bearer-huawei.c      | 20 ++++++
 plugins/huawei/mm-broadband-bearer-huawei.h      |  3 +
 plugins/huawei/mm-broadband-modem-huawei.c       | 83
 +++++++++++++++++++++---
 plugins/huawei/mm-modem-helpers-huawei.c         | 18 +++--
 plugins/huawei/mm-modem-helpers-huawei.h         |  2 +-
 plugins/huawei/tests/test-modem-helpers-huawei.c | 34 +++++++++-
 6 files changed, 143 insertions(+), 17 deletions(-)

commit aa74ea1aa64470b2b4ec76dbc707f30fc22e3f83
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Sep 17 14:47:09 2013 -0700

    iface-modem: fix MODEM_STATE_IS_INTERMEDIATE macro

 src/mm-iface-modem.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 1eee8824fd932f86cfeab40cb830f95d4553bfd3
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Sep 16 23:07:33 2013 -0700

    altair-lte: use mm_base_modem_at_command_full{,_finish} correctly

    This patch fixes own_enable_unsolicited_events_ready() to use
    mm_base_modem_at_command_full_finish(), instead of
    mm_base_modem_at_sequence_full_finish(), as the %STATCM=1 command is
    issued via mm_base_modem_at_command_full().

 plugins/altair/mm-broadband-modem-altair-lte.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9aced8311be0f9f98ac7a81599d0937e8d8aff87
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Sep 16 15:54:47 2013 -0700

    huawei: ignore ^CONNECT unsolicited messages

 plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 0755beff07e2ffb7b1c27e5128edc15c80a8654c
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Sep 16 11:52:13 2013 -0500

    mtk: update udev rules to always match both VID/PID together

    See commit c79d266e627242b22a5e146ab157e34135e7a36a.

        If the rules to tag specific USB interface numbers only apply
        on the PID, we'll
        end up seeing that if the port has a parent with another PID,
        and that other
        PID also has a rule, port will get tagged multiple times.

 plugins/mtk/77-mm-mtk-port-types.rules | 36
 +++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 18 deletions(-)

commit 872bd3e8378411a087553f64edcb0f9c326c6490
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Sep 16 11:46:17 2013 -0500

    mtk: add D-Link DWM-156 udev rules

    For HW version A5 and possibly later, which are based on MediaTek
    chipsets instead of Qualcomm ones.

 plugins/mtk/77-mm-mtk-port-types.rules | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

commit c22eca999bac9ccb9307970a059da39cdd100122
Author: Quentin.Li <snowmanli88@gmail.com>
Date:   Mon Sep 16 02:44:06 2013 -0400

    mtk: add plugin for various MediaTek devices

    Signed-off-by: Quentin.Li <snowmanli88@gmail.com>

 plugins/Makefile.am                    |   13 +-
 plugins/mtk/77-mm-mtk-port-types.rules |   35 ++
 plugins/mtk/mm-broadband-modem-mtk.c   | 1036
 ++++++++++++++++++++++++++++++++
 plugins/mtk/mm-broadband-modem-mtk.h   |   51 ++
 plugins/mtk/mm-plugin-mtk.c            |  118 ++++
 plugins/mtk/mm-plugin-mtk.h            |   42 ++
 6 files changed, 1294 insertions(+), 1 deletion(-)

commit 5d8efff2910d448a0df220d8e38efc72875aa730
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 13 23:14:45 2013 -0700

    iface-modem: free GError when interface initialization is cancelled

    This patch fixes an assertion failure 'ctx->fatal_error == NULL' in
    initialization_context_complete_and_free(), which happens if
    'fatal_error' of the initialization context is set during the modem
    interface initialization and the initialization is later cancelled.

 src/mm-iface-modem.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 8a857b7b264204fd193fb83ad783d4316246a9b0
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 13 00:43:27 2013 -0700

    broadband-modem: use InProgress instead of WrongState when appropriate

    This patch changes MMBroadbandModem to report an
    org.freedesktop.ModemManager1.Error.Core.InProgress error, instead
    of an
    org.freedesktop.ModemManager1.Error.Core.WrongState error, when one
    tries to initialize a modem that is already being initialized, or to
    enable a modem that is already being enabled.

 src/mm-broadband-modem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e446037aa71ff15dfa6be0f396ccb619240e8ff7
Author: Bjørn Mork <bjorn@mork.no>
Date:   Wed Sep 11 21:24:56 2013 +0200

    mbm: add another H5321gw ID

    This device ID is used in a Lenovo Thinkpad T430.

    Link: http://bugs.debian.org/705942
    Reported-by: Etienne Bagnoud <etienne.bagnoud@irovision.ch>
    Signed-off-by: Bjørn Mork <bjorn@mork.no>

 plugins/mbm/77-mm-ericsson-mbm.rules | 1 +
 1 file changed, 1 insertion(+)

commit e755181fd57f8059e3bc5451865d9dafff58f922
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 11 17:08:27 2013 +0200

    broadband-modem: only used CIND? for signal quality if actually
    reported

    The Huawei MU736 supports CIND? but not for signal quality reporting:

    AT+CIND=?
       +CIND : ("call",(0,1)), ("message",(0,1)), ("roam",(0,1))
       OK

    AT+CIND?
       +CIND:0,0,0
       OK

    Which ended up with the following during execution:

    ModemManager[3044]: (ttyUSB1) Could not parse CIND signal quality
    results;
                                  signal index (255) outside received
                                  range (0-3)

    Just avoid this, and make CIND? be used for signal quality retrieval
    only if
    (1) CIND? is actually supported and (2) CIND? reports signal quality
    information.

 src/mm-broadband-modem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 0ff4da71e37e449eb4ade106d78cf6b753af671d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 11 17:00:43 2013 +0200

    error-helpers: don't warn when unknown errors are found

    Just add the messages with debug level, so that they don't get
    reported at
    syslog. Having this kind of warnings in syslog is not useful,
    specially because
    we wouldn't know which was the specific command that issued the
    warning. Errors
    due to critical issues will anyway be reported in syslog in some
    way or another.

 src/mm-error-helpers.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit 4f451cf76737acd66d7ba3842a5fcf483723d0be
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 5 16:26:52 2013 +0200

    qmi-port: use the new qmi-proxy if available

 src/mm-qmi-port.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit f7776a3784fc58c8d46034d5f53dd16518d31f65
Author: Colin Walters <walters@verbum.org>
Date:   Tue Sep 10 08:40:17 2013 -0400

    libmm-glib: don't include internal header from public header

    This broke gnome-control-center in gnome-ostree.  It should be
    included in the C file where stuff from the private header is
    actually used.

 libmm-glib/mm-modem-oma.c | 1 +
 libmm-glib/mm-modem-oma.h | 1 -
 2 files changed, 1 insertion(+), 1 deletion(-)

commit 0d96662a0a4eea120b9130ff680c42e0c9493a18
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 10 09:42:18 2013 +0200

    sim-huawei: fix refcount

    g_async_result_get_source_object() returns a full reference, which
    needs to get
    unref-ed when no longer used.

 plugins/huawei/mm-sim-huawei.c | 1 +
 1 file changed, 1 insertion(+)

commit 73978cbe6fbe8549a08c011f9f48d910fc16f8aa
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Sep 9 14:57:46 2013 -0500

    sim-huawei: add SIM class to handle ICCID request

    Use AT^ICCID if possible to read the ICCID.

 plugins/Makefile.am                        |   2 +
 plugins/huawei/mm-broadband-modem-huawei.c |  27 +++++
 plugins/huawei/mm-sim-huawei.c             | 181
 +++++++++++++++++++++++++++++
 plugins/huawei/mm-sim-huawei.h             |  53 +++++++++
 4 files changed, 263 insertions(+)

commit 11a7e3dfdf0642c451bfd7c214f4b52640ef661a
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Sep 9 13:00:43 2013 -0500

    core: add helper for parsing and validating the ICCID

 plugins/sierra/mm-sim-sierra.c | 37 ++++---------------
 src/mm-modem-helpers.c         | 82
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |  2 +
 src/mm-sim.c                   | 66 +--------------------------------
 src/tests/test-modem-helpers.c | 84
 ++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 178 insertions(+), 93 deletions(-)

commit ac343d390ba804ebd58c5477f45c69c1b8402edd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 9 09:46:26 2013 +0200

    iface-modem-oma: fix OMA session state reporting

    Reported by Arman Uguray <armansito@google.com>

 src/mm-iface-modem-oma.c | 1 +
 1 file changed, 1 insertion(+)

commit cf78c385d60e3146aa374170a6472102baff6b69
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 9 09:45:59 2013 +0200

    libmm-glib: fix return type

    Reported by Arman Uguray <armansito@google.com>

 libmm-glib/mm-modem-oma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7751f2d6ed0a4afeb7330ae9262c949e76ce14b2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 16 14:28:42 2013 +0200

    mmcli,oma: support for the new OMA interface

 cli/Makefile.am                |   1 +
 cli/mmcli-modem-oma.c          | 521
 +++++++++++++++++++++++++++++++++++++++++
 cli/mmcli.c                    |  11 +
 cli/mmcli.h                    |   8 +
 docs/man/mmcli.8               |  27 +++
 libmm-glib/mm-common-helpers.c |  72 ++++++
 libmm-glib/mm-common-helpers.h |   4 +
 7 files changed, 644 insertions(+)

commit 03dc346adde7e00af1c6f08b05f40fd01250089f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 16 13:34:23 2013 +0200

    broadband-modem-qmi: implement OMA CancelSession()

 src/mm-broadband-modem-qmi.c | 58
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

commit 76835446eb9b6c2465b730ca447a56833aa95305
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 16 13:19:25 2013 +0200

    iface-modem-oma: ensure the session id is known when
    accepting/rejecting it

 src/mm-iface-modem-oma.c | 74
 ++++++++++++++++++++++++++++--------------------
 1 file changed, 43 insertions(+), 31 deletions(-)

commit 3ba2fee6fc1a883bc2b6ab95b017dd7613bec3a0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 16 13:18:52 2013 +0200

    broadband-modem-qmi: never add UNKNOWN OMA session types to the
    pending list

 src/mm-broadband-modem-qmi.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

commit 461d75dae952dceb0702b044014cc9478790499f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 16 13:10:04 2013 +0200

    broadband-modem-qmi: implement OMA AcceptNetworkInitiatedSession()

 src/mm-broadband-modem-qmi.c | 70
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

commit 0c7def2f345c329364ae7d5af680ca8688315aee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 16 11:53:50 2013 +0200

    broadband-modem-qmi: implement OMA StartClientInitiatedSession()

 src/mm-broadband-modem-qmi.c | 73
 ++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.c   | 23 ++++++++++++++
 src/mm-modem-helpers-qmi.h   |  1 +
 3 files changed, 97 insertions(+)

commit 72be4f1d570c5a748963f6a831e765e620a4073d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 16 11:41:10 2013 +0200

    broadband-modem-qmi: implement OMA Setup()

 src/mm-broadband-modem-qmi.c | 78
 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 77 insertions(+), 1 deletion(-)

commit 959c7b9cde2aac56e63825a56ed9d33999ea288f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 16 10:50:23 2013 +0200

    broadband-modem-qmi: implement OMA feature loading

 src/mm-broadband-modem-qmi.c | 86
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)

commit e6a7c85661d33493a8de7f19c6c7ff8773b83e8c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 14 16:14:37 2013 +0200

    broadband-modem-qmi: handle OMA indications

 src/mm-broadband-modem-qmi.c | 271
 ++++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-helpers-qmi.c   |  80 +++++++++++++
 src/mm-modem-helpers-qmi.h   |   9 ++
 3 files changed, 359 insertions(+), 1 deletion(-)

commit df47f1ac8f696c2712efc8c76bd9551d88c3d837
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 14 15:53:04 2013 +0200

    broadband-modem-qmi: check support for OMA capabilities

 src/mm-broadband-modem-qmi.c | 53
 ++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 51 insertions(+), 2 deletions(-)

commit d37b21e116cf5b1f452ec150ef5254109f6f05be
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 14 15:20:04 2013 +0200

    iface-modem-oma: new object interface to handle the OMA DBus interface

 src/Makefile.am          |    2 +
 src/mm-broadband-modem.c |   63 +++
 src/mm-iface-modem-oma.c | 1252
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-oma.h |  164 ++++++
 4 files changed, 1481 insertions(+)

commit 8ab38ae96850da78c82ebd53ae037907c5b480a9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 13 14:45:06 2013 +0200

    libmm-glib: support for the 'OMA' interface

 docs/reference/libmm-glib/libmm-glib-docs.xml     |   4 +
 docs/reference/libmm-glib/libmm-glib-sections.txt |  58 +++
 docs/reference/libmm-glib/libmm-glib.types        |   8 +
 libmm-glib/Makefile.am                            |   3 +
 libmm-glib/libmm-glib.h                           |   1 +
 libmm-glib/mm-common-helpers.c                    |  80 +++
 libmm-glib/mm-common-helpers.h                    |   8 +
 libmm-glib/mm-helper-types.h                      |  14 +
 libmm-glib/mm-manager.c                           |   1 +
 libmm-glib/mm-modem-oma.c                         | 592
 ++++++++++++++++++++++
 libmm-glib/mm-modem-oma.h                         | 136 +++++
 libmm-glib/mm-object.c                            |  36 ++
 libmm-glib/mm-object.h                            |   3 +
 13 files changed, 944 insertions(+)

commit 32de7d6fef06b75137ed573782fc25173f6f02f2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 13 11:20:03 2013 +0200

    introspection,api: new 'Oma' interface

 docs/reference/api/Makefile.am                     |   1 +
 docs/reference/api/ModemManager-dbus-reference.xml |   1 +
 docs/reference/api/ModemManager-sections.txt       |   4 +
 docs/reference/libmm-glib/libmm-glib-docs.xml      |   4 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  86 ++++++++++++++
 include/ModemManager-enums.h                       |  92 +++++++++++++++
 introspection/all.xml                              |   1 +
 .../org.freedesktop.ModemManager1.Modem.Oma.xml    | 123
 +++++++++++++++++++++
 libmm-glib/generated/Makefile.am                   |   3 +
 9 files changed, 315 insertions(+)

commit b8e8c2a56d6847ea480388845ddce2f7ced68139
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Sep 6 21:35:54 2013 -0500

    telit: install udev rules

 plugins/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit 0c618274e8c95d97a3d5bebbe91faa4339a5ac8a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 5 15:31:46 2013 +0200

    build: require libqmi 1.6.0

    We were already requiring some features from 1.5.0 (dev version),
    so depend
    on the stable 1.6.0 now that it's out.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 29688595252e7108fc3364569185cc029d8fcaef
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 4 08:27:30 2013 +0200

    huawei: check NDISDUP support in the port once

    Don't query udev for the tag every time we recreate a bearer, just
    do it once.
    For some reason, re-querying the same tag after the first time
    doesn't always
    return the proper result.

 plugins/huawei/mm-broadband-modem-huawei.c | 26
 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

commit 51202907055476f7fc4ef2b8d9ad4206b16ca087
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 4 15:31:34 2013 -0700

    huawei: fix uninitialized variable issues

    This patch fixes the following uninitialized variable issues,
    which was
    introduced in the previous commit "huawei: retry connect/disconnect
    attempt
    upon ^NDISSTATQRY? failures" (commit
    57c657bd066366db6892ac2a8adfec2ca209ccbe).

    huawei/mm-broadband-bearer-huawei.c:127:9: error: variable
    'ipv4_available' is used uninitialized whenever '||' condition is true
          [-Werror,-Wsometimes-uninitialized]
        if (!response ||
            ^~~~~~~~~
    huawei/mm-broadband-bearer-huawei.c:141:9: note: uninitialized use
    occurs here
        if (ipv4_available && ipv4_connected) {
            ^~~~~~~~~~~~~~
    huawei/mm-broadband-bearer-huawei.c:127:9: note: remove the '||'
    if its condition is always false
        if (!response ||
            ^~~~~~~~~~~~
    huawei/mm-broadband-bearer-huawei.c:115:28: note: initialize the
    variable 'ipv4_available' to silence this warning
        gboolean ipv4_available;
                               ^
                                = 0
    huawei/mm-broadband-bearer-huawei.c:484:9: error: variable
    'ipv4_available' is used uninitialized whenever '||' condition is true
          [-Werror,-Wsometimes-uninitialized]
        if (!response ||
            ^~~~~~~~~
    huawei/mm-broadband-bearer-huawei.c:498:9: note: uninitialized use
    occurs here
        if (ipv4_available && !ipv4_connected) {
            ^~~~~~~~~~~~~~
    huawei/mm-broadband-bearer-huawei.c:484:9: note: remove the '||'
    if its condition is always false
        if (!response ||
            ^~~~~~~~~~~~
    huawei/mm-broadband-bearer-huawei.c:472:28: note: initialize the
    variable 'ipv4_available' to silence this warning
        gboolean ipv4_available;
                               ^
                                = 0

 plugins/huawei/mm-broadband-bearer-huawei.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit 57c657bd066366db6892ac2a8adfec2ca209ccbe
Author: Prathmesh Prabhu <pprabhu@chromium.org>
Date:   Tue Sep 3 23:54:07 2013 -0700

    huawei: retry connect/disconnect attempt upon ^NDISSTATQRY? failures

    The Huawei MU736 modem sometimes responds to the ^NDISSTATQRY? query
    with a
    '+CME ERROR: 100' error. This patch works around the issue by ignoring
    a few
    of these error responses in a connect / disconnect attempt. The
    overall timeout
    for the connect/disconnect operation is not affected by this change.

 plugins/huawei/mm-broadband-bearer-huawei.c | 50
 ++++++++++++++++++-----------
 1 file changed, 32 insertions(+), 18 deletions(-)

commit c014bce554cc4710c25bae40ff1f88e1d4577c4a
Author: Bjørn Mork <bjorn@mork.no>
Date:   Sat Aug 31 13:02:51 2013 +0200

    mbm: add udev rule for Toshiba branded H5321gw module

    Reported-by: Thomas Schäfer <tschaefer@t-online.de>
    Signed-off-by: Bjørn Mork <bjorn@mork.no>

 plugins/mbm/77-mm-ericsson-mbm.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 0e64ba01d4cf4f791e29c128b9331780aa18a4a1
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 27 00:44:04 2013 -0700

    huawei: ignore ^DSDORMANT unsolicited messages

 plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 60e1ac69194bddc10640f07a982430890056616e
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 27 12:21:34 2013 -0700

    iface-modem: allow reset and factory reset operation in every state

 src/mm-iface-modem.c | 50
 +++++++++++---------------------------------------
 1 file changed, 11 insertions(+), 39 deletions(-)

commit 387c97d81f3cd28524ba0b33e0e11c34f82ef2a8
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 27 00:15:39 2013 -0700

    novatel-lte: check if a connect operation has been cancelled

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 2b28b7acb65df8e5778dde04225274db0a1e99da
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 26 16:21:27 2013 +0200

    at-serial-port: avoid 'enable_disable', use just 'enable' in
    method name

 plugins/huawei/mm-broadband-modem-huawei.c | 2 +-
 src/mm-at-serial-port.c                    | 6 +++---
 src/mm-at-serial-port.h                    | 6 +++---
 3 files changed, 7 insertions(+), 7 deletions(-)

commit 82eb2158db348dcc3ac0883ad2a1bf240c7c50ef
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 21 17:32:59 2013 -0700

    huawei: ignore ^RFSWITCH unsolicited messages

    This patch ignores the ^RFSWITCH unsolicited messages in order
    to avoid
    them being mixed with other unsolicited messages. The modem power
    state
    is explicitly determined by the ^RFSWITCH? command, if supported,
    so we
    don't need to depend on the ^RFSWITCH unsolicited messages.

 plugins/huawei/mm-broadband-modem-huawei.c | 38
 ++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

commit 0f2a0aa0bc1b5ceea8275ca5c98834195c050ed6
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 21 17:32:23 2013 -0700

    at-serial-port: allow enabling/disabling unsolicited message handlers

    This patch adds an 'enable' flag in MMAtUnsolicitedMsgHandler and
    mm_at_serial_port_enable_disable_unsolicited_msg_handler() to allow
    enabling and disabling of unsolicited message handlers. The enable
    flag
    is set to TRUE by mm_at_serial_port_add_unsolicited_msg_handler().

 src/mm-at-serial-port.c | 28 ++++++++++++++++++++++++++++
 src/mm-at-serial-port.h |  4 ++++
 2 files changed, 32 insertions(+)

commit 3979939eaf2a99483c50035b8c5a6c4633ce61e7
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 21 23:00:09 2013 -0700

    huawei: ignore +CUSATP and +CUSATEND unsolicited messages

 plugins/huawei/mm-broadband-modem-huawei.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 3fcc908ed5354f6dd2b708d8cbaa4a0cc0c97fea
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Aug 23 00:05:31 2013 -0700

    huawei: always parse operator name in +COPS responses as ASCII

    Despite +CSCS? may claim supporting UCS2, Huawei modems always report
    the oerator name in ASCII in a +COPS response. This patch addresses
    that
    by always assuming the charset is IRA when parsing the operator name
    in a
    +COPS response.

 plugins/huawei/mm-broadband-modem-huawei.c | 43
 ++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

commit f2fb2fe9fcf7009fe567931194c8f91c9e0aaf36
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Aug 23 00:05:56 2013 -0700

    altair-lte: increase timeout for %APNN, %DPDNACT, and %STATCM

 plugins/altair/mm-broadband-bearer-altair-lte.c | 6 +++---
 plugins/altair/mm-broadband-modem-altair-lte.c  | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

commit 7e9ae215509c7e55ca128023100258d664894c32
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 21 13:27:41 2013 +0200

    broadband-modem-qmi: avoid processing invalid TLVs in
    GetSignalStrength response

    E.g. in the GetSignalStrength output we get EV-DO-only TLVs, even
    if EV-DO is
    not the current access technology, what ends up generating the
    following:

    $ sudo mmcli -m 0 --signal-get

    /org/freedesktop/ModemManager1/Modem/0
      -------------------------
      Refresh rate: '5' seconds
      -------------------------
      EV-DO  | RSSI: '0.00' dBm
             | EcIo: '0.00' dBm
             | SINR: '9.00' dBm
             |   Io: '-106.00' dB
      -------------------------
      UMTS   | RSSI: '94.00' dBm
             | EcIo: '-6.00' dBm

    Instead, we will now assume that the RSSI list always contains the
    valid access
    technologies being reported, and use that list to decide whether we
    process some
    of the per-technology TLVs. We now end up getting:

    $ sudo mmcli -m 0 --signal-get

    /org/freedesktop/ModemManager1/Modem/0
      -------------------------
      Refresh rate: '5' seconds
      -------------------------
      UMTS   | RSSI: '94.00' dBm
             | EcIo: '-8.00' dBm

 src/mm-broadband-modem-qmi.c | 49
 ++++++++++++++++++++++----------------------
 1 file changed, 24 insertions(+), 25 deletions(-)

commit 75aa4a0df708a981a5d2b1dafc8912dfd3af78e4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 21 12:56:49 2013 +0200

    libmm-glib,time: fix gtk-doc comments

 libmm-glib/mm-modem-time.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 4cd82fcc8a35e835fae1b23930778664ee95a4ae
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 21 12:44:28 2013 +0200

    libmm-glib,signal: fix introspection annotations and gtk-doc comments

 libmm-glib/mm-modem-signal.c | 62
 ++++++++++++++++++++++----------------------
 1 file changed, 31 insertions(+), 31 deletions(-)

commit 27b739b838e1c09ff8a9904d203990463fcfe591
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 1 14:20:39 2013 +0200

    broadband-modem-qmi: try with 'NAS Signal Strength' for extended
    signal info

 src/mm-broadband-modem-qmi.c | 237
 ++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 210 insertions(+), 27 deletions(-)

commit 71c60fc6eb4f341e9785172d73c16613f79ba4a5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 1 13:37:38 2013 +0200

    iface-modem-signal: use the new 'MMSignal' in the interface
    implementation

    Also modify the QMI-specific implementation to act as a state machine,
    as we'll
    add more steps afterwards.

 src/mm-broadband-modem-qmi.c | 248
 ++++++++++++++++++++++++++-----------------
 src/mm-iface-modem-signal.c  |  95 +++++------------
 src/mm-iface-modem-signal.h  |  26 ++---
 3 files changed, 186 insertions(+), 183 deletions(-)

commit ca8a414668e5caf55970664855f796632d467260
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 24 09:33:58 2013 +0200

    libmm-glib: distribute the mm-modem-signal.h header

 libmm-glib/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit 9449f0f9fb4800682041a18f163778b8307891f0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 24 09:32:39 2013 +0200

    introspection,api: specify units for the 'rate' value in Setup()

 introspection/org.freedesktop.ModemManager1.Modem.Signal.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4a68e8d27389edee2285c497491292e14003b61a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 18 23:32:10 2013 +0200

    broadband-modem-qmi: extended signal support only in NAS >= 1.8

 src/mm-broadband-modem-qmi.c | 42
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

commit 1340896b504e9f5a711df4d36fc0608f03c3297a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 18 23:16:45 2013 +0200

    iface-modem-signal: explicitly check support for the Signal interface

 src/mm-iface-modem-signal.c | 202
 ++++++++++++++++++++++++++++++++++++--------
 src/mm-iface-modem-signal.h |   8 ++
 2 files changed, 176 insertions(+), 34 deletions(-)

commit 564e0fd94bd2bb451812e4218d64f28368a2411a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 18 23:03:22 2013 +0200

    libmm-glib,signal: don't create a 'MMSignal' with an empty dictionary

 libmm-glib/mm-signal.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

commit 0502646f9f68a37b00066247beb856bc781c6afa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 18 08:27:20 2013 +0200

    api,introspection: use per-technology dictionaries in the 'Signal'
    interface

 cli/mmcli-modem-signal.c                           | 100 ++---
 docs/reference/libmm-glib/libmm-glib-docs.xml      |   1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  | 114 ++---
 docs/reference/libmm-glib/libmm-glib.types         |   1 +
 .../org.freedesktop.ModemManager1.Modem.Signal.xml | 261 ++++++-----
 libmm-glib/Makefile.am                             |   7 +-
 libmm-glib/libmm-glib.h                            |   1 +
 libmm-glib/mm-modem-signal.c                       | 490
 ++++++++++++++++-----
 libmm-glib/mm-modem-signal.h                       |  53 +--
 libmm-glib/mm-signal.c                             | 442
 +++++++++++++++++++
 libmm-glib/mm-signal.h                             |  98 +++++
 src/mm-iface-modem-signal.c                        |  86 ++--
 12 files changed, 1256 insertions(+), 398 deletions(-)

commit e8ce650ed0bd271681fae881f8b597ebe739fb7b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 8 21:37:18 2013 +0200

    broadband-modem-qmi: implement extended signal quality reporting

 src/mm-broadband-modem-qmi.c | 207
 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 206 insertions(+), 1 deletion(-)

commit 5ef439e2d696e0c9acb9f146ed541848fd8db0ce
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 8 21:11:02 2013 +0200

    broadband-modem: handle the new 'Signal' interface

 src/mm-broadband-modem.c | 63
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

commit d368d30c531f6595826255a6f5c496ab91894b40
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 8 20:50:02 2013 +0200

    iface-modem-signal: new implementation for the 'Signal' interface

 src/Makefile.am             |   2 +
 src/mm-iface-modem-signal.c | 489
 ++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-signal.h |  97 +++++++++
 3 files changed, 588 insertions(+)

commit d29423202555e41283796a1abeb28f3372ea15ab
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 7 21:11:47 2013 +0200

    mmcli: new actions to use the 'Signal' interface

 cli/Makefile.am          |   1 +
 cli/mmcli-modem-signal.c | 340
 +++++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli.c              |  11 ++
 cli/mmcli.h              |   8 ++
 4 files changed, 360 insertions(+)

commit fcdbefa51962aac545db7a797b5fbeb60a66ab60
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 7 20:41:17 2013 +0200

    libmm-glib: handle the new 'Signal' interface

 docs/reference/libmm-glib/libmm-glib-docs.xml     |   8 +
 docs/reference/libmm-glib/libmm-glib-sections.txt | 144 +++++++++
 docs/reference/libmm-glib/libmm-glib.types        |   4 +
 libmm-glib/Makefile.am                            |   2 +
 libmm-glib/libmm-glib.h                           |   1 +
 libmm-glib/mm-manager.c                           |   1 +
 libmm-glib/mm-modem-signal.c                      | 356
 ++++++++++++++++++++++
 libmm-glib/mm-modem-signal.h                      | 120 ++++++++
 libmm-glib/mm-object.c                            |  36 +++
 libmm-glib/mm-object.h                            |   3 +
 10 files changed, 675 insertions(+)

commit 37115dee9383c79985e6b05122380449b408ae13
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 7 20:17:23 2013 +0200

    api,introspection: new 'Signal' interface for extended signal quality

 data/org.freedesktop.ModemManager1.conf.polkit     |   7 +
 docs/reference/api/Makefile.am                     |   1 +
 docs/reference/api/ModemManager-dbus-reference.xml |   1 +
 introspection/all.xml                              |   1 +
 .../org.freedesktop.ModemManager1.Modem.Signal.xml | 155
 +++++++++++++++++++++
 libmm-glib/generated/Makefile.am                   |   9 +-
 6 files changed, 171 insertions(+), 3 deletions(-)

commit b61827f474af19302ff66621ef152419d75f0ef0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 21 11:16:15 2013 +0200

    huawei: ignore ^NDISEND unsolicited messages

 plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit ef5aae51254cd2336f09c87e84dfa9f496fc88dc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 14 18:01:53 2013 +0200

    iface-modem-messaging: never add UNKNOWN to the lists of supported
    storages

 src/mm-iface-modem-messaging.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

commit b83ef8b5e2a139ab5e04388e457570812701b7ca
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 15 11:12:01 2013 -0700

    altair-lte: increase timeout for +CFUN=4

 plugins/altair/mm-broadband-modem-altair-lte.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d42011d6bf3394a6ac1508a667ac9c1348a2514e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 15 19:20:59 2013 +0200

    build: include vapigen.m4 and introspection.m4

    So that we don't require vala or g-i for building even when not
    wanting them.

 m4/introspection.m4 |  96
 +++++++++++++++++++++++++++++++++++++++++++++++++
 m4/vapigen.m4       | 101
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 197 insertions(+)

commit 663d49696821e8a269662f4c42ecab6c43c3055e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 15 18:57:10 2013 +0200

    huawei: improve ^NDISSTATQRY parser for newer firmware

    Newer firmware for Huawei devices will not split the IPv4 and IPv6
    info in
    different lines for the ^NDISSTATQRY reply; instead they will be
    included in the
    same line. E.g. instead of

         ^NDISSTATQRY: 1,,,IPV4
         ^NDISSTATQRY: 0,33,,IPV6
         OK

    We may have:

         ^NDISSTATQRY:0,,,"IPV4",0,33,,"IPV6"

    Also note the optional spaces after the ':', and that in the new
    version the
    strings are enclosed in double quotes.

    https://bugzilla.gnome.org/show_bug.cgi?id=705339

 plugins/huawei/mm-modem-helpers-huawei.c         | 64
 ++++++++++++++----------
 plugins/huawei/tests/test-modem-helpers-huawei.c | 10 +++-
 2 files changed, 46 insertions(+), 28 deletions(-)

commit f9c75bc4876311c4fd4e30a5d78562e532c085b6
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 14 11:52:59 2013 -0700

    cli: fix help message for --3gpp-ussd-respond

 cli/mmcli-modem-3gpp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 33a6cb2fa5034060376dfac3332f960f2e3ee7ae
Author: Colin Walters <walters@verbum.org>
Date:   Wed Aug 14 19:22:27 2013 +0200

    build: An even cleaner srcdir != builddir fix

    Suggested-by: Dan Winship <danw@gnome.org>

 libmm-glib/Makefile.am | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

commit 54fa505e67e1f0f315314822c7b81db25254263f
Author: Colin Walters <walters@verbum.org>
Date:   Wed Aug 14 18:59:54 2013 +0200

    build: Various srcdir != builddir fixes for gnome-ostree

    The gnome-ostree build system does srcdir != builddir from git, not
    quite like autotools does.

 libmm-glib/Makefile.am | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

commit 65f633ab961570ad90644fcfa1fe748f50908da9
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Aug 14 10:37:45 2013 -0500

    build: fix distcheck after Introspection changes

 libmm-glib/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 36fe2012cc995fe9eb3482d8d0671467190f9060
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 14 15:43:28 2013 +0200

    license: update to latest gplv2 text

 COPYING | 41 ++++++++++++++++++++---------------------
 1 file changed, 20 insertions(+), 21 deletions(-)

commit 81194337fec82d3c58aa58da8ce393da8404b5d2
Author: Christian Persch <chpe@gnome.org>
Date:   Wed Aug 14 12:32:17 2013 +0200

    build: Error out if vala bindings are enabled but Makefile.vapigen
    not found

    Cannot test this for enable_vala=auto since enable_vala has been
    set to
    yes/no by this time.

    Bug #705641.

 configure.ac | 5 +++++
 1 file changed, 5 insertions(+)

commit 6eec45cb73f2430dcb8a6e6751d4dc2446b8861c
Author: Christian Persch <chpe@gnome.org>
Date:   Tue Aug 13 10:30:13 2013 +0200

    gitignore: Updated to ignore GIR and VAPI bindings generated files

    Bug #705641.

 .gitignore | 4 ++++
 1 file changed, 4 insertions(+)

commit bfae86329602635f203310b352a71c0597283589
Author: Christian Persch <chpe@gnome.org>
Date:   Tue Aug 6 23:12:26 2013 +0200

    libmm-glib: Add vala bindings

    Bug #705641.

 Makefile.am                    |  2 +-
 configure.ac                   |  5 +++++
 vapi/Makefile.am               | 22 ++++++++++++++++++++++
 vapi/ModemManager-1.0.metadata |  0
 vapi/libmm-glib.deps           |  1 +
 5 files changed, 29 insertions(+), 1 deletion(-)

commit b8838b88829bdffd849eb115bd1a74932d6adabb
Author: Christian Persch <chpe@gnome.org>
Date:   Sun Aug 4 13:51:27 2013 +0200

    libmm-glib: Generate GObject introspection information

    Bug #705641.

 configure.ac                 |  4 +++
 libmm-glib/Makefile.am       | 75
 ++++++++++++++++++++++++++++++++++++++++++--
 libmm-glib/mm-helper-types.h | 10 +++---
 3 files changed, 83 insertions(+), 6 deletions(-)

commit d1d28687852a2e683e9c3f4ca0b6404a248c1b7c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 13 10:06:25 2013 +0200

    api: Change error enum nicks

    Introspection can't copy with a '.' in the value nicks, so just
    remove those.

    Note: This could be considered an ABI break!

    Bug #705641.

    Patch based on a previous one from Christian Persch <chpe@gnome.org>.

 include/ModemManager-errors.h | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

commit 0abba497ab8ebc0564044917df67c2237b20168b
Author: Christian Persch <chpe@gnome.org>
Date:   Sun Aug 4 15:13:17 2013 +0200

    libmm-glib: Fix and add introspection annotations

    Bug #705641.

 libmm-glib/mm-bearer-ip-config.c          | 10 +++++++++-
 libmm-glib/mm-bearer-properties.c         | 27
 +++++++++++++++++++++++++++
 libmm-glib/mm-bearer-properties.h         |  2 +-
 libmm-glib/mm-modem-3gpp.c                |  4 ++--
 libmm-glib/mm-modem-firmware.c            |  4 ++--
 libmm-glib/mm-modem-location.c            |  2 +-
 libmm-glib/mm-modem-messaging.c           |  6 +++---
 libmm-glib/mm-modem-time.c                | 16 ++++++++--------
 libmm-glib/mm-modem.c                     | 12 ++++++------
 libmm-glib/mm-simple-connect-properties.c |  8 ++++++++
 libmm-glib/mm-simple-connect-properties.h |  2 +-
 libmm-glib/mm-sms-properties.c            |  8 ++++++++
 libmm-glib/mm-unlock-retries.c            |  4 ++--
 13 files changed, 78 insertions(+), 27 deletions(-)

commit 34f6a2b63e9053f2beabb2a5af221221d5a0f791
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 14 00:01:29 2013 -0700

    huawei: implement modem reset via +CFUN=16 for MU736

 plugins/huawei/mm-broadband-modem-huawei.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

commit f515cd1d903fefbdaec163dea3e3f0da870ff58a
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 14 00:01:28 2013 -0700

    iface-modem: add mm_iface_modem_get_model helper to query model

 src/mm-iface-modem.c | 20 ++++++++++++++++++++
 src/mm-iface-modem.h |  3 +++
 2 files changed, 23 insertions(+)

commit c94943322b3e497bf0131eae2aa21489bc71a061
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 13 16:02:41 2013 +0200

    docs: add missing types

 docs/reference/libmm-glib/libmm-glib.types | 1 +
 1 file changed, 1 insertion(+)

commit e778283f5512acd294929ae504113040faff3e14
Author: Fangxiaozhi (Franko) <fangxiaozhi@huawei.com>
Date:   Mon Aug 12 09:04:43 2013 +0200

    huawei: enlarge the checking times for  ndisstatqry in disconnecting

    In sometimes, the disconnection of NDISDUP will spend more time
    than 10s.
    So it is better to enlarge the checking times, such as up to 60 times.

 plugins/huawei/mm-broadband-bearer-huawei.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a82acb34ec7ca3d276263a6f286b586ac23d3856
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Aug 9 20:56:52 2013 -0700

    huawei: implement modem reset

 plugins/huawei/mm-broadband-modem-huawei.c | 26
 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit 1d3ec932d56355e2a84956c3d543969bea8ebd6f
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Aug 8 09:45:16 2013 -0500

    build: install mm-cdma-manual-activation-properties.h to includes dir

 libmm-glib/Makefile.am | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit bb1d39cf7cb7a75553879a3ccaf2003343a68f6c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 23 12:06:52 2013 +0200

    broadband-modem-qmi: check MDN set after manual activation

 src/mm-broadband-modem-qmi.c | 154
 ++++++++++++++++++++++++++++++++-----------
 1 file changed, 116 insertions(+), 38 deletions(-)

commit 512ef6970cfd1793f667a23dc1b10c3f3b43c988
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 15 11:50:35 2013 +0200

    broadband-modem-qmi: implement manual CDMA activation

    We'll also now require libqmi 1.5 (git master), needed to handle
    the PRL TLV
    in 'DMS Activate Manual'.

    TODO: require 1.6 as soon as it is released.

 configure.ac                 |   2 +-
 src/mm-broadband-modem-qmi.c | 245
 +++++++++++++++++++++++++++++++++++++++----
 2 files changed, 225 insertions(+), 22 deletions(-)

commit 4e3d0ec3fd4a40b9c38e6278b0e70aadf9fbfb42
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 15 12:31:23 2013 +0200

    mmcli,cdma: new '--cdma-activate-manual' action

    Along with a new '--cdma-activate-manual-with-prl'.

    These can be used to request CDMA Manual Activation, like:

    $> sudo mmcli \
       -m 0 \
       --cdma-activate-manual="spc=123456,sid=ab,mdn=0123456789abcde,min=0123456789abcde"

    Or:

    $> sudo mmcli \
       -m 0 \
       --cdma-activate-manual="spc=123456,sid=ab,mdn=0123456789abcde,min=0123456789abcde"
       \
       --cdma-activate-manual-with-prl=/path/to/my/prl.data

 cli/mmcli-modem-cdma.c | 130
 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 129 insertions(+), 1 deletion(-)

commit 5de526f7080c3c56474b277fe46a49537f44ed74
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 15 12:26:57 2013 +0200

    libmm-glib,cdma: implement manual activation methods

 docs/reference/libmm-glib/libmm-glib-sections.txt |  3 +
 libmm-glib/mm-modem-cdma.c                        | 92
 +++++++++++++++++++++++
 libmm-glib/mm-modem-cdma.h                        | 14 ++++
 3 files changed, 109 insertions(+)

commit b769d48ed88d0dd69c70dffce23b21fa99814791
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 12 13:35:39 2013 +0200

    iface-modem-cdma: use the new 'MMCdmaManualActivationProperties'

 src/mm-iface-modem-cdma.c | 24 +++++++++++++++++-------
 src/mm-iface-modem-cdma.h |  2 +-
 2 files changed, 18 insertions(+), 8 deletions(-)

commit c0d4f3157aeb2452155e558fb11daa6b7ef860dd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 12 12:56:50 2013 +0200

    libmm-glib: new 'MMCdmaManualActivationProperties' helper object

 docs/reference/libmm-glib/libmm-glib-docs.xml     |   1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt |  40 +
 libmm-glib/Makefile.am                            |   4 +-
 libmm-glib/libmm-glib.h                           |   1 +
 libmm-glib/mm-cdma-manual-activation-properties.c | 879
 ++++++++++++++++++++++
 libmm-glib/mm-cdma-manual-activation-properties.h | 113 +++
 6 files changed, 1037 insertions(+), 1 deletion(-)

commit 5ba2c1d6cbd2d1a089d5d1219ffd3a7b8b5c60d3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 12 13:10:54 2013 +0200

    introspection,api: document the expected parameters in
    Cdma.ActivateManual()

 ...g.freedesktop.ModemManager1.Modem.ModemCdma.xml | 58
 +++++++++++++++++++++-
 src/mm-iface-modem-cdma.c                          |  2 +-
 2 files changed, 58 insertions(+), 2 deletions(-)

commit ffac6f17b5912dfa4d2e55eaf078796680871ea7
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 31 23:07:52 2013 -0700

    modem-helpers: fix parsing of CREG/CGREG/CEREG responses

    The format of CREG/CGREG/CEREG responses is not very precisely defined
    in or strictly enforced by the 3GPP specifications. That leads to the
    fact that some modems put leading zeros in integer type fields (e.g.
    <n>, <stat>, <AcT>), and not all modems put double quotes around
    string
    type fields (e.g. <lac>, <ci>) in those C*REG responses.

    For example, 0001 can be a valid value for both <stat> and <lac>. The
    original C*REG parsing code in ModemManager could potentially
    interpret
    '+CREG: <stat>,<lac>,<ci>,<AcT>' as '+CREG:
    <n>,<stat>,<lac>,<ci>'. This
    patch addresses this issue by refining the regular expressions
    returned
    by mm_3gpp_creg_regex_get() with the following assumptions:

    1. If a modem puts leading zeros in integer type fields, it puts
    double
       quotes around string type fields.
    2. If a modem omits double quotes around string type fields, it
    does not
       put leading zeros in integer type fields.

 src/mm-modem-helpers.c         | 30 ++++++++++++---
 src/tests/test-modem-helpers.c | 86
 +++++++++++++++++++++++++++++++++++++-----
 2 files changed, 100 insertions(+), 16 deletions(-)

commit 755c61a2ffad6d54fc3116dd29d91b4325cf6b18
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 6 10:10:09 2013 -0700

    huawei: ignore ^PDPDEACT unsolicited messages

 plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 8ff3f6703a804cce60ae85b6c3ab543d21c5460f
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 6 10:04:46 2013 -0700

    huawei: handle whitespace in RSSI responses

    This patch modifies the regular expressions for parsing ^RSSI,
    ^RSSILVL,
    and ^HRSSILVL responses to handle any whitespace that is inserted
    between the colon and the RSSI value.

    The issue is identified by Dan Williams <dcbw@redhat.com>

 plugins/huawei/mm-broadband-modem-huawei.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit f2fd4d8de0feb3d089d5ae950bea753f65a0e384
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Aug 2 18:07:11 2013 -0700

    huawei: implement modem power up and down

    This patch is originally developed by:
      Franko Fang <fangxiaozhi@huawei.com>

    And then reviewed and updated by:
      Ben Chan <benchan@chromium.org>

 plugins/huawei/mm-broadband-modem-huawei.c | 218
 +++++++++++++++++++++++++++++
 1 file changed, 218 insertions(+)

commit 48fbe1a24297d0eeb3a143230937438dc14c6109
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 31 00:59:26 2013 -0700

    huawei: reset disconnect_pending to NULL when ^NDISSTATQRY fails

 plugins/huawei/mm-broadband-bearer-huawei.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 965ef76547988fa8299a79ed383550cb6505d2f6
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jul 23 10:00:23 2013 -0500

    serial: add logging to serial port open failures

 src/mm-serial-port.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

commit 74056e02ced535400ce961f6bcd39cb049ca7ff2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 23 11:04:29 2013 +0200

    build: fix dbus activation file generation

    https://bugzilla.gnome.org/show_bug.cgi?id=704711

 configure.ac     | 1 -
 data/Makefile.am | 3 +++
 2 files changed, 3 insertions(+), 1 deletion(-)

commit 599b3dd830a64d7ea12522ae91b9e652c05476c0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 19 11:14:09 2013 +0200

    build: post release version bump to 1.1.0 (development)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5c68a3686d6fcd61f3fe262d4e7c9b806900b920
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 19 10:00:01 2013 +0200

    release: bump version to 1.0.0

 configure.ac | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 953b7df70c448ff0d3fe44736eca96b58b1d986a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 19 09:59:50 2013 +0200

    release: update NEWS

 NEWS | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

commit 184c5a925a53e4822f759ad556c487bec6dfea98
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 19 09:59:41 2013 +0200

    docs: update migration reference version number

 docs/reference/api/ModemManager-migration-reference.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 1e69874e598711cf713b2c6ea6f73cb8b1a9d6db
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 19 09:59:21 2013 +0200

    api,introspection: update interface version number

 introspection/org.freedesktop.ModemManager1.Bearer.xml               |
 2 +-
 introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml       |
 2 +-
 introspection/org.freedesktop.ModemManager1.Modem.Location.xml       |
 2 +-
 introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml      |
 2 +-
 introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml |
 2 +-
 introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml      |
 2 +-
 introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml      |
 2 +-
 introspection/org.freedesktop.ModemManager1.Modem.Simple.xml         |
 2 +-
 introspection/org.freedesktop.ModemManager1.Modem.Time.xml           |
 2 +-
 introspection/org.freedesktop.ModemManager1.Modem.xml                |
 2 +-
 introspection/org.freedesktop.ModemManager1.Sim.xml                  |
 2 +-
 introspection/org.freedesktop.ModemManager1.Sms.xml                  |
 2 +-
 introspection/org.freedesktop.ModemManager1.xml                      |
 2 +-
 introspection/wip-org.freedesktop.ModemManager1.Modem.Contacts.xml   |
 2 +-
 14 files changed, 14 insertions(+), 14 deletions(-)

commit d90a6309fbce3f96127e413e0c161a3f4385c2e4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 18 22:43:55 2013 +0200

    broadband-modem-qmi: plug memleak when listing SMS messages

 src/mm-broadband-modem-qmi.c | 47
 ++++++++++++++++++++------------------------
 1 file changed, 21 insertions(+), 26 deletions(-)

commit 0245b6256a86f7ebb7202cc60485a2d8cb54c369
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 18 17:54:45 2013 +0200

    libmm-glib,firmware-properties: allow NULL when building dictionary

 libmm-glib/mm-firmware-properties.c | 2 --
 1 file changed, 2 deletions(-)

commit abce098cfe2ed1b2d922201b20756511a65e5748
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 17 09:03:16 2013 +0200

    sms: initialize 'validity' property always to a default

    When we're exposing not-yet-completed multipart messages, we need
    to provide a
    correct value for the validity property, or gdbus may crash, see e.g.:

    https://bugzilla.gnome.org/show_bug.cgi?id=704319

 src/mm-sms.c | 3 +++
 1 file changed, 3 insertions(+)

commit 022f5bb490b225426caa6e1e88bbbac8b6590b86
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 15 12:05:36 2013 +0200

    mmcli,messaging: plug memleak

 cli/mmcli-modem-messaging.c | 1 +
 1 file changed, 1 insertion(+)

commit 48d35ee61049e65b83bf3484a45657a83709b2a1
Author: Ben Chan <benchan@chromium.org>
Date:   Sun Jul 14 17:24:39 2013 -0700

    altair-lte: set serial port send delay to 0

    With a non-zero send delay, the communication over the ttyACM port of
    the modem is not very stable when USB auto-suspend is enabled for the
    modem. The send delay is not necessary and thus removed by this patch.

    Ori Inbar <ori.inbar@altair-semi.com> reported the issue and suggested
    this fix.

 plugins/altair/mm-broadband-modem-altair-lte.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 5b3392e84b910c88af64db54986a74122b40f1f4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 14 17:12:55 2013 +0200

    build: require libmbim by default, and explicitly log about
    --without-mbim

 configure.ac | 39 ++++++++++++++++-----------------------
 1 file changed, 16 insertions(+), 23 deletions(-)

commit ac588e9d0e6b4dd59d1e929545bf39247cb8f72c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 14 17:04:26 2013 +0200

    build: explicitly log about --without-qmi when looking for libqmi
    fails

 configure.ac | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit 19f07c12a1fb4a09d866b12f58ad91b38e482a4e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 12 12:56:27 2013 +0200

    sms-properties: fix introspection comment

 libmm-glib/mm-sms-properties.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit f3d9c35e9b60265cc19f5a9468425b057627686e
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 11 09:07:12 2013 -0500

    build: fix multiply defined EXTRA_DIST

    plugins/Makefile.am:375: warning: EXTRA_DIST multiply defined in
    condition TRUE ...
    gtester.make:6: ... 'EXTRA_DIST' previously defined here
    plugins/Makefile.am:1:   'gtester.make' included from here

 plugins/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0b2e04ed149717a60ec2e399a2d4e1c6f3200cd9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jun 15 13:05:32 2013 +0200

    huawei: use ^NDISSTATQRY to check for connection status

    Patch based on changes from Franko Fang <fangxiaozhi@huawei.com>.

 plugins/huawei/mm-broadband-bearer-huawei.c | 129
 ++++++++++++++++++----------
 1 file changed, 84 insertions(+), 45 deletions(-)

commit 8d0ec0fc246ad4be53b426ae99443e9b5f66a5f5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jun 15 12:19:50 2013 +0200

    huawei: new helper to parse ^NDISSTATQRY responses

 .gitignore                                       |   5 ++
 plugins/Makefile.am                              |  23 ++++-
 plugins/huawei/mm-modem-helpers-huawei.c         | 100
 ++++++++++++++++++++++
 plugins/huawei/mm-modem-helpers-huawei.h         |  30 +++++++
 plugins/huawei/tests/test-modem-helpers-huawei.c | 103
 +++++++++++++++++++++++
 5 files changed, 260 insertions(+), 1 deletion(-)

commit 5e82707b3fba0b7cb95df6b544741bdc1119bd51
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 10 23:31:15 2013 -0700

    broadband-modem-qmi: fix incorrect conversions from double to gint32

    This patch fixes the following incorrect conversions from double
    to gint32:

    mm-broadband-modem-qmi.c:4785:27: error: implicit conversion from
    'double' to 'gint32' (aka 'int')
    changes value from 2.225073858507201E-308 to 0
    [-Werror,-Wliteral-conversion]
        gint32 bs_longitude = MM_LOCATION_LONGITUDE_UNKNOWN;
               ~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    mm-broadband-modem-qmi.c:4786:26: error: implicit conversion from
    'double' to 'gint32' (aka 'int')
    changes value from 2.225073858507201E-308 to 0
    [-Werror,-Wliteral-conversion]
        gint32 bs_latitude = MM_LOCATION_LATITUDE_UNKNOWN;
               ~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

 src/mm-broadband-modem-qmi.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit d366b28650be8a3da92eff74da2ff962da82355d
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 10 20:36:56 2013 -0700

    modem-helpers-qmi: fix enumeration type mismatches

    This patch fixes the following enumeration type mismatches:

    mm-modem-helpers-qmi.c:980:12: error: implicit conversion from
    enumeration type 'QmiNasRatModePreference' to different
    enumeration type 'QmiNasRadioTechnologyPreference'
    [-Werror,-Wenum-conversion]
        return qmi;
        ~~~~~~ ^~~

    mm-modem-helpers-qmi.c:1082:12: error: implicit conversion from
    enumeration type 'MMModemMode' to different
    enumeration type 'QmiNasGsmWcdmaAcquisitionOrderPreference'
    [-Werror,-Wenum-conversion]
        return MM_MODEM_MODE_NONE;
        ~~~~~~ ^~~~~~~~~~~~~~~~~~

    mm-modem-helpers-qmi.c:1096:16: error: implicit conversion from
    enumeration type 'QmiNasRegistrationState' to different
    enumeration type 'MMModem3gppRegistrationState'
    [-Werror,-Wenum-conversion]
        return QMI_NAS_REGISTRATION_STATE_NOT_REGISTERED;
        ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 src/mm-modem-helpers-qmi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 8660be8f39601ddb7811d77759a8e087401b9118
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jul 10 10:56:45 2013 -0500

    x22x: add support for Olivetti Olicard 200

 plugins/x22x/77-mm-x22x-port-types.rules | 22 ++++++++++++++++++++--
 plugins/x22x/mm-plugin-x22x.c            |  4 ++--
 2 files changed, 22 insertions(+), 4 deletions(-)

commit 1bd60c7dac84070c9226f5f525f3904c0a408272
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 8 13:10:51 2013 +0200

    docs,libmm-glib: update type information

 docs/reference/libmm-glib/libmm-glib.types | 29
 ++++++-----------------------
 1 file changed, 6 insertions(+), 23 deletions(-)

commit dd2b4672623919ddf7916234ce11fc6c15e959a7
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jul 5 11:09:54 2013 -0700

    serial-port: warn if ioctl(TIOCSSERIAL) fails to set closing_wait

    Prints out a warning if ioctl(TIOCSSERIAL) fails to set closing_wait
    to
    none. This helps debug issues when a serial driver does not support or
    properly handle closing_wait, which may cause closing of the
    serial port
    to block.

 src/mm-serial-port.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit f0490b4fffef6566bf01995489a6cc87ff5f4547
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jul 3 19:41:15 2013 -0700

    altair-lte: support load_power_state in MMIfaceModem

    Being able to determine the current power state of the modem is
    necessary to ensure reliable modem operations.

 plugins/altair/mm-broadband-modem-altair-lte.c | 5 -----
 1 file changed, 5 deletions(-)

commit 989210bfd87da57bc729a0b09720d6bc5f7fcb5c
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jun 27 21:51:25 2013 -0700

    altair-lte: propagate error when load_{supported,current}_bands fails

    This patch fixes a potential crash when
    MMIfaceModem::load_current_bands_ready() dereferences a NULL GError
    pointer, which happens when the altair-lte plugin fails to load the
    current bands but does not propagate the error. It also fixes
    a similar
    issue with the plugin fails to load the supported bands, even though
    MMIfaceModem::load_supported_bands_ready() checks for a NULL GError
    pointer.

 plugins/altair/mm-broadband-modem-altair-lte.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 5be1ce6ee165373288ea6852d6148f724b61e68f
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jun 27 21:50:28 2013 -0700

    novatel-lte: propagate error when load_current_bands fails

    This patch fixes the following crash when
    MMIfaceModem::load_current_bands_ready() dereferences a NULL GError
    pointer, which happens when the novatel-lte plugin fails to load the
    current bands but does not propagate the error.

    Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )

    0x7f04d6c89c36   [ModemManager]            - mm-iface-modem.c:3886
    load_current_bands_ready
    0x7f04d6942236   [libgio-2.0.so.0.3200.4]  - gsimpleasyncresult.c:767
    g_simple_async_result_complete
    0x7f04d6942338   [libgio-2.0.so.0.3200.4]  - gsimpleasyncresult.c:779
    complete_in_idle_cb
    0x7f04d67fad74   [libglib-2.0.so.0.3200.4] - gmain.c:2539
    g_main_context_dispatch
    0x7f04d67fb0f7   [libglib-2.0.so.0.3200.4] - gmain.c:3146
    g_main_context_iterate
    0x7f04d67fb551   [libglib-2.0.so.0.3200.4] - gmain.c:3340
    g_main_loop_run
    0x7f04d6c68795   [ModemManager]            - main.c:142]
    main
    0x7f04d6213464   [libc-2.15.so]            - libc-start.c:234]
    __libc_start_main
    0x7f04d6c68318   [ModemManager]            + 0x0001d318]

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 49f017abfff0a513f0592ccad9beff4cf17d0d21
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 27 10:17:20 2013 +0200

    man,mmcli: changing modes and bands no longer allowed in
    '--simple-connect'

 docs/man/mmcli.8 | 9 ---------
 1 file changed, 9 deletions(-)

commit 6f3d9e5dac101d484c581e6b93a982686d2266cb
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jun 26 22:32:52 2013 -0700

    altair-lte: avoid sending ATZ when enabling the modem

    This patch prevents an ATZ command, which causes the modem to reboot,
    from being sent to the modem when the modem is being enabled.

 plugins/altair/mm-broadband-modem-altair-lte.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit a9ebec949e5d9bfafad08cb04f7d0bbef5201be1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 25 10:56:17 2013 +0200

    plugin-manager: handle modems where only some ports report being Icera

    Icera-based Nokia modems may reply correctly to the Icera probing
    only in some
    AT ports, not in all. In order to handle this situation we override
    the final
    plugin selected to be the Icera-based one if we find that the
    mismatched plugins
    have the 'icera-allowed' and 'icera-forbidden' filters.

    https://bugzilla.gnome.org/show_bug.cgi?id=703022

 src/mm-plugin-manager.c | 85
 +++++++++++++++++++++++++++++++++++++++----------
 src/mm-port-probe.c     |  2 +-
 2 files changed, 70 insertions(+), 17 deletions(-)

commit a420ef3a0ad9e1eeb0f302b511ba8c2bb5883e9a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 25 11:47:35 2013 +0200

    icera: load supported modes with AT%IPSYS=?

    http://bugzilla.gnome.org/show_bug.cgi?id=703023

 plugins/icera/mm-broadband-modem-icera.c | 191
 +++++++++++++++++++++----------
 1 file changed, 132 insertions(+), 59 deletions(-)

commit a05bd765648a1291485e65d42c7ff6709e08a555
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 25 11:53:49 2013 +0200

    systemd: schedule to restart the service on-abort

    See https://bugzilla.gnome.org/show_bug.cgi?id=701229.

 data/ModemManager.service.in | 1 +
 1 file changed, 1 insertion(+)

commit ddb9691922b6c61068d6b5615b18c7e28ca115f4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 25 11:46:19 2013 +0200

    iface-modem: plug memleak

 src/mm-iface-modem.c | 1 +
 1 file changed, 1 insertion(+)

commit b4f6a4ac0b9f393cb5b5b1ed7fc5e2650249e16f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 25 11:46:09 2013 +0200

    serial-parsers: plug memleak

 src/mm-serial-parsers.c | 1 +
 1 file changed, 1 insertion(+)

commit 597401f80aa42eb17e3ae358e3ab629b0982f2ab
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 24 22:04:32 2013 -0500

    broadband-bearer-hso: IPv4 prefix is always /32

    The modem doesn't give us a prefix in the OWANDATA response, but it's
    always /32.  This didn't get set previously because NetworkManager
    always just used /32 for the 'static' configuration, but NM isn't the
    only user of MM, and only MM knows for sure that the prefix should
    be /32.

 plugins/option/mm-broadband-bearer-hso.c | 1 +
 1 file changed, 1 insertion(+)

commit 3206e9566392e8a9678bbd49e0de9bb21ed75291
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 20 23:45:12 2013 +0200

    api,introspection: new 'Ports' property in the Modem interface

    We will expose a new 'Ports' property listing all ports currently
    known by a
    given modem. Ports which are not used but are detected as being part
    of the
    modem will be listed with an 'unknown' port type.

    This change uses the new 'MMModemPortType' enum and the new
    'MMModemPortInfo'
    helper struct to handle these values in libmm-glib. The already
    available
    'MMPortType' enum hasn't been re-used for the interface because
    it contains
    values that we don't need (e.g. IGNORED).

    The port list is now also included in the modem information command
    of mmcli:

    $ sudo mmcli -m 0

    /org/freedesktop/ModemManager1/Modem/0 (device id
    '97b7b99e3e2bea103880545b619fb05a3cc81b26')
      -------------------------
      System   |         device:
      '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4'
               |        drivers: 'qcserial, qmi_wwan'
               |         plugin: 'Gobi'
               |   primary port: 'cdc-wdm0'
               |          ports: 'ttyUSB0 (qcdm), ttyUSB1 (at), cdc-wdm0
               (qmi), wwp0s29u1u4 (net)'

    https://bugzilla.gnome.org/show_bug.cgi?id=702678

 cli/mmcli-modem.c                                  |  13 ++-
 docs/reference/api/ModemManager-sections.txt       |   1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  12 ++
 include/ModemManager-enums.h                       |  22 ++++
 .../org.freedesktop.ModemManager1.Modem.xml        |  10 ++
 libmm-glib/Makefile.am                             |   1 +
 libmm-glib/mm-common-helpers.c                     |  91 +++++++++++++++
 libmm-glib/mm-common-helpers.h                     |  10 ++
 libmm-glib/mm-helper-types.c                       |  41 +++++++
 libmm-glib/mm-helper-types.h                       |  16 +++
 libmm-glib/mm-modem.c                              | 123
 +++++++++++++++++++++
 libmm-glib/mm-modem.h                              |   7 ++
 src/mm-base-modem.c                                |  47 ++++++++
 src/mm-base-modem.h                                |   6 +
 src/mm-iface-modem.c                               |   9 ++
 15 files changed, 407 insertions(+), 2 deletions(-)

commit 30fe6eab4844966a9ad99599aeac910fd9898798
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jun 23 11:40:36 2013 +0200

    hso: if IPv6 bearer type requested, create a generic bearer

    Option/HSO modems don't seem to support IPv6 when using the net
    interface. So if
    IPv6 is requested, create a generic bearer.

        $ sudo mmcli -m 0 --simple-connect="apn=internet,ip-type=ipv6"
        successfully connected the modem

        $ sudo mmcli -b 0
        Bearer '/org/freedesktop/ModemManager1/Bearer/0'
          -------------------------
          Status             |   connected: 'yes'
                             |   suspended: 'no'
                             |   interface: 'ttyHS3'
                             |  IP timeout: '20'
          -------------------------
          Properties         |         apn: 'internet'
                             |     roaming: 'allowed'
                             |     IP type: 'ipv6'
                             |        user: 'none'
                             |    password: 'none'
                             |      number: 'none'
                             | Rm protocol: 'unknown'
          -------------------------
          IPv4 configuration |   method: 'ppp'
          -------------------------
          IPv6 configuration |   method: 'unknown'

        $ sudo mmcli -m 0 --simple-disconnect
        successfully disconnected all bearers in the modem

    https://bugzilla.gnome.org/show_bug.cgi?id=702472

 plugins/option/mm-broadband-modem-hso.c | 34
 ++++++++++++++++++++++++++++++++-
 1 file changed, 33 insertions(+), 1 deletion(-)

commit e227d4af39d2c09ef1e8a8818d2558fba210f334
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jun 23 11:22:00 2013 +0200

    iface-modem: don't rely on the cached current power state value

    The real power state value of the modem may be changed by other
    means, e.g.
    rfkill. So when changing power state of the modem in MM, we better
    recheck
    which the current power status is.

    A better full approach would be to follow rfkill changes, but this
    fix should
    help until that is done.

    https://bugzilla.gnome.org/show_bug.cgi?id=702838

 src/mm-iface-modem.c | 136
 +++++++++++++++++++++++++++++++++++----------------
 1 file changed, 95 insertions(+), 41 deletions(-)

commit bcb00df1422b8a3a6d0fafbefe8ac3fcc9011b97
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 24 18:54:25 2013 +0200

    mmcli: SMS class value is a signed integer, not unsiged

 cli/mmcli-sms.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 08ef3c81da88257ffe9c8208275e59d455ba1234
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 24 18:48:27 2013 +0200

    broadband-modem-mbim: fix notification signal handling

 src/mm-broadband-modem-mbim.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 19bd63ecfd02c02148e4efeab0a0b7a0476abac1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 24 18:32:50 2013 +0200

    broadband-modem-mbim: log about all received notifications

 src/mm-broadband-modem-mbim.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit 697b6fdadb7f61b2430f64426bfa0a3f5fcfdfb3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 20 18:12:02 2013 +0200

    broadband-modem-mbim: add support for flash/alert SMS messages

    My Huawei MBIM modem notifies of standard new messages using
    MBIM_CID_MESSAGE_STORE_STATUS
    notifications, which is kind of wrong, as they should really be
    notified using
    MBIM_SMS_READ notifications; but anyway, try to handle those.

 src/mm-broadband-modem-mbim.c | 86
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)

commit ee62806a1a1885108ae03da8eac0fe51816e2b7c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jun 19 23:02:17 2013 +0200

    broadband-modem-mbim: setup enabling and disabling of unsolicited
    messages

 src/mm-broadband-modem-mbim.c | 237
 ++++++++++++++++++++++++++----------------
 1 file changed, 146 insertions(+), 91 deletions(-)

commit 817fc43bb0bb4538d089624d0f5169a569976340
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jun 19 22:33:01 2013 +0200

    broadband-modem-mbim: rename 'notification_flags' to 'setup_flags'

    We'll add 'enable_flags' later on.

 src/mm-broadband-modem-mbim.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit ac7c87c0d2b857a3de60af16e6bc9956f590a0c8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jun 19 19:08:46 2013 +0200

    broadband-modem-mbim: rename 3GPP specific methods

 src/mm-broadband-modem-mbim.c | 44
 +++++++++++++++++++++----------------------
 1 file changed, 22 insertions(+), 22 deletions(-)

commit 67207f279b85f7989c08f089858551d04b90fcec
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 18 17:39:05 2013 +0200

    sms: don't warn about unsupported validities

 src/mm-sms.c | 3 ---
 1 file changed, 3 deletions(-)

commit 347ea7cd4e347336050e0c4a96e639caa6f25a66
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jun 16 18:14:58 2013 +0200

    broadband-modem-mbim: implement setup/cleanup messaging events

 src/mm-broadband-modem-mbim.c | 182
 +++++++++++++++++++++++++++++++-----------
 1 file changed, 137 insertions(+), 45 deletions(-)

commit 6afbcc2c27810e32cdd480a5adfb563a4ab4c749
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jun 16 17:49:30 2013 +0200

    sms-mbim: new 'MMSmsMbim' object type

 src/Makefile.am               |   2 +
 src/mm-broadband-modem-mbim.c |  12 +-
 src/mm-sms-mbim.c             | 362
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-sms-mbim.h             |  49 ++++++
 4 files changed, 424 insertions(+), 1 deletion(-)

commit 73bab06049d0c2be376dfcc8bc2180b199b900b7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jun 16 17:22:00 2013 +0200

    broadband-modem-mbim: implement initial sms parts loading

 src/mm-broadband-modem-mbim.c | 118
 +++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-helpers-mbim.c   |  19 +++++++
 src/mm-modem-helpers-mbim.h   |   5 ++
 3 files changed, 140 insertions(+), 2 deletions(-)

commit a09cabd48e708646a6cc251a094c698552493d88
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jun 16 16:51:39 2013 +0200

    broadband-modem-mbim: implement supported storages loading

    We'll only expose 'MT' (ME+SM) as supported, as in MBIM the device
    doesn't
    specify different storages.

 src/mm-broadband-modem-mbim.c | 41
 +++++++++++++++++++++++++++++++++++++++--
 1 file changed, 39 insertions(+), 2 deletions(-)

commit cb046934c338954d14ab77fedef6b27d97d19183
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jun 16 16:45:27 2013 +0200

    broadband-modem-mbim: check for messaging support

 src/mm-broadband-modem-mbim.c | 68
 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 67 insertions(+), 1 deletion(-)

commit 76ff021a3c2a2e2339cfc3ce7d754f6e72dae5e7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 24 19:37:11 2013 +0200

    build: require libmbim-glib >= 1.4.0

    We need it to get SMS support.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 223db868a83d39e38bb5d7cda68a91bbceccd8a5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jun 23 12:08:03 2013 +0200

    dbus: no need for systemd and nosystemd setups of the service file

    We can just merge them.

 configure.ac                                                  |  1 +
 data/Makefile.am                                              |
 11 +----------
 ...ce.systemd.in => org.freedesktop.ModemManager1.service.in} |  2 +-
 data/org.freedesktop.ModemManager1.service.nosystemd.in       |  4 ----
 4 files changed, 3 insertions(+), 15 deletions(-)

commit ce6777c53b8a147d0764d46071fa5b9ea46ecb9e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jun 23 11:47:41 2013 +0200

    Revert "systemd: simplify unit file"

    This reverts commit 91898aa8b0bb8164b61e84ae68534c38cebb1482.

    See additional comments in the following bug:

      https://bugzilla.gnome.org/show_bug.cgi?id=701229

    Basically, 'mask' and 'unmask' operations are not the ones we should
    be using
    or suggesting; and the Alias= for the DBus file is the correct way
    to go.

 .gitignore                                                  |  2 ++
 data/Makefile.am                                            | 13
 ++++++++++---
 data/ModemManager.service.in                                |  1 +
 ...n => org.freedesktop.ModemManager1.service.nosystemd.in} |  1 -
 data/org.freedesktop.ModemManager1.service.systemd.in       | 11
 +++++++++++
 5 files changed, 24 insertions(+), 4 deletions(-)

commit b8825f79d524f9c1d27398d025d0e2a5698a2e61
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 21 10:13:00 2013 +0200

    build: remove '--with-tests' from the distcheck configure flags

 Makefile.am | 1 -
 1 file changed, 1 deletion(-)

commit 3862ed6dfddba097d57875202324899b8aa81716
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 21 10:13:38 2013 +0200

    build: add gtester.make to the dist tarball

 Makefile.am | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 6a01e51a5cc2cfb89bba7b0b3adfde45ebf8faff
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 18 17:15:03 2013 +0200

    tests: avoid printing in stdout by default

    Tests had either their own g_print()s or they would enable a _mm_log()
    method to
    get all g_debug()s from the libraries printed. In order to cleanup
    the result of
    the tests run, avoid this stdout dumps by default, and only enable
    them if
    explicitly enabled in CFLAGS, e.g.:

      $> ./configure CFLAGS="-DENABLE_TEST_MESSAGE_TRACES"

 src/tests/test-modem-helpers-qmi.c |  2 ++
 src/tests/test-modem-helpers.c     | 56
 +++++++++++++++++++++-----------------
 src/tests/test-sms-part.c          |  2 ++
 3 files changed, 35 insertions(+), 25 deletions(-)

commit 2a922f836d7d9a4f550ec0d789ff644cbcf5ce69
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 18 16:55:29 2013 +0200

    build: remove unneeded GLIB_CHECK_VERSION checks, 2.32 already
    required

 libqcdm/tests/test-qcdm.c         | 5 -----
 libwmc/tests/test-wmc.c           | 5 -----
 src/mm-serial-port.c              | 8 --------
 src/tests/test-charsets.c         | 5 -----
 src/tests/test-qcdm-serial-port.c | 4 ----
 5 files changed, 27 deletions(-)

commit a33e9671ea990cb30d7647db4b52ae16bf300ecb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 18 16:51:52 2013 +0200

    build: remove --with-tests option

 configure.ac | 14 --------------
 1 file changed, 14 deletions(-)

commit 2ad39277d2737e6e041c6df018bcf581bd78d978
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 18 16:45:37 2013 +0200

    build: setup gtester based tests

 gtester.make                 | 91
 ++++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/tests/Makefile.am | 12 ++----
 libqcdm/tests/Makefile.am    | 15 ++------
 libwmc/tests/Makefile.am     | 18 +++------
 src/tests/Makefile.am        | 18 ++-------
 5 files changed, 106 insertions(+), 48 deletions(-)

commit f3f499fcec13e6ffa9a428972c1108e7c23065d2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 18 16:26:51 2013 +0200

    test: remove testers of the old interface

    Old python tests using the old ModemManager interface are removed,
    as mmcli
    provides already a much nicer way to test the DBus interface.

    Also, mm-test.py and the PPPD plugin get removed, which were also
    using the old
    interface, and which were not very useful for testing newer non-PPP
    based
    modems.

    https://bugzilla.gnome.org/show_bug.cgi?id=702061

 configure.ac               |  21 --
 test/Makefile.am           |  30 +--
 test/disable.py            |  30 ---
 test/disconnect.py         |  30 ---
 test/enable.py             |  30 ---
 test/info.py               | 261 ----------------------
 test/list-modems.py        |  54 -----
 test/location.py           |  60 ------
 test/mm-test-pppd-plugin.c | 264 -----------------------
 test/mm-test.py            | 527
 ---------------------------------------------
 test/modem-autoenable.py   |  50 -----
 test/scan.py               |  89 --------
 test/send-pin.py           |  69 ------
 test/sms-get.py            |  80 -------
 test/sms-send.py           |  89 --------
 test/ussd.py               |  48 -----
 16 files changed, 2 insertions(+), 1730 deletions(-)

commit b582ba58e8e5a3f6ab0b0b18b3883b71373e5e05
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 11 10:11:39 2013 +0200

    api,introspection: avoid exposing the Contacts interface

    There is no implementation of the Contacts interface yet, just avoid
    exposing it
    for now.

    https://bugzilla.gnome.org/show_bug.cgi?id=701989

 docs/reference/api/Makefile.am                     |  1 -
 docs/reference/api/ModemManager-dbus-reference.xml |  2 +-
 docs/reference/libmm-glib/libmm-glib-docs.xml      |  4 +-
 docs/reference/libmm-glib/libmm-glib-sections.txt  | 88
 ----------------------
 docs/reference/libmm-glib/libmm-glib.types         |  3 -
 introspection/Makefile.am                          |  2 +-
 introspection/all.xml                              |  3 +-
 ...g.freedesktop.ModemManager1.Modem.Contacts.xml} |  0
 libmm-glib/generated/Makefile.am                   |  3 -
 libmm-glib/mm-manager.c                            |  2 +-
 10 files changed, 7 insertions(+), 101 deletions(-)

commit ce84ea510f5213e526917db2d7218d4ca001089d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 17 08:29:15 2013 +0200

    bearer-mbim: make packet service attach operation optional

    Some modems do require it, but some others won't (e.g. CDMA based
    ones), so
    just make the operation optional, but only if the modem replies
    NoDeviceSupport.

    https://bugzilla.gnome.org/show_bug.cgi?id=702419

 src/mm-bearer-mbim.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

commit e65f6ca2afd32d2abf9bdd6b876801676adda655
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 17 08:21:22 2013 +0200

    bearer: MMBearerIpFamily is flags, not enum

    Fixes the following warning...
        [mm-broadband-modem-mbim.c:1133] modem_create_bearer(): Creating
        MBIM bearer in MBIM modem
        GLib-GObject-CRITICAL **: g_param_spec_enum: assertion
        `G_TYPE_IS_ENUM (enum_type)' failed
        GLib-GObject-CRITICAL **: g_object_class_install_property:
        assertion `G_IS_PARAM_SPEC (pspec)' failed

 src/mm-bearer.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit fcede1a80acfdc299c5aa0015012a68846dfc763
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jun 15 17:13:55 2013 +0200

    broadband-modem-qmi: fallback to AT if WMS service not available
    for messaging

    It is quite common to have modems handled with QMI but with very
    limited
    services implemented, e.g. without WMS:

        [/dev/cdc-wdm0] QMI Device supports 5 services:
        [/dev/cdc-wdm0]    ctl (1.3)
        [/dev/cdc-wdm0]    wds (1.5)
        [/dev/cdc-wdm0]    dms (1.2)
        [/dev/cdc-wdm0]    nas (1.0)
        [/dev/cdc-wdm0]    cat (0.0)

    We'll now fallback to use plain AT commands when no QMI WMS service
    is found.

 src/mm-broadband-modem-qmi.c | 263
 ++++++++++++++++++++++++++++++++++++-------
 1 file changed, 222 insertions(+), 41 deletions(-)

commit f4c488ea5851ebc5ec61536a21144d3ac88de813
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 13 12:44:06 2013 +0200

    docs: reorder version symbols

 docs/reference/api/ModemManager-sections.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0d4cf54cfe01761f0f7997043fe7068c5010eed4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 13 11:43:27 2013 +0200

    api,header: fix MM_MINOR_VERSION definition

 docs/reference/api/ModemManager-sections.txt | 2 +-
 include/ModemManager-version.h.in            | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 56cce851533c8aacf68d0349b87fbde9c96d436f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 13 11:35:57 2013 +0200

    build: use new mailing list as contact address

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2139e394c2126705fc2940908d487752c3a727cf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 13 10:56:04 2013 +0200

    build: setup libtool versioning for libmm-glib

    We'll use it once we've released 0.8.

 configure.ac           | 21 +++++++++++++++++++++
 libmm-glib/Makefile.am |  3 +++
 2 files changed, 24 insertions(+)

commit a43cecb456327b6a19c026c097d588a08961d394
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 13 09:48:10 2013 +0200

    api,header: setup and export MM version symbols in the API

 .gitignore                                         |  2 +
 configure.ac                                       | 24 +++++++-
 docs/reference/api/ModemManager-dbus-reference.xml |  6 --
 docs/reference/api/ModemManager-docs.xml           |  7 +++
 docs/reference/api/ModemManager-sections.txt       |  9 +++
 include/Makefile.am                                |  4 ++
 include/ModemManager-version.h.in                  | 69
 ++++++++++++++++++++++
 include/ModemManager.h                             |  9 ++-
 8 files changed, 118 insertions(+), 12 deletions(-)

commit 0c7265de29163ab9c9ba03257d393ce99bb47ff6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 10 18:30:12 2013 +0200

    build: new strict & permissive polkit policies in '--with-polkit'

    The '--with-polkit' configure switch now supports more options than
    just yes
    or no:

     * strict: Active user needs to explicitly authenticate when
     peforming an
       operation defined in the Device.Control, Messaging, Location
       or Contacts
       interfaces. Polkit policy is set to 'auth_self_keep'.

     * permissive: Active user doesn't need to explicitly authenticate
     when
       peforming an operation defined in the Device.Control, Messaging,
       Location or
       Contacts interfaces. Polkit policy is set to 'yes'.

     * none: don't use polkit.

    If '--with-polkit' is not given, usage will be automatically decided
    based on
    the presence of the Polkit headers in the system (if headers found,
    strict
    policy will be applied, otherwise none).

    Also:
     * '--with-polkit' is equivalent to '--with-polkit=strict'
     * '--with-polkit=yes' is equivalent to '--with-polkit=strict'
     * '--with-polkit=no' is equivalent to '--with-polkit=none'
     * '--without-polkit' is equivalent to '--with-polkit=none'

    By default, ModemManager will always apply the strict policy, in
    order to
    protect the user from unwanted operations in the modem (e.g. getting
    the PIN
    locked forever after wrong PIN/PUK unlock attempts).

    https://bugzilla.gnome.org/show_bug.cgi?id=701740

 .gitignore                                         |  1 +
 configure.ac                                       | 61
 ++++++++++++++++------
 data/Makefile.am                                   |  9 ++--
 ... => org.freedesktop.ModemManager1.policy.in.in} |  8 +--
 po/POTFILES.in                                     |  2 +-
 po/POTFILES.skip                                   |  1 +
 6 files changed, 57 insertions(+), 25 deletions(-)

commit dc815569148f9f697bdc827b419258bc3af1c0d6
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jun 12 09:16:16 2013 -0500

    broadband-bearer-qmi: log both IPv4 and IPv6 settings for V4V6
    connections

    Old code only printed one or the other; but if we have dual-stack
    connectivity, print everything we can read.

 src/mm-bearer-qmi.c | 79
 +++++++++++++++++++++++++++--------------------------
 1 file changed, 40 insertions(+), 39 deletions(-)

commit c2b2f0eb2b44135f5a75781f86b1849fcc71e847
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jun 12 10:05:14 2013 +0200

    docs,api: new migration reference

 docs/reference/api/Makefile.am                     |   2 +
 docs/reference/api/ModemManager-docs.xml           |   4 +
 .../api/ModemManager-migration-reference.xml       | 156
 +++++++++++++++++++++
 3 files changed, 162 insertions(+)

commit 0d4bc8240e7662ef50af49b548fcacfbf109b75c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jun 12 09:41:32 2013 +0200

    NEWS: update, add reference to MBIM devices

 NEWS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9327b723df5e2cdc72bdb95f995de4ef101848e2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jun 12 09:40:20 2013 +0200

    AUTHORS: update

 AUTHORS | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 29fb3fad80c152c70fa0fc6410338d4894a971ac
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jun 12 09:05:12 2013 +0200

    README,docs: update basic ModemManager information

 README                                       | 44
 +++++++++++++---------------
 docs/reference/api/ModemManager-overview.xml | 38
 +++++++++++++-----------
 2 files changed, 42 insertions(+), 40 deletions(-)

commit 2be7adb5eaa6852d91c0e708678c39a641240224
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 11 10:05:42 2013 +0200

    api,introspection: update copyright notices

 introspection/org.freedesktop.ModemManager1.Bearer.xml           |
 9 ++++-----
 introspection/org.freedesktop.ModemManager1.Modem.Contacts.xml   |
 8 ++++----
 introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml   |
 9 ++++-----
 introspection/org.freedesktop.ModemManager1.Modem.Location.xml   |
 8 ++++----
 introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml  |
 8 ++++----
 .../org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml       |
 8 ++++----
 introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml  |
 8 ++++----
 introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml  |
 8 ++++----
 introspection/org.freedesktop.ModemManager1.Modem.Simple.xml     |
 8 ++++----
 introspection/org.freedesktop.ModemManager1.Modem.Time.xml       |
 7 ++++---
 introspection/org.freedesktop.ModemManager1.Modem.xml            |
 8 ++++----
 introspection/org.freedesktop.ModemManager1.Sim.xml              |
 9 ++++-----
 introspection/org.freedesktop.ModemManager1.Sms.xml              |
 9 ++++-----
 introspection/org.freedesktop.ModemManager1.xml                  |
 8 ++++----
 14 files changed, 56 insertions(+), 59 deletions(-)

commit 6920a177d6c2522a2a78ab65b0f3ba7d0c2af05a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 10 20:30:13 2013 +0200

    manager: require whitelist for devices in the 'pnp' subsystem

 src/mm-manager.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 97657908315b530ad0c7cbbbd12886d69b44c358
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 10 16:58:43 2013 +0200

    build: distribute in .xz format

    Up to 30% size reduction:

    $ du -hs ModemManager-0.7.991.tar.*
      1.6M  ModemManager-0.7.991.tar.bz2
      1.1M  ModemManager-0.7.991.tar.xz

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6c098dd9f54bdffbd81e7de172c3b5aa93901692
Author: Dmitry Ivanyushin <defance@gmail.com>
Date:   Fri Jun 7 16:26:20 2013 -0500

    manager: handle PNP-connected devices too

    I have a modem that is connected to motherboard's built-in serial
    port. Its
    parent is listed in udev as "pnp" so this patch handles that
    situation.

 src/mm-manager.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 8d070402073c0c6a02d06740d62f37bcfcfcf7e9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 7 16:16:44 2013 +0200

    man,mmcli: fix minor typo

 docs/man/mmcli.8 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a00f1d7428a8ecb1f4f8756cf9eaabd0941641a9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 6 10:16:22 2013 +0200

    build: fix distcheck

 data/Makefile.am | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 91898aa8b0bb8164b61e84ae68534c38cebb1482
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 4 15:18:55 2013 +0200

    systemd: simplify unit file

    Avoid setting up the Alias rule, which was a helper to let us
    'disable' the
    systemd service including dbus-activations. Without the Alias,
    'disable' will
    still let starting ModemManager through dbus-activation. If you
    really want to
    fully disallow starting MM also through dbus-activation, you should
    'mask' and
    'unmask' the service.

    E.g.:
     $ sudo systemctl mask ModemManager
    ln -s '/dev/null' '/etc/systemd/system/ModemManager.service'

     $ sudo mmcli -L
    error: couldn't find the ModemManager process in the bus

     $ sudo systemctl unmask ModemManager
    rm '/etc/systemd/system/ModemManager.service'

     $ sudo mmcli -L
    No modems were found

    https://bugzilla.gnome.org/show_bug.cgi?id=701229

 .gitignore                                                  |  2 --
 data/Makefile.am                                            | 13
 +++----------
 data/ModemManager.service.in                                |  1 -
 ...osystemd.in => org.freedesktop.ModemManager1.service.in} |  1 +
 data/org.freedesktop.ModemManager1.service.systemd.in       | 11
 -----------
 5 files changed, 4 insertions(+), 24 deletions(-)

commit 81451db1d73e297d0ef034d0a62395d33380d187
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 4 12:50:27 2013 +0200

    release: bump version to 0.7.991

    Tagging to handle the new API updates, so that applications depending
    on the
    libmm-glib library can use the version number to check support.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4901ee8632f91306230552e14c9c1f8b4ac0742b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 4 13:33:56 2013 +0200

    broadband-modem: run *CNTI=2 to when loading supported modes

    It sometimes provides a much better view of the supported modes than
    the WS46=?
    command, which is not always properly implemented. E.g.:

    Nokia N950:
    ---------------
    at+ws46=?
    (12)
    OK

    at*cnti=2
    *CNTI: 2,GSM,GPRS,EDGE,UMTS,HSDPA,HSUPA
    OK

    Sierra AC313u
    ---------------
    at+ws46=?
    ERROR

    at*cnti=2
    *CNTI: 2,GSM,GPRS,EDGE,UMTS,HSDPA/HSUPA,HSPA+,LTE
    OK

 src/mm-broadband-modem.c | 67
 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 66 insertions(+), 1 deletion(-)

commit de944262b43d42d26e218b5f22810b6ab4b6faf6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 4 13:31:57 2013 +0200

    broadband-modem: don't set supported mode defaults based on guesses

    We may be asking to load supported modes while in locked state,
    so the commands
    may fail. In order to re-load them properly once we're unlocked,
    we better just
    return an error instead of setting defaults.

 src/mm-broadband-modem.c | 33 ++++++---------------------------
 1 file changed, 6 insertions(+), 27 deletions(-)

commit e446db9ca4c31bb18a36ff759d8f7f51c3719178
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 4 12:48:04 2013 +0200

    huawei: default to IPv4 if no specific IP type to use given in
    NDISDUP modems

 plugins/huawei/mm-broadband-bearer-huawei.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

commit 5b080915200d0ba5de28d50bb088eba0aef9b362
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 3 12:44:40 2013 +0200

    api,introspection: Simple.Connect() won't change neither bands nor
    allowed modes

    We won't allow changing modes or bands through
    Simple.Connect(). Applications
    should instead look at the corresponding SupportedBands or
    SupportedModes, and
    then use SetCurrentBands() or SetCurrentModes() explicitly.

 docs/reference/libmm-glib/libmm-glib-sections.txt  |   4 -
 .../org.freedesktop.ModemManager1.Modem.Simple.xml |  21 --
 libmm-glib/mm-simple-connect-properties.c          | 221
 +--------------------
 libmm-glib/mm-simple-connect-properties.h          |  12 --
 src/mm-iface-modem-simple.c                        | 160 ---------------
 5 files changed, 1 insertion(+), 417 deletions(-)

commit b41278c423cb81547c65da46057912ad9372715d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri May 31 09:56:30 2013 +0200

    iface-modem: allow changing capabilities in every state

    Same as done with the firmware switching, we allow capabilities
    changing even
    if the modem is in FAILED state, e.g. to switch from 3GPP to 3GPP2
    mode.

 src/mm-iface-modem.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit f09eff633c2c6842a6c2e739a0e5b9d72b7255c7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri May 31 09:14:18 2013 +0200

    iface-modem: load current modes and bands during initialization

    We now load current modes and bands before enabling the modem,
    and we also allow
    mode and bands changes while the modem is disabled.

 src/mm-iface-modem.c | 409
 +++++++++++++++++++++++----------------------------
 1 file changed, 185 insertions(+), 224 deletions(-)

commit 0db920b7624337fa0b98d17d452fe7b6ecb1f076
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed May 29 17:50:49 2013 +0200

    mmcli: new '--set-current-capabilities' command

    New command to allow changing modem capabilities, if supported. The
    modem will
    power cycle automatically after having changed them.

 cli/mmcli-modem.c              | 74
 ++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-common-helpers.c | 50 ++++++++++++++++++++++++++++
 libmm-glib/mm-common-helpers.h |  2 ++
 3 files changed, 126 insertions(+)

commit da606ef572eeca18af14d04cbcb94f7e7c7eb474
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed May 29 17:52:28 2013 +0200

    broadband-modem-qmi: update current capabilities loading logic

    Changes being:

     * Don't rely on the band preference TLVs presence. The band
     preference TLVs are
       always given, even if the modem doesn't support the specific
       capability right
       away. E.g. a GSM/UMTS/LTE modem configured with 'gsm-umts'
       capability (no
       'lte') still shows the LTE band preference TLV in the SSP
       responses.

     * Don't automatically add LTE as current capability. We needed this
     when we
       were not able to change capabilities, so that we didn't lose the
       ability to
       set 4G mode as allowed.

 src/mm-broadband-modem-qmi.c       | 11 ------
 src/mm-modem-helpers-qmi.c         | 22 ------------
 src/mm-modem-helpers-qmi.h         |  2 --
 src/tests/test-modem-helpers-qmi.c | 72
 +++++++++-----------------------------
 4 files changed, 16 insertions(+), 91 deletions(-)

commit 83a8e08c3714ce92483e4cba549dcb7e65846b87
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed May 29 17:03:40 2013 +0200

    broadband-modem-qmi: implement capabilities setting

 src/mm-broadband-modem-qmi.c | 386
 +++++++++++++++++++++++++++++++++++++------
 src/mm-modem-helpers-qmi.c   |  49 ++++++
 src/mm-modem-helpers-qmi.h   |   2 +
 3 files changed, 384 insertions(+), 53 deletions(-)

commit a902e6859e077edd72f7b27a48df37f8dd6631e2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri May 24 12:55:07 2013 +0200

    api,introspection: new 'SetCurrentCapabilities' method

    For those modems which expose a valid 'SupportedCapabilities'
    property with more
    than one item in the list, we'll allow switching between them.

 docs/reference/libmm-glib/libmm-glib-sections.txt  |   7 ++
 .../org.freedesktop.ModemManager1.Modem.xml        |  10 ++
 libmm-glib/mm-modem.c                              |  82 ++++++++++++
 libmm-glib/mm-modem.h                              |  13 ++
 src/mm-iface-modem.c                               | 140
 +++++++++++++++++++++
 src/mm-iface-modem.h                               |   9 ++
 6 files changed, 261 insertions(+)

commit 700ebc5c07ce667204f95dbe61716234131c15fb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri May 24 12:35:44 2013 +0200

    api,introspection: rename 'ModemCapabilities' to
    'SupportedCapabilities'

    And also make it a list of masks, specifying which are the specific
    combinations
    supported, not just one mask with all.

    E.g.:
      -------------------------
      Hardware |   manufacturer: 'Sierra Wireless, Incorporated'
               |          model: 'MC7710'
               |       revision: 'SWI9200X_03.05.19.04ap r5475
               carmd-en-10527 2012/09/17 17:57:14'
               |      supported: 'gsm-umts
               |                  gsm-umts, lte'
               |        current: 'gsm-umts, lte'
               |   equipment id: '358178040668164'

 cli/mmcli-modem.c                                  |  24 +++-
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   8 +-
 include/ModemManager-enums.h                       |   2 +
 .../org.freedesktop.ModemManager1.Modem.xml        |  16 +--
 libmm-glib/mm-common-helpers.c                     | 125
 +++++++++++++++++++++
 libmm-glib/mm-common-helpers.h                     |  12 ++
 libmm-glib/mm-modem.c                              | 122
 ++++++++++++++++++--
 libmm-glib/mm-modem.h                              |   7 +-
 src/mm-broadband-modem-mbim.c                      |   2 -
 src/mm-broadband-modem-qmi.c                       |  94 ++++++++++------
 src/mm-iface-modem.c                               |  78 ++++++++++---
 src/mm-iface-modem.h                               |  14 +--
 src/mm-modem-helpers.c                             |  28 +++++
 src/mm-modem-helpers.h                             |   3 +
 src/tests/test-modem-helpers.c                     |  94 ++++++++++++++++
 15 files changed, 540 insertions(+), 89 deletions(-)

commit 1c67d050cb0451a63c8fdb0bd673892bdc04e4e0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed May 29 13:42:14 2013 +0200

    api,introspection: merge 'AllowedModes' and 'SupportedMode' into
    'CurrentModes'

    We now have a single 'CurrentModes' property which contains both
    values in a
    tuple with signature "(uu)".

    Also, rename 'SetAllowedModes()' to 'SetCurrentModes()', and update
    the list of
    arguments expected to have a single "(uu)" tuple.

 cli/mmcli-modem.c                                  |  37 ++--
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  28 ++-
 .../org.freedesktop.ModemManager1.Modem.xml        |  45 ++---
 libmm-glib/mm-modem.c                              |  87 ++++-----
 libmm-glib/mm-modem.h                              |  12 +-
 libmm-glib/mm-simple-connect-properties.c          |  22 +--
 libmm-glib/mm-simple-connect-properties.h          |   4 +-
 plugins/cinterion/mm-broadband-modem-cinterion.c   |  18 +-
 plugins/huawei/mm-broadband-modem-huawei.c         |  20 +--
 plugins/icera/mm-broadband-modem-icera.c           |  18 +-
 plugins/linktop/mm-broadband-modem-linktop.c       |  18 +-
 plugins/longcheer/mm-broadband-modem-longcheer.c   |  18 +-
 plugins/mbm/mm-broadband-modem-mbm.c               |  34 ++--
 plugins/novatel/mm-broadband-modem-novatel.c       |  26 +--
 plugins/option/mm-broadband-modem-option.c         |  18 +-
 plugins/sierra/mm-broadband-modem-sierra.c         |  28 +--
 plugins/simtech/mm-broadband-modem-simtech.c       |  72 ++++----
 plugins/wavecom/mm-broadband-modem-wavecom.c       |  48 ++---
 plugins/x22x/mm-broadband-modem-x22x.c             |  18 +-
 plugins/zte/mm-broadband-modem-zte.c               |  18 +-
 src/mm-broadband-modem-qmi.c                       | 102 +++++------
 src/mm-iface-modem-simple.c                        |  22 +--
 src/mm-iface-modem.c                               | 198
 +++++++++++++--------
 src/mm-iface-modem.h                               |  16 +-
 24 files changed, 481 insertions(+), 446 deletions(-)

commit 45ceba76924f184ed9e12ba3d35e00a55ad3a197
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed May 29 12:41:49 2013 +0200

    api,introspection: 'SupportedModes' is now a list of possible
    combinations

    Instead of just a mask of MMModemMode values, we now provide a list
    of the
    allowed and preferred mode combinations supported by the modem. E.g.:

    $> sudo mmcli -m 0
      -------------------------
      Modes    |      supported: 'allowed: 2g; preferred: none
               |                  allowed: 3g; preferred: none
               |                  allowed: 2g, 3g; preferred: none
               |                  allowed: 2g, 3g; preferred: 2g
               |                  allowed: 2g, 3g; preferred: 3g
               |                  allowed: 4g; preferred: none
               |                  allowed: 2g, 3g, 4g; preferred: none'

 cli/mmcli-modem.c                                  |  16 +-
 docs/reference/libmm-glib/libmm-glib-sections.txt  |   3 +
 .../org.freedesktop.ModemManager1.Modem.xml        |  23 ++-
 libmm-glib/Makefile.am                             |   2 +
 libmm-glib/libmm-glib.h                            |   1 +
 libmm-glib/mm-common-helpers.c                     | 122 ++++++++++++
 libmm-glib/mm-common-helpers.h                     |  12 ++
 libmm-glib/mm-helper-types.h                       |  44 +++++
 libmm-glib/mm-modem.c                              | 121 +++++++++++-
 libmm-glib/mm-modem.h                              |   8 +-
 plugins/cinterion/mm-broadband-modem-cinterion.c   |  82 +++++++-
 plugins/huawei/mm-broadband-modem-huawei.c         |  93 +++++++++-
 plugins/icera/mm-broadband-modem-icera.c           |  92 ++++++++-
 plugins/iridium/mm-broadband-modem-iridium.c       |  17 +-
 plugins/linktop/mm-broadband-modem-linktop.c       |  88 ++++++++-
 plugins/longcheer/mm-broadband-modem-longcheer.c   | 106 +++++++++--
 plugins/mbm/mm-broadband-modem-mbm.c               |  79 ++++++++
 plugins/nokia/mm-broadband-modem-nokia.c           |  41 ----
 plugins/novatel/mm-broadband-modem-novatel.c       |  90 ++++++++-
 plugins/option/mm-broadband-modem-option.c         |  92 ++++++++-
 plugins/sierra/mm-broadband-modem-sierra.c         | 119 +++++++++++-
 plugins/simtech/mm-broadband-modem-simtech.c       | 109 ++++++++++-
 plugins/wavecom/mm-broadband-modem-wavecom.c       | 134 +++++++++-----
 plugins/x22x/mm-broadband-modem-x22x.c             |  84 ++++++++-
 plugins/zte/mm-broadband-modem-zte.c               | 103 ++++++++++-
 src/mm-broadband-modem-mbim.c                      |  70 ++++---
 src/mm-broadband-modem-qmi.c                       | 143 +++++++++++---
 src/mm-broadband-modem.c                           |  23 ++-
 src/mm-iface-modem.c                               | 206
 ++++++++++++++-------
 src/mm-iface-modem.h                               |  19 +-
 src/mm-modem-helpers-qmi.c                         |  23 +++
 src/mm-modem-helpers-qmi.h                         |   2 +
 src/mm-modem-helpers.c                             |  47 +++++
 src/mm-modem-helpers.h                             |   3 +
 src/tests/test-modem-helpers.c                     | 124 +++++++++++++
 35 files changed, 2047 insertions(+), 294 deletions(-)

commit 212d00c529ee07131bf3b71a8759dca49292c059
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed May 29 10:47:53 2013 +0200

    api,instrospection: rename 'Bands' to 'CurrentBands'

    ... and 'SetBands()' to 'SetCurrentBands()'.

    We'll keep the 'Current' keyword in those properties which also have
    'Supported' values.

 cli/mmcli-modem-simple.c                           |   2 +-
 cli/mmcli-modem.c                                  |  99 +++++++-------
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  32 ++---
 .../org.freedesktop.ModemManager1.Modem.Simple.xml |   4 +-
 .../org.freedesktop.ModemManager1.Modem.xml        |   8 +-
 libmm-glib/mm-modem.c                              | 150
 ++++++++++-----------
 libmm-glib/mm-modem.h                              |  32 ++---
 libmm-glib/mm-simple-connect-properties.c          |  66 ++++-----
 libmm-glib/mm-simple-connect-properties.h          |   4 +-
 libmm-glib/mm-simple-status.c                      |  62 ++++-----
 libmm-glib/mm-simple-status.h                      |  10 +-
 plugins/cinterion/mm-broadband-modem-cinterion.c   |  22 +--
 plugins/huawei/mm-broadband-modem-huawei.c         |  22 +--
 plugins/icera/mm-broadband-modem-icera.c           |  64 ++++-----
 plugins/wavecom/mm-broadband-modem-wavecom.c       |  22 +--
 src/mm-broadband-modem-qmi.c                       |  22 +--
 src/mm-iface-modem-simple.c                        |  32 +++--
 src/mm-iface-modem.c                               | 136
 +++++++++----------
 src/mm-iface-modem.h                               |  30 ++---
 19 files changed, 408 insertions(+), 411 deletions(-)

commit 4dc8d1ff3a88a54707e75859619b020780de2f79
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 23 11:53:54 2013 +0200

    broadband-modem-mbim: implement supported IP families loading

 src/mm-broadband-modem-mbim.c | 40
 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

commit 8f3bf6b8949d2cd046daea2cb1e7077769afeb2c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 23 11:49:16 2013 +0200

    broadband-modem-qmi: implement supported IP families loading

    We'll default to IPv4 if the modem is CDMA-only, and IPv4+IPv6
    otherwise.

 src/mm-broadband-modem-qmi.c | 46
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

commit 2e223b5dbd60daef5e7a02f75973c72e62910f0d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 23 11:45:51 2013 +0200

    mmcli,modem: show supported IP families in modem info

 cli/mmcli-modem.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 44ddbf48e2dae9efb2e8d87298c82a2c3020578c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 23 11:42:19 2013 +0200

    broadband-bearer: use the new CGDCONT=? test response parser

 src/mm-broadband-bearer.c | 60
 ++++++++++++++---------------------------------
 1 file changed, 18 insertions(+), 42 deletions(-)

commit 7b3dd32df71b9c61ff521fd3f910da3ec6c42fb9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 23 10:41:18 2013 +0200

    broadband-modem: implement default supported IP families loading

    For CDMA-only devices, we will default to IPv4.

    For 3GPP devices, we will use the AT+CGDCONT=? test command to query
    which are
    the supported PDP types.

 src/mm-broadband-modem.c | 79
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)

commit 2acb125819fbda75dfc19b6c008137bb3b2ebb6e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 23 10:40:23 2013 +0200

    modem-helpers: new CGDCONT=? test response parser

 src/mm-modem-helpers.c         | 82
 ++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         | 10 +++++
 src/tests/test-modem-helpers.c | 90
 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 182 insertions(+)

commit bd360aa029f27ad2fc9f8a937765f4c3e61581fd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 23 10:39:59 2013 +0200

    libmm-glib,modem: handle the new 'SupportedIpFamilies' property

 docs/reference/libmm-glib/libmm-glib-sections.txt |  3 +++
 libmm-glib/mm-modem.c                             | 18 ++++++++++++++++++
 libmm-glib/mm-modem.h                             |  2 ++
 3 files changed, 23 insertions(+)

commit b3222202bdabf762ffe0b2e92835ab22a3cd3d5c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 23 10:39:13 2013 +0200

    api,introspection: new 'SupportedIpFamilies' property

    This property will let the clients know which are the IP families
    supported by
    the modem.

 .../org.freedesktop.ModemManager1.Modem.xml        |  8 +++++
 src/mm-iface-modem.c                               | 41
 ++++++++++++++++++++++
 src/mm-iface-modem.h                               |  8 +++++
 3 files changed, 57 insertions(+)

commit 7ad30ecce14f72a1b4bfe0274a2fefedf734d56a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 23 10:08:08 2013 +0200

    modem-helpers: rename CGDCONT? tests

    Adding the 'read' suffix, as they are for CGDCONT? read responses.

 src/tests/test-modem-helpers.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit 804642adc234094717158ff09857de1432565dda
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed May 22 17:43:21 2013 +0200

    api: let MMBearerIpFamily be flags instead of a enumeration

    We want to expose in the Modem interface the list of supported IP
    families, and
    the easiest way to do so is to have the IP family as flags, and
    provide in the
    interface a single enum.

    Also, a value of 0 for a MMBearerIpFamily specifies that no flags
    are set, so
    just rename it to 'NONE'.

    And add a new 'ANY' value which sets all flags to 1.

 cli/mmcli-bearer.c                        |  8 ++++--
 include/ModemManager-enums.h              | 12 +++++----
 libmm-glib/mm-bearer-properties.c         |  6 ++---
 libmm-glib/mm-common-helpers.c            | 12 ++++-----
 libmm-glib/mm-simple-connect-properties.c |  2 +-
 src/mm-bearer-mbim.c                      | 40
 ++++++++++++++++++++----------
 src/mm-bearer-qmi.c                       | 41
 +++++++++++++++++++------------
 src/mm-broadband-bearer.c                 | 31 +++++++++++++++++------
 src/mm-iface-modem-simple.c               |  6 +++--
 src/mm-modem-helpers.c                    |  4 +--
 10 files changed, 104 insertions(+), 58 deletions(-)

commit a42234dd1c680e7604008fc2e66be849c7bf70de
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 4 11:25:14 2013 +0200

    bearers: update connection logic in 3GPP+3GPP2 devices

    https://bugzilla.gnome.org/show_bug.cgi?id=701333

 src/mm-bearer-mbim.c      | 26 +++++++++++++++++++++
 src/mm-bearer-qmi.c       | 31 +++++++++++++++++++++++++
 src/mm-broadband-bearer.c | 59
 +++++++++++++++++++++++++++++++++++++++++++----
 3 files changed, 112 insertions(+), 4 deletions(-)

commit 68a7d1a3ac0a62379280dbd40c632113273df00f
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 31 13:13:57 2013 -0500

    broadband-modem-mbm: *EPIN response often needs a lot of time

    If the modem was locked, it'll delay responding until the SIM
    is ready,
    which can take a long time.

 plugins/mbm/mm-broadband-modem-mbm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fe5c81458ff6c06029376e7fc311bb1af11da232
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 31 11:23:16 2013 -0500

    nokia: CS-12 appears to only accept PPP on USB interface 3

    Attempting PPP on interface 1 never returns CONNECT, simply hangs and
    times out at the dial.

 plugins/nokia/77-mm-nokia-port-types.rules | 2 ++
 1 file changed, 2 insertions(+)

commit 93fcaf93ce92aa8b335705e66c993dc6f9e628b0
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu May 30 23:51:05 2013 -0500

    modem-helpers: handle commas within +COPS response items (bgo #701329)

    Modems can probably put whatever they want between the quotes for
    the operator name, including commas.  Handle that.

    https://bugzilla.gnome.org/show_bug.cgi?id=701329

 src/mm-modem-helpers.c         |  2 +-
 src/tests/test-modem-helpers.c | 14 ++++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

commit 67d3ed11d383b591d8fec4810eef1d2c9ab4ac37
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 28 15:06:59 2013 -0500

    broadband-bearer: don't create PDP context when using an existing one
    (bgo #701151)

    If the context is already defined, then we can just use it instead
    of calling +CGDCONT to create it again.  Modems don't like this,
    plus it's pointless.

    https://bugzilla.gnome.org/show_bug.cgi?id=701151

 src/mm-broadband-bearer.c | 38 ++++++++++++++++++++++++++------------
 1 file changed, 26 insertions(+), 12 deletions(-)

commit ba14d15df349502f2fa1c2e60b9f472635b83f1d
Author: Ben Chan <benchan@chromium.org>
Date:   Tue May 28 08:29:49 2013 -0700

    novatel-lte: increase number of retries for connection status checks

    This patch increases the number of retries, from 4 to 60, for
    connection
    status check during a connection / disconnection request, which
    handles
    some scenario when the connection / disconnection request takes more
    than 5 seconds to complete.

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c4f0ad6905fc33133ba3bda53e976f84a30d77ad
Author: Ben Chan <benchan@chromium.org>
Date:   Mon May 27 20:55:35 2013 -0700

    novatel-lte: normalize QMI status when included in DBus error message

    This patches normalize a response for the AT$NWQMISTATUS command, by
    replacing white-space characters with a space, before the response is
    included in a DBus error message.

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 33
 ++++++++++++++++++++---
 1 file changed, 29 insertions(+), 4 deletions(-)

commit 05ac6b6cf1567ced672f913e1c5a91580982d1b6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon May 27 15:45:03 2013 +0200

    wavecom: don't grab ports handled by the qcserial driver

    Sierra Wireless will assign the Wavecom USB vendor ID to some
    Gobi-based modems,
    like the MC7750. Just ignore those by filtering out all devices with
    the Wavecom
    USB vendor ID if they are handled by the qcserial driver.

 plugins/wavecom/mm-plugin-wavecom.c | 2 ++
 1 file changed, 2 insertions(+)

commit e134a81a87ff8bc4e43393b99d14a6bac88dc67a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 23 13:16:54 2013 +0200

    build: use --enable-gtk-doc instead of our custom --with-docs

 Makefile.am  |  2 +-
 configure.ac | 14 +-------------
 2 files changed, 2 insertions(+), 14 deletions(-)

commit 3ed1cb2e1dd111ed0e5435bbc88396b42180df1d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 23 13:10:58 2013 +0200

    docs: don't require 'dia' to build the docs

    These diagrams are not expected to change much, so just include
    the generated
    PNGs in the repository, and remove 'dia' from the prerequisites to
    build the
    documentation.

 configure.ac                                       |   8 -------
 data/Makefile.am                                   |  10 ++++++++-
 ...nterface-initialization-sequence-subclassed.dia |   0
 ...nterface-initialization-sequence-subclassed.png | Bin 0 -> 31781 bytes
 ...emManager-interface-initialization-sequence.dia |   0
 ...emManager-interface-initialization-sequence.png | Bin 0 -> 20059 bytes
 .../reference/api => data}/ModemManager-states.dia |   0
 data/ModemManager-states.png                       | Bin 0 -> 38256 bytes
 docs/reference/api/Makefile.am                     |  25
 +++++++--------------
 9 files changed, 17 insertions(+), 26 deletions(-)

commit 5c8f1fe0f25973a248b3fe7418d154fa400d07cc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 23 17:38:09 2013 +0200

    mmcli: fix newline prefixing

    The last line in a multi-line string was getting lost if it wasn't
    '\n'
    terminated.

 cli/mmcli-common.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit a12be165d14083c11d9f8f916b1dd82ae3cf9e21
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 23 15:52:31 2013 +0200

    libmm-glib,modem: avoid accessing an already freed GArray

    We cannot g_array_unref() the GArray when get()-ing bands as that
    will clear
    the contents of the GArray, even if there are references
    around. Instead, just
    dup the array contents when returning.

 libmm-glib/mm-modem.c | 77
 +++++++++++++++++++++++++++++++--------------------
 1 file changed, 47 insertions(+), 30 deletions(-)

commit d0a8911cf66b7a4f6a6209698bfabd69af1aa3f5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed May 22 17:47:35 2013 +0200

    modem-helpers-mbim: handle MBIM_PIN_TYPE_UNKNOWN in switch

 src/mm-modem-helpers-mbim.c | 1 +
 1 file changed, 1 insertion(+)

commit 7ceca95323a5fb01c81343884d6051c7427cedb5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed May 22 17:47:07 2013 +0200

    build: require mbim-glib >= 1.0.0 when building MBIM support

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3332333852e472ec5c3d4d9bff6734cc7d935bb8
Author: Ben Chan <benchan@chromium.org>
Date:   Mon May 20 01:20:08 2013 -0700

    novatel: fix invalid comparison of unsigned expression

    This patch fixes the following invalid comparison of unsigned
    expression:

    novatel/mm-plugin-novatel.c:148:29: error: comparison of unsigned
          expression >= 0 is always true [-Werror,-Wtautological-compare]
        if (ctx->nwdmat_retries >= 0) {
            ~~~~~~~~~~~~~~~~~~~ ^  ~

    Bug reported on
    https://code.google.com/p/chromium/issues/detail?id=242150

 plugins/novatel/mm-plugin-novatel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 619b327012dde1120a2018d020bcdaf11d59ca4d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri May 17 15:01:12 2013 +0200

    broadband-modem-qmi: when listing all SMS fails, list per tag

    Some QMI modems seem to fail when requesting to list all SMS messages
    in a given
    storage. When this happens, we'll loop through all storages but
    performing per
    tag list requests.

 src/mm-broadband-modem-qmi.c | 126
 +++++++++++++++++++++++++++++++++----------
 1 file changed, 99 insertions(+), 27 deletions(-)

commit 09d70454b4e276ff2091c650cbfb0978dcf54f17
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri May 17 13:11:43 2013 +0200

    sms-qmi: always specify message mode when deleting SMS messages

 src/mm-sms-qmi.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 5caa0c96fbcaabbbf15546d511c1fea097b30a44
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 16 16:16:39 2013 +0200

    broadband-modem-qmi: always specify message mode when reading SMS

 src/mm-broadband-modem-qmi.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit 2a93ca92810c6759dd51936ef6b76791504ee41a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 9 10:50:31 2013 +0200

    bearer: defer forced disconnection when modem unregistered while
    connected

    If the bearer is connected and we get a notification of being
    unregistered, wait
    up to 15s to force the disconnection, in case we can recover the
    registration
    in the meantime.

    https://bugzilla.gnome.org/show_bug.cgi?id=699803

 src/mm-bearer.c | 141
 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 108 insertions(+), 33 deletions(-)

commit e18e1686820136fe133651231f8a1d28da9912bc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue May 7 14:59:20 2013 +0200

    bearer: allow registration changes from/to SEARCHING without
    disconnecting

    We allow the modem to be connected while the registration state is
    'SEARCHING',
    which may happen when the coverage is poor.

 src/mm-bearer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2bb0a23b1f3de4d3234193f392941a57160c606c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue May 7 14:57:43 2013 +0200

    iface-modem-3gpp: remove the deferred registration updates

    We should really notify registration updates right away in the
    DBus interface.

 src/mm-iface-modem-3gpp.c | 95
 -----------------------------------------------
 1 file changed, 95 deletions(-)

commit 82a0787906dbf06219202345e2d39be1cb4e9350
Author: Ben Chan <benchan@chromium.org>
Date:   Fri May 17 11:05:44 2013 -0700

    device: check for NULL driver in add_port_driver

    This patch fixes a crash in MMDevice::add_port_driver() due to
    g_str_equal() dereferencing a NULL driver returned by
    mm_device_utils_get_port_driver().

    Bug reported on
    https://code.google.com/p/chromium/issues/detail?id=241823

 src/mm-device.c | 2 ++
 1 file changed, 2 insertions(+)

commit e63e062a76d9598d62d0efc21a6a5853ce1f33d9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri May 17 23:14:36 2013 +0200

    build: use -Wformat-security

 m4/compiler_warnings.m4 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 48f47cd53f69d43cd797a8889c86e688727a1441
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri May 17 08:48:24 2013 +0200

    sms: fix validity variant parsing

 src/mm-sms.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f31ab0943336ab1919b74f0ac0426ed2a427edda
Author: Adrian Bunk <bunk@stusta.de>
Date:   Sun May 12 17:10:32 2013 +0300

    configure.ac: enable maintainer mode by default

    This is how it should be, and also consistent with NetworkManager.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 027d95506cd599db8d23e471c5d9136f86e707d3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 9 13:39:32 2013 +0200

    huawei: use ^SYSINFOEX if available instead of ^SYSINFO

    Newer Huawei modems, like the E3276 or the ME906 won't support
    ^SYSINFO, and we
    should instead use the newer ^SYSINFOEX. By default, use ^SYSINFOEX
    when
    available, as it provides more information than the plain ^SYSINFO.

    E.g.:
        ^SYSINFOEX:2,3,0,1,,3,"WCDMA",41,"HSPA+"
        ^SYSINFOEX:2,3,1,1,1,3,”WCDMA”,46,”DC-HSPA+”

 plugins/huawei/mm-broadband-modem-huawei.c | 545
 ++++++++++++++++++++++++-----
 1 file changed, 458 insertions(+), 87 deletions(-)

commit f96bb04c001d637a43989961a57ddaa553aa7a27
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 9 12:36:08 2013 +0200

    huawei: ignore ^NDISSTAT unsolicited messages

    These messages give us information about the current connection
    status in the
    NDIS interface. We already have other means to know this status,
    so we just
    ignore the unsolicited message for now.

    E.g.:
        ^NDISSTAT: 1,,,"IPV4"

 plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit cba3f7db657d53db910e725f95c258f4faabcbbd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 9 12:32:53 2013 +0200

    huawei: ignore ^HCSQ unsolicited messages

    Newer Huawei modems use ^HCSQ to report per-interface signal quality
    values,
    but we don't know yet what each field means for each technology,
    so just ignore
    them for now.

    E.g.:
        ^HCSQ: "GSM", 53
        ^HCSQ: "WCDMA", 26, 24, 43
        ^HCSQ: "LTE", 40, 28, 216, 14

    We also don't use this message to update current access technology
    information,
    as it is not detailed enough (e.g. WCDMA doesn't specify whether
    it's plain UMTS
    or HSDPA or HSPA+...)

 plugins/huawei/mm-broadband-modem-huawei.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit d169c99dc960f02233f65b2fcfb702b76814594f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue May 7 18:49:57 2013 +0200

    novatel: skip $NWDMAT if the modem has QMI ports

 plugins/novatel/mm-plugin-novatel.c | 142
 +++++++++++++++++++++++++++++++++++-
 1 file changed, 141 insertions(+), 1 deletion(-)

commit 2c83334c259ef2e1a1f61fa9fb8ac42751933923
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue May 7 09:11:28 2013 +0200

    novatel: allow QMI-powered modems

 plugins/novatel/mm-plugin-novatel.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

commit 031657cea5dd6afa5e3c0573afbd3b3c44afe417
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue May 7 09:08:17 2013 +0200

    novatel: don't filter out the USB551L

    We filter the E362 because it's managed by the Novatel LTE plugin. If
    we also
    filter out the USB551L, but it's not explicitly grabbed by any other
    plugin, it
    will default to the Generic one.

 plugins/novatel/mm-plugin-novatel.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 76d97c6334908dc6dab6972f8142c3a64081e3ec
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue May 7 09:05:49 2013 +0200

    novatel: don't explicitly filter by drivers

    No real need to do it; the VID filter is already enough.

 plugins/novatel/mm-plugin-novatel.c | 2 --
 1 file changed, 2 deletions(-)

commit 89ae657fcedf0028cfd46aede6ecd308494747d4
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 22 10:57:48 2013 -0500

    telit: add basic plugin for Telit 3GPP and 3GPP2 devices

 plugins/Makefile.am                        |  12 +-
 plugins/telit/77-mm-telit-port-types.rules |  48 +++++++
 plugins/telit/mm-broadband-modem-telit.c   | 210
 +++++++++++++++++++++++++++++
 plugins/telit/mm-broadband-modem-telit.h   |  49 +++++++
 plugins/telit/mm-plugin-telit.c            | 136 +++++++++++++++++++
 plugins/telit/mm-plugin-telit.h            |  42 ++++++
 6 files changed, 496 insertions(+), 1 deletion(-)

commit c4fa405e2e3c66ca69594cef7f0f517da94a5ff7
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon May 6 10:51:01 2013 -0500

    sms: enforce message 'class' value validity

    Class is -1 to 3, so warn about out-of-bounds values when it's
    being set on the client side.

 libmm-glib/mm-sms-properties.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 9bbcd9d6a5d0b01e16bdd4f94f707f0341f73e24
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Apr 30 12:07:16 2013 -0500

    sms: add support for message class

    We need to redefine the message class property to int since class
    0 is a valid message class.  Thus -1 now means "unspecified class".

 .../org.freedesktop.ModemManager1.Sms.xml          |  7 +++--
 libmm-glib/mm-sms-properties.c                     | 35
 +++++++++++-----------
 libmm-glib/mm-sms-properties.h                     |  4 +--
 libmm-glib/mm-sms.c                                |  6 ++--
 libmm-glib/mm-sms.h                                |  2 +-
 src/mm-broadband-modem.c                           |  2 +-
 src/mm-sms-part.c                                  | 20 +++++++------
 src/mm-sms-part.h                                  |  4 +--
 src/tests/test-sms-part.c                          | 16 +++++-----
 9 files changed, 50 insertions(+), 46 deletions(-)

commit ab4198f576cb4308fecef3897675fe49cbcbe48a
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 29 10:23:20 2013 -0500

    broadband-modem-zte: chain up to parent access tech loading for
    CDMA-only devices (bgo #698850)

    CDMA-only devices don't support +ZPAS for access tech loading,
    so chain up to the
    parent so we get the QCDM fallback access tech loading functions.

    https://bugzilla.gnome.org/show_bug.cgi?id=698850

 plugins/zte/mm-broadband-modem-zte.c | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

commit 7d671825213eef4f4be5a67a5f8ce2cfd58a3fbc
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 3 15:33:56 2013 -0500

    broadband-modem-nokia: load access technology with *CNTI if possible

    Works on the N9/N950, but not supported by the N900.

 plugins/nokia/mm-broadband-modem-nokia.c | 124
 +++++++++++++++++++++++++++++++
 1 file changed, 124 insertions(+)

commit 881da689dacf474ffb8edba8143f995a9a33ad33
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 3 15:34:32 2013 -0500

    broadband-modem-nokia: N900 doesn't disable echo unless explicitly
    done

    During init, the N900 appears to ignore an E0 in the same command as
    an E1.  So just add another init command to disable echo, which won't
    have any effect on devices that work with the first command.

 plugins/nokia/mm-broadband-modem-nokia.c | 2 ++
 1 file changed, 2 insertions(+)

commit 2eee2e48ba65a24b17a0b91a619027a0c6f3185a
Author: Ben Chan <benchan@chromium.org>
Date:   Mon May 6 00:24:25 2013 -0700

    sierra: remove comparison of unsigned expression >= 0

    This patch removes an unnecessary check of unsigned expression >= 0,
    which also fixes the following clang warnings:

    sierra/mm-broadband-modem-sierra.c:570:18: error: comparison of
    unsigned expression >= 0 is always true
    [-Werror,-Wtautological-compare]
                mode >= 0 &&
                ~~~~ ^  ~

    Bug reported on
    https://code.google.com/p/chromium/issues/detail?id=235989
    Patched by Yunlian Jiang <yunlian@chromium.org>

 plugins/sierra/mm-broadband-modem-sierra.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit 9f702aed0297ff180fd6b3bce0e30db95a082e81
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Apr 30 12:54:54 2013 -0700

    broadband-bearer: fix cid check in disconnect_3gpp

    A value 0 is used to denote an invalid/uninitialized CID. This patch
    fixes a CID check in disconnect_3gpp() of MMBroadbandBearer such
    that it
    disables all PDP contexts via AT+CGACT=0 when no specific CID is used
    (i.e. cid == 0).

 src/mm-broadband-bearer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 32d6dda859ec599340ddd58f2b26e8d8769952f8
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Apr 30 13:32:11 2013 -0700

    broadband-modem: update signal quality normalization

    This patch updates normalize_ciev_cind_signal_quality() in
    MMBroadbandModem to remove an unnecessary check on 'quality >= 0' and
    also makes sure the normalized signal quality is capped at 100 when no
    maximum is specified.

    This is revised from a patch originally authored by
    Yunlian Jiang <yunlian@chromium.org>.

    Bug reported on
    https://code.google.com/p/chromium/issues/detail?id=235989

 src/mm-broadband-modem.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 862eaf4d584037cc44ad662b60a131ec04a972f0
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Apr 30 09:38:32 2013 -0500

    serial-port-qcdm: set SEND_DELAY to 0 (bgo #698869)

    For some reason a number of ZTE CDMA devices want the whole QCDM
    frame in one USB transaction, or at least don't like it being
    broken up and sent byte-by-byte with a send delay.  They simply
    don't respond.  Since testing indicates that every other QCDM
    capable device I've got also handles a zero send delay on both
    3.8.8 and 2.6.32, lets just set it to zero for everything,
    which should speed things up a bit too.

    https://bugzilla.gnome.org/show_bug.cgi?id=698869

 src/mm-qcdm-serial-port.c | 2 ++
 1 file changed, 2 insertions(+)

commit 9dcbf33c88615b6b3baeec0d79a320b6df0bd403
Author: Yunlian Jiang <yunlian@google.com>
Date:   Mon Apr 29 11:53:26 2013 -0500

    mm-glib: use correct enum type

 libmm-glib/mm-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2e8866c8b74c50c3c5318b13cfc78530a6130c41
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 24 14:46:23 2013 -0500

    time: normalize GetNetworkTime() response to local time + timezone
    info (bgo #697372)

    The GetNetworkTime() response is defined to be an ISO8601 string,
    which
    is in turn defined to be in local time.  Make sure that's reflected in
    the documentation, and append the timezone offset to UTC where we have
    it.

    Oddly, Icera devices return their time info in UTC with an offset to
    the local timezone, so we have to jump through some hoops there to
    convert the response to localtime based on the reported offset.

    Some additional fixes by Aleksander Morgado <aleksander@lanedo.com>.

    https://bugzilla.gnome.org/show_bug.cgi?id=697372

 .../org.freedesktop.ModemManager1.Modem.Time.xml   |  6 +-
 plugins/icera/mm-broadband-modem-icera.c           | 94
 ++++++++++++++--------
 plugins/novatel/mm-broadband-modem-novatel.c       |  5 +-
 plugins/sierra/mm-broadband-modem-sierra.c         |  4 +-
 src/mm-modem-helpers.c                             | 32 ++++++++
 src/mm-modem-helpers.h                             |  9 +++
 6 files changed, 110 insertions(+), 40 deletions(-)

commit 7d3a4aba4fb0f7920e40f88836698a0a10bc7e3c
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Apr 25 15:07:19 2013 -0500

    broadband-modem: fix assertion during capabilities checking (bgo
    #698845)

    If no capabilities could be determined from the modem's responses,
    result would be NULL but no error would be set, since the modem
    didn't time out or have some other critical error, it simply didn't
    report any recognized capabilities.  Ensure that an error is
    reported in this case.

    https://bugzilla.gnome.org/show_bug.cgi?id=698845

 src/mm-broadband-modem.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit 135bec690ddbb1b8974d90d60317c1ad1b6d935e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 25 19:05:04 2013 +0200

    sms: initialize the validity property when creating SMS

 src/mm-sms.c | 3 +++
 1 file changed, 3 insertions(+)

commit 456a4289b7532f646fe697118cc7bfb386f7d328
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 25 19:04:35 2013 +0200

    libmm-glib: handle relative validity in the MMSmsProperties

 docs/reference/libmm-glib/libmm-glib-sections.txt |  5 +-
 libmm-glib/mm-sms-properties.c                    | 70
 ++++++++++++++++-------
 libmm-glib/mm-sms-properties.h                    |  5 +-
 3 files changed, 55 insertions(+), 25 deletions(-)

commit 23204111130fca0a93a22508431ad8bb17210bdd
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 24 16:48:29 2013 -0500

    broadband-modem-icera: fix issues checking supported bands

    Icera devices include bands that the modem doesn't support in
    the %IPBM=? list, so the plugin sets the band to its current
    enabled/disabled value to test whether that band is supported.
    There were two problems with this approach:

    1) Setting an already-enabled band to be enabled apparently
    isn't a NOP; it might take more than the 3 seconds given, and
    if the response comes after 3 seconds, this greatly confuses
    ModemManager because the AT command/reply sequence is now
    messed up.  So increase the timeout to 10 seconds.

    2) Why bother checking bands that are already enabled anyway?
    We already know they are supported, so just don't check those
    bands at all.  This requires some parkour because we use the
    parsed band array from %IPBM=? to track whether bands are
    enabled/disabled by indexing into the array, so instead just
    use two separate arrays.  This actually makes the fix for #1
    un-needed (because we never enable any bands) but it's good
    to have #1 anyway.

 plugins/icera/mm-broadband-modem-icera.c | 51
 ++++++++++++++++++++++----------
 1 file changed, 36 insertions(+), 15 deletions(-)

commit 18bfefba2dba3f5c77cd971820646d84a85f9334
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 24 15:04:57 2013 -0500

    iface-modem: fix array insertion when setting bands

    You can't g_array_insert_val() to an index that's beyond the end
    of the array, which was happening if the user tried to set the
    band list to "any":

    mmcli -m 0 --set-bands=any

    Just use g_array_append_val() instead.

    ==5618== Invalid read of size 2
    ==5618==    at 0x4A0A158: memcpy@GLIBC_2.2.5 (mc_replace_strmem.c:881)
    ==5618==    by 0x326201D8FB: g_array_insert_vals (string3.h:57)
    ==5618==    by 0x442EFB: mm_iface_modem_set_bands
    (mm-iface-modem.c:1982)
    ==5618==    by 0x44307E: handle_set_bands_auth_ready
    (mm-iface-modem.c:2100)
    ==5618==    by 0x326386DFF6: g_simple_async_result_complete
    (gsimpleasyncresult.c:775)
    ==5618==    by 0x4358E3: authorize_ready (mm-base-modem.c:1300)
    ==5618==    by 0x326386DFF6: g_simple_async_result_complete
    (gsimpleasyncresult.c:775)
    ==5618==    by 0x326386E0F8: complete_in_idle_cb
    (gsimpleasyncresult.c:787)
    ==5618==    by 0x3262047A54: g_main_context_dispatch (gmain.c:2715)
    ==5618==    by 0x3262047D87: g_main_context_iterate.isra.24
    (gmain.c:3290)
    ==5618==    by 0x3262048181: g_main_loop_run (gmain.c:3484)
    ==5618==    by 0x426235: main (main.c:142)
    ==5618==  Address 0x10a7ea74e is not stack'd, malloc'd or (recently)
    free'd
    ==5618==
    ==5618==
    ==5618== Process terminating with default action of signal 11
    (SIGSEGV)
    ==5618==  Access not within mapped region at address 0x10A7EA74E
    ==5618==    at 0x4A0A158: memcpy@GLIBC_2.2.5 (mc_replace_strmem.c:881)
    ==5618==    by 0x326201D8FB: g_array_insert_vals (string3.h:57)
    ==5618==    by 0x442EFB: mm_iface_modem_set_bands
    (mm-iface-modem.c:1982)
    ==5618==    by 0x44307E: handle_set_bands_auth_ready
    (mm-iface-modem.c:2100)
    ==5618==    by 0x326386DFF6: g_simple_async_result_complete
    (gsimpleasyncresult.c:775)
    ==5618==    by 0x4358E3: authorize_ready (mm-base-modem.c:1300)
    ==5618==    by 0x326386DFF6: g_simple_async_result_complete
    (gsimpleasyncresult.c:775)
    ==5618==    by 0x326386E0F8: complete_in_idle_cb
    (gsimpleasyncresult.c:787)
    ==5618==    by 0x3262047A54: g_main_context_dispatch (gmain.c:2715)
    ==5618==    by 0x3262047D87: g_main_context_iterate.isra.24
    (gmain.c:3290)
    ==5618==    by 0x3262048181: g_main_loop_run (gmain.c:3484)
    ==5618==    by 0x426235: main (main.c:142)

 src/mm-iface-modem.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit cabf53179eb0c660ff3bdfb765645a3d0f88530d
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 24 14:44:57 2013 -0500

    sierra: handle probing ERROR response better

    The USB305 (Icera-based) apparently has a port that replies to
    everything
    with ERROR, and that port is unusable.  Make sure it's ignored,
    otherwise
    MM may claim it as the primary AT port since it technically speaks AT.

 plugins/sierra/mm-plugin-sierra.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit cebe828f7fb62585614b756efb80799286f35261
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 24 23:25:53 2013 +0200

    huawei: only expect custom inits to be run on tty ports

 plugins/huawei/mm-plugin-huawei.c | 28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

commit 99a8dcce2ca04dccfe7a71bfd78394e710aa1ab1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 24 23:15:43 2013 +0200

    zte: ensure error is set when +ZSNT response parser doesn't match

 plugins/zte/mm-broadband-modem-zte.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

commit a32eef3434b169c8e58b285d8f30a3b206fc0dd7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 24 23:12:12 2013 +0200

    x22x: ensure error is set when +SYSSEL response parser doesn't match

 plugins/x22x/mm-broadband-modem-x22x.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

commit 77d096bdac59d6627785490aae71c9ddc9445807
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 24 23:10:56 2013 +0200

    sierra: ensure error is set when !SELRAT response parser doesn't match

 plugins/sierra/mm-broadband-modem-sierra.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 52fd67e36591588f76c7d8e1f0a115ab1a1db74c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 24 23:08:09 2013 +0200

    novatel: ensure error is set when $NWRAT response parser doesn't match

 plugins/novatel/mm-broadband-modem-novatel.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

commit 2e6ba7cd09287bb984a356cf2606c64f5a779cd4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 24 23:07:45 2013 +0200

    huawei: ensure error is set when ^CPIN response parser doesn't match

 plugins/huawei/mm-broadband-modem-huawei.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

commit 40dc35a65718050297b12c6e7c106866a44a3305
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 24 23:05:12 2013 +0200

    modem-helpers: ensure error is set when +CRM response parser
    doesn't match

 src/mm-modem-helpers.c | 81
 +++++++++++++++++++++++++++-----------------------
 1 file changed, 44 insertions(+), 37 deletions(-)

commit 1f99eaf80e6c3124c871c416638d50c57199535e
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Apr 24 17:37:55 2013 -0700

    qcdm: remove unnecessary NULL check on free()

    This patch removes a few unnecessary NULL checks on free(), which
    also fixes
    the following clang warnings:

    result.c:59:27: error: if statement has empty body
    [-Werror,-Wempty-body]
            if (v->u.u8_array);
                              ^
    result.c:59:27: note: put the semicolon on a separate line to silence
    this warning
    result.c:62:28: error: if statement has empty body
    [-Werror,-Wempty-body]
            if (v->u.u16_array);
                               ^
    result.c:62:28: note: put the semicolon on a separate line to silence
    this warning

    Bug reported on
    https://code.google.com/p/chromium/issues/detail?id=219280
    Patched by Yunlian Jiang <yunlian@chromium.org>

 libqcdm/src/result.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

commit d1708f243dfdb2fe6a478be6e616f70fca50b254
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 24 17:09:04 2013 -0500

    x22x: add Archos G9 device tags

 plugins/x22x/77-mm-x22x-port-types.rules | 8 ++++++++
 1 file changed, 8 insertions(+)

commit b017064a5802c820ab26e7a3b832e2917186820d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 24 23:06:34 2013 +0200

    altair-lte: minor coding style fixes

 plugins/altair/mm-broadband-modem-altair-lte.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit ba83bc61d05629762c72c2dce18cff5fadc30658
Author: ori inbar <ori.inbar.altair.semi.com@gmail.com>
Date:   Tue Apr 23 13:15:42 2013 -0500

    altair-lte: Add SIM unlock retries query to the Altair plugin.

 plugins/altair/mm-broadband-modem-altair-lte.c | 73
 ++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

commit 126d89b2f311b46784434db52a6614699bac83b5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 24 22:48:18 2013 +0200

    x22x: fix regex when parsing +SYSSEL response

    The numbers reported by +SYSSEL may have more than one digit, e.g.:
      +SYSSEL: 14,2,0,0

    https://bugzilla.gnome.org/show_bug.cgi?id=698774

 plugins/x22x/mm-broadband-modem-x22x.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4ac3a6d4f212b3fc04e004c85b89fd567e865ffa
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Apr 22 14:34:44 2013 -0700

    bearer: allow specifying default IP family for bearers

    This patch adds a 'bearer-default-ip-family' property to MMBearer,
    which
    specifies the default IP family to use for a bearer when no explicit
    value is given via the simple connect properties. The default
    IP family
    is set to IPv4 in MMBearer but can be overridden by a MMBearer
    subclass,
    which allows a modem plugin to specify an appropriate default value.

 libmm-glib/mm-bearer-properties.c |  8 +-------
 src/mm-bearer-mbim.c              | 14 +++++++++++---
 src/mm-bearer-qmi.c               | 18 +++++++++++++-----
 src/mm-bearer.c                   | 25 +++++++++++++++++++++++++
 src/mm-bearer.h                   |  2 ++
 src/mm-broadband-bearer.c         | 16 ++++++++++++----
 6 files changed, 64 insertions(+), 19 deletions(-)

commit 60845f10c9dae6c7e53022050aa8d09e1e1354ea
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 19 16:24:17 2013 -0500

    broadband-modem-qmi: work around old Gobi 1K firmware SetDataFormat
    issue

    It seems that really old Gobi 1K firmware (from ~2008) doesn't
    implement
    the SetDataFormat command, and will simply ignore the request without
    replying to it.  But the device works just fine if we retry the
    QMI port open operation without the SetDataFormat request.

    The downside of this is is that on older kernels, the qmi_wwan driver
    won't automatically fix up any raw-ip packets it receives, but the
    old Gobi devices don't ever send raw-ip packets anyway, so it's not
    a problem.

 src/mm-broadband-modem-qmi.c | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

commit aa4fd7c421776c33f0955517eb441fa2a14d6401
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 19 08:34:40 2013 +0200

    broadband-modem-mbim: don't make no-SIM errors directly fatal,
    retry instead

    The MC7710 will report a MBIM_SUBSCRIBER_READY_STATE_SIM_NOT_INSERTED
    status
    when initializing and the SIM is not ready yet. So retry a couple
    of times as we
    do for MBIM_SUBSCRIBER_READY_STATE_NOT_INITIALIZED. If all retries
    are consumed,
    get the last reported status to build the error.

    This change makes all modems without SIM require up to 10s to
    get fully
    initialized and exposed in DBus; but it shouldn't be a big deal as
    the modems
    are unusable anyway.

    https://bugzilla.gnome.org/show_bug.cgi?id=698264

 src/mm-broadband-modem-mbim.c | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

commit 92035fdf1c39c9e1bf8b7d419d913e85bc8e1a44
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Apr 18 12:19:46 2013 -0500

    iface-modem: skip modem_after_sim_unlock() for CDMA-only devices

    We don't support SIM/RUIM on CDMA devices (yet), so for now it makes
    no sense to run the after-sim-unlock step on CDMA-only devices where
    a SIM won't be present.

    Unfortunately we don't know at this point whether there is a SIM
    or not, so if the modem is a multi-mode device (implying it has a SIM
    slot) and its plugin implements the modem_after_sim_unlock() hook,
    the hook will still be executed and might cause an unecessary delay
    when a SIM is not inserted.

 src/mm-iface-modem.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

commit 7d668eb407eccf89cbbfeb96bbb553ade5b47c92
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 18 18:32:13 2013 +0200

    iface-modem: for multimode 3GPP+3GPP2 devices, check if SIM is
    available

    If SIM is not available, no 3GPP caps in current caps.

 src/mm-iface-modem.c | 106
 ++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 88 insertions(+), 18 deletions(-)

commit 4f3932cb2b07a0c4b60a754afcdacf935a1a9b61
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 18 15:15:38 2013 +0200

    iface-modem: ignore SIM errors in 3GPP2-capable devices

    We already fully skipped SIM unlock check in 3GPP2-only devices;
    now we also
    ignore SIM errors if the device is a 3GPP+3GPP2 device.

 src/mm-iface-modem.c | 65
 ++++++++++++++++++++++++++++++----------------------
 1 file changed, 38 insertions(+), 27 deletions(-)

commit 27e19362778312e958a7caf68091cf8e46077d5b
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Apr 18 10:19:57 2013 -0500

    core: rework logging code to remove log message truncation (bgo
    #698312)

    Use a static GString which will resize itself if the log message
    is bigger than the current string size, but will also ensure we
    don't do a ton of memory reallocation on every log message.

    Previously all log messages were trucated at 512 bytes due to the
    log buffer char array being 512 bytes long.

 src/mm-log.c | 71
 ++++++++++++++++++++++++++++++------------------------------
 1 file changed, 36 insertions(+), 35 deletions(-)

commit 3cb639a6bbac52bddace33844f643ca487741ef9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 18 16:46:17 2013 +0200

    plugin-manager: handle race condition during probing

    The specific case:
     * Modem exposes cdc-wdm port, Generic plugin probes it successfully
     as QMI.
     * Modem exposes new ports, including the wwan one. All ttys fail
     probing
       because they're neither AT nor QCDM (CnS in this case).
     * The wwan port ends up without a port being suggested and is
     not grabbed.

    The root cause of this is that we do not propagate the suggested
    plugin to newly
    added ports when it's the Generic one. If it wasn't the Generic one,
    the newly
    added ports would start with the suggested one for probing.

    Now, handle this by looking for the device-specified plugin when
    the port
    probing ends without a specific port given. If there is such a
    device-specified
    plugin accept the port, and otherwise, reject it.

 src/mm-plugin-manager.c | 59
 ++++++++++++++++++++++++++++---------------------
 1 file changed, 34 insertions(+), 25 deletions(-)

commit 4d4d6141388e2eca8acdc8efaf3ee0b5e2a09ebb
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 17 14:56:11 2013 -0500

    broadband-modem: read current capabilities via QCDM if available
    (bgo #698229)

    Many multi-mode Qualcomm devices report all available modes in their
    AT+GCAP response (for example, CDMA/EVDO and GSM/UMTS) but they cannot
    actually function in all these modes at the same time.  The modem's
    actual current capabilities are expressed by the QCDM NV ModePref
    item, which is not reflected in the AT+GCAP response.

    Reading the current capabilities from the NV ModePref item ensures
    that ModemManager does not create interfaces for the modem which
    the modem cannot actually implement.

    Because the generic modem plugin does not implement the Modem
    Capabilities hook (because there is no standard way to determine
    what access technologies a modem supports), the Current Capabilities
    are copied to the Modem Capabilities.  For devices that support
    QCDM this means that Modem Capabilies which used to be created from
    the GCAP response and thus would contain all available capabilities
    now contain only current capabilities.  This isn't a problem though
    since there was no way to switch the devices to use any of their
    other capabilities, becuase there aren't any standard commands for
    it.  Plugins that know how to switch their modem's capabilities
    should (and they already do) override load_current_capabilities
    and load_modem_capabilities to get the correct information.

 src/mm-broadband-modem.c | 133
 ++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 125 insertions(+), 8 deletions(-)

commit 95274bfa2327a5fec59db33ca94463f4f9baff9c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 18 14:43:06 2013 +0200

    sms-part: check UDH length vs available size before trying to read it

    https://bugzilla.gnome.org/show_bug.cgi?id=698246

 src/mm-sms-part.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 9fa5b9001a4a61128aa894941062d8e6d025e101
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 17 17:18:05 2013 -0500

    qcdm: fix CDMA1x Pilot Sets pilot handling

    The helper functions got the return code of qcdm_result_* wrong
    and thus failed all requests for pilot sets.

 libqcdm/src/commands.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit b95dc3f2f56084b7cfd253beed62716e708bd67e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 17 19:15:24 2013 +0200

    mbm: allow MBIM devices

 plugins/mbm/mm-plugin-mbm.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 0e60d964b3a95065b6164e5e9dd77b72a162d8f9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 17 15:34:23 2013 +0200

    build: MBIM support is auto

    Use it if found, don't use it if not found.

    Can be explicitly requested with --with-mbim.

 configure.ac | 39 +++++++++++++++++++++++++--------------
 1 file changed, 25 insertions(+), 14 deletions(-)

commit f8e7f2ebe118208da0f664dbbfa7b00f43c71338
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 17 12:18:41 2013 +0200

    device: look for vendor/product ID on the grandparent for MBIM devices

 src/mm-device.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 56387bb79c3ed4d24f55be7016f2ac6133401fc3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 16 22:20:33 2013 +0200

    sierra: allow MBIM modems handled by the plugin

 plugins/sierra/mm-plugin-sierra.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 99694dec93f8903591927e89e8718db099e4f9ba
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 14 21:22:12 2013 +0200

    bearer-mbim: handle static IP configuration

 src/mm-bearer-mbim.c | 323
 +++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 298 insertions(+), 25 deletions(-)

commit 91e4c9832ac317b4fbda91e5b3eb4ef34c6c701f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 14 14:19:32 2013 +0200

    bearer-mbim: update connection timeout values

 src/mm-bearer-mbim.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 07d4aa993803a7c83349f9865dd0654086439b31
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 14 14:18:07 2013 +0200

    bearer-mbim: activate packet service during connection request

 src/mm-bearer-mbim.c | 74
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)

commit 6cbb3e9fc9caf24e09e476ec86e5041d7a1f6dbb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 14 13:45:11 2013 +0200

    bearer-mbim: no auth protocol if neither user nor password given

 src/mm-bearer-mbim.c | 52
 ++++++++++++++++++++++++++++------------------------
 1 file changed, 28 insertions(+), 24 deletions(-)

commit a9f20e90be74bd53bfaeeda93b68b1bfa49ae9fe
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 14 12:54:12 2013 +0200

    bearer-mbim: implement bearer disconnection

 src/mm-bearer-mbim.c | 172
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 172 insertions(+)

commit 032911ec20f984b306ba8fb6d45f243c81437fd2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 14 12:39:45 2013 +0200

    bearer-mbim: gather a unique session id in the [0,255] range

 src/mm-bearer-mbim.c          | 86
 ++++++++++++++++++++++++++++++++++++++-----
 src/mm-bearer-mbim.h          |  7 +++-
 src/mm-broadband-modem-mbim.c | 69 +++++++++++++++++++++++++++++++++-
 3 files changed, 150 insertions(+), 12 deletions(-)

commit 4609f708b8321dbd73af52a7958d46b13844e343
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 14 10:58:16 2013 +0200

    bearer-mbim: implement bearer connection

 src/mm-bearer-mbim.c | 256
 ++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 194 insertions(+), 62 deletions(-)

commit 3c4a26cb918a2a4b0835a82003b69af4bda7a5df
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 14 09:31:19 2013 +0200

    bearer-mbim: log available provisioned contexts during connection

 src/mm-bearer-mbim.c | 281
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 281 insertions(+)

commit 0e9a0eb4c79d22ce50918abaab954fbf7aeebd6d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 18:35:24 2013 +0200

    broadband-modem-mbim: implement access technologies updates

 src/mm-broadband-modem-mbim.c | 15 +++++++++++++--
 src/mm-modem-helpers-mbim.c   | 42
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-mbim.h   |  2 ++
 3 files changed, 57 insertions(+), 2 deletions(-)

commit 6b5dd6af51b729fc608560f85ca6a1af0020d671
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 18:23:32 2013 +0200

    broadband-modem-mbim: add TODO about the network scan

 src/mm-broadband-modem-mbim.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 854c371c8aa93b96006e668be6d5163db501febe
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 18:18:29 2013 +0200

    broadband-modem-mbim: implement 3GPP registration request

 src/mm-broadband-modem-mbim.c | 91
 +++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-mbim.c   | 61 +++++++++++++++++++++++++++++
 src/mm-modem-helpers-mbim.h   |  2 +
 3 files changed, 154 insertions(+)

commit c7f3d33b3e47ead7e012a4a7dbe6c670aa935678
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 18:18:06 2013 +0200

    api,errors: define new GPRS related errors

 include/ModemManager-errors.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 9cdd8c901db84b40ec126446e8a9f43376a4fd5f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 17:43:58 2013 +0200

    broadband-modem-mbim: implement 3GPP registration logic

 src/mm-broadband-modem-mbim.c | 301
 +++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-helpers-mbim.c   |  21 +++
 src/mm-modem-helpers-mbim.h   |   2 +
 3 files changed, 321 insertions(+), 3 deletions(-)

commit 6333b239ff0e5069d1ea5b4f34626ccf7811f38a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 16:22:03 2013 +0200

    sim-mbim: add TODO about the home provider info

 src/mm-sim-mbim.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 916dc3466f10e706e0e73f0c9e8864f7571dacb7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 16:17:55 2013 +0200

    broadband-modem-mbim: implement signal quality updates

 src/mm-broadband-modem-mbim.c | 148
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 148 insertions(+)

commit 10f2cdebcb23e608d41d4fceea0abe4e5b74b795
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 15:52:30 2013 +0200

    broadband-modem-mbim: process signal state indications

 src/mm-broadband-modem-mbim.c | 46
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

commit 6b827cc7a306ef2f3719ba7310952305b97fa04c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 15:20:07 2013 +0200

    broadband-modem-mbim: implement 3GPP unsolicited messages
    setup/cleanup

 src/mm-broadband-modem-mbim.c | 78
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

commit 3e758d5394c65ea087f32b876e4b7f245b75dac1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 14:01:02 2013 +0200

    broadband-modem-mbim: implement enabled facility locks loading

 src/mm-broadband-modem-mbim.c | 122
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 122 insertions(+)

commit 115bf6c077565d689095636dcb0803e086e8f9f1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 12:33:41 2013 +0200

    broadband-modem-mbim: implement IMEI loading

 src/mm-broadband-modem-mbim.c | 43
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

commit e878a8ef06eb11e2f8cda9b12d4b8bd49ca991ec
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 12:30:10 2013 +0200

    broadband-modem-mbim: implement the 3GPP interface

 src/mm-broadband-modem-mbim.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit bb9031ed38a682b3cd99a48f1c38df6d8263a2c6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 11:54:08 2013 +0200

    broadband-modem-mbim: build fake manufacturer and model strings

 src/mm-broadband-modem-mbim.c | 63
 ++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 59 insertions(+), 4 deletions(-)

commit 45ae6dd672306cada1814ab23e2e88e2e5b7ed7e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 11:45:23 2013 +0200

    broadband-modem-mbim: implement power up/down

 src/mm-broadband-modem-mbim.c | 129
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 129 insertions(+)

commit 9504cb93398f69c824f361996de91cd091af448d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 13 09:44:41 2013 +0200

    broadband-modem-mbim: simplify power state loading

 src/mm-broadband-modem-mbim.c | 37 +++++++++++--------------------------
 1 file changed, 11 insertions(+), 26 deletions(-)

commit f6958bb362c4849846e5408dee246268f87b3128
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 11 20:09:27 2013 +0200

    broadband-modem-mbim,sim-mbim: update message creator/parser names

    Sync with libmbim commit:
        commit b73673bf30a82e95819deb17296c9234399f0795
        Author: Aleksander Morgado <aleksander@lanedo.com>
        Date:   Thu Apr 11 20:07:12 2013 +0200

            mbim-codegen: properly define the 4 types of messages that
            we may have

 src/mm-broadband-modem-mbim.c | 24 ++++++++++++------------
 src/mm-sim-mbim.c             | 20 ++++++++++----------
 2 files changed, 22 insertions(+), 22 deletions(-)

commit 67c322361ea2efbf2ca68322e7ca8a3a76e14f0e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 11 20:08:56 2013 +0200

    broadband-modem-mbim: implement own numbers loading

 src/mm-broadband-modem-mbim.c | 74
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)

commit 04d515497d2005c8ca279a5153f42af27feba96e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 11 20:07:21 2013 +0200

    sim-mbim: implement SIM identifier and IMSI loading

 src/mm-sim-mbim.c | 140
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 140 insertions(+)

commit 6024142facf549f90a5aafb3782434ef19398947
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 11 20:03:39 2013 +0200

    sim-mbim: these modems don't allow to enable/disable/change PIN
    if locked

 src/mm-sim-mbim.c | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

commit cd610fb6207ecc683ea9d8104f4774a993e5f7ee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 11 20:03:07 2013 +0200

    sim-mbim: implement PIN changing

 src/mm-sim-mbim.c | 75
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

commit ef7e6a14f0cef6900961a2e6bd9bade88e2cec01
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 11 20:02:53 2013 +0200

    broadband-modem-mbim: check SIM status with 'Subscriber Ready Status'

 src/mm-broadband-modem-mbim.c | 151
 +++++++++++++++++++++++++++++++++++++-----
 1 file changed, 133 insertions(+), 18 deletions(-)

commit 659d942c33767d44f2470aee183b0eb0fc268016
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 11 19:21:21 2013 +0200

    mbim-port: make port closing async always

    Don't just close the port and forget, really wait to get the CLOSE
    response
    before going on.

 src/mm-broadband-modem-mbim.c |   5 +-
 src/mm-mbim-port.c            | 117
 +++++++++++++++++++++++++++++-------------
 src/mm-mbim-port.h            |  23 +++++----
 src/mm-port-probe.c           |  28 +++++++---
 4 files changed, 118 insertions(+), 55 deletions(-)

commit d1d5616ca5607836fc2a17024555ef2578bb6d8e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 11 17:37:32 2013 +0200

    sim-mbim: implement PIN enabling/disabling

 src/mm-sim-mbim.c | 75
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

commit c67fa3459bb78c3c6813ed68eeb720da9431a53f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 11 17:37:10 2013 +0200

    broadband-modem-mbim,sim-mbim: consider MBIM result errors

 src/mm-broadband-modem-mbim.c |  4 ++++
 src/mm-sim-mbim.c             | 56
 +++++++++++++++++++++++++------------------
 2 files changed, 37 insertions(+), 23 deletions(-)

commit 8a8dc23f5071b5155a21bd96356a7b3a38993d6a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 11 16:01:07 2013 +0200

    sim-mbim: implement PUK unlocking

 src/mm-sim-mbim.c | 91
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 91 insertions(+)

commit abd22dacfb332c9568d432c4008763e6e8432041
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 11 15:37:12 2013 +0200

    broadband-modem-mbim: don't cache remaining attempts, just requery

    There are many more places where we reload remaining attempts,
    not just after
    querying initial lock status. So re-query to get the most up to
    date info.

 src/mm-broadband-modem-mbim.c | 119
 +++++++++++++++++++++++-------------------
 1 file changed, 64 insertions(+), 55 deletions(-)

commit b8904b3b5285e3a35e9ec0845f8bbca45568cb34
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 11 15:22:23 2013 +0200

    mbim-port: no longer needed to request next transaction ID

    Already handled by the MbimDevice if none given.

 src/mm-broadband-modem-mbim.c | 12 +++---------
 src/mm-mbim-port.c            | 10 ----------
 src/mm-mbim-port.h            |  2 --
 src/mm-sim-mbim.c             |  1 -
 4 files changed, 3 insertions(+), 22 deletions(-)

commit 8232d023c178f8c804dd550ca567c5cf64710f93
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 10 23:19:33 2013 +0200

    port-probe: delay 3s MBIM probing

 src/mm-port-probe.c | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

commit 968c2e360a269c994d4e4a571dcf8054b64f4b96
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 10 20:33:27 2013 +0200

    sim-mbim: implement PIN unlocking

 src/mm-sim-mbim.c | 124
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 124 insertions(+)

commit cc76e7a41c758d4fcc6cffc4f9650430e125e679
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 10 23:08:03 2013 +0200

    broadband-modem-mbim: sync with libmbim 'input-parameters' branch

 src/mm-broadband-modem-mbim.c | 196
 ++++++++++++++++++++++++++----------------
 1 file changed, 123 insertions(+), 73 deletions(-)

commit df4cd12fef8c112017f02851a27f9580ef9750a5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 7 22:51:39 2013 +0200

    broadband-modem-mbim: implement initial power state loading

 src/mm-broadband-modem-mbim.c | 96
 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 92 insertions(+), 4 deletions(-)

commit deb9f21a6653c3ab68470395919aa21edc2d8034
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 7 21:02:31 2013 +0200

    broadband-modem-mbim: implement unlock required & retries loading

 src/Makefile.am               |   8 +++
 src/mm-broadband-modem-mbim.c | 142
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-mbim.c   |  63 +++++++++++++++++++
 src/mm-modem-helpers-mbim.h   |  29 +++++++++
 4 files changed, 242 insertions(+)

commit affe2fdeeb938285c697c6c97fd5ae90691d8c1e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 7 20:08:40 2013 +0200

    broadband-modem-mbim: disable unneeded steps

 src/mm-broadband-modem-mbim.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 14a03848ce63243d90bafbc1cbbc6e9cc1f358e4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 7 20:02:41 2013 +0200

    broadband-modem-mbim: implement supported modes loading

 src/mm-broadband-modem-mbim.c | 65
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

commit 6ebda738f4a3e3dd791c20818aec2b68710c1e99
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 7 19:53:32 2013 +0200

    broadband-modem-mbim: implement device identifier loading

 src/mm-broadband-modem-mbim.c | 42
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

commit 6b379e525dbcc117a82fb367a6db2146042880ab
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 7 19:51:49 2013 +0200

    plugin: limit cdc-wdm port probing types depending on the available
    drivers

    We'll use the given device drivers as a hint of what we can or
    should probe.

 src/mm-plugin.c | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

commit 00ec505e741eed62a04d2d810dcbb9c841a09445
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 7 19:39:08 2013 +0200

    broadband-modem-mbim: implement equipment id loading

 src/mm-broadband-modem-mbim.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

commit 3b8c9a0e2dd6ad5087312f62539fdaa7e68f5d21
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 7 19:34:08 2013 +0200

    broadband-modem-mbim: implement revision string loading

 src/mm-broadband-modem-mbim.c | 40
 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

commit 211803f886e333123a375bbb8aa6ee720e725809
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 7 19:22:02 2013 +0200

    broadband-modem-mbim: implement current capabilities loading

 src/mm-broadband-modem-mbim.c | 124
 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 123 insertions(+), 1 deletion(-)

commit 07f39cc29f30d7892b1615c26be9752b593d4486
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Apr 7 19:21:47 2013 +0200

    mbim-port: provide access to the internal MbimDevice

 src/mm-mbim-port.c | 20 ++++++++++++++++++++
 src/mm-mbim-port.h |  4 ++++
 2 files changed, 24 insertions(+)

commit 12d6e59c86dc9feb38cc84ec49e3ade25f07336e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 6 23:27:40 2013 +0200

    log: enable MBIM traces if running in debug mode

 src/mm-log.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit cbee87f2f54b928dafb6a099b3ec2521d8658440
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 6 22:58:08 2013 +0200

    iface-modem: let the MBIM port be the primary one

 src/mm-iface-modem.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

commit 76ed80e1c98166ffe1f6ae4f49baf335c3e0f8a1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 6 21:08:10 2013 +0200

    generic: allow MBIM devices

 plugins/generic/mm-plugin-generic.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 2e4a83628a6a24cf06549d346b74fcdc2f97830f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 6 20:23:22 2013 +0200

    huawei: allow MBIM devices

 plugins/huawei/mm-plugin-huawei.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit e476c1c67ba158b9588bd72308e25d88c5089279
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 6 21:05:41 2013 +0200

    mbim: add initial MBIM support skeleton

 src/Makefile.am               |   7 +
 src/mm-bearer-mbim.c          |  84 ++++++++++
 src/mm-bearer-mbim.h          |  55 +++++++
 src/mm-broadband-modem-mbim.c | 348
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-broadband-modem-mbim.h |  49 ++++++
 src/mm-sim-mbim.c             |  77 ++++++++++
 src/mm-sim-mbim.h             |  51 +++++++
 7 files changed, 671 insertions(+)

commit a0ced36f142255ffc0995e358636cf8a7b9efe07
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 6 20:45:42 2013 +0200

    base-modem: allow grabbing MBIM ports

 src/mm-base-modem.c | 249
 +++++++++++++++++++++++++++++++++++++++++++++++++---
 src/mm-base-modem.h |  12 +++
 2 files changed, 247 insertions(+), 14 deletions(-)

commit cb45de048faac153b6b49af7f98bcd4e3922a4d9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 6 20:00:28 2013 +0200

    plugin: allow plugins to require MBIM probing of cdc-wdm ports

 plugins/Makefile.am |  4 ++++
 src/mm-plugin.c     | 35 +++++++++++++++++++++++++++++++++--
 src/mm-plugin.h     |  1 +
 3 files changed, 38 insertions(+), 2 deletions(-)

commit 3d2c0cc83ca59a5fd42548fa7af96a81c951d753
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 6 19:54:55 2013 +0200

    port-probe: include MBIM port probing logic

 src/Makefile.am     |  15 +++-
 src/mm-mbim-port.c  | 226
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-mbim-port.h  |  61 ++++++++++++++
 src/mm-port-probe.c | 207 ++++++++++++++++++++++++++++++++++++++++++-----
 src/mm-port-probe.h |  13 ++-
 src/mm-port.h       |   3 +-
 6 files changed, 500 insertions(+), 25 deletions(-)

commit dd5680debeeb43a13865343d5e7fe65bbc297360
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 6 19:23:14 2013 +0200

    build: new '--with-mbim' configure switch

    Will enable MBIM support through libmbim.

 configure.ac | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

commit 463de46e9e018b68c2fdb20abf3e25180de4d415
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Apr 16 19:36:55 2013 -0500

    novatel: ignore USB551L

    Just like the E362, which the USB551L is quite similar to.

 plugins/novatel/mm-plugin-novatel.c | 1 +
 1 file changed, 1 insertion(+)

commit d3831fc641d41019122bad9022f4f4cf4ee295f1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 16 14:41:22 2013 +0200

    serial greylist: tag device from Netchip Technology

 src/77-mm-usb-serial-adapters-greylist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 72441677618cc211ff76b78bf8f5393194102537
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 16 14:39:58 2013 +0200

    serial greylist: fix udev tag name for Arduino devices

 src/77-mm-usb-serial-adapters-greylist.rules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f770ea43c23f98c3a81db93fd93439c7b9418174
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Apr 11 14:46:17 2013 -0500

    huawei: fix up udev rules file name

 plugins/Makefile.am                                                     |
 2 +-
 ...mm-huawei_net_port_types.rules => 77-mm-huawei-net-port-types.rules}
 | 0
 2 files changed, 1 insertion(+), 1 deletion(-)

commit 3c1e77d78964d79deafee79b65da1f11cdb98890
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 11 19:21:46 2013 +0200

    sim: fix signal emission

    Signal should be emitted by the SIM object, not by the Modem object.

 src/mm-sim.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 31215aba327a9151638ccc5ac37666e6efca3bb2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 13 15:42:14 2013 +0100

    modem-helpers-qmi: explicitly add LTE as current cap if modem caps
    report it

    For loading current capabilities we use a mix of "Technology
    Preference" (TP),
    "System Selection Preference" (SSP) and DMS-reported
    capabilities. But, as we
    also use TP and SSP for allowed modes, it may be the case that we
    end up
    leaving 4G out of the allowed modes, which afterwards will make the
    modem not
    report LTE as current capabilitiy, as TP/SSP don't include LTE.

    So, just assume LTE is a current capability if DMS-reported
    capabilities include
    it. We can really do this because LTE is the only 4G technology,
    the same logic
    wouldn't apply correctly for 2G or 3G (due to having different techs
    for 3GPP
    and 3GPP2).

 src/mm-modem-helpers-qmi.c         | 5 +++++
 src/tests/test-modem-helpers-qmi.c | 8 ++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

commit 162d96b11680bbdf819a3f8e1c058184abb7b792
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 13 11:16:13 2013 +0100

    test-modem-helpers-qmi: new unit tests to check the
    'current-capabilities' logic

    Based on Dan's tests with QMI modems.

 .gitignore                         |   1 +
 src/mm-broadband-modem-qmi.c       | 143 ++++----------
 src/mm-modem-helpers-qmi.c         |  71 +++++++
 src/mm-modem-helpers-qmi.h         |  16 ++
 src/tests/Makefile.am              |  43 ++++-
 src/tests/test-modem-helpers-qmi.c | 383
 +++++++++++++++++++++++++++++++++++++
 6 files changed, 549 insertions(+), 108 deletions(-)

commit be8c8a99bb29d340720715874696bc1fae11d331
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Apr 10 12:06:13 2013 -0700

    device: handle NULL returned by g_udev_device_get_driver() gracefully

    This patch fixes a crash in mm_device_grab_port() when doing a string
    comparison on a NULL returned by g_udev_device_get_driver().

    Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )

    0x76b760b4   [libc-2.15.so]               - strcmp.c:38
    strcmp
    0x76c66a7d   [libglib-2.0.so.0.3200.4]    - ghash.c:1704
    g_str_equal
    0x76ee0e5d   [ModemManager]               - mm-device.c:147
    mm_device_grab_port
    0x76edf9d9   [ModemManager]               - mm-manager.c:313
    device_added
    0x76e95b2d   [libgudev-1.0.so.0.1.0]      -
    extras/gudev/gudevmarshal.c:84   g_udev_marshal_VOID__STRING_OBJECT
    0x76d1fb2b   [libgobject-2.0.so.0.3200.4] - gclosure.c:777
    g_closure_invoke
    0x76d2b88b   [libgobject-2.0.so.0.3200.4] - gsignal.c:3551
    signal_emit_unlocked_R
    0x76d313c5   [libgobject-2.0.so.0.3200.4] - gsignal.c:3300
    g_signal_emit_valist
    0x76d31569   [libgobject-2.0.so.0.3200.4] - gsignal.c:3356
    g_signal_emit
    0x76e93bdd   [libgudev-1.0.so.0.1.0]      -
    extras/gudev/gudevclient.c:105   monitor_event
    0x76c9beb7   [libglib-2.0.so.0.3200.4]    - giounix.c:166
    g_io_unix_dispatch
    0x76c714c1   [libglib-2.0.so.0.3200.4]    - gmain.c:2539
    g_main_context_dispatch
    0x76c71745   [libglib-2.0.so.0.3200.4]    - gmain.c:3146
    g_main_context_iterate
    0x76c71a59   [libglib-2.0.so.0.3200.4]    - gmain.c:3340
    g_main_loop_run
    0x76ede8ed   [ModemManager]               - main.c:142
    main
    0x76b35f79   [libc-2.15.so]               - libc-start.c:226
    __libc_start_main
    0x76edea49   [ModemManager]               + 0x00014a49
    0x76eb4eab   [ld-2.15.so]                 + 0x0000aeab

 src/mm-device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 33a572b9d00128492af2d3890e4c6aeec400b465
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Apr 9 14:10:32 2013 -0500

    broadband-modem-qmi: ignore invalid signal strengths

    Sometimes invalid signal strengths will be returned by the modem,
    which we should ignore.  Otherwise they make the reported signal
    quality bounce around from eg 21% -> 100%, or cause access
    technology updates for radio interfaces that can't possible have
    a usable signal.

 src/mm-broadband-modem-qmi.c | 158
 +++++++++++++++++++++++++++++--------------
 1 file changed, 109 insertions(+), 49 deletions(-)

commit c737c57eb031e300d24d9cc81a592b541f66e74b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 10 09:49:15 2013 +0200

    broadband-modem-qmi: fix setup of unsolicited registration updates

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 089dc1ddc0715f0bea0fdabc33b42b252b9e4d13
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 10 09:26:03 2013 +0200

    man,mmcli: --simple-connect allows any of the --create-bearer options

 docs/man/mmcli.8 | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit a12d979373a7c0724664889a237905f6ea3aeb1e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 9 18:41:42 2013 +0200

    huawei: increase the connection timeout to 60s

 plugins/huawei/mm-broadband-bearer-huawei.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit cb11bd09d6ad8cdfc97cef8f3793dd82580006b8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 3 13:38:31 2013 +0200

    huawei: plug memleak

 plugins/huawei/mm-broadband-modem-huawei.c | 3 +++
 1 file changed, 3 insertions(+)

commit 01400024cdf6faea50faa6ba170dc37876fa5d5f
Author: Franko Fang <fangxiaozhi@huawei.com>
Date:   Wed Apr 3 13:14:14 2013 +0200

    huawei: add port type rules for modems

 plugins/huawei/77-mm-huawei_net_port_types.rules |  6 +++++
 plugins/huawei/mm-plugin-huawei.c                | 33
 +++++++++++++++++-------
 2 files changed, 30 insertions(+), 9 deletions(-)

commit d56a87a3bde4f504f828c050b905f20425c4c665
Author: Franko Fang <fangxiaozhi@huawei.com>
Date:   Wed Apr 3 13:12:43 2013 +0200

    base-modem: keep AT port as possible data port if flagged as PPP

 src/mm-base-modem.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

commit 9d4091cc89366e59a4e41b9f0212cce24d26127b
Author: Franko Fang <fangxiaozhi@huawei.com>
Date:   Wed Apr 3 13:11:56 2013 +0200

    huawei: flag modems which support NDISDUP

 plugins/Makefile.am                              |  1 +
 plugins/huawei/77-mm-huawei_net_port_types.rules | 10 +++++
 plugins/huawei/mm-broadband-modem-huawei.c       | 55
 +++++++++---------------
 3 files changed, 31 insertions(+), 35 deletions(-)

commit 4d31315b959ce87e242070842cd9fe3c234fa7e7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 9 17:20:27 2013 +0200

    port-probe: fix source_remove() vs signal_handler_disconnect()

 src/mm-port-probe.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit dff23f57b3e829e5abe6008b6b21e45d1297eade
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Apr 8 18:03:39 2013 +0200

    huawei: use a 3s timeout as after-sim-unlock step

    Huawei e220 may fail miserably (rebooting itself) if we issue
    commands just
    after having unlocked the PIN.

 plugins/huawei/mm-broadband-modem-huawei.c | 38
 ++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

commit 55fdc76a56e5da0eb391d22d6f53d985ca38a9af
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 8 11:09:46 2013 -0500

    blacklist: move Arduino USB/Serial adapter to greylist

    It's a generic adapter, should be in the manual-probe-only
    greylist instead of the blacklist.

 src/77-mm-usb-device-blacklist.rules         | 6 ------
 src/77-mm-usb-serial-adapters-greylist.rules | 5 ++++-
 2 files changed, 4 insertions(+), 7 deletions(-)

commit 660d59ab44d9821a2b2a5efea823d51fb72e5511
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 8 10:53:38 2013 -0500

    blacklist: ignore a few more Arduinos (rh #861620)

 src/77-mm-usb-device-blacklist.rules | 6 ++++++
 1 file changed, 6 insertions(+)

commit 358fe7f9067d1496b762b97e12babd27a3882ee7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 6 22:44:00 2013 +0200

    base-modem: don't assume primary AT port is available

    QMI modems may not have it.

 src/mm-base-modem.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 3b6b049e51a5be5d099a8ac3c27973b91b8a5be9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 5 18:08:46 2013 +0200

    serial-parser: detect 'NA' as a mobile equipment error

    Just treat 'NA' as MM_MOBILE_EQUIPMENT_ERROR_NOT_ALLOWED error.

    https://bugzilla.gnome.org/show_bug.cgi?id=697368

 src/mm-serial-parsers.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit a294800c7f6290b49ee5011e0a4e99831a070161
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 5 18:22:02 2013 +0200

    icera: create generic bearer when no net port available

    https://bugzilla.gnome.org/show_bug.cgi?id=697374

 plugins/icera/mm-broadband-modem-icera.c | 38
 ++++++++++++++++++++++++++++----
 1 file changed, 34 insertions(+), 4 deletions(-)

commit f9105bff875ae0e7263718a317e156948957a6d0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 3 16:30:48 2013 +0200

    api,introspection: update 'Validity' property in the SMS interface

    We don't want to support only 'relative' validity, so don't assume
    that the
    Validity property will always be a uint32 value.

    Instead, we define the Validity propery as '(uv)' tuple, where the
    first value
    (a MMSmsValidityType) specifies the type of validity, and the second
    value is
    a variant formatted accordingly to what the validity type specifies
    (e.g. a
    uint32 value if the type is MM_SMS_VALIDITY_TYPE_RELATIVE).

 cli/mmcli-sms.c                                    | 17 ++++---
 docs/reference/api/ModemManager-sections.txt       |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  8 ++-
 include/ModemManager-enums.h                       | 16 ++++++
 .../org.freedesktop.ModemManager1.Sms.xml          | 24 +++++++--
 libmm-glib/mm-sms.c                                | 59
 +++++++++++++++++++---
 libmm-glib/mm-sms.h                                |  3 +-
 src/mm-sms-part.c                                  | 16 +++---
 src/mm-sms-part.h                                  |  4 +-
 src/mm-sms.c                                       | 33 +++++++++++-
 src/tests/test-sms-part.c                          |  2 +-
 11 files changed, 149 insertions(+), 34 deletions(-)

commit 372a49bbf661c95110852c86df54008a7bad2774
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 5 10:33:16 2013 -0500

    qcdm: add unsolicited signal level indication from Samsung Z810

 libqcdm/src/dm-commands.h | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

commit 086557e5d53806c962c44060306e49fcbb446786
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 5 10:16:21 2013 +0200

    iface-modem-simple: log about all parameters passed to
    Simple.Connect()

 src/mm-iface-modem-simple.c | 63
 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

commit a2d2f839100e84b721dc335b083f444cebcbb8a1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 5 09:47:31 2013 +0200

    mbm: plug memleaks

 plugins/mbm/mm-broadband-bearer-mbm.c | 2 ++
 1 file changed, 2 insertions(+)

commit 30e2a0f4d0eaf632b357c1b1fd17730c932c6e63
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 5 09:43:38 2013 +0200

    mbm: don't pass (null) as string when either user or password is empty

    E.g. instead of:
      (ttyACM1): --> 'AT*EIAAUW=2,1,"(null)","vodafone"<CR>'
      (ttyACM1): <-- '<CR><LF>OK<CR><LF>'

    Better pass:
      (ttyACM1): --> 'AT*EIAAUW=2,1,"","vodafone"<CR>'
      (ttyACM1): <-- '<CR><LF>OK<CR><LF>'

 plugins/mbm/mm-broadband-bearer-mbm.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 1cb5831af33237ca8f343410982f44cf8fd2903c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 5 08:54:09 2013 +0200

    iface-modem: ensure we cancel the re-initialization idle if the
    modem goes away

    https://bugzilla.gnome.org/show_bug.cgi?id=697290

 src/mm-iface-modem.c | 30 ++++++++++++++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)

commit 76ecc1301af4a19d1bef31d320c79edb4ce013a2
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 4 12:40:10 2013 -0700

    broadband-bearer: handle NULL and character escaping of APN value

 src/mm-broadband-bearer.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 5554658cd2c87d92156f8224db50ccc5f58950a6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 4 18:14:36 2013 +0200

    port-probe: remove non-AT port hint, as it may come in ATI replies

    We remove "/SRC/AMSS" as a hint of non-AT port, as it really comes
    in ATI
    replies, see:

      [mm-at-serial-port.c:408] debug_log(): (ttyUSB6):
      <-- '<CR><LF>Manufacturer: Sierra Wireless,
      Incorporated<CR><LF>Model: USB 306<CR><LF>Revision:
      M3_0_10_1AP C:/WS/FW/M3_0_10_1AP/MDM8200/SRC/AMSS
      2010/03/29 17:52:11<CR><LF>IMEI: xxxxxxxx<CR><LF>IMEI SV:
      11<CR><LF>FSN: xxxxxxxxxx<CR><LF>3GPP Release 7<CR><LF>+GCAP:
      +CGSM,+DS,+ES<CR><LF><CR><LF><CR><LF>OK<CR><LF>'
      [mm-serial-parsers.c:188] mm_serial_parser_v1_parse(): Got response
      filtered in serial port: Not an AT response
      [mm-port-probe.c:148] mm_port_probe_set_result_at(): (tty/ttyUSB6)
      port is not AT-capable

 src/mm-port-probe.c | 1 -
 1 file changed, 1 deletion(-)

commit 8c39f2c55157b0304269fa303f5feb2889ec6333
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 3 17:45:39 2013 +0200

    sierra: implement PIN/PUK retry count loading

    Not all Sierra modems support it, but those which do reply like this:

        AT+CPINC=?
        OK

        AT+CPINC?
        +CPINC: 3,3,10,10

 plugins/sierra/mm-broadband-modem-sierra.c | 61
 ++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

commit 464f33f77f66738c17c14390d7605167f52f62e5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 3 12:29:14 2013 +0200

    sierra: early detect non-AT ports

    Detect the parser filter errors during our custom_init(), and set
    the port as
    not being AT if the error found.

 plugins/sierra/mm-plugin-sierra.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 069a17afd3c0ae007168987836ddaf9dfa63c3e0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 3 12:28:16 2013 +0200

    port-probe: remove no longer needed filter

    Remove the additional check for AT responses done *after* having
    parsed the
    response. This check only worked whenever the response string ended
    up matching
    one of the regular expressions in the parser, which of course
    wasn't always.

 src/mm-port-probe.c | 10 ----------
 1 file changed, 10 deletions(-)

commit f24fc68e04fbe225de162f57e3cbd254f8f03df4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 3 12:26:24 2013 +0200

    port-probe: add a new serial parser filter to detect non-AT strings

    We will check each string with our custom filter before even trying to
    parse them. A MM_SERIAL_ERROR_PARSE_FAILED error will be issued
    whenever the
    string doesn't match the filter.

 include/ModemManager-errors.h |  2 ++
 src/mm-port-probe-at.c        | 11 +++++++----
 src/mm-port-probe.c           | 25 ++++++++++++++++++++++++-
 3 files changed, 33 insertions(+), 5 deletions(-)

commit 4e4d139e309c890b2c5c44b747aeaf9a5deac9bc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 3 12:24:18 2013 +0200

    serial-parsers: allow specifying a custom response filter

    The serial parser will now allow specifying a custom user-provided
    filter, which
    is applied before even trying to match successful/error
    responses. This filter
    provides a very early barrier to detect strings that are clearly
    not going to
    match.

    E.g. this filter may be used during port probing to early detect
    non-AT ports.

 src/mm-serial-parsers.c | 36 ++++++++++++++++++++++++++++++++++--
 src/mm-serial-parsers.h | 28 +++++++++++++++++++---------
 2 files changed, 53 insertions(+), 11 deletions(-)

commit 38b120c8617724ba97ac212c9e01d01c850abdc8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 3 12:20:46 2013 +0200

    port-probe: don't assume the NULL bytes will be at the beginning of
    the response

    Also report as non-AT responses if the NUL bytes are embedded within
    a stream
    of bytes which doesn't start with NUL. This e.g. applies to CnS
    ports from
    Sierra modems, which show streams like:

    ~\0\245y\0}^T1_0_4_0BT R372 CNSZXD00000061 2011/05/12
    15:25:25\0\0\0\0\0\0\0\0\0
    \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0T1_0_4_0AP R372
    CNSZXD00000061 2011/05
    /12
    15:25:25\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
    03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
    \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0~~
    \0Tb\0T1_0_4_0AP R372 CNSZXD

 src/mm-port-probe.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

commit 4ea827a3a11767081d1c055d694ce644e6723cef
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 3 11:05:36 2013 +0200

    sierra: too many timeout errors during custom init means non-AT port

    Reduces probing time of the modem in ~10s.

 plugins/sierra/mm-plugin-sierra.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 2c3e2bd457b908800155e3cfecbccfa9a1f530c7
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Apr 4 09:28:45 2013 -0700

    serial,blacklist: fix file mode (0755 -> 0644)

 src/77-mm-usb-device-blacklist.rules | 0
 src/mm-at-serial-port.c              | 0
 2 files changed, 0 insertions(+), 0 deletions(-)

commit e60ad8d8dc82e8bd6ae9afff2d0b1da264a4ce15
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 4 18:25:29 2013 +0200

    mbm: ignore *ESTKSMS unsolicited messages

    https://bugzilla.gnome.org/show_bug.cgi?id=697280

 plugins/mbm/mm-broadband-modem-mbm.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit d2b4ab9d9c24dfd97ad842b35a2bbd41e6110e00
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 4 17:22:45 2013 +0200

    sierra: 'data' may be NULL if the parent dialling fails

 plugins/sierra/mm-broadband-bearer-sierra.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit a62624aa2293a480e42d49856d131cb2c35b2f27
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 3 17:12:24 2013 +0200

    sierra: plug memleak

 plugins/sierra/mm-broadband-modem-sierra.c | 4 ++++
 1 file changed, 4 insertions(+)

commit bc41dd40cdd8db66c1929465df9b8babf1bd0af1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 4 16:59:19 2013 +0200

    broadband-bearer: ensure we close the port even if we got cancelled

    When there is an error in the connection attempt we need to close
    the dialling
    port ourselves. In the case where we got an error and we also got
    cancelled,
    we need to make sure that the port gets closed.

 src/mm-broadband-bearer.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 0d20a7c85a3b287cf68372eef756194f760a23f7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 4 09:48:54 2013 +0200

    altair-lte: minor style changes

 plugins/altair/mm-broadband-modem-altair-lte.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 84e68cd4cdad03766513cc689519be6dad2f75f6
Author: ori inbar <ori.inbar.altair.semi.com@gmail.com>
Date:   Wed Apr 3 12:47:30 2013 -0500

    altair-lte: initial altair lte plugin

 plugins/Makefile.am                             |  12 +
 plugins/altair/mm-broadband-bearer-altair-lte.c | 377 +++++++++
 plugins/altair/mm-broadband-bearer-altair-lte.h |  61 ++
 plugins/altair/mm-broadband-modem-altair-lte.c  | 973
 ++++++++++++++++++++++++
 plugins/altair/mm-broadband-modem-altair-lte.h  |  51 ++
 plugins/altair/mm-plugin-altair-lte.c           |  84 ++
 plugins/altair/mm-plugin-altair-lte.h           |  48 ++
 src/77-mm-usb-device-blacklist.rules            |   3 +
 8 files changed, 1609 insertions(+)

commit 585b51f922c10f28b7b1bf3ba82a0904c33715c8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 3 09:07:55 2013 +0200

    broadband-modem: remove incorrect debug log

 src/mm-broadband-modem.c | 1 -
 1 file changed, 1 deletion(-)

commit 53b033c727a5fb69155e445d11aec30d87d4c3d9
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Apr 2 12:17:40 2013 -0500

    broadband-modem: turn off CNMI <ds> reporting if modem doesn't
    support it

    MM doesn't yet parse the +CNMI=? response and dynamically figure out
    what indication settings are supported, so add another last-resort
    CNMI setting for the UMW190 which doesn't support any <ds> at all.

    And the commands shouldn't be cached, so fix that too.

 src/mm-broadband-modem.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

commit b67a3948b5900c9af0fd4b97f0febae52ac4a1cc
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Apr 2 12:10:54 2013 -0500

    qcdm: fix IM*I buffer sizes for GSM and WCDMA state info requests

    Found by Enrico Murador.

 libqcdm/src/commands.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 9ffb424ed4fc07a4aa0662ce0f84d7b7d5b06617
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 2 17:41:54 2013 +0200

    pantech: skip WMC ports

    WMC ports will return "ERROR" to all AT commands, except for "AT"
    itself. So
    just provide a custom AT probing logic, which uses "ATE0" instead,
    and assumes
    the port is not an AT port if an error is returned.

 plugins/pantech/mm-plugin-pantech.c | 41
 +++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

commit 678f596ff996dd483d00f026cd21e120fbde698b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 2 13:31:31 2013 +0200

    qcdm-serial-port: avoid playing with GByteArray internals

    Since glib 2.32, we can use g_byte_array_new_take() to build a
    new GByteArray
    from an own allocated buffer, so skip playing with the GByteArray
    internals.

 configure.ac              |  6 +++---
 src/mm-qcdm-serial-port.c | 17 ++++++++++-------
 2 files changed, 13 insertions(+), 10 deletions(-)

commit fc219be4d46aefe644cc17b6a0976be5c1a732b8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 2 16:13:43 2013 +0200

    sms-part: properly skip validity field when given in absolute or
    enhanced format

    We don't support absolute or enhanced format for validity, but we
    still need to
    properly skip those fields if given.

    According to GSM 03.40, they are both always 7 bytes, not just 1.

 src/mm-sms-part.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit c1e70924d8197c51bb8dedb2d232f03dff87aa7b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 30 14:53:17 2013 +0100

    broadband-modem: update CMGL parsing logic

    Pantech UMW190 modem uses a custom +CMGL response which includes only
    three fields before the actual PDU, e.g:

      +CMGL: <index>,<status>,<something>\r\n<PDU>

    instead of what we had before:

      +CMGL: <index>,<status>,<alpha>,<length>\r\n<PDU>

    The CMGL parsing logic is now updated to use a regex to match the
    reply, and
    also considering the UMW190 specific case.

    Actually, we end up reading only the two first fields (index and
    status) which
    are the ones we really need, so we skip the <length> and the <alpha>
    if given.

    Added also unit tests to cover all these known cases.

    Partially fixes https://bugzilla.gnome.org/show_bug.cgi?id=696723
    (missing the
    actual PDU parsing fixes).

 src/mm-broadband-modem.c       |  45 ++++-------
 src/mm-modem-helpers.c         |  70 ++++++++++++++++-
 src/mm-modem-helpers.h         |  11 +++
 src/tests/test-modem-helpers.c | 172
 +++++++++++++++++++++++++++++++++++++++++
 4 files changed, 268 insertions(+), 30 deletions(-)

commit bb4f4f4e9e91d79974d1bb4ce3d42c5b0bbc734d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 30 12:43:25 2013 +0100

    pantech: fully skip the SIM storage in the messaging interface

    Seems that trying to use the SIM storage hangs a UMW190  modem,
    so just fully
    ignore it for now.

    https://bugzilla.gnome.org/show_bug.cgi?id=696724

 plugins/pantech/mm-broadband-modem-pantech.c | 61
 +++++++++++++++++++++++++++-
 1 file changed, 60 insertions(+), 1 deletion(-)

commit a066cc84cfb699056774c31d7025b83a26fc910c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Apr 1 17:47:43 2013 +0200

    mbm: fix udev rule tagging logic

 plugins/mbm/77-mm-ericsson-mbm.rules | 1 +
 1 file changed, 1 insertion(+)

commit 4fe5b3e42c50cadca0cb5606e7142a22f7449049
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Apr 1 16:38:29 2013 +0200

    serial-usb greylist: added new USB<->Serial adapters

    https://bugzilla.gnome.org/show_bug.cgi?id=643793

 src/77-mm-usb-serial-adapters-greylist.rules | 6 ++++++
 1 file changed, 6 insertions(+)

commit 2896e711ae8d4ae5b2188c963aeb8456ff2189fe
Author: David Castellanos <dcastellanos@indra.es>
Date:   Tue Mar 26 16:24:40 2013 +0100

    x22x: Fix problem in set allowed mode

    NM attempts to set allowed and preferred mode during the connection
    process. The plugin x220x does not handle properly when NM request
    allowed mode to '2g, 3g' and the preferred mode to 'none'.

    This commit attempts to solve the problem described above. When this
    situation happens, establish the mode of the modem has 'ANY' (which
    seems the safest one) instead of just throwing an error.

    Signed-off-by: David Castellanos <dcastellanos@indra.es>

 plugins/x22x/mm-broadband-modem-x22x.c | 2 ++
 1 file changed, 2 insertions(+)

commit c9b7761ed5ae83989cd3c8e2fbb5fc413c351102
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Apr 1 14:12:54 2013 +0200

    base-modem: don't assume all cdc-wdm ports are QMI

 src/mm-base-modem.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

commit 5ffad1f51f217abe237f9c9ef0bc3151a7cad227
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 30 11:38:29 2013 +0100

    mbm: don't tag only tty ports, and also grab cdc-wdm ports

    We also need to tag cdc-wdm ports, so that they get grabbed but
    ignored and
    not QMI-probed.

    https://bugzilla.gnome.org/show_bug.cgi?id=696701

 plugins/mbm/77-mm-ericsson-mbm.rules | 5 +++--
 plugins/mbm/mm-plugin-mbm.c          | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

commit b9b5ca39dfc13073584d99f20c94bd275aeba713
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 29 13:47:16 2013 +0100

    mbm: wait for unlock reporting READY after PIN/PUK unlock

    MBM modems will lie about the unlock status just after having sent a
    correct PIN or PUK. So, explicitly wait to get in READY state
    after having
    sent the PIN or PUK, before keeping on.

    https://bugzilla.gnome.org/show_bug.cgi?id=696702

 plugins/Makefile.am                  |   4 +-
 plugins/mbm/mm-broadband-modem-mbm.c |  26 ++++
 plugins/mbm/mm-sim-mbm.c             | 237
 +++++++++++++++++++++++++++++++++++
 plugins/mbm/mm-sim-mbm.h             |  51 ++++++++
 4 files changed, 317 insertions(+), 1 deletion(-)

commit 477623f0a076b09f703db96927c7b3baeab493d8
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 27 17:38:45 2013 -0500

    broadband-modem-novatel: implement CDMA time API (bgo #696739)

    Use AT$NWLTIME to get current time and UTC offset.

 plugins/novatel/mm-broadband-modem-novatel.c | 169
 ++++++++++++++++++++++++++-
 1 file changed, 168 insertions(+), 1 deletion(-)

commit a7b8cbb71d1447a5cc870aefed99ccc6b3325cd3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 29 12:33:20 2013 +0100

    port-probe: don't reschedule next probing step when serial port
    buffer full

    When the serial port buffer gets full of non-AT garbage during
    port probing,
    we were re-scheduling the next probing step, which is completely
    wrong, as we
    then would be processing the same probing task twice. If we get a
    buffer full,
    just cancel the AT probing cancellable, which would cancel not only
    the possible
    AT probings, but also the custom init if there is any.

    Also, make sure that the custom_init() of the plugins out there
    don't return an
    error if the GCancellable is cancelled. Cancelling the GCancellable
    means we
    should just stop the custom_init(), and actually sending an error in
    custom_init() means that the port should be set as unsupported by
    the plugin, so
    completely different things.

    Should fix https://bugzilla.gnome.org/show_bug.cgi?id=696695

 plugins/huawei/mm-plugin-huawei.c       |  5 +----
 plugins/longcheer/mm-plugin-longcheer.c |  5 +----
 plugins/sierra/mm-plugin-sierra.c       | 10 ++++------
 plugins/x22x/mm-plugin-x22x.c           |  5 +----
 src/mm-port-probe.c                     | 10 ++++++++--
 5 files changed, 15 insertions(+), 20 deletions(-)

commit 1e7164792732b28db77fdc3d56e4a7a9e43e6602
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 28 20:48:42 2013 +0100

    broadband-modem: plugins may disable parent's access tech loading

 src/mm-broadband-modem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 633708b364c646595af3242c6d1a7b03b9a2359f
Author: ori inbar <ori.inbar.altair.semi.com@gmail.com>
Date:   Wed Mar 27 15:14:51 2013 -0500

    serial: add support to optionally send line-feed at the end of
    AT commands.

 src/mm-at-serial-port.c | 40 ++++++++++++++++++++++++++++++++++------
 src/mm-at-serial-port.h |  2 ++
 src/mm-plugin.c         | 19 +++++++++++++++++++
 src/mm-plugin.h         |  1 +
 src/mm-port-probe.c     |  5 +++++
 src/mm-port-probe.h     |  1 +
 6 files changed, 62 insertions(+), 6 deletions(-)

commit 98772f2ec9af0662631232a176141465a12b06e6
Author: ori inbar <ori.inbar.altair.semi.com@gmail.com>
Date:   Wed Mar 27 15:25:58 2013 -0500

    iface-modem-3gpp: handle access technology change in operator_loading
    state

    This patch fixes a problem of disregarding CEREG/CGREG/CREG reported
    access technology since we are in "registering" state - meaning we are
    loading operator name+code. now even in this transition state the ACT
    is updated.

 src/mm-iface-modem-3gpp.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit effd574a632c78f70887368c8296d133157c2a3c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 28 17:49:22 2013 +0100

    option: don't apply both vendor and product filters at the same time

    The probing logic expects either one or the other right now. In this
    case, it is
    just simpler to include the Nozomi-related VID in the vendor filter,
    and remove
    the product filter.

 plugins/option/mm-plugin-option.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

commit 2bbe2f83275e04c44f7fb46102d40871ae505603
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 27 16:05:31 2013 -0500

    device: read PCI VID/PID

    Nozomi devices are old Option NV CardBus devices with the ttys (nozX)
    hanging directly off the PCI device.  We need to read the vendor and
    product IDs off them too.  It appears that udev screws up the
    ID_MODEL_ID
    field (at least on F17, its set to the device path and not the PCI ID)
    so just skip looking at the TTY itself and read the PCI parent, where
    we're 100% sure to find the PCI IDs we want.

 src/mm-device.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit e33fc37ec2e7574bf74ae60496fe3c1ed2ff0e3a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 27 15:15:04 2013 +0100

    option: ignore PH_SIM facility lock in 'nozomi' based modems

    https://bugzilla.gnome.org/show_bug.cgi?id=696593

 plugins/option/mm-broadband-modem-option.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

commit d9cf4fe91c21eb045cc4718d73cf2210b945d273
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 27 15:14:34 2013 +0100

    iface-modem-3gpp: let plugins ignore facility locks

    Plugins may decide which facility locks can be completely skipped
    from the list
    being checked.

 src/mm-broadband-modem.c  | 24 ++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.c |  9 +++++++++
 src/mm-iface-modem-3gpp.h | 11 ++++++-----
 3 files changed, 39 insertions(+), 5 deletions(-)

commit fea5b7a670ac64775771ccd3d3b635d4878d6ba9
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 27 18:20:34 2013 -0500

    broadband-modem-icera: make CME 3 errors fail power-up (bgo #696742)

    +CME ERROR: 3 (Not Allowed) means airplane mode, at least for the
    Samsung Yxxxx devices that I've got.  And if we get this error
    on any other devices, chances are they'll fail to power up too.

 plugins/icera/mm-broadband-modem-icera.c | 54
 ++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

commit d6ac6508d95aeab49f7ed9a5fe225c7685107f73
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 27 17:00:08 2013 +0100

    plugin: explicitly request QMI probing

    Plugins which may support QMI ports need to explicitly request
    QMI probing
    in cdc-wdm devices. This should also avoid probing cdc-wdm ports
    when we know
    that the plugin doesn't support them (e.g. with Ericsson MBM devices).

    https://bugzilla.gnome.org/show_bug.cgi?id=696701

 plugins/anydata/mm-plugin-anydata.c |  1 +
 plugins/generic/mm-plugin-generic.c |  1 +
 plugins/gobi/mm-plugin-gobi.c       |  1 +
 plugins/huawei/mm-plugin-huawei.c   |  1 +
 plugins/pantech/mm-plugin-pantech.c |  7 ++++---
 plugins/sierra/mm-plugin-sierra.c   |  1 +
 src/mm-plugin.c                     | 29 +++++++++++++++++++++++++++--
 src/mm-plugin.h                     |  1 +
 8 files changed, 37 insertions(+), 5 deletions(-)

commit b76dc134bf6bed78c0a83fdc12d2e1f66821148c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 27 17:29:49 2013 +0100

    novatel: try to flip secondary ports to AT as soon as possible

    So do it during port probing. If we send this command early enough
    in the
    first AT port being probed, it should flip the secondary ports to
    AT mode
    before their port probing is finished.

    https://bugzilla.gnome.org/show_bug.cgi?id=696696

 plugins/novatel/mm-broadband-modem-novatel.c | 23 -----------------------
 plugins/novatel/mm-plugin-novatel.c          | 16 ++++++++++++++++
 2 files changed, 16 insertions(+), 23 deletions(-)

commit ca97f0e79fde28f934eddebb32b51dfa31be5d74
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 27 18:02:50 2013 -0500

    broadband-modem-sierra: fix trivial copy & paste error

 plugins/sierra/mm-broadband-modem-sierra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 190eb73bf969e3c1bd4e3dc101b538e810739664
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 27 15:02:40 2013 -0500

    broadband-modem: prefer specific access tech checks over generic
    +CGREG access tech (bgo #696705)

    If the modem has specific access technology checks, don't override
    them
    with the generic access technology from +CGREG responses, since that
    doesn't have the granularity that specific checks do.  For example,
    the
    +CGREG response only indicates UMTS, and cannot indicate HSDPA, HSUPA,
    HSPA, HSPA+, DC-HSPA, etc.

 src/mm-broadband-modem.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit 9119962e12aa886eae575993df09602362554cf3
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 27 08:31:18 2013 -0500

    broadband-modem: remove debugging code

    Slipped in while debugging Nozomi stuff; not caught in review.

 src/mm-broadband-modem.c | 2 --
 1 file changed, 2 deletions(-)

commit b377a62377db46c2cdb2b3b8f6f4166f7d2a3dcc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 26 16:40:54 2013 +0100

    iface-modem: never try to create a SIM in a CDMA-only modem

    CDMA modems without LTE capabilities will usually not have a SIM,
    so just skip
    loading a SIM object if so.

    https://bugzilla.gnome.org/show_bug.cgi?id=696582

 src/mm-broadband-modem.c | 52
 +++---------------------------------------------
 src/mm-iface-modem.c     |  6 ++++--
 2 files changed, 7 insertions(+), 51 deletions(-)

commit 7f1bea5fbf9ea25eeebb320e476d56ece44f276e
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 25 13:47:00 2013 -0500

    broadband-modem-qmi: zero-pad ESN to 8 characters

    It's very likely to already be 8 characters, but if by some
    chance it's 7, zero-pad like we do for AT+GSN responses in
    the generic CDMA code.

 src/mm-broadband-modem-qmi.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

commit 3b3326bdf03a02822ac8d1e9e0ff08db2324c3ed
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 25 13:20:13 2013 -0500

    broadband-modem: parse +GSN response for IMEI, MEID, and ESN
    (bgo #696596)

    +GSN response differs widely between modems.  Some prefix the
    MEID and/or ESN with 0x, some have leading zeros, some return the
    MEID and the ESN, and some append the serial number to the end of
    the IMEI.  Handle that and make the ESN, MEID, IMEI, and
    EquipmentIdentifier parsing consistent.

 src/mm-broadband-modem.c       |  81 +++++++++++++++++++++++----
 src/mm-modem-helpers.c         | 121
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |   5 ++
 src/tests/test-modem-helpers.c |  68 ++++++++++++++++++++++-
 4 files changed, 263 insertions(+), 12 deletions(-)

commit f299a05571f8d9b9f0bf996f20563ed9a13dab02
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 26 12:34:52 2013 +0100

    sms-part: use correct printf modifier for gsize

    This is the port to git master of the following commit:

        commit 294a91d9f6390d532399be35ddbf6a2b8d136576
        Author: Thomas Bechtold <thomasbechtold@jpberlin.de>
        Date:   Mon Mar 25 14:28:03 2013 +0100

            sms-utils: use correct printf modifier for gsize

 src/mm-sms-part.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit fcbaa4355505b9de3f227145c4455ca5c387c1e8
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 25 16:18:28 2013 -0500

    broadband-modem: minimally verify QCDM MDN before using it

    Sometimes it's garbage, and we don't like garbage.

 src/mm-broadband-modem.c | 27 ++++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

commit 95b46c16f1ddb5102876ad87ade47b974cd45e34
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 25 15:49:08 2013 -0500

    broadband-modem-sierra: add after-sim-unlock delay

    Older devices may crash if asked to connect right after sending the
    PIN and unlocking the SIM; they simply stop responding to AT commands
    around the first request for access technology and then reboot.  A
    delay seems prevents this behavior.

    Since it's not uncommon to require a delay after SIM unlock, add one
    for newer sierra_net devices as well, even though we're not quite
    sure if they need one or not.  It doesn't hurt, at least.

 plugins/sierra/mm-broadband-modem-sierra.c | 50
 ++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

commit 8ebce66f966c18bea0114206bcfeacdc08023c84
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 25 15:03:59 2013 -0500

    sierra: fix time check warnings for modems that don't support time

    'result' may be NULL even if no error is set.  Errors aren't set
    because we want to continue the !TIME/!SYSTIME sequence regardless
    of errors, so we can figure out which command the modem supports.

    Trying to get a uint32 out of a NULL GVariant makes glib complain,
    and it's wrong, so don't do that.

 plugins/sierra/mm-broadband-modem-sierra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 14bb687b946380e03c6c6e482f14c0374e50ac18
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 22 08:17:48 2013 +0100

    iface-modem-cdma: fix use of uninitialized variable

 src/mm-iface-modem-cdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 215255d32553c3ef8919052b8c33a866c84cac7a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 10 15:35:50 2012 +0200

    cli: show CDMA activation state info

 cli/mmcli-modem.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 3b66047d941e8d38c38022fc835ce1f5dab32bf8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 9 18:59:56 2012 +0200

    broadband-modem-qmi: implement automatic CDMA activation

 src/mm-broadband-modem-qmi.c | 347
 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 344 insertions(+), 3 deletions(-)

commit 6252df0bef49c417a4d5b7bab51695d57de3b658
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 10 11:30:05 2012 +0200

    broadband-modem-qmi: new generic power cycle action

 src/mm-broadband-modem-qmi.c | 176
 ++++++++++++++++++++++++++++---------------
 1 file changed, 114 insertions(+), 62 deletions(-)

commit 3e5251cad703dcb7ec679fae215f4cb01503df4e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 9 18:21:02 2012 +0200

    broadband-modem-qmi: implement initial CDMA activation state loading

 src/mm-broadband-modem-qmi.c | 97
 ++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.c   | 27 ++++++++++++
 src/mm-modem-helpers-qmi.h   |  2 +
 3 files changed, 126 insertions(+)

commit 5cc98341ad5fbafd3d8f83c65767f604b0e5a5e4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 9 17:59:06 2012 +0200

    iface-modem-cdma: load initial activation state during init

 src/mm-iface-modem-cdma.c | 38 ++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-cdma.h |  8 ++++++++
 2 files changed, 46 insertions(+)

commit 240dc12fd268b2fed4c14e303779d779d9c39490
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 9 17:46:27 2012 +0200

    iface-modem-cdma: allow reporting activation state changes

 src/mm-iface-modem-cdma.c | 68
 ++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem-cdma.h | 10 ++++---
 2 files changed, 74 insertions(+), 4 deletions(-)

commit 685eb85534118557545b5b4e5516818ab21394a5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 9 17:50:33 2012 +0200

    api,enums: new `MM_MODEM_CDMA_ACTIVATION_STATE_UNKNOWN' value

    Used initially when we don't know the current activation state.

 include/ModemManager-enums.h | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

commit 3e33f1bc4dd925da6c52191aa953f64e1cd22de2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 9 17:45:43 2012 +0200

    api,introspection: new `ActivationState' property in the CDMA
    interface

 docs/reference/libmm-glib/libmm-glib-sections.txt      |  3 +++
 .../org.freedesktop.ModemManager1.Modem.ModemCdma.xml  |  8 ++++++++
 libmm-glib/mm-modem-cdma.c                             | 18
 ++++++++++++++++++
 libmm-glib/mm-modem-cdma.h                             |  1 +
 4 files changed, 30 insertions(+)

commit 9367f239db5b64f560e02575335b176c0a38024b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 9 17:15:57 2012 +0200

    api,introspection: minor updates in the CDMA interface descriptions

 introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml |
 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit ad757bd3bc722bd8ee9d015d1a6b45f689fc1628
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 21 17:29:49 2013 +0100

    bearer-qmi: don't try to gather connection settings if we didn't
    connect

 src/mm-bearer-qmi.c | 46 +++++++++++++++++++++++++---------------------
 1 file changed, 25 insertions(+), 21 deletions(-)

commit aa84ce98f7a94085b81ec581a2ef45db77ee5080
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 20 21:36:34 2013 +0100

    blacklist: ignore Arduino devices

    https://bugs.launchpad.net/bugs/910736
    https://bugs.launchpad.net/bugs/1153632

 src/77-mm-usb-device-blacklist.rules | 5 +++++
 1 file changed, 5 insertions(+)

commit 0b39072b76cc5cca1dd84a7db079b4d6db3386cb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 20 18:16:10 2013 +0100

    error-helpers: avoid crash when error is not recognized

    Just remove the last element with NULL strings in the array of errors,
    as we're
    safe using G_N_ELEMENTS() to iterate it.

    Reported by Jose Maria Gonzalez Calabozo <jmgonzalezc@indra.es>

 src/mm-error-helpers.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit f27dbda4a7b21aa4093d71c3886e67ca614e4f64
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 20 09:50:34 2013 +0100

    iface-modem-cdma: fix checking support for manual activation

 src/mm-iface-modem-cdma.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit e6a5ad259ce20fb55e9524502f9c66c80e3ba5eb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 14 14:41:50 2013 +0100

    build: fix check for libqmi when newest QMI commands are enabled

    Reported by Marius Kotsbak <marius.kotsbak@gmail.com>

 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit b64fc4b588a9dfa953219b9ab3a1ec036d7c9c80
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 13 17:05:55 2013 +0100

    blacklist: ignore West Mountain radio devices

    https://bugs.launchpad.net/bugs/1154654

 src/77-mm-usb-device-blacklist.rules | 5 +++++
 1 file changed, 5 insertions(+)

commit 671d34cf925c63e0c06934bb3516d42581efeb35
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 13 10:31:06 2013 -0500

    qcdm: add auto-LTE modes for GSM and CDMA

    as in, CDMA+EVDO+LTE and GSM+UMTS+LTE which were missing before.

 libqcdm/tests/modepref.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

commit bee388098cb892c8697419f5f007f8d506ec8dd4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 13 11:17:27 2013 +0100

    build: ignore 'modepref' test

 .gitignore | 1 +
 1 file changed, 1 insertion(+)

commit dd4be407b210aa710dc862bb246bbbec17c27805
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 12 16:50:49 2013 -0500

    qcdm: modepref: reset device after setting mode preference

    Otherwise it doesn't actually take until you unplug/replug.

 libqcdm/tests/modepref.c | 45
 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

commit 974471e2952b985d8d93de01b7f6f54086180365
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 12 15:46:33 2013 -0500

    build: distribute autogen.sh

 Makefile.am | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit e390d210750f21585185d3ed0b9dd5629b974ed5
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 12 13:00:06 2013 -0500

    qcdm: add modepref utility

    Sets and gets the NV "mode pref" item for allowed access
    technologies.

 libqcdm/tests/Makefile.am |   8 +-
 libqcdm/tests/modepref.c  | 516
 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 523 insertions(+), 1 deletion(-)

commit 5efb1ceb5eacaabad1d640de713d3576a19c5831
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 12 12:58:37 2013 -0500

    qcdm: fix up NV Mode Pref item handling

    While the QCDM and DIAG_NV are the same, in reality they shouldn't
    be and there should be a mapping between them.  That wasn't happening,
    so fix that up and add a few missing modes to the NV item defines.

 libqcdm/src/commands.c | 65
 +++++++++++++++++++++++++++++---------------------
 libqcdm/src/commands.h |  2 ++
 libqcdm/src/nv-items.h |  1 +
 3 files changed, 41 insertions(+), 27 deletions(-)

commit 30fb4e9da7f808659d8e7bfe9e9c2de2b8eafea2
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 12 12:08:24 2013 -0500

    wmc: add get functionality to uml290mode

 uml290/uml290mode.c | 301
 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 256 insertions(+), 45 deletions(-)

commit 66c5416e3cbe6233c24de3738c1e3cbe6c1709af
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 12 12:57:31 2013 +0100

    broadband-modem-qmi: fix logic to include GSM/WCDM acquisition
    order preference

 src/mm-broadband-modem-qmi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 4e6400d3c8f30fa590b0276823254a4be11ff105
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 12 18:48:45 2013 +0100

    zte: add port type hints for the ZTE MF195

    https://bugzilla.gnome.org/show_bug.cgi?id=691480

 plugins/zte/77-mm-zte-port-types.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 5758fafaf5b5c87269f99b5dfaae64e492d519fd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 12 12:22:22 2013 +0100

    modem-helpers-qmi: fix allowed mode translation from QMI to MM

    Which actually fixes allowed mode switching in MM...

 src/mm-modem-helpers-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4b2577fe297e7e49bf369a18ba51b2de44dc3dfe
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 12 11:01:27 2013 +0100

    broadband-modem-qmi: fix initial operating mode loading

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2bcc647d3e1fa548b224dfb23ce5489ce6c5ac44
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 12 10:59:14 2013 +0100

    broadband-modem-qmi: handle 'UimUninitialized' error when checking
    unlock status

    QMI modems without SIM may report 'UimUninitialized' QMI protocol
    errors, so
    catch those and use them as 'SIM failure' so that they get reported
    to the user.

 src/mm-broadband-modem-qmi.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 0dea5b5d72bfd9c3c1dab88dcd6d054408abbb53
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Mar 5 13:21:21 2013 -0800

    broadband-modem: fix enable flag in
    UnsolicitedRegistrationEventsContext

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 14c03f98ad9d25af117c0d161676fb1f9f481005
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 5 20:47:58 2013 +0100

    mbm: fix 3gpp dialling sequence when result comes through polling

 plugins/mbm/mm-broadband-bearer-mbm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 144cc7011ea62426af784607e431318ae113361e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 5 20:32:03 2013 +0100

    mbm: tag the ttys instead of the parent usb device

    We can just tag the ttys instead of the parent usb device, so that
    the core
    logic which looks in the plugin-specified port tags works
    properly. There is no
    need to explicitly tag the net port, as the probing for this port
    ends when a
    plugin suggestion comes from another port probing on the same device.

 plugins/mbm/77-mm-ericsson-mbm.rules | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 3ebc8413b0d06346824942da400b04908b2c7ab7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 4 13:38:19 2013 +0100

    udev: tag all devices from idVendor 0x0711 as manual-scan-only

    Magic Control Technology Corp (0x0711) manufacturers several
    USB<->RS232
    adapters.

 src/77-mm-usb-serial-adapters-greylist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 8450b7b2a39a6e1c9fda950dc3f821984c73c56b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 2 14:13:32 2013 +0100

    core: don't automatically probe ports of USB<->serial adapters

    We should not automatically probe ports marked as coming from USB
    to serial
    adapters, as we're not sure that a modem is behind the adapter. Still,
    let the
    user request a manual scan and have these devices probed in that case.

    https://bugzilla.gnome.org/show_bug.cgi?id=647556
    https://bugzilla.gnome.org/show_bug.cgi?id=691076

 src/77-mm-usb-device-blacklist.rules         |  6 -----
 src/77-mm-usb-serial-adapters-greylist.rules | 22 ++++++++++++++++++
 src/Makefile.am                              |  1 +
 src/main.c                                   |  4 ++--
 src/mm-manager.c                             | 34
 +++++++++++++++++++---------
 src/mm-manager.h                             |  3 ++-
 6 files changed, 50 insertions(+), 20 deletions(-)

commit 3678ae53788848d2e202d9afcc7f8eb9577fc427
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Mar 4 18:37:46 2013 -0800

    iface-modem-3gpp: handle non-deferrable registration state updates

    This patch changes MMIfaceModem3gpp to differentiate between
    deferrable
    and non-deferrable 3GPP registration state updates. Periodic or
    unsolicited registration state updates are deferrable, while internal
    updates, e.g. due to modem being disabled, are non-deferrable.

 src/mm-iface-modem-3gpp.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

commit 1e67312aaf0f03fda9bf15e2f8b8175ab1e2847a
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Mar 4 17:00:36 2013 -0800

    broadband-modem: fix disabling of unsolicited registration events

 src/mm-broadband-modem.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 113916beb5dcb16f139054bd3913255e4028b111
Author: Gerald Richter <richter@ecos.de>
Date:   Mon Mar 4 08:32:23 2013 -0600

    sierra: add MC8790 to APP1 PPP whitelist

 plugins/sierra/mm-plugin-sierra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9ee9845b1ebbb29a7540eb5adb6ee03cbe030b2d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 1 18:21:19 2013 +0100

    iface-modem-3gpp: avoid re-setting deferred registration update
    while disabling

    Don't clear the current deferred registration update until having
    disabled
    and cleaned up unsolicited registrations state messages, or we may
    end up
    re-setting the deferred registration update again meanwhile

 src/mm-iface-modem-3gpp.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit f93bba25f2ef41af8f28296c8f8b2be81c42bdb6
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Feb 28 11:11:59 2013 -0800

    iface-modem-3gpp: clear deferred registration state update when
    disabling

 src/mm-iface-modem-3gpp.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit c79d266e627242b22a5e146ab157e34135e7a36a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 26 23:02:04 2013 +0100

    udev: update all udev rules to always match both VID/PID together

    If the rules to tag specific USB interface numbers only apply on
    the PID, we'll
    end up seeing that if the port has a parent with another PID, and
    that other
    PID also has a rule, port will get tagged multiple times. Easier to
    see with an
    example:

    The ZTE MF637 (VID 0x19D2, PID 0x0121) had the following rules:

    ATTRS{idProduct}=="0121", ENV{.MM_USBIFNUM}=="04",
    ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
    ATTRS{idProduct}=="0121", ENV{.MM_USBIFNUM}=="01",
    ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"

    In our ZTE rules we also have some for the device with PID 0x0002,
    like:

    ATTRS{idProduct}=="0002", ENV{.MM_USBIFNUM}=="02",
    ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
    ATTRS{idProduct}=="0002", ENV{.MM_USBIFNUM}=="04",
    ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"

    And it seems that we can grab multiple PIDs from a single port,
    i.e. from the
    parent objects in the hierarchy:

    udevadm info -a -n /dev/ttyUSB4 | grep idProduct
        ATTRS{idProduct}=="0121"
        ATTRS{idProduct}=="0020"
        ATTRS{idProduct}=="0002"

    Where that 0x0002 idProduct is not from the modem, but from the
    EHCI Host
    Controller (with idVendor 0x1d6b in my case).

    So... we end up seeing that both set of rules will apply to the ports,
    and we
    misleadingly get:

        (ttyUSB3) type 'at' claimed by
        /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
        ZTE: AT port 'tty/ttyUSB2' flagged as primary
        (ttyUSB2) type 'at' claimed by
        /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
        ZTE: AT port 'tty/ttyUSB1' flagged as secondary
        (ttyUSB1) type 'at' claimed by
        /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
        ZTE: AT port 'tty/ttyUSB4' flagged as primary
        b_port(): (ttyUSB4) type 'at' claimed by
        /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
        (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB2
        at (primary)
        (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB1
        at (secondary)
        (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB2
        data (primary)
        (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB0
        qcdm

    Which is wrong, as ttyUSB4 should have been our primary port,
    not ttyUSB2.

    With this patch on, the rules apply only to the VID/PID pair, and
    we end up
    getting what we really wanted:

        (ttyUSB3) type 'at' claimed by
        /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
        (ttyUSB2) type 'at' claimed by
        /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
        ZTE: AT port 'tty/ttyUSB1' flagged as secondary
        (ttyUSB1) type 'at' claimed by
        /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
        ZTE: AT port 'tty/ttyUSB4' flagged as primary
        b_port(): (ttyUSB4) type 'at' claimed by
        /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
        (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB4
        at (primary)
        (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB1
        at (secondary)
        (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB4
        data (primary)
        (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB0
        qcdm

    https://bugzilla.gnome.org/show_bug.cgi?id=694759

 plugins/longcheer/77-mm-longcheer-port-types.rules | 269
 ++++++++++-----------
 plugins/nokia/77-mm-nokia-port-types.rules         |  25 +-
 plugins/simtech/77-mm-simtech-port-types.rules     |  21 +-
 plugins/x22x/77-mm-x22x-port-types.rules           |  25 +-
 plugins/zte/77-mm-zte-port-types.rules             | 233
 +++++++++---------
 5 files changed, 284 insertions(+), 289 deletions(-)

commit 89461cf7b3bea1ba3fe02de1629305f62cd4cb48
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 26 21:17:43 2013 +0100

    iface-modem: allow falling back to 'failed' state

    Allow mm_iface_modem_update_state() receive 'MM_MODEM_STATE_FAILED',
    and treat
    it as any other change to failed state, but with
    'MM_MODEM_STATE_FAILED_REASON_UNKNOWN'.

 src/mm-iface-modem.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 3f3950bd12e4e09bf6505e7a3f96acdee924ad1c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 26 20:57:37 2013 +0100

    plugins: log about all port type hints received from udev

 plugins/longcheer/mm-plugin-longcheer.c | 12 +++++++++---
 plugins/nokia/mm-plugin-nokia-icera.c   | 11 +++++++++--
 plugins/simtech/mm-plugin-simtech.c     | 12 ++++++++++--
 plugins/x22x/mm-plugin-x22x.c           | 12 +++++++++---
 plugins/zte/mm-plugin-zte.c             | 13 ++++++++++---
 5 files changed, 47 insertions(+), 13 deletions(-)

commit 8d74b11bd3a5627490a25c52ffddae0843c2ee49
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 25 12:04:23 2013 +0100

    plugin-manager: cancelled tasks are no longer deferred-until-suggested

    The deferred-until-suggested tasks specify tasks that are
    open/ongoing;
    cancelled tasks shouldn't have this flag set.

    https://bugzilla.gnome.org/show_bug.cgi?id=694603

 src/mm-plugin-manager.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 8488782e1424db0ec42839b4713373b588224a3e
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Feb 15 15:17:18 2013 -0800

    iface-modem-3gpp: defer registration state update when registration
    is lost

    This patch defers the update of 3GPP registration state by 15 seconds
    when the registration state changes from 'registered' (home / roaming)
    to 'searching'. This allows a temporary loss of 3GPP registration to
    recover itself when relying on ModemManager to explicitly disconnect
    and
    reconnect to the network.

 src/mm-iface-modem-3gpp.c | 122
 ++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 102 insertions(+), 20 deletions(-)

commit 980ad52a479a12e9777419d6e6f0a77005a36528
Author: Colin Walters <walters@verbum.org>
Date:   Sun Feb 24 05:16:17 2013 -0500

    build: Look for generated file in builddir, not srcdir

 libmm-glib/generated/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3f8b11e3f0af19b0df0fb510b76cdcae42a3dd5d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 22 21:48:45 2013 +0100

    broadband-modem: fix CUSD response parsing

    When reading the string reply in a +CUSD indication, don't blindly
    split
    using whitespace or comma as field separator, as the string may be
    a text string
    with both whitespaces and commas, e.g.:

    +CUSD: 0,"hey hey, something here<LF>***<LF>and something more here"

    Also, skip reading the encoding field for now, as we don't use it yet.

 src/mm-broadband-modem.c | 47
 ++++++++++++++++-------------------------------
 1 file changed, 16 insertions(+), 31 deletions(-)

commit c19ee43cbea5c553b5ad2d5bb10f88abad574965
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 22 20:16:32 2013 +0100

    broadband-modem: avoid reading already freed memory in USSD operations

 src/mm-broadband-modem.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

commit 9976625f94335295843ff38440d9e48a6e899d3a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 22 19:39:06 2013 +0100

    broadband-modem: USSD response may come even before finishing
    our request

    MBM devices seem to include the '+CUSD: 0' indication before even
    returning OK to our '+CUSD=1'

    (ttyACM0): --> 'AT+CUSD=1,"*111#",15<CR>'
    (ttyACM0): <-- '<CR><LF>+CUSD: 0,"reply here"<CR><LF>'
    (ttyACM0): <-- '<CR><LF>OK<CR><LF>'

 src/mm-broadband-modem.c | 71
 ++++++++++++++++++++++++++++++++++++------------
 1 file changed, 54 insertions(+), 17 deletions(-)

commit b1bb8e30b4fd835649b5790895fcd519f1809141
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 22 18:58:06 2013 +0100

    broadband-modem: don't assume the returned string is always
    hex-encoded

 libmm-glib/mm-common-helpers.c | 25 +++++++++++++++++++++++++
 libmm-glib/mm-common-helpers.h |  1 +
 src/mm-broadband-modem.c       |  7 ++++++-
 3 files changed, 32 insertions(+), 1 deletion(-)

commit ca49af0c5d4b649950ef3ed038e70f58a37050f3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 22 17:54:16 2013 +0100

    mbm: fix CFUN result parsing

 plugins/mbm/mm-broadband-modem-mbm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit b22bba509aced5aee4da2094fb9a0ff40d2a2cd2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 22 17:47:25 2013 +0100

    broadband-modem: increase default AT command timeout for USSD
    operations

    May really take more than 3s.

 src/mm-broadband-modem.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 50ecf2a7d91221ea1db4a26e26222c048062a7a2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 22 17:19:58 2013 +0100

    mbm: implement custom modem_power_down()

    Cache last valid allowed mode always, so that we re-use it when
    powering up
    again.

 plugins/mbm/mm-broadband-modem-mbm.c | 112
 ++++++++++++++++++++++++++---------
 1 file changed, 84 insertions(+), 28 deletions(-)

commit c0ce165d09d5ed80fff31ffd4bceb168e6c10b26
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 22 16:35:50 2013 +0100

    mbm: implement custom load_power_state()

    We need to handle modems which appear in low-power mode (e.g. CFUN=4),
    so
    implement a custom check of the power state. We cannot use the
    default check
    as MBM modems use CFUN also for allowed mode handling.

 plugins/mbm/mm-broadband-modem-mbm.c | 74
 +++++++++++++++++++++++++++++++-----
 1 file changed, 64 insertions(+), 10 deletions(-)

commit 75d20c15d4f844270cfc6c31fae261412e4b1b59
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 22 08:58:36 2013 +0100

    api: notify in the interface about the reason why the modem is FAILED

    We currently implement 'SIM missing' and 'SIM error', which are
    probably the
    most common ones.

 cli/mmcli-common.c                                 |  2 ++
 cli/mmcli-modem.c                                  | 15 +++++++----
 docs/reference/api/ModemManager-sections.txt       |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  7 +++++
 include/ModemManager-enums.h                       | 18 +++++++++++++
 .../org.freedesktop.ModemManager1.Modem.xml        | 10 +++++++
 libmm-glib/mm-modem.c                              | 18 +++++++++++++
 libmm-glib/mm-modem.h                              |  2 ++
 src/mm-broadband-modem.c                           | 24 ++++++++++++-----
 src/mm-iface-modem.c                               | 31
 +++++++++++++++++++---
 src/mm-iface-modem.h                               |  2 ++
 11 files changed, 115 insertions(+), 15 deletions(-)

commit a18140e8ed86e6881d1b5f4bcf33620ff791f35e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 21 11:15:07 2013 +0100

    plugin: avoid using uninitialized variable

    Reported by: Jose Maria Gonzalez <jmgonzalezc@indra.es>

 src/mm-plugin.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 0377ccaa59c46dc8536b753cc8b9de17a0f19790
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 20 19:06:16 2013 +0100

    manager: during initial scan, add new ports in idles

    Treat each port independently in its own idle, as if we're receiving
    independent
    udev events, otherwise, GSources may not be properly scheduled in
    the main loop.

 src/mm-manager.c | 35 +++++++++++++++++++++++++++++++----
 1 file changed, 31 insertions(+), 4 deletions(-)

commit 5b072b9198aba83ba4cd69f4310d431682c8ee67
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 20 17:00:14 2013 +0100

    plugin: plug memleak

    A new reference to probe was acquired through mm_device_get_probe(),
    just unref it
    when no longer needed. Note that mm_port_probe_run() will take its
    own reference
    for as long as required to complete the operation.

 src/mm-plugin.c | 1 +
 1 file changed, 1 insertion(+)

commit 688bb2cb3a1c960a3e3c5a75c30aeeb641ff2c7a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 20 16:48:41 2013 +0100

    plugin: plug memleaks

    This is really just to have a nice valgrind/memcheck output report,
    no big deal
    if they were never freed.

 src/mm-plugin.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit 9bef8531c189887954cb20938a304b2b51f40a94
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 20 16:07:02 2013 +0100

    iridium: use generic disconnection logic

    The generic disconnection logic now already handles getting the
    port fully
    closed and a wait time before reopening it, so no need for a custom
    disconnection logic any more.

 plugins/iridium/mm-bearer-iridium.c | 124
 ------------------------------------
 1 file changed, 124 deletions(-)

commit 000bb642255ecfefe10f7b6629493c34877399c7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 20 12:15:19 2013 +0100

    serial-port: allow specifying some wait time between closing and
    reopening

    We will now by default wait some time (1s) between port getting
    fully closed and
    the port being reopened again. This logic seems to work for multiple
    modems
    where there is a single port for both AT and data, like my Nokia C7
    and Iridium
    modems. If this wait time is not applied, the port ends up returning
    EAGAIN for
    every write that we try to do afterwards.

 src/mm-broadband-bearer.c | 75 ++++++++++++++++++++++++------------
 src/mm-serial-port.c      | 97
 +++++++++++++++++++++++++++++++++++++++++------
 src/mm-serial-port.h      |  8 +++-
 3 files changed, 142 insertions(+), 38 deletions(-)

commit 9a6fce0a086f28aafda7d963e8661e98a4d44ef6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 20 11:41:53 2013 +0100

    serial-port: remove unneeded property name

    Was incorrectly included in a previous commit

 src/mm-serial-port.h | 1 -
 1 file changed, 1 deletion(-)

commit d0c18b4277917a39edf50c78ebd14713509321c3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 20 10:09:42 2013 +0100

    bearer-novatel-lte: fix reference counting of the 'data' port

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 2267fb04801074fe4dce715699b632499fbea918
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 20 09:59:20 2013 +0100

    plugin: plug memleaks

 src/mm-plugin.c | 2 ++
 1 file changed, 2 insertions(+)

commit f27737e0317c16bf0e13b90d20b6eb670b2f44de
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 20 09:53:14 2013 +0100

    bearer: plug memleak

 src/mm-bearer.c | 1 +
 1 file changed, 1 insertion(+)

commit 061760a4f8d5b05eb1d636ecf3264ca3974ad103
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 20 09:50:04 2013 +0100

    broadband-modem: plug memleak

 src/mm-broadband-modem.c | 1 +
 1 file changed, 1 insertion(+)

commit bb73ce0aaf7c8ae4354d34412880a07f82b8a23e
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Feb 19 22:22:58 2013 -0800

    iface-modem: fix modem state consolidation upon bearer disconnection

    Patch "iface-modem: fix invalid modem state consolidation" (commit
    69aff6183a9e6532b4074c89831d6dcfa81ddcce) incorrectly consolidates the
    modem state upon the disconnection of a bearer. The modem state
    remains
    'connected' after the last bearer is disconnected. This patch fixes
    that.

 src/mm-iface-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit add455c7e587883abbe1b16e511a3a8b24064b38
Author: Evan Nemerson <evan@coeus-group.com>
Date:   Tue Feb 19 03:16:07 2013 -0800

    build: fix passing arguments to configure from autogen.sh (bgo
    #694157)

 autogen.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8fb57bb5534c83c358a9c4c4c681ac787c14289a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 19 15:37:43 2013 +0100

    zte: load unlock retries with +ZPINPUK

    e.g:

      AT+ZPINPUK=? |
                   | ZPINPUK: 3,10
                   | OK

 plugins/zte/mm-broadband-modem-zte.c | 71
 ++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

commit 5fe69d0ebbb621f754e1b0e048bfb4b6ae21e2a1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 19 13:17:57 2013 +0100

    at-serial-port: plug memleak

 src/mm-at-serial-port.c | 2 ++
 1 file changed, 2 insertions(+)

commit f9583cb5304ba5ecd862cdf214c669f7babdfe66
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 19 12:54:56 2013 +0100

    core: update logging levels of several messages

    'info' log level, the default if none specified, included too many
    logs which
    aren't that useful, to try to minimize the noise we produce by
    default.

 src/mm-broadband-modem-qmi.c |  4 ++--
 src/mm-broadband-modem.c     | 17 ++---------------
 src/mm-plugin-manager.c      | 18 +++++++++---------
 src/mm-port-probe.c          |  8 ++++----
 src/mm-serial-port.c         | 11 +++++------
 src/mm-sms-qmi.c             |  4 ++--
 6 files changed, 24 insertions(+), 38 deletions(-)

commit 37ddfe202eb138ab50140cc0e2a0309092547bbf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 19 12:52:01 2013 +0100

    plugin-manager: log time required for device probing

 src/mm-plugin-manager.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

commit ed2b32c6829ad6ed9310f2f76047a6dc2e12d9dd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 19 12:45:10 2013 +0100

    plugin-manager: if minimum time consumed and all deferred tasks,
    abort probing

    For the case where we just get a device with all net ports (i.e. all
    deferred
    until result suggested), just abort the probing if the minimum
    probing time is
    consumed.

 src/mm-plugin-manager.c | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

commit 1a11af0f86cee0ca24861a8369782627906363d1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 19 09:50:52 2013 +0100

    broadband-bearer: fallback to primary AT port if no data AT port
    available

    Spotted by Dan Williams <dcbw@redhat.com> with his ADU960S.

 src/mm-broadband-bearer.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit d593116d68ecda7fc0ef67e7399d0588cde60a38
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 18 16:06:01 2013 +0100

    base-modem: don't run port init sequence if we're just sending
    a command

    This may happen when sending commands to the modem while in
    non-enabled state,
    like when sending the PIN. In this case, just send the command,
    don't fully
    initialize the port with the initialization sequence.

 src/mm-base-modem-at.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 7a58647af78295d059628c73c4dc2558131fea51
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 18 15:34:57 2013 +0100

    broadband-bearer: fully reopen data port before flashing

    When disconnecting the data port, first fully close and reopen the
    port before
    flashing. This helps with some modems where the flashing mechanism
    doesn't
    fully work, like this ZTE modem:

        Before:
        [1360325270.357678] [mm-bearer.c:690] mm_bearer_disconnect():
        Disconnecting bearer '/org/freedesktop/ModemManager1/Bearer/0'
        [1360325270.357796] [mm-iface-modem.c:1198]
        mm_iface_modem_update_state(): Modem
        /org/freedesktop/ModemManager1/Modem/1: state changed (connected
        -> disconnecting)
        [1360325270.358503] [mm-broadband-bearer.c:1539]
        disconnect_3gpp(): Sending PDP context deactivation in secondary
        port...
        [1360325270.358549] [mm-serial-port.c:927] mm_serial_port_open():
        (ttyUSB4) device open count is 2 (open)
        [1360325270.358633] [mm-at-serial-port.c:392] debug_log():
        (ttyUSB4): --> 'AT+CGACT=0,2<CR>'
        [1360325270.375131] [mm-at-serial-port.c:392] debug_log():
        (ttyUSB4): <-- '<CR><LF>OK<CR><LF>'
        [1360325270.375251] [mm-serial-port.c:967] mm_serial_port_close():
        (ttyUSB7) device open count is 1 (close)
        [1360325270.375282] [mm-serial-port.c:927] mm_serial_port_open():
        (ttyUSB7) device open count is 2 (open)
        [1360325270.375300] [mm-broadband-bearer.c:1497]
        cgact_secondary_ready(): Flash primary port...
        [1360325270.375833] [mm-serial-port.c:967] mm_serial_port_close():
        (ttyUSB4) device open count is 1 (close)
        [1360325271.377539] [mm-broadband-bearer.c:1455]
        primary_flash_3gpp_ready(): PDP disconnection already sent in
        secondary port
        [1360325271.377634] [mm-serial-port.c:967] mm_serial_port_close():
        (ttyUSB7) device open count is 1 (close)
        [1360325271.377680] [mm-port.c:149] mm_port_set_connected():
        (ttyUSB7): port now disconnected
        [1360325271.377721] [mm-bearer.c:623] disconnect_ready():
        Disconnected bearer '/org/freedesktop/ModemManager1/Bearer/0'
        [1360325286.415396] [mm-serial-port.c:927] mm_serial_port_open():
        (ttyUSB7) device open count is 2 (open)
        [1360325286.415510] [mm-at-serial-port.c:392] debug_log():
        (ttyUSB7): --> 'AT+ZPAS?<CR>'
        [1360325287.400589] [mm-broadband-modem.c:1717]
        modem_load_signal_quality(): loading signal quality...
        [1360325287.400679] [mm-serial-port.c:927] mm_serial_port_open():
        (ttyUSB7) device open count is 3 (open)
        [1360325289.401873] [mm-iface-modem.c:762]
        access_technologies_check_ready(): Couldn't refresh access
        technologies: 'Serial command timed out'
        [1360325289.401940] [mm-serial-port.c:967] mm_serial_port_close():
        (ttyUSB7) device open count is 2 (close)
        [1360325289.401998] [mm-at-serial-port.c:392] debug_log():
        (ttyUSB7): --> 'AT+CIND?<CR>'
        [1360325292.403162] [mm-serial-port.c:927] mm_serial_port_open():
        (ttyUSB7) device open count is 3 (open)
        [1360325292.403247] [mm-serial-port.c:967] mm_serial_port_close():
        (ttyUSB7) device open count is 2 (close
        ...

        After:
        [1360326617.604527] [mm-bearer.c:690] mm_bearer_disconnect():
        Disconnecting bearer '/org/freedesktop/ModemManager1/Bearer/0'
        [1360326617.604622] [mm-iface-modem.c:1198]
        mm_iface_modem_update_state(): Modem
        /org/freedesktop/ModemManager1/Modem/0: state changed (connected
        -> disconnecting)
        [1360326617.605006] [mm-broadband-bearer.c:1535]
        disconnect_3gpp(): Sending PDP context deactivation in secondary
        port...
        [1360326617.605034] [mm-serial-port.c:929] mm_serial_port_open():
        (ttyUSB4) device open count is 2 (open)
        [1360326617.605088] [mm-at-serial-port.c:392] debug_log():
        (ttyUSB4): --> 'AT+CGACT=0,2<CR>'
        [1360326617.620075] [mm-at-serial-port.c:392] debug_log():
        (ttyUSB4): <-- '<CR><LF>OK<CR><LF>'
        [1360326617.620206] [mm-broadband-bearer.c:1493]
        cgact_secondary_ready(): Flash primary port...
        [1360326617.620241] [mm-serial-port.c:1334]
        mm_serial_port_flash(): (ttyUSB7) reopening before flash (2)
        [1360326617.620265] [mm-serial-port.c:969] mm_serial_port_close():
        (ttyUSB7) device open count is 1 (close)
        [1360326617.620286] [mm-serial-port.c:969] mm_serial_port_close():
        (ttyUSB7) device open count is 0 (close)
        [1360326617.620320] [mm-serial-port.c:985] mm_serial_port_close():
        (ttyUSB7) closing serial port...
        [1360326617.620356] [mm-port.c:149] mm_port_set_connected():
        (ttyUSB7): port now disconnected
        [1360326617.621355] [mm-serial-port.c:1017]
        mm_serial_port_close(): (ttyUSB7) serial port closed
        [1360326617.621403] [mm-serial-port.c:860] mm_serial_port_open():
        (ttyUSB7) opening serial port...
        [1360326617.622836] [mm-serial-port.c:417] real_config_fd():
        (ttyUSB7): port attributes not fully set

 src/mm-broadband-bearer.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit 553bebe8255a78e1f9f7b559d7782f9ac87be443
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 8 13:32:51 2013 +0100

    serial-port: new method to reopen a port

    We will fully close the port and the re-open it again keeping the same
    open_count that we had before.

 src/mm-serial-port.c | 32 +++++++++++++++++++++++++++++++-
 src/mm-serial-port.h |  4 ++++
 2 files changed, 35 insertions(+), 1 deletion(-)

commit f8e3a8adb9584bf462c8016eea831f3a1f945875
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 18 14:32:27 2013 +0100

    broadband-bearer: try to run CGACT first on the primary port

    It may happen that the primary port is not the data port; if so,
    try with the
    primary port first, and otherwise fallback to the secondary port.

 src/mm-broadband-bearer.c | 27 +++++++++++++++++++++------
 1 file changed, 21 insertions(+), 6 deletions(-)

commit 92f0c579c466c02adcdc1875109071ef530bda08
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 18 14:31:09 2013 +0100

    broadband-bearer: update disconnection logic

    We were maintaining the port we used for dialling (the data port)
    open during
    the connection, as specified by the CDMA or 3GPP specific logic. We'll
    now close
    that open count reference ourselves within the CDMA or 3GPP
    disconnection logic
    itself.

 src/mm-broadband-bearer.c | 105
 ++++++++++++++++++++++++++--------------------
 1 file changed, 59 insertions(+), 46 deletions(-)

commit b6402a4e2158adf28dad2cd6b2dcf8b4966be2d0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 17 21:57:34 2013 +0100

    bearer,3gpp: dial operation specifies which data port to use

    Instead of deciding in advance which data port to use, we let the
    dialling
    operation gather it. For the generic dialling logic, ATD-based,
    always an
    'AT' port will be used as data port, even if we grabbed a 'net'
    port. Those
    plugins that can work with 'net' ports will grab the specific
    'net' port
    themselves.

 plugins/huawei/mm-broadband-bearer-huawei.c       |  15 +-
 plugins/huawei/mm-broadband-modem-huawei.c        |   2 +-
 plugins/icera/mm-broadband-bearer-icera.c         |  74 +++++-----
 plugins/icera/mm-broadband-modem-icera.c          |  30 ----
 plugins/mbm/mm-broadband-bearer-mbm.c             |  79 +++++-----
 plugins/novatel/mm-broadband-bearer-novatel-lte.c |  93 ++++++------
 plugins/option/mm-broadband-bearer-hso.c          | 125 +++++++---------
 plugins/sierra/mm-broadband-bearer-sierra.c       |  21 +--
 src/mm-base-modem.c                               |  13 +-
 src/mm-base-modem.h                               |   4 +-
 src/mm-bearer-qmi.c                               |   2 +-
 src/mm-broadband-bearer.c                         | 166
 +++++++++++++---------
 src/mm-broadband-bearer.h                         |   5 +-
 13 files changed, 312 insertions(+), 317 deletions(-)

commit 15d34d56fd3277b23c5f477d9aab257cb0bc10a7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 17 20:27:24 2013 +0100

    bearer: new helper 'MMBearerConnectResult' type

    Instead of returning 3 variables in connect_finish(), return a
    single reference
    counted struct. This simplifies how the result is built and passed
    within a
    GSimpleAsyncResult to each _finish() method.

    This also simplifies the dialling step in the 3GPP connection
    sequence, as we
    can use the same new type.

 plugins/huawei/mm-broadband-bearer-huawei.c       |  31 ++--
 plugins/iridium/mm-bearer-iridium.c               |  49 +-----
 plugins/novatel/mm-broadband-bearer-novatel-lte.c |  27 +--
 src/mm-bearer-qmi.c                               |  55 ++----
 src/mm-bearer.c                                   | 103 ++++++++---
 src/mm-bearer.h                                   |  25 ++-
 src/mm-broadband-bearer.c                         | 201
 +++++-----------------
 src/mm-broadband-bearer.h                         |  19 +-
 8 files changed, 196 insertions(+), 314 deletions(-)

commit 1746949277cbcf9209fc67b36a091177a8476b29
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 18 13:37:35 2013 +0100

    ports: add port initialization sequences instead of iface-modem's
    modem_init()

    Instead of a custom modem_init() step in the 'Modem' interface,
    just add a
    sequence of port initialization commands in each port.

    While enabling for the first time a non-hotplugged modem, we will
    issue the
    port initialization commands only after having run the
    enabling_modem_init()
    step (i.e. after ATZ usually).

 plugins/iridium/mm-broadband-modem-iridium.c |  46 ++-----
 plugins/mbm/mm-broadband-modem-mbm.c         |  31 -----
 plugins/nokia/mm-broadband-modem-nokia.c     |  77 +++++------
 src/mm-broadband-modem-qmi.c                 |   2 -
 src/mm-broadband-modem.c                     | 188
 +++++++++++----------------
 src/mm-iface-modem.c                         |  55 +++-----
 src/mm-iface-modem.h                         |   8 --
 7 files changed, 138 insertions(+), 269 deletions(-)

commit be37f41f06af74280edd3e412c42e2357c180925
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 18 12:56:24 2013 +0100

    at-serial-port: new properties to define and manage a set of init
    commands

    We are now able to specify a list of AT commands to be run whenever
    the port is
    opened for the first time (i.e. open_count from 0 to 1). These
    commands are
    to be treated as a 'port initialization' sequence, where
    port-configuration
    specific AT commands are defined (e.g. ATE0).

 src/mm-at-serial-port.c | 71
 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-at-serial-port.h |  7 ++++-
 src/mm-serial-port.c    |  5 ++++
 src/mm-serial-port.h    |  6 ++++-
 4 files changed, 87 insertions(+), 2 deletions(-)

commit 30639606d35dcc323cb13a29b6e0627aad87dd8d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 18 12:13:46 2013 +0100

    broadband-modem: new step during 'enabling_started' to initialize
    the modem

    We previously had the modem initialization command merged with some
    other port
    setup commands in the 'modem_init' step of the 'Modem'
    interface. Instead of
    doing this, we now split the logic into two separate steps:

    A first 'enabling_modem_init' modem initialization step is to be
    run just after
    the ports have been opened, but only during the first enabling
    operation, and
    only if the modem was not hotplugged. A hotplugged modem is assumed
    to be
    properly initialized already, so no need to ATZ-it. Also, we will
    now wait 500ms
    by default after the modem initialization command has been sent,
    to let it
    settle down.

    The second 'modem_init' step will be run during the 'Modem' interface
    initialization, and it currently only holds specific setup of the
    primary and
    secondary serial ports. We'll be modifying this logic a bit in the
    next commits,
    so no big deal to have that step name unchanged.

 plugins/iridium/mm-broadband-modem-iridium.c     |  81 ++------------
 plugins/mbm/mm-broadband-modem-mbm.c             |  96 +++++++++++------
 plugins/nokia/mm-broadband-modem-nokia.c         | 110
 +++++++++++++++++--
 plugins/novatel/mm-broadband-modem-novatel-lte.c | 108
 -------------------
 src/mm-broadband-modem-qmi.c                     |   3 +
 src/mm-broadband-modem.c                         | 128
 ++++++++++++++++++-----
 src/mm-broadband-modem.h                         |  11 ++
 7 files changed, 292 insertions(+), 245 deletions(-)

commit 263be58465ba0e449d73b65fd69d5dc10423a78f
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Feb 15 13:42:44 2013 -0600

    serial-port: don't steal data from PPP when connected

    There was a race where if PPP was slow to start, MM could read the
    first bits of PPP from the port, which MM shouldn't really do.  So
    if the port is connected, remove our GIOChannel watch and let pppd
    handle all the data.  When the port is disconnected, re-attach our
    watch and start reading from the port again.

    This may make it harder to detect spurious disconnects if for example
    pppd drops the connection and the thing controlling PPP (eg,
    NetworkManager or something else) doesn't tell us about that event
    by disconnecting the bearer.  This is arguably programmer error
    though.

    See the logs in https://bugzilla.gnome.org/show_bug.cgi?id=624956#c10
    for an example of this:

    DEBUG: <1280300196.929489> (ttyACM0): <-- '<CR><LF>CONNECT<CR><LF>'
    DEBUG: <1280300196.929761> (ttyACM0): port now connected
    DEBUG: <1280300196.929853> Modem
    /org/freedesktop/ModemManager/Modems/0: state changed (connecting
    -> connected)
    DEBUG: <1280300196.929954> (ttyACM0): simple connect state 6
    DEBUG: <1280300196.933432> (ttyACM0): <-- '~\-1}#\-64!}!} }
    }2}#}$\-64#}!}$}%\-36}"}&} }*} } g}%~'

 src/mm-serial-port.c | 31 ++++++++++++++++++++++++++-----
 1 file changed, 26 insertions(+), 5 deletions(-)

commit 5280364c4bfc0e84ccac9abbc02c82d46db5034a
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Feb 15 13:42:48 2013 -0600

    Revert "serial-port: don't steal data from PPP when connected"

    This reverts commit 625e1c4884215bb9989dad6c9868c06ba76a4d94.

    By simply returning when data is available, no data gets cleared
    from the file descriptor and data_available() keeps getting
    rescheduled, leading to a busy-loop.  This is the wrong approach,
    we should be removing the GIOChannel watch instead.

 src/mm-serial-port.c | 4 ----
 1 file changed, 4 deletions(-)

commit 253242256c951f60f4dfbae451d68b9c3374450b
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Feb 15 13:40:01 2013 -0600

    broadband-modem-longcheer: fix getting and setting of allowed modes

    When setting allowed modes, a ",2" crept into the MODODR command when
    porting the plugin from 0.6.  That shouldn't be there.

    When getting allowed modes, 2 is UMTS preferred and 4 is GSM
    preferred,
    which the previous code combined into only UMTS preferred.

 plugins/longcheer/mm-broadband-modem-longcheer.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

commit 85b67ed8d9ecc76062777f63a61ade28074f1fa9
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Feb 12 11:04:29 2013 -0800

    modem: use +CEREG to determine EPS network registration status

    This patch adds the support for solicited/unsolicited EPS network
    registration status via AT+CEREG, which is configurable via the
    'iface-modem-3gpp-eps-network-supported' property of the
    MMIfaceModem3gpp interface and is disabled by default.

 src/mm-broadband-modem-qmi.c   |   3 +
 src/mm-broadband-modem.c       | 165
 +++++++++++++++++++++++++++++++++++------
 src/mm-iface-modem-3gpp.c      |  51 ++++++++++++-
 src/mm-iface-modem-3gpp.h      |  10 ++-
 src/mm-modem-helpers.c         |  82 +++++++++++++++-----
 src/mm-modem-helpers.h         |   1 +
 src/tests/test-modem-helpers.c | 121 +++++++++++++++++++++++-------
 7 files changed, 365 insertions(+), 68 deletions(-)

commit 7144b673e2d102a08186d48d13c71b49800a7274
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Feb 14 14:51:54 2013 -0600

    vl600: update AT com tool and RE notes

 vl600/atcom.py  | 36 ++++++++++++++++++++++++++++++------
 vl600/vl600.txt | 28 ++++++++++++++++++++++++++--
 2 files changed, 56 insertions(+), 8 deletions(-)

commit 594adc38ff5a6277d120b21856dba5cfcff2b3a1
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Feb 13 17:00:16 2013 -0600

    broadband-modem: don't try QCDM access technology checks for non-QCDM
    3GPP devices

    Result handling code mistakenly ran for these devices, when it
    shouldn't.

 src/mm-broadband-modem.c | 109
 +++++++++++++++++++++++++----------------------
 src/mm-iface-modem.c     |   4 +-
 2 files changed, 60 insertions(+), 53 deletions(-)

commit 29c0560a9a40bd4ad0f864266dc754e0056d6bc5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 14 17:43:54 2013 +0100

    broadband-modem-qmi: don't try to load access technologies using QCDM

 src/mm-broadband-modem-qmi.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 914cda5de3fb61e517106ea01fdd1021b00493b8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 14 10:47:14 2013 +0100

    bearer-qmi: wait longer for the 'Stop Network' reply

    The 'Stop Network' reply may really take more than 10s to arrive;
    so let's wait
    some more time, 30s, before falling back.

 src/mm-bearer-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c1ef36b860931d32bd216af85d143b061913f2ce
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 13 15:03:07 2013 +0100

    libmm-glib,simple-connect-properties: avoid using an uninitialized
    variable

 libmm-glib/mm-simple-connect-properties.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

commit 2d700043abc5686faa54d215ffe60c92f4d0c00e
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 12 15:48:39 2013 -0600

    core: use g_unix_signal_add() for more reliable Unix signal handling

    There were a few problems with MM's existing signal handling, first
    of which was that calling g_main_loop_quit() from a signal handler
    only works 50% of the time due to severe restrictions on what you
    can do from the handler.  This caused INT or TERM to sometimes be
    ignored by MM.

    Instead, use the glib signal functions which ensure that the handler
    is run in the right context, where we can do anything we want.

 src/main.c   | 38 +++++++++++---------------------------
 src/mm-log.c |  5 -----
 src/mm-log.h |  2 --
 3 files changed, 11 insertions(+), 34 deletions(-)

commit 625e1c4884215bb9989dad6c9868c06ba76a4d94
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 12 15:24:15 2013 -0600

    serial-port: don't steal data from PPP when connected

    There was a race where if PPP was slow to start, MM could read the
    first bits of PPP from the port, which MM shouldn't really do.  So
    if the port is connected, don't read any data and let pppd do its
    thing.

    See the logs in https://bugzilla.gnome.org/show_bug.cgi?id=624956#c10
    for an example of this:

    DEBUG: <1280300196.929489> (ttyACM0): <-- '<CR><LF>CONNECT<CR><LF>'
    DEBUG: <1280300196.929761> (ttyACM0): port now connected
    DEBUG: <1280300196.929853> Modem
    /org/freedesktop/ModemManager/Modems/0: state changed (connecting
    -> connected)
    DEBUG: <1280300196.929954> (ttyACM0): simple connect state 6
    DEBUG: <1280300196.933432> (ttyACM0): <-- '~\-1}#\-64!}!} }
    }2}#}$\-64#}!}$}%\-36}"}&} }*} } g}%~'

 src/mm-serial-port.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 67fcac254150a34c7c1467a7857cad7509ca41ff
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Feb 8 08:25:07 2013 -0600

    qcdm: fix handling of active pilot set

    Typo caused candidate or remaining sets to be treated as the
    active pilot set.

 libqcdm/src/commands.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 5860de182d785c9eef3c5bd6097f600a7c1a3a72
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 8 12:08:44 2013 +0100

    sierra: fix access tech reporting logic

 plugins/sierra/mm-broadband-modem-sierra.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit cd2545c2b63b064675c88129f7a4dcde3e982056
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Feb 7 12:49:55 2013 -0600

    broadband-modem-mbm: handle HSPA access technology in ERINFO response

    HSUPA/HSPA capable devices (ex F5521gw) can report '3' here, which
    we'll decide to interpret as HSPA.  It might actually be HSDPA
    + HSUPA,
    but whatever...

 plugins/mbm/mm-broadband-modem-mbm.c | 3 +++
 1 file changed, 3 insertions(+)

commit a4ad95e3dae0b3cbbb612cb0febcfb3132ebe333
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Feb 6 16:18:51 2013 -0600

    broadband-modem-longcheer: fix handling of preferred modes

    Treat NONE the same as ANY and handle specific preferred modes too.

 plugins/longcheer/mm-broadband-modem-longcheer.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit 18436a8f77306bf3d5379881bcbd066018014858
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Feb 6 15:25:22 2013 -0600

    iface-modem-messaging: fix INSTANCE_CAST() vs. GET_INTERFACE()
    confusion

    Yeah, GObject is pretty obscure here.  But to get the implementation's
    override function, we want GET_INTERFACE, otherwise we're looking at
    some random memory location that's sometimes NULL.  And then we crash.

 src/mm-iface-modem-messaging.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d44eb83ac425c0fa79c2cf76cf492c8223f2d268
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 6 22:20:19 2013 +0100

    libmm-glib,manager: add missing logic to ensure the proxy is created

 libmm-glib/mm-manager.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

commit 84adf4e4ef0100b4e871babe7aea18c561d2234b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 6 19:59:16 2013 +0100

    cli: don't autostart the ModemManager service

 cli/mmcli-common.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit a85fd0ab4f3b08b8da5782f4ab9212923ba47cce
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 6 19:32:33 2013 +0100

    libmm-glib,manager: don't fail creation if the ModemManager process
    is not found

    A 'GDBusObjectManagerClient' for a service for which there is
    no current
    name-owner is a perfectly valid and useful object. For example,
    we could then
    connect to the 'notify::name-owner' property to follow the life
    cycle of the
    ModemManager process.

    So, don't tie the successful creation of a 'MMManager' to the
    successful
    creation of the internal GDBusProxy for the 'Manager1' interface. If
    there is
    no current name owner, the GDBusProxy wouldn't be created, and
    instead we
    would completely fail the 'MMManager' creation.

 libmm-glib/mm-manager.c | 284
 +++++++++++++++---------------------------------
 1 file changed, 85 insertions(+), 199 deletions(-)

commit 2ad6e0627d1c2d1fb28ce00a89e371097af9e5f5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 6 19:09:09 2013 +0100

    libmm-glib: fix error reporting when 'MMManager' is created

 libmm-glib/mm-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 34da83450e8a8e9319b0c6738e94c1db546180cf
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Feb 6 11:55:49 2013 -0600

    anydata: support QMI-based devices

    Some devices (like the ADU960S) support QMI, so if the modem has a
    QMI port, use it.

 plugins/anydata/mm-plugin-anydata.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

commit f3ad2e5bb5aef11e4c8517632e24f3396711b129
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Feb 6 11:59:16 2013 -0600

    trivial: fix typo

 data/org.freedesktop.ModemManager1.service.systemd.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit dcbb6dc81171ad0f71c1b81e193a8887edad3ce2
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 5 21:04:30 2013 -0600

    iface-modem-cdma: fix handling of HDR registration state

    hybrid mode is the first parameter, not the third.  Caused EVDO
    to look like it wasn't registered.

 src/mm-iface-modem-cdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8070627011ddac6e00155e6309750578ab95e6ee
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 5 21:03:24 2013 -0600

    trivial: add debugging to generic QCDM registration parsing

 src/mm-iface-modem-cdma.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 90ecbe325a63699da9230fc3d02f0ef01e9a2bf0
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 5 20:55:53 2013 -0600

    broadband-modem-novatel: read HDR revision for access technology

    Specialize what the superclass gave us, if we can.

 plugins/novatel/mm-broadband-modem-novatel.c | 253
 ++++++++++++++++++++++++---
 1 file changed, 227 insertions(+), 26 deletions(-)

commit 8253d6f9de7b086a22a564180986b46fda35556b
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 5 20:17:13 2013 -0600

    broadband-modem-novatel: use ERI subsystem information to better
    determine roaming

    We use the Icon ID here because a value of 1 *always* means not
    roaming,
    while the other values don't appear to be consistent.  For example,
    an ERI value of "0" is supposed to mean roaming according to the
    standards, but the Novatel devices appear to use 0 to mean home.
    Since we're not sure, don't depend on the ERI value itself, just
    depend on the Icon ID, where we know for sure that 1 means "home".

 plugins/novatel/mm-broadband-modem-novatel.c | 116
 +++++++++++++++++----------
 1 file changed, 73 insertions(+), 43 deletions(-)

commit 74e94e624da0c86561436029922654bff0bf8884
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 17 11:39:23 2013 -0600

    qcdm: add Novatel ERI subsystem support

    Returns various ERI information like Indicator ID/Index, Icon
    ID/Index, Icon Mode, and banner.

 libqcdm/src/commands.c        | 70
 +++++++++++++++++++++++++++++++++++++++++++
 libqcdm/src/commands.h        | 39 ++++++++++++++++++++++++
 libqcdm/src/dm-commands.h     | 23 +++++++++++++-
 libqcdm/tests/test-qcdm-com.c | 60 +++++++++++++++++++++++++++++++++++++
 libqcdm/tests/test-qcdm-com.h |  2 ++
 libqcdm/tests/test-qcdm.c     |  1 +
 6 files changed, 194 insertions(+), 1 deletion(-)

commit bf07f02cffa4d3b33830ff85599e0ef6717858ae
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 16 17:28:14 2013 -0600

    qcdm: rename Novatel subsystem defines

 libqcdm/src/commands.c    |  8 ++++----
 libqcdm/src/dm-commands.h | 26 +++++++++++++-------------
 2 files changed, 17 insertions(+), 17 deletions(-)

commit b9d0a3275f7be0d394c2875935cc22d8fa0556f0
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 15 14:39:43 2013 -0600

    trivial: debug print CDMA1x State results

 src/mm-broadband-modem.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 222825d642fd3148caf3168c6e9a33f02b4f3733
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 6 15:40:28 2013 +0100

    systemd: include systemd unit file support

    Allow having systemd handling the life cycle of the ModemManager
    process.

 .gitignore                                         |  1 +
 Makefile.am                                        |  1 +
 configure.ac                                       |  9 +++++
 data/Makefile.am                                   | 43
 +++++++++++++++++-----
 data/ModemManager.service.in                       | 13 +++++++
 ...freedesktop.ModemManager1.service.nosystemd.in} |  0
 ...rg.freedesktop.ModemManager1.service.systemd.in | 11 ++++++
 7 files changed, 69 insertions(+), 9 deletions(-)

commit 596c9ea508c005bd1e3b01b439ac5872c926d7cf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 6 13:55:04 2013 +0100

    build: polish configure.ac a bit

 configure.ac | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit 86fcfe312174a5c0a14dc38ca9f5bb132e4ca97c
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jan 30 12:21:42 2013 -0800

    novatel-lte: use +CFUN=4 for power down

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 26
 ++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit 87a556dbb18fa21d47331c2504350820480414c9
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jan 30 01:07:54 2013 -0800

    novatel-lte: retry $NWQMISTATUS check upon error during disconnect

    $NWQMISTATUS sometimes returns 'ERROR'. This patch modifies the
    Novatel
    LTE plugin to retry $NWQMISTATUS (up to 5 times) to determine if the
    disconnect operation succeeds. It also changes the plugin to
    assume that
    the disconnect operation succeeds if $NWQMISTATUS fails to report the
    current connection status.

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 68
 +++++++++++++++++------
 1 file changed, 51 insertions(+), 17 deletions(-)

commit 24b28d1a72a71a38399184d2c2f85a34612f3a2a
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jan 30 12:32:25 2013 -0800

    iface-modem: add a missing step increment in
    interface_initialization_step

 src/mm-iface-modem.c | 2 ++
 1 file changed, 2 insertions(+)

commit c204a8ce4ebbcfa88cbfe2a08098d2a527bc0b6a
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jan 24 00:43:08 2013 -0800

    iface-modem: rearrange initialization steps

    This patch rearranges the initialization steps in MMIfaceModem
    such that
    the following SIM related operations happen at the end of the
    initialization:
        - INITIALIZATION_STEP_UNLOCK_REQUIRED
        - INITIALIZATION_STEP_SIM
        - INITIALIZATION_STEP_OWN_NUMBERS

    The rationale of this change is that the SIM interface of some modems
    may require some time to initialize before it responds to SIM related
    AT commands. By rearranging the initialization steps to execute
    non-SIM
    related AT commands first, some of the latency for the SIM
    initialization can be absorbed.

 src/mm-iface-modem.c | 118
 +++++++++++++++++++++++++--------------------------
 1 file changed, 59 insertions(+), 59 deletions(-)

commit 69aff6183a9e6532b4074c89831d6dcfa81ddcce
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Jan 23 17:16:52 2013 -0800

    iface-modem: fix invalid modem state consolidation

    ModemManager has a bogus modem state transition from 'enabling' to
    'disabled':

    ModemManager[26214]: <info>  Modem fully enabled...
    ModemManager[26214]: <info>  Modem
    /org/freedesktop/ModemManager1/Modem/2: state changed (enabling ->
    disabled)

    The root cause seems to be the following:

    get_current_consolidated_state() in MMIfaceModem returns
    MM_MODEM_STATE_DISABLED as the default fallback value. When
    mm_iface_modem_update_state() is invoked to transition the modem
    state from
    MM_MODEM_STATE_ENABLING to MM_MODEM_STATE_ENABLED, the following
    code can
    potentially cause the final state to be MM_MODEM_STATE_DISABLED
    instead.

         /* Enabled may really be searching or registered */
         if (new_state == MM_MODEM_STATE_ENABLED)
             new_state = get_current_consolidated_state (self);

    https://code.google.com/p/chromium-os/issues/detail?id=38173

 src/mm-iface-modem.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

commit 9d5794e9e4e86239f450042223dc606b3472c067
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 21 10:33:49 2013 +0100

    iface-modem: print power state as string

    Thanks to Marius B. Kotsbak <marius@kotsbak.com> for reporting.

 src/mm-iface-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1cf8ccbdd5ca3f3c13319ac47ac2b877f408da23
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jan 17 23:06:45 2013 -0800

    iface-modem: schedule signal quality check more often initially

    This patch modifies MMIfaceModem to schedule the periodic signal
    quality
    check with a period of 3s instead of 30s (up to 5 periods) initially
    until a non-zero signal quality value is obtained and then switch back
    to the 30s period.

 src/mm-iface-modem.c | 36 +++++++++++++++++++++++++++++-------
 1 file changed, 29 insertions(+), 7 deletions(-)

commit 9474654f671a2aa452f1de0dc8895bbb3ab5968e
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jan 17 23:11:10 2013 -0800

    novatel-lte: skip soft reset if modem is newly plugged in

    Soft resetting a Novatel LTE modem can a significant amount of time
    (3-4 seconds). If the modem is newly plugged in, skip the unnecessary
    soft reset when enabling the modem.

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 108
 +++++++++++++++++++++++
 1 file changed, 108 insertions(+)

commit e75dba639febded0e2878a02f47829cedb6239f7
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jan 17 23:11:09 2013 -0800

    core: add 'hotplugged' flag to indicate if modem is newly plugged in

    This patch adds a 'hotplugged' flag to MMBaseModem to indicate if a
    modem is newly plugged in. A plugin can use this information to
    determine if, for example, the modem needs to be soft reset using the
    ATZ command.

    Dan Williams <dcbw@redhat.com> contributed the idea of implementation.

 src/mm-base-modem.c | 18 ++++++++++++++++++
 src/mm-base-modem.h |  4 ++++
 src/mm-device.c     | 21 +++++++++++++++++----
 src/mm-device.h     |  4 +++-
 src/mm-manager.c    | 15 ++++++++-------
 src/mm-plugin.c     |  2 ++
 6 files changed, 52 insertions(+), 12 deletions(-)

commit 2550cb20a9741378c747233ddea8e7a7daa5c198
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 15 16:05:11 2013 +0100

    huawei: only retry DHCP? check on specific errors

    We don't want to retry DHCP? on every possible GError reported;
    specially if the
    error is about the port being forced to get closed when the modem gets
    unplugged or the like. So just retry on very specific errors reported.

    The main cause for retry is really when the modem replies the
    following:
    -->  AT^DHCP?
    <--  ERROR

    Which in our case gets translated to a 'unknown' mobile equipment
    error. We'll
    also consider any kind of mobile equipment error, as the modems may
    reply a
    CME ERROR instead.

 plugins/huawei/mm-broadband-bearer-huawei.c | 25
 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)

commit 2b3f353770799932c05dbf2a6fd5b3519270052b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 11 11:35:51 2013 +0100

    huawei: check NDISDUP support only once

 plugins/huawei/mm-broadband-modem-huawei.c | 68
 +++++++++++++++++++++---------
 1 file changed, 49 insertions(+), 19 deletions(-)

commit f2a9ea377957355e7a703c6d08ff85c8b0ba4d0c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 9 12:51:54 2013 +0100

    huawei: use NDISDUP only if net port from cdc_ncm or cdc_ether

 plugins/huawei/mm-broadband-modem-huawei.c | 29
 +++++++++++++++++++----------
 1 file changed, 19 insertions(+), 10 deletions(-)

commit 8c5bd6375fed0150fa80a5623c0e6ca1e430b4fd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 27 12:05:05 2012 +0100

    huawei: refactor the connection and disconnection sequences in
    the bearer

    We will now use a step-based state machine to handle the connection
    and
    disconnection sequences. All the previous behaviour is kept, except
    for these
    new things:

     * Instead of just subclassing the 'dialling' step in the 3GPP
     connection
       sequence, completely subclass the whole 3GPP connection
       sequence. We do this
       because we don't need to preconfigure PDP contexts with AT+CGDCONT
       before
       issuing ^NDISDUP.

     * Don't allow IP types other than IPv4. These modems work only
     with IPv4
       bearers.

     * Remove cancellation signal handler; not needed as we can check
     the status of
       the cancellation in every 1s timeout.

     * Removed the event source id handling for timeouts; timeouts
     are never
       cancelled here.

 plugins/huawei/mm-broadband-bearer-huawei.c | 622
 +++++++++++++++-------------
 1 file changed, 335 insertions(+), 287 deletions(-)

commit 2499f5760b70b1c3aa45e0a3fd6c38331fc5fb6b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 27 10:17:20 2012 +0100

    huawei: explicitly check for the ^NDISDUP command support

    Don't assume that all modems exporting a 'net' port will support
    ^NDISDUP.

 plugins/huawei/mm-broadband-modem-huawei.c | 121
 +++++++++++++++++++++--------
 1 file changed, 87 insertions(+), 34 deletions(-)

commit 696403e50a975bc6c8f14d2db79ce10835b25719
Author: Franko Fang <fangxiaozhi@huawei.com>
Date:   Sun Dec 2 15:30:01 2012 +0100

    huawei: handle modems exposing 'net' ports with AT^NDISDUP

    Modems with ECM (e.g. usb0) ports should use AT^NDISDUP in the
    control port to
    request the connection and afterwards just fire up the DHCP client
    in the net
    port.

    This patch is originally developed by:
      Franko Fang <fangxiaozhi@huawei.com>

    And afterwareds reviewed and updated by:
      Aleksander Morgado <aleksander@gnu.org>

 plugins/Makefile.am                         |   5 +-
 plugins/huawei/mm-broadband-bearer-huawei.c | 558
 ++++++++++++++++++++++++++++
 plugins/huawei/mm-broadband-bearer-huawei.h |  59 +++
 plugins/huawei/mm-broadband-modem-huawei.c  |  83 ++++-
 4 files changed, 702 insertions(+), 3 deletions(-)

commit fdad4d636d39e6f5df80ff1197ee645ccd572078
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 8 14:41:51 2013 -0600

    broadband-modem: guess CDMA access technologies from registration
    state

    Setting access technologies from registration state as part of the
    registration checking in the CDMA Interface code fights with
    custom implementations in each modem subclass, which causes the
    access technologies to ping-pong between more specific (custom
    implementation) and less specific (generated from registration state
    during registration checking).  If the modem class has more
    specific access technology knowledge, we should use that and not
    override it on the next registration state poll.

    So instead, implement the generic access technology update from
    registration state in the broadband modem base class'
    load_access_technologies() hook.  Thus, modem classes with more
    specific checking (which override MMBroadbandModem's implementation)
    will never fight with generic checking, while modems that don't
    (and thus actually need the generic checking) still get some basic
    access technology handling.

 src/mm-broadband-modem.c  | 116
 ++++++++++++++++++++++++++++++++--------------
 src/mm-iface-modem-cdma.c |  17 -------
 2 files changed, 82 insertions(+), 51 deletions(-)

commit edeb75b0286b8a6915a4512d1d823875326e15cf
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 8 21:11:18 2013 -0600

    broadband-modem: implement generic QCDM access technology checks

    For modems that don't implement vendor-specific access technology
    checks, try to get the access technology via QCDM if the modem has
    a QCDM port.

 src/mm-broadband-modem.c | 335
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 335 insertions(+)

commit f71852c5b93b365c21c8b1ea2f8c236da2e70899
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 9 12:02:18 2013 -0600

    iface-modem-cdma: get CDMA1x Serving System during QCDM registration

    We want the SID/NID even when AT Serving System checks are disabled,
    otherwise the SID/NID don't get filled at all.  QCDM doesn't need the
    SID/NID to determine registration, so the values are informational
    only and don't affect registration state.  But we still want to
    export them via the API.

 src/mm-iface-modem-cdma.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

commit fe7438973ad11c9ca2cd78b85f7f97a31a3f23e6
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 9 11:11:27 2013 -0600

    trivial: fix comment

 src/mm-iface-modem-cdma.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 7489951f88c3e96f811dedc7b352baf8dd1d4f29
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 8 20:06:18 2013 -0600

    qcdm: various LTE-related NV mode pref and sysmode updates

 libqcdm/src/commands.h        |  3 +++
 libqcdm/src/dm-commands.h     |  1 +
 libqcdm/tests/test-qcdm-com.c | 27 +++++++++++++++++++++++++++
 3 files changed, 31 insertions(+)

commit fc4034a72f0c0e1507baa719f959ccc666ae8392
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 8 15:14:42 2013 -0600

    broadband-modem-sierra: implement access technology reporting for
    CDMA devices

    Use AT!STATUS to grab current access technology.

 plugins/sierra/mm-broadband-modem-sierra.c | 88
 +++++++++++++++++++++++-------
 1 file changed, 69 insertions(+), 19 deletions(-)

commit 56bdf4a37b49a9d79d14c6131cc93023ca86e426
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 8 14:59:24 2013 -0600

    broadband-modem-sierra: make CDMA AT!STATUS parsing code generic

    We'll use it for access technology reporting too.

 plugins/sierra/mm-broadband-modem-sierra.c | 490
 +++++++++++++++--------------
 1 file changed, 258 insertions(+), 232 deletions(-)

commit b68a487e157519e5b75dcd176b9e9e8201cf500f
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 8 14:43:48 2013 -0600

    broadband-modem-sierra: don't check +CAD and +CSS for CDMA devices

    We have !STATUS for that, which is much more detailed.  Use it.

 plugins/sierra/mm-broadband-modem-sierra.c | 93
 ++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

commit 01e8e0574f463dc03cccc4a6b8c9dacb754abae1
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 8 14:26:31 2013 -0600

    broadband-modem: more compatible CSQ parsing

    Some devices (usually CDMA modems like the Sierra MC5725 and others)
    don't prefix their +CSQ replies with +CSQ.  So don't require that.
    The scanf() should ensure the reply is valid even without the +CSQ.

 src/mm-broadband-modem.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 48b36b1afae3a316be75c9c613e6f41be2ad64d2
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 8 11:01:34 2013 -0600

    broadband-modem-sierra: load own numbers via ~NAMVAL?0 for CDMA

    Sierra CDMA devices don't always have QCDM ports, or if they do,
    they aren't always usable.  Try Sierra-proprietary commands for
    loading the modem's MDN and fall back to QCDM if that fails.

 plugins/sierra/mm-broadband-modem-sierra.c | 122
 +++++++++++++++++++++++++++++
 1 file changed, 122 insertions(+)

commit f7d55a688a59670ab2932569fc50151e6a1cdb4d
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 8 10:02:53 2013 -0600

    broadband-modem-novatel: fix signal strength processing for older
    devices

    mm_get_int_from_str() does not allow anything in the string after the
    number, eg "-91  asdfasdf" returns an error.  So we have to chop off
    anything after the number we're interested in.

 plugins/novatel/mm-broadband-modem-novatel.c | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

commit f95274e735f8c690b6a33e513460603049a23b58
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 8 09:10:04 2013 -0600

    broadband-modem: load own numbers with QCDM too

    Not many CDMA/EVDO-only modems support CNUM since it's not a
    standard IS707/856 AT command, so for those that don't
    support it and have a QCDM port, try grabbing the number from
    NV memory.

 src/mm-broadband-modem.c | 137
 ++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 131 insertions(+), 6 deletions(-)

commit 2bd4c63716b0729974a7d9e2a5aea75fd56e4cd9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 14 17:38:34 2013 +0100

    hso: remove duplicated code

 plugins/option/mm-broadband-bearer-hso.c | 3 ---
 1 file changed, 3 deletions(-)

commit 9a07688524256e40fa46853482ec1fb5b247b1d3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 10 22:25:14 2013 +0100

    huawei: check with next port if the first one is not AT

 plugins/huawei/mm-plugin-huawei.c | 69
 +++++++++++++++++++++------------------
 1 file changed, 38 insertions(+), 31 deletions(-)

commit 8403a48b311868f4fb767b093a29ea913ade57fb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 11 12:20:00 2013 +0100

    plugin-manager: new debug logs to help track probing issues

 src/mm-plugin-manager.c | 41 ++++++++++++++++++++++++++++++++---------
 1 file changed, 32 insertions(+), 9 deletions(-)

commit 0f9873c23a3eb1c43f04ebb12cad6e2548a98b58
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 11 11:21:08 2013 +0100

    sierra: load power state with !pcstate? in cdma-only modems

 plugins/sierra/mm-common-sierra.c | 60
 +++++++++++++++++++++++++++++++++++----
 1 file changed, 54 insertions(+), 6 deletions(-)

commit 695680b2ff6129f3df95f40b72b7683f01ca054a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 1 12:47:04 2013 +0100

    cli: show current power state in the modem status information

 cli/mmcli-modem.c | 2 ++
 1 file changed, 2 insertions(+)

commit 669f0928f3a8e2e839de551cc8764f3d607c35a0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 1 12:23:33 2013 +0100

    cli: new '--set-power-state-on' and '--set-power-state-low' commands

 cli/mmcli-modem.c | 81
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 81 insertions(+)

commit 091c47d695bf48541c49e8d5e07647d0901e367b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 1 12:09:27 2013 +0100

    libmm-glib,modem: new methods to handle the power state

 docs/reference/libmm-glib/libmm-glib-sections.txt |  4 +
 libmm-glib/mm-modem.c                             | 94
 +++++++++++++++++++++++
 libmm-glib/mm-modem.h                             | 15 ++++
 3 files changed, 113 insertions(+)

commit eec5d00a97582830baf7e0458f483ffc04398da0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 1 11:58:42 2013 +0100

    core,plugins: remove initial power down sequence

    We no longer power down the modem during initialization, so remove
    that
    implementation.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 2 --
 plugins/gobi/mm-broadband-modem-gobi.c           | 2 --
 plugins/iridium/mm-broadband-modem-iridium.c     | 2 --
 plugins/motorola/mm-broadband-modem-motorola.c   | 2 --
 plugins/nokia/mm-broadband-modem-nokia.c         | 2 --
 plugins/sierra/mm-broadband-modem-sierra.c       | 2 --
 plugins/wavecom/mm-broadband-modem-wavecom.c     | 2 --
 plugins/zte/mm-broadband-modem-zte.c             | 2 --
 src/mm-broadband-modem-qmi.c                     | 2 --
 src/mm-iface-modem.h                             | 8 --------
 10 files changed, 26 deletions(-)

commit 7c87555bf850aa1066c908359d8ff101cd04eb98
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 1 11:56:15 2013 +0100

    mbm: force initial power-up during first enabling

    When both load_power_state() and modem_power_down() are not
    implemented, the
    logic will launch the power-up command during (only the first)
    enabling of the
    modem.

    In this kind of modems, CFUN is directly related to allowed/preferred
    modes, so
    during the initial power-up we'll just assume we want ANY mode.

 plugins/mbm/mm-broadband-modem-mbm.c | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

commit 5d02361501f7c93345aa10dfbd052a093fed40fd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 1 11:53:29 2013 +0100

    iridium: ignore initial power state loading

    No need to initially power-up the modem.

 plugins/iridium/mm-broadband-modem-iridium.c | 2 ++
 1 file changed, 2 insertions(+)

commit 923d4dd8bdd6d7a785ddbf7874c35b838ba46606
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 1 11:53:21 2013 +0100

    motorola: ignore initial power state loading

    No need to initially power-up the modem.

 plugins/motorola/mm-broadband-modem-motorola.c | 2 ++
 1 file changed, 2 insertions(+)

commit f79f3b8770e356fa051927f783f332740cfab8de
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 1 11:53:09 2013 +0100

    nokia: ignore initial power state loading

    No need to initially power-up the modem.

 plugins/nokia/mm-broadband-modem-nokia.c | 2 ++
 1 file changed, 2 insertions(+)

commit 9f5cfefb009eda1af986236a92fbfdc46de7efd7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 1 11:52:16 2013 +0100

    sierra: in 3GPP, no need to check if already powered up before
    powering up

    This logic is now implemented by the parent broadband modem object.

    Also, implement a custom initial power state loading, so that
    CDMA-only modems
    get marked as 'offline', in order to launch !pcstate=1 to power them
    up during
    the first enabling. The custom initial power state loading will run
    the parent's
    implementation in non-CDMA-only modems.

 plugins/sierra/mm-broadband-modem-sierra-icera.c |   4 +
 plugins/sierra/mm-broadband-modem-sierra.c       |   4 +
 plugins/sierra/mm-common-sierra.c                | 134
 ++++++++++++++---------
 plugins/sierra/mm-common-sierra.h                |   9 ++
 4 files changed, 98 insertions(+), 53 deletions(-)

commit e3db373be45464b8c14d4c38f23105aaa7354ba2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 1 11:50:10 2013 +0100

    wavecom: no need to check if already powered up before powering up

    This logic is now implemented by the parent broadband modem object.

 plugins/wavecom/mm-broadband-modem-wavecom.c | 74
 +++-------------------------
 1 file changed, 6 insertions(+), 68 deletions(-)

commit 952d96234bf179f26ec757eed7325518445327f0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 1 11:12:05 2013 +0100

    broadband-modem: implement custom power state loading

 src/mm-broadband-modem.c | 96
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 96 insertions(+)

commit 696b879b6dc1d3330406210abe7a28ecf86a5f6a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 1 11:11:44 2013 +0100

    broadband-modem-qmi: implement custom power state loading

 src/mm-broadband-modem-qmi.c | 93
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

commit e55b543d384296ad07fddc3bbcb0a9ec51c86e6a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 31 16:25:06 2012 +0100

    iface-modem: implement power mode loading and setting

 src/mm-iface-modem.c | 435
 +++++++++++++++++++++++++++++++++++++++------------
 src/mm-iface-modem.h |  17 ++
 2 files changed, 349 insertions(+), 103 deletions(-)

commit 49aecb57dc2aeebb1e133816aec05321e5073cda
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 31 15:10:22 2012 +0100

    api,modem: new 'SetPowerState()' method and 'PowerState' property

    Going into/outof low-power state is now a user-requested action.

 docs/reference/api/ModemManager-sections.txt         |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt    | 10 ++++++++++
 include/ModemManager-enums.h                         | 16
 ++++++++++++++++
 .../org.freedesktop.ModemManager1.Modem.xml          | 20
 ++++++++++++++++++++
 4 files changed, 47 insertions(+)

commit f50aa47fb282cd250322c70fdbbe0c9889705485
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 10 10:09:35 2013 -0600

    sim-qmi: fix trivial GError literal issues/format string warnings

 src/mm-sim-qmi.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 763e207e9cfdff78e0d40cafc8fd3c685374888d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 9 10:05:15 2013 +0100

    blacklist: ignore all devices from VID 0x0617

    No modems from the Swiss Federal Institute of Technology.

    https://bugzilla.gnome.org/show_bug.cgi?id=691384

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit dc7aa25f0a43571de3d32451ef71e7f69ae4d2dd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 19 09:56:02 2012 +0100

    sim-qmi: translate common SIM-related QMI errors into ME errors

    Upper layers expect Mobile Equipment errors, so try to translate
    known QMI
    protocol errors.

 src/mm-sim-qmi.c | 39 +++++++++++++++++++++++++++++++++++----
 1 file changed, 35 insertions(+), 4 deletions(-)

commit 1372933345b197d89a7e4ae0d5bdcec1fd1e1b2e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 18 23:38:42 2012 +0100

    iface-modem,sim: improve lock info update logic

    The logic to handle the lock information (current lock and unlock
    retry count)
    wasn't handling all possible cases properly, e.g.:

     * When PIN is incorrectly entered too many times, a SIM-PUK error
     may happen.
       In this case we need to directly assume SIM-PUK is the current lock
       (some
       modems, like Option HSO ones, would incorrectly reply SIM-PIN if
       CPIN? asked
       just after the SIM-PUK error).

     * After every operation acting in SIM locks, we need to update
     the current
       unlock retry count.

    This change tries to cover those cases, by:

     * The logic to check current lock is extended to also load the
     unlock retry
       count when needed.

     * Whenever a SIM-PUK error happens in the SIM operations, we
     directly assume
       that SIM-PUK is required, without re-asking CPIN?.

     * The overall logic of lock checking is now handled by a state
     machine, which
       is much easier to understand.

 src/mm-iface-modem-simple.c |  15 +-
 src/mm-iface-modem.c        | 447
 ++++++++++++++++++++++----------------------
 src/mm-iface-modem.h        |  26 +--
 src/mm-sim.c                | 119 +++++++-----
 4 files changed, 310 insertions(+), 297 deletions(-)

commit 959bb9d2ffb8bd7a3d701c21ec2cb58cab3717d9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 7 22:19:02 2013 +0100

    broadband-modem: launch the Firmware interface even on fatal errors

    Even when there is a fatal error during initialization (e.g. missing
    PIN in a
    3GPP modem), we should allow operations on the Firmware interface.

 src/mm-broadband-modem.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit e93922197522067851f8cb4b7948ecae93e2843c
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jan 3 18:50:40 2013 -0800

    iface-modem, novatel-lte: disable network scan in LTE mode

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 102
 ++++++++++++++++++++++-
 src/mm-iface-modem.c                             |  20 +++++
 src/mm-iface-modem.h                             |   3 +
 3 files changed, 124 insertions(+), 1 deletion(-)

commit bc399d9cf87c3fb775fc677963bb2522c385e2e2
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jan 3 02:55:11 2013 -0800

    iface-modem-3gpp,iface-modem-cdma: check for deallocated
    RegistrationCheckContext

    This patch fixes a crash in periodic_registration_checks_ready()
    due to
    access of an already deallocated RegistrationCheckContext.

    Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )

    0x7fc344d355cd   [ModemManager]             -
    mm-iface-modem-cdma.c:1112   periodic_registration_checks_ready
    0x7fc3449ea266   [libgio-2.0.so.0.3200.4]   - gsimpleasyncresult.c:767
    g_simple_async_result_complete
    0x7fc3449ea368   [libgio-2.0.so.0.3200.4]   - gsimpleasyncresult.c:779
    complete_in_idle_cb
    0x7fc344851dc4   [libglib-2.0.so.0.3200.4]  - gmain.c:2539
    g_main_context_dispatch
    0x7fc344852147   [libglib-2.0.so.0.3200.4]  - gmain.c:3146
    g_main_context_iterate
    0x7fc3448525a1   [libglib-2.0.so.0.3200.4]  - gmain.c:3340
    g_main_loop_run
    0x7fc344d0f154   [ModemManager]             - main.c:158
    main
    0x7fc34426a474   [libc-2.15.so]             - libc-start.c:234
    __libc_start_main
    0x7fc344d0eb68   [ModemManager]             + 0x0001bb68

 src/mm-iface-modem-3gpp.c | 3 ++-
 src/mm-iface-modem-cdma.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

commit d40ef838986eb62b4c657a981791e8225ce3ce2c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 28 11:07:46 2012 +0100

    sierra: implement modem reset

 plugins/sierra/mm-broadband-modem-sierra.c | 26
 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit eae28e9be4af1bb1d588cfd604eee68a0f2778e7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 28 10:32:55 2012 +0100

    sierra: wait up to 10s for the power up command reply

    Specially the first time that CFUN=1,0 is issued after the initial
    power up, we
    really need to wait more than 3s for the AT command reply. Otherwise,
    the modem
    won't like it and it will reset itself :-/

 plugins/sierra/mm-common-sierra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 35775e3634e2783b808bbce777a6e6565d989abb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 28 08:49:35 2012 +0100

    sierra: ignore all +PACSP messages

    Not only +PACSP0, but also +PACSP1.

 plugins/sierra/mm-common-sierra.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit b5257491b040ae4873194573608de267a9375bb1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 28 08:13:40 2012 +0100

    sierra: fix 3GPP dialling sequence

    There was a missing step++ when falling down to the next step in
    the switch(),
    which was preventing a proper connection.

 plugins/sierra/mm-broadband-bearer-sierra.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

commit 95598e2e37463e95555c296a7ae023e7ded46408
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 28 08:01:05 2012 +0100

    sierra: pass data port to parent's 3GPP dialling sequence

 plugins/sierra/mm-broadband-bearer-sierra.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

commit 1b0ab2ea60eef1fb8d9b9c185d2700dab562be0d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 28 08:00:04 2012 +0100

    broadband-bearer: dial port may be different to the primary port

 src/mm-broadband-bearer.c | 51
 ++++++++++++++++++-----------------------------
 1 file changed, 19 insertions(+), 32 deletions(-)

commit 731812fe342ba4d2a5531992638a21b8a27bdbb4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 27 13:42:28 2012 +0100

    plugin: avoid QMI-managed net ports when compiling without QMI support

 src/mm-device.c | 29 +++++++++++++----------------
 src/mm-device.h |  2 ++
 src/mm-plugin.c | 13 ++++++++++++-
 3 files changed, 27 insertions(+), 17 deletions(-)

commit 80b68ac0aeb4e6263ac5d17d268723ac6fd1df47
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 27 12:43:11 2012 +0100

    plugin-manager: initially never start with the Generic plugin
    suggested

    The generic plugin should be a fallback, so when starting to probe
    the port,
    never start with the Generic plugin first.

 src/mm-plugin-manager.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

commit ef31ff75358657a4a048bd4b0b34aeedb092086f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 27 08:58:39 2012 +0100

    broadband-bearer: PDP context deactivation may take longer

    Update the default timeout from 3s to 10s.

 src/mm-broadband-bearer.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c8fcf7a91d5d9f4d5d0942a3b07984e330198d10
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 27 08:47:49 2012 +0100

    plugin: re-run subsystems filter before grabbing the ports

    Every port probing will have the Generic plugin as fallback, and
    due to some
    other issues in other plugins (see ee099fcd), we need to allow
    overwriting the
    suggested plugin from the Generic to a more specific one.

    One of the drawbacks of this is that we're actually allowing the
    Generic plugin
    to probe and accept the port, which means that the generic plugin
    may accept a
    specific port type (e.g. QMI) while the specific plugin wouldn't. So,
    we will
    now also run the subsystems filter before grabbing the specific port,
    in order
    to really filter out those cases. We still keep the subsystems
    filter in
    pre-probing, so that we build a better initial plugin list to probe.

 src/mm-plugin.c | 63
 ++++++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 42 insertions(+), 21 deletions(-)

commit 7da2a65b43a386499bd5df66dba53f4b31417cad
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 27 07:39:52 2012 +0100

    plugins: fix generic GObject related macros

 plugins/iridium/mm-broadband-modem-iridium.h     | 8 ++++----
 plugins/novatel/mm-broadband-modem-novatel-lte.h | 8 ++++----
 plugins/novatel/mm-broadband-modem-novatel.h     | 8 ++++----
 plugins/samsung/mm-broadband-modem-samsung.h     | 8 ++++----
 plugins/sierra/mm-broadband-modem-sierra-icera.h | 8 ++++----
 plugins/zte/mm-broadband-modem-zte-icera.h       | 8 ++++----
 6 files changed, 24 insertions(+), 24 deletions(-)

commit f923e95861eb65a29ba9ced2040abaed8add6703
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 27 07:23:01 2012 +0100

    base-modem: don't set the modem valid if we didn't export the Modem
    interface

    If an error occurs early during the initialization (e.g. during port
    setup), we
    would be aborting without even having exported the modem interface. So
    detect
    that case and skip setting the modem as valid.

 src/mm-base-modem.c      | 33 ++++++++++++++++++++-------------
 src/mm-broadband-modem.c | 45
 ++++++++++++++++++++++++++++-----------------
 2 files changed, 48 insertions(+), 30 deletions(-)

commit 4ffa871228fa9b267f1647bf73238811e20e51b7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 27 06:48:23 2012 +0100

    zte: ignore net ports in non-Icera based modems

    Plain non-Icera ZTE modems will use ATD calls and PPP to establish the
    connection, so ignore 'net' ports that may be found in the way
    (e.g. when the
    modem is a QMI modem and we're not using QMI support).

 plugins/zte/mm-plugin-zte.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

commit ded8bfe96585088629f5d70369fbe9f39f4e54b5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 24 19:06:26 2012 +0100

    hso: new helper code to debug GPS related issues

    Disabled in normal compilation, can be enabled to debug issues.

 plugins/option/mm-broadband-modem-hso.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

commit 4d4ea9c3698077451ecf91c27d45e6503aa1cd0b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 24 18:57:39 2012 +0100

    iface-modem-location: fix periodic reporting of the GPS location info

    The Location property was never being updated properly.

 src/mm-iface-modem-location.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 850a7737b809ad844fd91de1befa273a66cbe8d3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 24 15:54:37 2012 +0100

    broadband-modem: fix reloading of operator code when enabling 3GPP
    location

    When the 3GPP location is enabled, we need to reload the operator code
    information, but only if the modem is registered in a 3GPP network.

    Now, instead of looking at the global modem state value, look at
    the specific
    3GPP registration state. This will avoid issues like:
     * updating 3GPP operator info and the modem registered in a CDMA
     network.
     * not updating the 3GPP operator info when the modem is registered
     in a 3GPP
       network but not yet fully enabled (i.e. 'enabling').

 src/mm-broadband-modem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 0380045aacb370c1a95e8119abbe1ffe8e5fb44b
Author: Anton Blanchard <anton@samba.org>
Date:   Sat Dec 22 22:13:28 2012 +1100

    ModemManager: Blacklist Dangerous Prototypes Bus Pirate v4

    The Bus Pirate v4 presents itself as a CDC ACM device which
    ModemManager attempts to configure. This results in a range
    of confusing issues because it injects a bunch of AT commands
    over whatever is going on at the time.

    Firmware updates were failing at random points and avrdude
    failed to work at all. Blacklisting it fixed my issues.

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit c08b03f6fde138bad5d4d3232af073314fdce640
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Dec 17 14:23:00 2012 -0600

    sierra: fix APP1 PPP functionality

    Unfortunately, Sierra secondary APP ports reply to +GCAP with
    only "OK", and not their APP port number or model number.  So instead
    of using +GCAP, we have to use ATI to get secondary port information.
    This allows us to detect which port is the APP1 port that we can
    potentially use for PPP, leaving the primary port available for
    control and status.

    Also, some modems have up to 3 or 4 APP secondary ports, which we
    need to ensure aren't used as primary.  The previous check for +GCAP
    handled that, but let's make it more explicit.

    AT+GCAP reply:
    OK

    ATI reply:
    Sierra Wireless, Inc.
    C885
    APP1
    OK

    See also: 3f3987e09ee762e48c1d53cb42a1288ce9f332cb (MM_06)

 plugins/sierra/mm-plugin-sierra.c | 52
 +++++++++++++++++++++------------------
 1 file changed, 28 insertions(+), 24 deletions(-)

commit dc9bbefbc083a328fad0b770d1e716e704c72c65
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 30 14:03:31 2012 +0100

    icera,hso: don't wait to get connected if the primary port is removed

    If the primary port is gone (e.g. when going to sleep) and we are
    just in the
    middle of a connection attempt, we won't be able to receive any
    unsolicited
    message regarding the status of the attempt. So, if we detect that
    the port is
    forced to get closed, we'll just treat it as a connection failure.

    http://code.google.com/p/chromium-os/issues/detail?id=35391

 plugins/icera/mm-broadband-bearer-icera.c | 30
 +++++++++++++++++++++++++++++-
 plugins/option/mm-broadband-bearer-hso.c  | 28
 ++++++++++++++++++++++++++++
 src/mm-serial-port.c                      | 13 +++++++++++++
 src/mm-serial-port.h                      |  1 +
 4 files changed, 71 insertions(+), 1 deletion(-)

commit f20922ba9d766bfbb198a3c2e41981b4d9473cfa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 12 12:55:33 2012 +0100

    bearer: check if signal handler is connected before trying to
    disconnect it

    Avoids warnings like:
    GLib-GObject-WARNING **: gsignal.c:2576: instance `0x78624028'
    has no handler with id `148'

 src/mm-bearer.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit c43c8958d09ba93909c3a2aebd691df9872a10e8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 12 12:21:17 2012 +0100

    sms-part: plug memleak

 src/mm-sms-part.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 9d5e2c608dc75fdb5a660829a77faafe5e686312
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Dec 10 16:34:07 2012 -0600

    sierra: implement the Time interface for 3GPP and CDMA devices

 plugins/sierra/mm-broadband-modem-sierra.c | 243
 ++++++++++++++++++++++++++++-
 plugins/sierra/mm-broadband-modem-sierra.h |   2 +
 2 files changed, 244 insertions(+), 1 deletion(-)

commit 5427f0d356c115814562cbe0483157a62de616cb
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Dec 10 16:30:05 2012 -0600

    sierra: restore longer CFUN=1 timeout for older devices

    Turns out older devices (like the C885/AT&T Mercury) crash often
    when we don't wait for them to settle from CFUN=1.  5 seconds is
    too short, but the crashes go away when we wait for 10 seconds.
    Newer modems like the USB306 don't have this problem, so we just
    check to see if the modem is a DirectIP device (using sierra_net)
    and only use the shorter timeout for those newer devices.

    This is a separate problem from some older modems returning ERROR
    to valid commands that are sent too soon after CFUN=1, which was
    observed on really old devices like the PCMCIA 860.

 plugins/sierra/mm-common-sierra.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

commit 26c19ff4741b1ec72b4e131dcb8439dfb9b4af0a
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Dec 7 15:43:26 2012 -0600

    release: bump version to 0.7.990

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 46d2d40e9d23c88907f2866e9aca09ca0c902235
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Dec 7 15:38:29 2012 -0600

    release: update NEWS

 NEWS | 30 +++++++-----------------------
 1 file changed, 7 insertions(+), 23 deletions(-)

commit d952571b2b09319a25eda1519db145c8967396eb
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 5 14:38:13 2012 -0600

    broadband-modem: strip prefixes from GMM/GMR/GMI replies

    Some devices prefix the replies with the command, some don't, so
    strip off the prefix if it exists.

 src/mm-broadband-modem.c | 77
 ++++++++++++++++++++++++++----------------------
 1 file changed, 42 insertions(+), 35 deletions(-)

commit 4b23fd00a0dd1e4c5127124af01a60d48e7dcdb7
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 5 13:53:44 2012 -0600

    icera: implement Time interface support check

 plugins/icera/mm-broadband-modem-icera.c | 34
 +++++++++++++++++++++++++++++++-
 1 file changed, 33 insertions(+), 1 deletion(-)

commit 8c1f80a9a44e686b8f12dcbafa0d3d9b6ad5b7f0
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 5 12:17:38 2012 -0600

    huawei: implement Time interface for CDMA modems

 plugins/huawei/mm-broadband-modem-huawei.c | 135
 ++++++++++++++++++++++++++++-
 1 file changed, 134 insertions(+), 1 deletion(-)

commit 4e980d17396bc65acd49edbaf195013dcae5e5d0
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 5 12:15:51 2012 -0600

    icera: report 4-digit year as required by ISO-8601

    Assume 2000 + year.

 plugins/icera/mm-broadband-modem-icera.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit dd51f7a6aeb5b133dad32918c73c3e7583a96d97
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 5 11:15:28 2012 -0600

    libmm-glib: document mm_get_uint_from_str()

    Unlike strtol/stroul, this function doesn't ignore leading or
    trailing non-digit characters, so document that restriction.

 libmm-glib/mm-common-helpers.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 75731cf21c9eb64f70ba243122a7c384c4d1be00
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 5 11:00:31 2012 -0600

    modem-helpers: add EVDO rev. B and "CDMA2000 1X" to access tech helper

    Some Huawei modems report these, and we may use the generic helper
    in the future.

 src/mm-modem-helpers.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit e3a71711bfbb0998b85bdb00fe7857c34b560dec
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Nov 28 13:09:58 2012 -0600

    huawei: handle CDMA allowed modes

 plugins/huawei/mm-broadband-modem-huawei.c | 107
 ++++++++++++++++++++++++-----
 1 file changed, 89 insertions(+), 18 deletions(-)

commit c3984d3982ecce269451cb6d3a1ac2281bfc57b5
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Nov 28 10:27:07 2012 -0600

    huawei: fix crash disabling CDMA unsolicited response handlers

    Parent MMBroadbandModem may not implement these functions so we
    shouldn't call them unless it does.

 plugins/huawei/mm-broadband-modem-huawei.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

commit f0ba40f3a1c3ea34c84bfd94cc5f87c4e288f37d
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Nov 28 10:23:38 2012 -0600

    huawei: implement Huawei-specific CDMA signal quality checks

    Many Huawei CDMA modems implement vendor commands for 1x and EVDO
    signal quality, so use them since they are more accurate than the
    generic signal checking.

    (port of a similar patch for MM_06 by heiher <admin@heiher.info>)

 plugins/huawei/mm-broadband-modem-huawei.c | 132
 ++++++++++++++++++++++++++++-
 1 file changed, 131 insertions(+), 1 deletion(-)

commit 8fdcfd5b97e9a2a9e6fd98a9d833691256443498
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Nov 28 10:15:45 2012 -0600

    huawei: consolidate MODE parsing

    Both CDMA and 3GPP modems emit this, but using slightly different
    formats.

 plugins/huawei/mm-broadband-modem-huawei.c | 54
 +++++++++++++++++++++++++++---
 1 file changed, 49 insertions(+), 5 deletions(-)

commit 56e5ecdc1b64c37f103eea1adc8ace3c743ed0e2
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Nov 28 09:45:47 2012 -0600

    huawei: consolidate SYSINFO parsing

    Both CDMA and 3GPP modems use SYSINFO, so consolidate the parsing of
    its response.

 plugins/huawei/mm-broadband-modem-huawei.c | 219
 ++++++++++++++++++-----------
 1 file changed, 135 insertions(+), 84 deletions(-)

commit b39ae775d6c13474d0c3b74acfd642a420f1faba
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 30 15:25:37 2012 +0100

    serial: clear serial info struct before calling ioctl()

    We need the kernel driver to give a proper value for the
    'closing_wait'
    variable, but don't assume it will.

    This should solve the following kind of issues reported by valgrind:

    ==8985== Conditional jump or move depends on uninitialised value(s)
    ==8985==    at 0x4409A6: mm_serial_port_close (mm-serial-port.c:932)
    ==8985==    by 0x41A420: disable_all_done (mm-generic-cdma.c:753)
    ==8985==    by 0x4125A4: mm_manager_shutdown (mm-manager.c:1130)
    ==8985==    by 0x40DE35: main (main.c:203)

 src/mm-serial-port.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 1e23fe62fe80a7351760bfb7fe9eeba7631d882b
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Nov 29 11:22:52 2012 -0600

    sierra: USB 306 modems support PPP on the APPx ports

 plugins/sierra/mm-plugin-sierra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ad51361cb78a2d2fae0b164d8396882dd2638bbf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 29 10:42:45 2012 +0100

    plugin-base: handle Huawei Data07 capabilities probing

 src/mm-broadband-modem.c | 1 +
 1 file changed, 1 insertion(+)

commit b0746c591f052587999ca22b81b86f1e8dd56354
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 27 22:04:04 2012 +0100

    huawei: don't assume g_regex_match_full() sets error when not matching

 plugins/huawei/mm-broadband-modem-huawei.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

commit 2f28193cd48a8d965ad9e26f1b918649ba10f5ec
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Nov 27 14:50:14 2012 -0600

    broadband-modem-huawei: don't call non-existent MMBroadbandModem
    CDMA functions

 plugins/huawei/mm-broadband-modem-huawei.c | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

commit ef644fba84544c1a91b3fd2b510e39f9877b3680
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Nov 27 09:54:51 2012 -0600

    hso: DIAG ports aren't always DIAG

    The 'hso' driver tags Icera-based modems' proprietary protocol port
    as a DIAG port, but since they aren't Qualcomm-based, it's not
    a DIAG port.  Just turn off AT probing and let QCDM probing
    fail the port instead of assuming it's a DIAG port.

 plugins/option/mm-plugin-hso.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit c90e41fb1327ad48166b58a8f8281ac6462a9690
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Nov 27 09:53:29 2012 -0600

    port-probe: early-exit if port is certainly not AT capable

    If we read a response that indicates the port is definitely not an
    AT capable port, stop AT probing.  Certain ports that use proprietary
    protocols or other non-AT protocols tend to spew data at us, so when
    this happens we can cut probing short.

 src/mm-port-probe.c | 131
 +++++++++++++++++++++++++++++-----------------------
 1 file changed, 74 insertions(+), 57 deletions(-)

commit a01e8aa31724ee1210b86d1d7261897a305d8710
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 26 17:29:48 2012 -0600

    serial-port: consistently use mm_warn() instead of g_warning()

 src/mm-serial-port.c | 45 +++++++++++++++++++++------------------------
 1 file changed, 21 insertions(+), 24 deletions(-)

commit 8772d63389b97a65bcace9fe0b54175a6adab9fe
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 26 17:05:52 2012 -0600

    serial-port: stop reading data if the serial port was closed

    If a response processor closed the port, don't try to read any
    more data from it.  Move the priv->watch_id check to the
    while condition so the loop terminates before calling
    g_io_channel_read_chars() again, which caused a warning since
    the underlying file descriptor was already closed.

    Also, bytes_read will never be less than zero (it's unsigned),
    so skip the bytes_read > 0 check and just assert that this
    condition is true.

 src/mm-serial-port.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit a7167b93b9f077e063024754ad2d566fc65f76b4
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 26 16:49:39 2012 -0600

    port-probe: fix crash in buffer-full processing

    Signal was attached with user_data as MMPortProbe*, but
    serial_buffer_full() treated user_data as a PortProbeRunTask*.
    Hillarity ensued.

 src/mm-port-probe.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

commit 6106d1d6a2b05a031c54c75861363b199136e417
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 26 16:17:07 2012 -0600

    port-probe: fix checking of Icera capability on some devices

    Sierra devices often have limited AT parsers on their APP ports
    which reply with OK to any command they don't understand, and
    thus we need to actually check for a valid IPSYS reply instead of
    just checking whether the IPSYS request completed without error.

    Previously MM would detect Icera capability on devices that
    didn't actually have it.

 src/mm-port-probe-at.c | 18 ------------------
 src/mm-port-probe-at.h |  7 -------
 src/mm-port-probe.c    |  9 ++++-----
 3 files changed, 4 insertions(+), 30 deletions(-)

commit 3e39144100315c5be83396d5ef2433be4b7ae203
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 26 13:56:32 2012 -0600

    qcdm: handle more test failures for NW subsystem

    Bandrich C120 returns BAD_LENGTH rather than BAD_COMMAND, perhaps
    because it re-uses the same subsystem number for something else.

 libqcdm/tests/test-qcdm-com.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 33f440c88543c32b70b0ba9458dc047c35ad23c9
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 26 13:55:07 2012 -0600

    broadband-modem: fall back to +CSQ if +CIND signal quality checking
    fails

    If +CIND fails for any reason (generic failure, wrong indexes, etc) or
    reports zero signal strength (quirky modem) then fall back to +CSQ.

 src/mm-broadband-modem.c | 72
 +++++++++++++++++++++++++-----------------------
 1 file changed, 37 insertions(+), 35 deletions(-)

commit 562055b53b7878e7bb0e240ae121d4bcd6926e93
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 27 16:24:54 2012 +0100

    libmm-glib,manager: client creation may fail, avoid explicit
    MM_MANAGER() cast

 libmm-glib/mm-manager.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit e97b229e663dcd6d24a15fef51f13e2886ddf134
Author: Jiří Klimeš <jklimes@redhat.com>
Date:   Tue Nov 27 10:48:48 2012 +0100

    core: fix possible crash in g_utf8_validate()

    We can skip additional UTF-8 validity check when parsing operator.
    mm_charset_take_and_convert_to_utf8() already does a UTF-8 validity
    check
    internally before returning the string, so it's pointless to do a
    new one
    on the returned string.
    Plus, mm_charset_take_and_convert_to_utf8() may really return NULL,
    which
    would end up in segfaulting as g_utf8_validate() expects always
    a non-NULL
    string.

    Based on 219424a6e2d017491a05ecbed661bccde3f991ef (MM_06 branch)

 src/mm-modem-helpers.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

commit e6052a4abfde3550b0b9c2229adb0bb381ac4a06
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 27 11:26:51 2012 +0100

    icera,hso: don't disconnect() cancellable in the cancellation callback

    The logic gets completely stuck when this happens:

    Stack trace below:
    #0  0x77661424 in __kernel_vsyscall ()
    #1  0x77337c3c in pthread_cond_wait ()
    #2  0x773cebaa in g_cond_wait () from /usr/lib/libglib-2.0.so.0
    #3  0x774c03cc in g_cancellable_disconnect () from
    /usr/lib/libgio-2.0.so.0
    #4  0x76955d36 in connect_cancelled_cb (cancellable=0x78e055a0,
    self=0x78e0b590)
    #5  0x77460982 in g_cclosure_marshal_VOID__VOIDv () from
    /usr/lib/libgobject-2.0.so.0
    #6  0x7745ed8a in ?? () from /usr/lib/libgobject-2.0.so.0
    #7  0x77478435 in g_signal_emit_valist () from
    /usr/lib/libgobject-2.0.so.0
    #8  0x77478eb3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #9  0x774c01eb in g_cancellable_cancel () from
    /usr/lib/libgio-2.0.so.0
    #10 0x776a0eab in mm_bearer_disconnect (self=0x78e0b590,
    callback=0x776c5980 <disconnect_ready>,
    #11 0x776c57de in disconnect_next_bearer (ctx=0x78e12870) at
    mm-iface-modem-simple.c:898
    #12 0x776c58d2 in disconnect_auth_ready (self=0x78df3048,
    res=0x78e06210, ctx=0x78e12870)
    #13 0x774fed25 in g_simple_async_result_complete () from
    /usr/lib/libgio-2.0.so.0
    #14 0x776a8c4e in authorize_ready (authp=0x78db68d0, res=0x76801638,
    simple=0x78e06210)
    #15 0x774fed25 in g_simple_async_result_complete () from
    /usr/lib/libgio-2.0.so.0
    #16 0x774fee3e in ?? () from /usr/lib/libgio-2.0.so.0
    #17 0x7738a7a2 in ?? () from /usr/lib/libglib-2.0.so.0
    #18 0x7738ce83 in g_main_context_dispatch () from
    /usr/lib/libglib-2.0.so.0
    #19 0x7738d248 in ?? () from /usr/lib/libglib-2.0.so.0
    #20 0x7738d6eb in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
    #21 0x77696a7d in main (argc=2, argv=0x7fbb1f04) at main.c:158

    http://code.google.com/p/chromium-os/issues/detail?id=36448

 plugins/icera/mm-broadband-bearer-icera.c | 2 --
 plugins/option/mm-broadband-bearer-hso.c  | 2 --
 2 files changed, 4 deletions(-)

commit 674ecaa6eb356539a56d84057cc9fa7b5aeed0b1
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Nov 26 23:56:27 2012 -0800

    broadband-modem: check for NULL response in
    parse_caps_{cpin,cgmm,gcap}

 src/mm-broadband-modem.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

commit cf46ed42384e9fbd4872e2f98d743755d8f9a571
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Nov 15 09:37:56 2012 +0100

    libmm-glib,manager: register DBus error associations in advance

    In order to have a proper conversion between DBus error names and
    GErrors for
    our known domains, the associations need to be registered before
    any DBus
    call attempt.

    Given that the high-level API of libmm-glib has its entry point
    always in the
    MMManager, just register them as soon as the first such object
    is created.

 libmm-glib/mm-manager.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

commit b74741e6420519767bd7551f29dc69f9f31b4c51
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jul 25 14:06:17 2012 -0500

    qcdm: get/set functions for hybrid preference

 libqcdm/src/commands.c        | 88
 +++++++++++++++++++++++++++++++++++++++++++
 libqcdm/src/commands.h        | 23 +++++++++++
 libqcdm/src/nv-items.h        | 13 +++++++
 libqcdm/tests/test-qcdm-com.c | 42 +++++++++++++++++++++
 libqcdm/tests/test-qcdm-com.h |  2 +
 libqcdm/tests/test-qcdm.c     |  1 +
 6 files changed, 169 insertions(+)

commit 773d0022d0d1756ca8a29ad273bea38916a93499
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Nov 14 11:07:28 2012 -0600

    qcdm: trivial cleanup of log item numbers

 libqcdm/src/log-items.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 79652bb671d188da2905fb95d7f928c689305451
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Nov 14 11:05:21 2012 -0600

    qcdm: clarify log item command length member

 libqcdm/src/dm-commands.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e798b6e663131aaabc8919de2a46eb2f58d43aa0
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Nov 8 12:17:00 2012 -0600

    serial: fix warning when driver doesn't support closing_wait
    (bgo #630670)

    It appears that GIOChannel might also do some flushing, so make sure
    our warning captures that delay if there is one.  Also be paranoid
    and make sure nothing reset our closing_wait value.

 src/mm-serial-port.c | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

commit 191eabe952031b5dcc86e92c993d6bfbef101f3f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 13 07:41:03 2012 +0100

    blacklist: skip probing Atmel samba bootloader

    https://bugzilla.gnome.org/show_bug.cgi?id=688213

 src/77-mm-usb-device-blacklist.rules | 3 +++
 1 file changed, 3 insertions(+)

commit c2db8abe5238c3ddd05d11a0f99f10914b2af9cf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Nov 8 15:59:12 2012 +0100

    huawei: better detection of data port on some modems

    Some devices (e173) appear to lie about NDIS support; GETPORTMODE
    reports NDIS
    is enabled, but that port is actually the MDM port and responds to
    AT commands.
    So, if we get a port reported as NDIS and none reported as MDM,
    use the one
    reported as NDIS for PPP.

    https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1057186

 plugins/huawei/mm-plugin-huawei.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 8c4a836a2dbb9f682ab99871496c47a4c899ded9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 31 11:36:36 2012 +0100

    option,hso: early check of port type hints to avoid probings

    Instead of getting the port type hints while grabbing each probed
    port, we now
    run a custom init operation in the probing which already gives us
    the port type,
    and therefore allows us to completely skip port probings.

    Also now added hints for 'Diag' (QCDM) ports and AT/'Modem' ports
    (I guess it's
    the one for PPP if we don't have a net port, which is unlikely anyway
    in HSO).

    This makes the probing of an Option/HSO modem almost instant.

 plugins/option/mm-plugin-hso.c | 142
 ++++++++++++++++++++++++++---------------
 1 file changed, 92 insertions(+), 50 deletions(-)

commit 94d62146e39c3c48fcd4e134cad99f6aadb0d77d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 7 10:01:03 2012 +0100

    libmm-glib,manager: avoid unref of unset cancellables

 libmm-glib/mm-manager.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 11db2ea38093bc8d1bb1424cfca84abf3b66185c
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 5 16:29:30 2012 -0600

    sierra: fix CFUN power up delay handling

    All Sierra devices appear to require short delay after powering up,
    otherwise subsequent commands may return errors. Older devices need
    longer so ensure new devices are penalized just for being new.

    This is the port to git master of the following commit, for which we
    don't need to do #2:

    commit 814febe1fd9baacdb33c79f11c140187df36c4f1
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Tue Oct 30 16:16:25 2012 -0500

        sierra: fix CFUN power up delay handling

        1) all Sierra devices appear to require short delay after
        powering up,
        otherwise subsequent commands may return errors.  Older devices
        need
        longer so ensure new devices are penalized just for being new.

        2) When the modem is already in full functionality status and
        no power
        up command was sent, there's no need to delay, which was happening
        regardless of what state the modem was already in.  Detect whether
        the power up was actually executed (response and error will
        be NULL)
        and only delay if it was executed.

 plugins/sierra/mm-common-sierra.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

commit 5a16f2aff10660bdf279a5ebbd0138f6aea6480a
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Nov 3 18:00:03 2012 -0700

    novatel-lte: use $NWMDN to read own number when +CNUM fails

    +CNUM may return ERROR when the modem fails to read the own numbers
    from
    the SIM card or when the SIM card hasn't been activated. Use $NWMDN to
    read the MDN as a fallback, which distinguishes these two cases.

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 103
 +++++++++++++++++++++++
 1 file changed, 103 insertions(+)

commit af48e1c8b7b4cdc4212540d0f893a09f68630959
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 2 14:29:52 2012 +0100

    broadband-modem-qmi: by default request only GSM-WCDMA mode messages

    This should probably fix the issues seen with the Novatel E362
    (CDMA+LTE):

    ModemManager[4813]: <debug> [1351697325.212782]
    [mm-broadband-modem-qmi.c:5541] load_initial_sms_parts(): loading
    messages from storage 'sm'...
    ModemManager[4813]: [/dev/cdc-wdm0] Sending message...
    <<<<<< QMUX:
    <<<<<<   length  = 16
    <<<<<<   flags   = 0x00
    <<<<<<   service = "wms"
    <<<<<<   client  = 2
    <<<<<< QMI:
    <<<<<<   flags       = "none"
    <<<<<<   transaction = 3
    <<<<<<   tlv_length  = 4
    <<<<<<   message     = "List Messages" (0x0031)
    <<<<<< TLV:
    <<<<<<   type       = "Storage Type" (0x01)
    <<<<<<   length     = 1
    <<<<<<   value      = 01
    <<<<<<   translated = 1
    ModemManager[4813]: [/dev/cdc-wdm0] Received message...
    >>>>>> QMUX:
    >>>>>>   length  = 19
    >>>>>>   flags   = 0x80
    >>>>>>   service = "wms"
    >>>>>>   client  = 2
    >>>>>> QMI:
    >>>>>>   flags       = "response"
    >>>>>>   transaction = 3
    >>>>>>   tlv_length  = 7
    >>>>>>   message     = "List Messages" (0x0031)
    >>>>>> TLV:
    >>>>>>   type       = "Result" (0x02)
    >>>>>>   length     = 4
    >>>>>>   value      = 01:00:11:00
    >>>>>>   translated = FAILURE: MissingArgument
    ModemManager[4813]: <debug> [1351697325.215112]
    [mm-iface-modem-messaging.c:757] load_initial_sms_parts_ready():
    Couldn't load SMS parts from storage 'sm': 'Couldn't list messages:
    QMI protocol error (17): 'MissingArgument''

 src/mm-broadband-modem-qmi.c | 4 ++++
 1 file changed, 4 insertions(+)

commit b43575fdf9c2f6b9f47dcb034343c0cb58e3df90
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 2 14:19:15 2012 +0100

    iface-modem-messaging: fix storage string when reporting errors

 src/mm-iface-modem-messaging.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 9ec90d9a11f53c91274a1341217e7da5f8621674
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 2 09:52:31 2012 +0100

    core,plugins: don't assume 'CS' supported when '2G' supported

    We will not report 'CS' as a supported mode every time '2G' is
    supported. This
    actually was forcing all plugins to handle a 'CS' fallback when they
    didn't have
    CS-specific mode setup. So, to simplify things, we will only report
    'CS' as
    supported for those plugins which actually allow to select 'CS' mode
    (e.g. the
    'wavecom' plugin).

 plugins/huawei/mm-broadband-modem-huawei.c       | 7 -------
 plugins/icera/mm-broadband-modem-icera.c         | 9 +--------
 plugins/linktop/mm-broadband-modem-linktop.c     | 7 -------
 plugins/longcheer/mm-broadband-modem-longcheer.c | 7 -------
 plugins/option/mm-broadband-modem-option.c       | 9 +--------
 plugins/x22x/mm-broadband-modem-x22x.c           | 7 -------
 plugins/zte/mm-broadband-modem-zte.c             | 7 -------
 src/mm-broadband-modem.c                         | 7 -------
 src/mm-modem-helpers-qmi.c                       | 9 ++-------
 9 files changed, 4 insertions(+), 65 deletions(-)

commit 96305bb5c1d32e5a0e517750501b705502e74111
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 2 09:48:56 2012 +0100

    iridium: report only 'CS' mode supported

    Iridium modems only support circuit-switched connections, so just
    report that
    one as supported.

 plugins/iridium/mm-broadband-modem-iridium.c | 31
 ++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

commit 55c05121adf23e9fc9669540cedc63e84005e2cd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 2 08:49:37 2012 +0100

    broadband-modem-qmi: fix error reporting when loading current
    bands fails

 src/mm-broadband-modem-qmi.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 1fd1f558f1ad05b8f06f09b0d2b2ce318ac30ee7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 31 13:12:12 2012 +0100

    broadband-modem-qmi: implement CDMA BS location reporting

 src/mm-broadband-modem-qmi.c | 53
 +++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 47 insertions(+), 6 deletions(-)

commit 31ec55aea8ed310403929f5b9c7ffcca74b145e7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 31 12:50:13 2012 +0100

    iface-modem-location: implement handling the CDMA BS location source

 src/mm-iface-modem-location.c | 112
 +++++++++++++++++++++++++++++++++++++-----
 src/mm-iface-modem-location.h |   6 +++
 2 files changed, 107 insertions(+), 11 deletions(-)

commit b508316a5a87409e9acf5a625f7501280dd29f74
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 31 12:35:01 2012 +0100

    cli: new actions to setup or gather CDMA BS location source

 cli/mmcli-modem-location.c | 74
 ++++++++++++++++++++++++++++++++++++++++------
 docs/man/mmcli.8           | 24 ++++++++++-----
 2 files changed, 82 insertions(+), 16 deletions(-)

commit d9241d08db31cf5bbb91ecc13c5b6839161a3804
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 31 12:34:46 2012 +0100

    libmm-glib: implement handling the CDMA BS location source

 docs/reference/libmm-glib/libmm-glib-docs.xml     |   1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt |  27 +++
 libmm-glib/Makefile.am                            |   3 +
 libmm-glib/libmm-glib.h                           |   1 +
 libmm-glib/mm-location-cdma-bs.c                  | 219
 ++++++++++++++++++++++
 libmm-glib/mm-location-cdma-bs.h                  |  84 +++++++++
 libmm-glib/mm-modem-location.c                    |  97 +++++++++-
 libmm-glib/mm-modem-location.h                    |  14 ++
 8 files changed, 438 insertions(+), 8 deletions(-)

commit 24c40e32bd6b5a9becbba05d18f8fbbdc3592d51
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 31 12:34:07 2012 +0100

    api: new source for the CDMA Base Station location

 include/ModemManager-enums.h                       |  2 ++
 ...rg.freedesktop.ModemManager1.Modem.Location.xml | 24
 ++++++++++++++++++++++
 2 files changed, 26 insertions(+)

commit 72068598e51a020a1f4c405c3d1650e4d2eef0a3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 31 12:09:46 2012 +0100

    libmm-glib: new header file for common stuff in location reporting

 docs/reference/libmm-glib/libmm-glib-sections.txt |  6 +--
 libmm-glib/Makefile.am                            |  2 +
 libmm-glib/libmm-glib.h                           |  1 +
 libmm-glib/mm-location-common.h                   | 48
 +++++++++++++++++++++++
 libmm-glib/mm-location-gps-raw.c                  | 38 +++++++++---------
 libmm-glib/mm-location-gps-raw.h                  | 27 +------------
 6 files changed, 75 insertions(+), 47 deletions(-)

commit 15f7a370d2c4adb118488287fd553c673e8142b4
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Oct 31 21:31:29 2012 -0700

    novatel-lte: increase the wait after SIM unlock to 3 seconds

    After repeated stress tests on a few Novatel E362 modems and SIM
    cards,
    it is revealed that a 3-second wait after SIM unlock is necessary for
    reliably reading ICCID and IMSI through the SIM interface.

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 02ef7d95474af3d13ce6905d7f8dcd3c8ce82608
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Oct 31 21:23:42 2012 -0700

    iface-modem: load own numbers after SIM initialization

    In 3GPP, own numbers are loaded from the SIM card, the loading of own
    numbers should be scheduled after the SIM card is ready.

 src/mm-iface-modem.c | 34 +++++++++++++++++-----------------
 1 file changed, 17 insertions(+), 17 deletions(-)

commit daf1a353c32e3bbf182e8c9c2948c35627c3111d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 31 10:54:25 2012 +0100

    core: allow QMI modems without AT ports

 src/mm-base-modem.c          | 24 ++++++++++++++---
 src/mm-broadband-modem-qmi.c | 62
 +++++++++++++++++++++++++++++++++++++++++---
 src/mm-broadband-modem.c     | 13 ++++++----
 3 files changed, 86 insertions(+), 13 deletions(-)

commit 25d35b6f915b65565ec90d17bfdaa96a7e6c391f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 29 16:11:35 2012 +0100

    broadband-modem-qmi: run power-down during init

 src/mm-broadband-modem-qmi.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 189726de1156146f41b73e0a3570a106c79862c4
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Oct 30 18:39:53 2012 -0500

    sierra: allow more time for PDP context activation

    3 seconds isn't always enough to set up the context with the network.

 plugins/sierra/mm-broadband-bearer-sierra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 26956924b062bed7f1b724376f9e6ee7e89c1e13
Author: Marius B. Kotsbak <marius@kotsbak.com>
Date:   Tue Oct 30 18:01:23 2012 +0100

    sierra: avoid reset when setting cfun=1

    Some Sierra modems trigger a reset of the modem when sending +cfun=1.
    All sierra modems supports a second parameter to indicate that no
    reset is to be done: "+cfun=1,0".

 plugins/sierra/mm-common-sierra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 120b660fd4824e779b37e16a4e211867c8e34a68
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 30 16:06:27 2012 +0100

    core,log: include logging from the 'Qmi' log domain

    Sync with libqmi:

    commit 2835a53732fdae32478dd954a9ee3fa8afd93cab
    Author: Aleksander Morgado <aleksander@lanedo.com>
    Date:   Tue Oct 30 15:02:24 2012 +0100

        libqmi-glib: define library G_LOG_DOMAIN

 src/mm-log.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 3c2bcb8d04da23567f88db2710a93803ca54f347
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 30 15:50:32 2012 +0100

    huawei: ignore '^STIN' unsolicited messages

 plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 6992e3b32d33d7d2ff340b7f9c26f99f91099ad3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 30 15:48:30 2012 +0100

    huawei: reset ignored unsolicited message handlers only once

 plugins/huawei/mm-broadband-modem-huawei.c | 56
 +++++++++++++++++++-----------
 1 file changed, 36 insertions(+), 20 deletions(-)

commit 0ca6ae1b4b142dfa947bec45c833388f86cc9709
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 26 13:41:27 2012 +0200

    plugin-manager,plugin: run pre-probing filters early

    For each port, we will construct the list of plugins to test with. In
    that list
    we will include those plugins which are likely to handle a given port,
    so we
    will skip all those which aren't.

    To see if a plugin is likely or not, we will run the pre-probing
    filters before
    adding them to the list, with the new
    `mm_plugin_discard_port_early()'. This
    method will return one of these hints:

     * UNSUPPORTED: The plugin will not be able to handle this port.
     * MAYBE: The plugin may handle this port.
     * LIKELY: The plugin may (very likely) handle this port.
     * SUPPORTED: If any plugin should support the port, this is it.

    Plugins reported to be 'likely' supporting the port will be probed
    before the
    ones reported just as 'maybe'.

    If a plugin reports 'supported' only that one and the fallback
    generic ones will
    be tried.

 src/mm-plugin-manager.c | 119
 ++++++++++++++++++++++++++++++++++--------------
 src/mm-plugin.c         |  82 +++++++++++++++++++++------------
 src/mm-plugin.h         |  15 +++++-
 3 files changed, 152 insertions(+), 64 deletions(-)

commit e5b4b4d0e5ab11a581504ce88be2a1aa317524e8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 26 13:00:49 2012 +0200

    plugin-manager: use dispose() as we're holding plugin objects

 src/mm-plugin-manager.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

commit 49c19bf83e0c03e8d134d2c1d6a8d60df7d341f3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 26 12:56:08 2012 +0200

    plugin: avoid unneeded vendor/product AT probing if already passed
    USB ID filter

    Don't require vendor/product string probing if the plugin already had
    vendor/product ID filters and we actually passed those.

 src/mm-plugin.c | 42 ++++++++++++++++++++++++++++--------------
 1 file changed, 28 insertions(+), 14 deletions(-)

commit 3f255b628aac5c7b491a4daeb5a7cb43357d8432
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 26 12:44:15 2012 +0200

    plugin-manager,plugin: improve logging

    Logging which are the reasons for a plugin to filter a given port
    really help
    when trying to debug user issues. Some other general logging
    improvements also
    done.

 src/mm-plugin-manager.c |  61 ++++++++--------------------
 src/mm-plugin.c         | 103
 ++++++++++++++++++++++++++++++++++++------------
 2 files changed, 94 insertions(+), 70 deletions(-)

commit 28114f66d53a5f232904f2609778b9cd8f84ffa0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 24 16:25:38 2012 +0200

    iface-modem,broadband-modem: update 'enabling->enabled transition
    logic

    It is not the Modem interface the one notifying about the
    'enabling->enabled'
    transition, it's the BroadbandModem directly doing it, covering all
    the enabling
    sequences of all the interfaces.

 src/mm-broadband-modem.c | 93
 ++++++++++++++++++++++++++++++++++++++----------
 src/mm-iface-modem.c     | 26 --------------
 2 files changed, 75 insertions(+), 44 deletions(-)

commit d09d02442ff19f7b0b47b6a5505d49ed3154c30a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 24 16:24:52 2012 +0200

    iface-modem,broadband-modem: update 'disabling->disabled' transition
    logic

    It is not the Modem interface the one notifying about the
    'disabling->disabled'
    transition, it's the BroadbandModem directly doing it, covering
    all the
    disabling sequences of all the interfaces.

 src/mm-broadband-modem.c | 125
 +++++++++++++++++++++++++++--------------------
 src/mm-iface-modem.c     |  17 -------
 2 files changed, 72 insertions(+), 70 deletions(-)

commit a12d1e36b0bcda80f3b7f0ae28513a086bb3fd91
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 24 16:22:25 2012 +0200

    iface-modem: when transitioning to ENABLED check registration-specific
    states

 src/mm-iface-modem.c | 4 ++++
 1 file changed, 4 insertions(+)

commit f667898ecac27906fae9dfa526b799b0c81221f6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 24 16:22:55 2012 +0200

    iface-modem: ignore registration-related state changes if enabling
    or disabling

 src/mm-iface-modem.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit db80fd25509ca9c9cf56d57d1e4de637a859c0cd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 24 16:22:05 2012 +0200

    iface-modem: ignore bearer related state changes if disabling
    or enabling

 src/mm-iface-modem.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 16428630372d5047da8fa6874fd7b7ebc6da7fd1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 24 11:21:48 2012 +0200

    iface-modem-simple: avoid intermediate states

    If the modem is currently disabling, we need to wait to get fully
    disabled
    before starting with the new connection sequence.

    If the modem is currently disconnecting, we need to wait to get fully
    disconnected before starting with the new connection sequence.

 src/mm-iface-modem-simple.c | 160
 +++++++++++++++++++++++++-------------------
 1 file changed, 90 insertions(+), 70 deletions(-)

commit 4fc3f527919182031e039d902f7d1e3cd2b3ab11
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 24 13:37:52 2012 +0200

    iface-modem: new helper method to wait until a final state is reached

 src/mm-iface-modem.c | 128
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |   9 ++++
 2 files changed, 137 insertions(+)

commit 96986117b3f5dcbfa3c70d9e74047ebccc99dfcd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 24 13:39:20 2012 +0200

    option,hso: don't reset connection if cancelled, wait to get
    connected before

    If we are requested to cancel the connection, we first need to wait
    for the
    connection attempt to finish before issuing the disconnect command,
    as otherwise
    the modem just returns an error saying that it cannot perform the
    operation and
    at the end we end up with the modem connected but ModemManager
    thinking that it
    isn't.

 plugins/option/mm-broadband-bearer-hso.c | 152
 ++++++++++++++++++++-----------
 1 file changed, 101 insertions(+), 51 deletions(-)

commit 6297c4b4c891ab99576cf69f88fc570313553e1a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 23 12:40:55 2012 +0200

    icera: don't reset connection if cancelled, wait to get connected
    before

    If we are requested to cancel the connection, we first need to wait
    for the
    connection attempt to finish before issuing the disconnect command,
    as otherwise
    the modem just returns an error saying that it cannot perform the
    operation and
    at the end we end up with the modem connected but ModemManager
    thinking that it
    isn't.

    Tries to fix https://bugzilla.gnome.org/show_bug.cgi?id=685578

 plugins/icera/mm-broadband-bearer-icera.c | 103
 ++++++++++++++++++++++--------
 1 file changed, 76 insertions(+), 27 deletions(-)

commit a772b28ad61d5ebd5dd0705d81707dbc9cf04273
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 25 16:50:08 2012 +0200

    broadband-modem-qmi: only give gsm/wcdma acquisition order if both
    2G & 3G given

 src/mm-broadband-modem-qmi.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 79af94fdbda0c7ed093108fa9e79f4e2ef74be1b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 25 16:49:16 2012 +0200

    broadband-modem-qmi: don't treat no-effect errors as failure when
    setting SSP

 src/mm-broadband-modem-qmi.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit e2d20974c14b1c28d172864974e1e73b2f65dc10
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 25 16:18:16 2012 +0200

    iface-modem: don't re-set interface skeleton after PIN unlock

    Before the change, the client application loses all new property
    change
    notifications in the interface object:

    $ sudo mmcli -m 0 -w
            /org/freedesktop/ModemManager1/Modem/0: Initial state,
            'locked'
            /org/freedesktop/ModemManager1/Modem/0: State changed,
            'locked' --> 'initializing' (Reason: None or unknown)

    After the change, it doesn't:

    $ sudo mmcli -m 0 -w
            /org/freedesktop/ModemManager1/Modem/0: Initial state,
            'locked'
            /org/freedesktop/ModemManager1/Modem/0: State changed,
            'locked' --> 'initializing' (Reason: None or unknown)
            /org/freedesktop/ModemManager1/Modem/0: State changed,
            'initializing' --> 'disabled' (Reason: None or unknown)
            /org/freedesktop/ModemManager1/Modem/0: State changed,
            'disabled' --> 'enabling' (Reason: User request)
            /org/freedesktop/ModemManager1/Modem/0: State changed,
            'enabling' --> 'registered' (Reason: User request)
            /org/freedesktop/ModemManager1/Modem/0: State changed,
            'registered' --> 'disabling' (Reason: User request)
            /org/freedesktop/ModemManager1/Modem/0: State changed,
            'disabling' --> 'disabled' (Reason: User request)

 src/mm-iface-modem.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 7fd09123f899c8d9a9d82af6a2fde2e503eb1b47
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 24 11:30:06 2012 +0200

    broadband-bearer: log all found PDP contexts before looking for
    a match

 src/mm-broadband-bearer.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 675d8aeeea8ded0adcfacb2ef20ca2db2fc1388d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 24 11:29:50 2012 +0200

    tests: add PDP context reply parser test for Samsung/Icera replies

 src/tests/test-modem-helpers.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit e499d32ef1f3eafe130585a2be9089b1c7d31892
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 24 10:57:51 2012 +0200

    core: add info logs to show main state machine start/stop points

 src/mm-broadband-modem.c    | 7 +++++++
 src/mm-iface-modem-simple.c | 2 ++
 2 files changed, 9 insertions(+)

commit 6d4a4d647cfd5740abdd729691f553741dbf5200
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 24 10:38:35 2012 +0200

    broadband-modem: disable echo in secondary port when enabling

 src/mm-broadband-modem.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

commit d3ddfd583c5bd4cf3fc45886983b0bf4f26a1d3d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 24 10:36:24 2012 +0200

    broadband-modem: make sure the primary port is used for the modem
    init sequence

 src/mm-broadband-modem.c | 57
 +++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 44 insertions(+), 13 deletions(-)

commit 89723c7ef28e3b071413bb22c561abfa5724d3ea
Author: Martyn Russell <martyn@lanedo.com>
Date:   Wed Oct 24 10:43:00 2012 +0200

    docs,ModemManager: include the missing manpage

    (aleksander) I messed up the integration of commit bc49794848,
    this should fix
    it.

 .gitignore              |  2 --
 docs/man/ModemManager.8 | 51
 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 51 insertions(+), 2 deletions(-)

commit 96c6db99265e7448a8e21df49f7c94de35a540a4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 23 19:37:04 2012 +0200

    man,mmcli: add additional commonly used examples

 docs/man/mmcli.8 | 43 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

commit b5040fa033b44fdf2036dc2873840582afeea94d
Author: Martyn Russell <martyn@lanedo.com>
Date:   Tue Oct 23 18:42:58 2012 +0200

    docs,mmcli: Add man page for mmcli(8)

 docs/man/Makefile.am |   2 +-
 docs/man/mmcli.8     | 699
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 700 insertions(+), 1 deletion(-)

commit bc497948487a7c3f8e5df683db77262bfee8c19d
Author: Martyn Russell <martyn@lanedo.com>
Date:   Tue Oct 23 18:40:38 2012 +0200

    docs,ModemManager: Don't use .in file for manpage, no need

 configure.ac               |  1 -
 docs/man/Makefile.am       |  6 +-----
 docs/man/ModemManager.8.in | 51
 ----------------------------------------------
 3 files changed, 1 insertion(+), 57 deletions(-)

commit 90e67404d6ab075d8d4bae1f006b69ca26696296
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 19 19:32:03 2012 -0500

    bearer-qmi: get and log current IP settings when connecting the bearer

    All addresses are given as machine byte order, and thus must be
    converted
    to network byte order (BE) before passing to inet_ntop().

 src/mm-bearer-qmi.c | 216
 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 210 insertions(+), 6 deletions(-)

commit 6788f809ea442b7ed3dca7a4f4351d51c67db5d1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 23 16:31:51 2012 +0200

    cli,sms: add missing parameter documentation in `--store-in-storage'

 cli/mmcli-sms.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 29e3c0e742d7a33e5d24fdcd3c2c0b24c98469bc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 22 19:05:58 2012 +0200

    bearer: fix connection allowance rules in 3GPP+LTE modems

    Only force disconnection of the bearer if not registered in any
    network or if
    registered in both 3GPP and CDMA roaming networks.

 src/mm-bearer.c | 66
 +++++++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 48 insertions(+), 18 deletions(-)

commit 82f91f321788689ca527405ed7e84a44c8c03f06
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 22 18:57:42 2012 +0200

    iface-modem: when playing with bands is not supported, use 'unknown'

 src/mm-iface-modem.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 219aff47e075a5bfc7b7fdc2c7f251a5133c93ab
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 22 17:06:14 2012 +0200

    iface-modem: try to avoid showing 'any' as current bands

    Just expose the list of supported bands when the current bands is
    set to 'any'.

 src/mm-iface-modem.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

commit b317996a8e18ba039d3d8ffb9968139d6d0bf9c1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 22 17:05:25 2012 +0200

    iface-modem: always ensure that current bands is a subset of
    supported bands

    In QMI modems the logic behind supported and current bands is
    completely
    separated in different services (DMS vs NAS). Actually, the list
    reported by NAS
    as current band preferences seems to include more values than the
    ones reported
    by DMS as supported bands (e.g. CDMA bands are reported even if
    the firmware
    image is GSM/HSPA only).

    So, just clean up the list of current preferred bands so that no
    more than those
    given as supported is used.

 src/mm-iface-modem.c   | 20 +++++++++++++++-----
 src/mm-modem-helpers.c | 50
 ++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h |  3 +++
 3 files changed, 68 insertions(+), 5 deletions(-)

commit 8e4d93c04eed7eefb25da22bfa071f6650b4203c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 22 14:03:43 2012 +0200

    nokia,icera: setup custom AT probing as in the generic Nokia plugin

 plugins/nokia/mm-plugin-nokia-icera.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit c900aa7c0b41be04082f1bdfe6dc7c28e1d41f18
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 22 13:08:31 2012 +0200

    nokia: run vendor string probing, in order to grab Bluetooth DUN
    devices

 plugins/nokia/mm-plugin-nokia.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

commit 2559dc5baffc97afd637172a16c445f544e1d6f3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 22 12:46:34 2012 +0200

    cli: don't abort when looking for bearers in failed modems

 cli/mmcli-common.c | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

commit 5978258d85a148307a8ddb1c4dedccd81aa5871a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 22 12:33:19 2012 +0200

    base-modem-at: handle NULL responses from the serial parsing in
    sequences

 src/mm-base-modem-at.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c5f3198a9fdcd22a342be496b7ba6751ea1b53d2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 22 12:27:55 2012 +0200

    device: only export modem if it is available

 src/mm-device.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit 10a0ed12c461242ca3dbf6f9192907d320b561f7
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Oct 18 23:44:19 2012 -0700

    novatel-lte: retry $NWQMISTATUS upon an unknown error during
    connecting

    The $NWQMISTATUS command sometimes replies an ERROR shortly after
    calling the $NWQMICONNECT command, but then replies the proper QMI
    status if we retry it. This behavior is observed on an E362 modem with
    4.08 firmware.

        (ttyUSB0): --> 'AT$NWQMICONNECT=,,,,,,"",,,"",""<CR>'
        (ttyUSB0): <-- '<CR><LF>OK<CR><LF>'
        (ttyUSB0): --> 'AT$NWQMISTATUS<CR>'
        (ttyUSB0): <-- '<CR><LF>ERROR<CR><LF>'
        Got failure code 100: Unknown error
        QMI connection status failed: Unknown error

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

commit 8362171973c600eb7d253a3f9cc343488f93408f
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Oct 18 23:44:18 2012 -0700

    novatel-lte: handle $NWQMISTATUS responses for firmware 4.08

    In firmware 4.08, the $NWQMISTATUS command returns different
    values for
    QMI state to indicate the current connection state. This patch
    modifies
    the code to handle $NWQMISTATUS responses in firmware 1.41 and 4.08.

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 26
 +++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

commit 7f105dc3862ad53236dcd5d1ce0b9e2539341dfa
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 19 19:30:04 2012 -0500

    simple: don't try to enable the "unknown" band

    If the band isn't actually given, don't try to enable it.

 src/mm-iface-modem-simple.c | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

commit 79fdddccbfccd50f2c4d98d90fc707061c39d1f5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 19 00:58:36 2012 +0200

    api,modem: new 'PrimaryPort' property

    We do need to specify which is the primary port being used for
    controlling the
    modem. This allows us to match the device with an already existing
    bluetooth
    device in NetworkManager.

 cli/mmcli-modem.c                                  |  6 ++--
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  5 +++
 .../org.freedesktop.ModemManager1.Modem.xml        |  7 ++++
 libmm-glib/mm-modem.c                              | 41
 ++++++++++++++++++++++
 libmm-glib/mm-modem.h                              |  3 ++
 src/mm-iface-modem.c                               | 15 ++++++++
 6 files changed, 75 insertions(+), 2 deletions(-)

commit e123c7d5b43cd4fb63d7f1fbdb44fbb641e410ac
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 17 15:20:37 2012 +0200

    blacklist: skip probing SheevaPlug serial ports

    Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686217

 src/77-mm-usb-device-blacklist.rules | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 64a11ceec786de3bdd950532e066cceeb3f164ac
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Oct 16 11:39:39 2012 +0200

    icera: parse HSPA+ access technology in %NWSTATE response

 plugins/icera/mm-broadband-modem-icera.c | 2 ++
 1 file changed, 2 insertions(+)

commit 6223f61803c674d4c60e4ab126151de0696e0f48
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 16 11:34:36 2012 +0200

    Revert "icera: improve parsing of access technologies in %NWSTATE
    response"

    This reverts commit e2f3034f6e2c79062c095be0bc4278907b32ec8f.

    The report of current access technologies is supposed to give which
    is the
    *current* access technology being active. We allow reporting more
    than one for
    the cases where several access technologies are given simultaneously
    (e.g.
    cdma1x + evdo + lte). For example, we shouldn't be giving 4 different
    technologies like "umts, hsdpa, hsupa, hspa" when the modem reports
    "3G-HSDPA-HSUPA". Just giving HSPA in that case is enough and more
    accurate.

 plugins/icera/mm-broadband-modem-icera.c | 40
 ++++++++++++++++----------------
 1 file changed, 20 insertions(+), 20 deletions(-)

commit e2f3034f6e2c79062c095be0bc4278907b32ec8f
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Oct 15 23:48:18 2012 -0700

    icera: improve parsing of access technologies in %NWSTATE response

 plugins/icera/mm-broadband-modem-icera.c | 40
 ++++++++++++++++----------------
 1 file changed, 20 insertions(+), 20 deletions(-)

commit e39b3a42edae4806f195824ce01251d625df0028
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 15 13:35:30 2012 +0200

    TODO: remove tasks which were already done

 TODO | 17 -----------------
 1 file changed, 17 deletions(-)

commit ae26762d110855ab1294c6afad1dc153dd3532c7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 15 13:35:15 2012 +0200

    cli: avoid segfault when revision info is not given

 cli/mmcli-modem.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 4f55511680c04c89f8288cdf07fc7ad2c5c5b096
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 15 13:34:51 2012 +0200

    pantech: wait up to 5s after SIM unlock before sending new commands

    Or the modem will get stuck completely.

 plugins/pantech/mm-broadband-modem-pantech.c | 39
 ++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

commit 5c8ef351bb191e3735efcc9ac65df5a844afedb7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 15 13:34:16 2012 +0200

    pantech: create a Pantech-specific SIM object

    We'll just skip most SIM info retrieval commands based on AT+CRSM,
    as they seem
    to be unsupported.

 plugins/Makefile.am                          |  6 +-
 plugins/pantech/mm-broadband-modem-pantech.c | 92
 ++++++++++++++++++++++++++++
 plugins/pantech/mm-broadband-modem-pantech.h | 47 ++++++++++++++
 plugins/pantech/mm-plugin-pantech.c          | 12 ++--
 plugins/pantech/mm-sim-pantech.c             | 86
 ++++++++++++++++++++++++++
 plugins/pantech/mm-sim-pantech.h             | 51 +++++++++++++++
 6 files changed, 287 insertions(+), 7 deletions(-)

commit e6930921af46a7ccbe05c7973ae3bdc4043d1d20
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 15 12:41:22 2012 +0200

    broadband-modem-qmi: map 'any' to all supported bands when setting
    current bands

 src/mm-broadband-modem-qmi.c | 46
 +++++++++++++++++++++++++++++++++++++-------
 src/mm-modem-helpers-qmi.c   |  5 -----
 2 files changed, 39 insertions(+), 12 deletions(-)

commit b0eca9c09c167f3467acd20493b68224dc1ef04c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 15 12:19:45 2012 +0200

    modem-helpers-qmi: add missing GSM primary 900 and WCDMA PCS 1900
    band mappings

 src/mm-modem-helpers-qmi.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 3025893c942f747172647fb1c0fa6c6bb151a7c3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 15 11:46:02 2012 +0200

    broadband-modem-qmi: set current bands using NAS System Selection
    Preference

 src/mm-broadband-modem-qmi.c | 86
 ++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 84 insertions(+), 2 deletions(-)

commit d64b016231aa5ea147b0fee813ea0d2507fdb1f3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 15 11:45:50 2012 +0200

    modem-helpers-qmi: new helper to load NAS band preferences from
    bands array

 src/mm-modem-helpers-qmi.c | 53
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.h |  3 +++
 2 files changed, 56 insertions(+)

commit c2d4dc3951d8d7483753c6d2733323483ab6c706
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 15 11:20:58 2012 +0200

    broadband-modem-qmi: load current bands using NAS System Selection
    Preference

 src/mm-broadband-modem-qmi.c | 90
 +++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 84 insertions(+), 6 deletions(-)

commit 3a7d2dcf7d12ea73c8bfd8d42e84db5c3c09ad90
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 15 11:20:29 2012 +0200

    modem-helpers-qmi: new helper to load bands array from NAS band
    preferences

 src/mm-modem-helpers-qmi.c | 208
 +++++++++++++++++++++++++++++++++++++++++----
 src/mm-modem-helpers-qmi.h |   3 +
 2 files changed, 193 insertions(+), 18 deletions(-)

commit 529b031a017940e7176e1d4ca154a888f7579a18
Author: David Härdeman <david@hardeman.nu>
Date:   Fri Oct 12 21:38:26 2012 +0200

    Add udev rules for HP (Ericsson) hs2350 Mobile Broadband Module

    This WWAN module came installed in my new HP EliteBook 8570p Laptop.
    The patch is generated against the master branch but the same udev
    rule should be useful in the 0.5 and 0.6 branches as well.

    Signed-off-by: David Härdeman <david@hardeman.nu>

 plugins/mbm/77-mm-ericsson-mbm.rules | 3 +++
 1 file changed, 3 insertions(+)

commit e2c68681ce74c32d21f73f1a354f2060d067a841
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 11 12:23:16 2012 +0200

    iface-modem: plug memleak

 src/mm-iface-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a850644cd8520aa0a515231d1a1bfc6fd0c8ffc1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 11 11:47:53 2012 +0200

    iface-modem-simple: plug memleaks

 src/mm-iface-modem-simple.c | 2 ++
 1 file changed, 2 insertions(+)

commit c16bcdf68c0d1e2d027a5a44b7e3b4bf29d4aee3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 11 11:41:15 2012 +0200

    core: make sure objects retrieved with g_object_get() are valid in
    the ifaces

    The interfaces usually retrieve objects (e.g. skeletons) from the
    Modem object
    using g_object_get(), but we didn't make sure that these objects
    were actually
    valid before using them.

    This should clean up errors happening when the modem gets unplugged
    and still
    some actions are ongoing.

    Should fix https://bugzilla.gnome.org/show_bug.cgi?id=685933

 src/mm-iface-modem-3gpp-ussd.c | 145 ++++++-------
 src/mm-iface-modem-3gpp.c      | 173 ++++++++--------
 src/mm-iface-modem-cdma.c      | 154 ++++++--------
 src/mm-iface-modem-firmware.c  |  46 ++--
 src/mm-iface-modem-location.c  | 169 +++++++--------
 src/mm-iface-modem-messaging.c | 244 +++++++++++-----------
 src/mm-iface-modem-simple.c    |  23 +-
 src/mm-iface-modem-time.c      | 158 ++++++--------
 src/mm-iface-modem.c           | 461
 +++++++++++++++++++++--------------------
 9 files changed, 747 insertions(+), 826 deletions(-)

commit 224b73709956818e3091b68be1966beffbc3ba1b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 11 09:25:52 2012 +0200

    broadband-modem-qmi: don't check PIN lock in CDMA-only modems

 src/mm-broadband-modem-qmi.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 014d0688ff2eebd5ef821ef74e20ba704b52634d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 11 09:23:49 2012 +0200

    core,qmi: don't assume QMI port is always available

    When the modem gets unplugged all ports disappear from the modem,
    so don't
    assume the port is always given.

    E.g. if the unplug happens in the middle of the initialization
    sequence we may
    end up with nasty segfaults:

        Crash reason:  SIGSEGV
        Crash address: 0x0

        Thread 0 (crashed)
         0  ModemManager!mm_qmi_port_peek_client [mm-qmi-port.c : 50
         + 0x0]
            rbx = 0x00007fbb5c1d8010   r12 = 0x0000000000000003
            r13 = 0x00007fbb5c1f9880   r14 = 0x00007fbb59a30980
            r15 = 0x00007fbb5c187a60   rip = 0x00007fbb5a1a54c0
            rsp = 0x00007fffc6c0f628   rbp = 0x00007fffc6c0f650
            Found by: given as instruction pointer in context
         1  ModemManager!peek_qmi_client [mm-broadband-modem-qmi.c :
         109 + 0x24]
            rbx = 0x00007fbb5c1d8010   r12 = 0x0000000000000003
            r13 = 0x00007fbb5c1f9880   r14 = 0x00007fbb59a30980
            r15 = 0x00007fbb5c187a60   rip = 0x00007fbb5a193851
            rsp = 0x00007fffc6c0f630   rbp = 0x00007fffc6c0f650
            Found by: call frame info
         2  ModemManager!ensure_qmi_client [mm-broadband-modem-qmi.c :
         132 + 0x4]
            rbx = 0x00007fbb5c1d8010   r12 = 0x00007fbb5a165140
            r13 = 0x00007fbb5c1f9880   r14 = 0x00007fbb59a30980
            r15 = 0x00007fbb5c187a60   rip = 0x00007fbb5a1938e4
            rsp = 0x00007fffc6c0f650   rbp = 0x00007fffc6c0f690
            Found by: call frame info
        ...

    Reported by: Ben Chan <benchan@chromium.org>

 src/mm-broadband-modem-qmi.c | 45
 +++++++++++++++++++++++++++++++++++---------
 src/mm-sim-qmi.c             | 26 +++++++++++++++++++------
 src/mm-sms-qmi.c             | 26 +++++++++++++++++++------
 3 files changed, 76 insertions(+), 21 deletions(-)

commit ba64c49f3689f6fbc4dd740a39941b691768b04a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 10 17:06:59 2012 +0200

    bearer-qmi: update timeout when starting network to 45s

    It really may get worse than 10s, specially if the modem changes
    access
    technologies after getting registered.

 src/mm-bearer-qmi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e2a36bd6bec59f361b528ff861835e5bd2e6e39e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 10 16:55:24 2012 +0200

    libmm-glib: allow 'none' authentication with more values

    Specifying 'none' is really not exclusive. We may want to say that
    the modem can
    either authenticate with a given protocol, or otherwise just try
    without
    authentication.

    The reality is that 'none' itself is usually always given in the
    connection
    settings.

 libmm-glib/mm-common-helpers.c | 10 ----------
 src/mm-modem-helpers-qmi.c     |  2 +-
 2 files changed, 1 insertion(+), 11 deletions(-)

commit 255ac4364dac4260e20ee7cbbe2d4b97cc8cc350
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 10 16:35:11 2012 +0200

    bearer-qmi: fix authentication logic

 src/mm-bearer-qmi.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit c668972d9e568e7ea7902591c0b457498979fe42
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 10 15:57:35 2012 +0200

    build: add missing includes in polkit auth provider

 src/mm-auth-provider-polkit.c | 3 +++
 1 file changed, 3 insertions(+)

commit fa76ca95a7433993c84bd3eb81ce15bbca2274ae
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 5 13:20:14 2012 +0200

    via: new 'Via CBP7' plugin

    This is the port to git master of the following commit:

    commit ff8c60641aa2ea41080c15f81f633b3f78e07bf8
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Mon Sep 10 17:12:38 2012 -0500

        via: new plugin for CBP7-based CDMA and EVDO devices (bgo #683525)

        The Via baseband is used in a number of CDMA/EVDO devices, from
        ChinaTelecom USB sticks, to the Fusion Wireless/UBlox 2770p, to
        various Motorola Android phones.

 plugins/Makefile.am                  |  12 +-
 plugins/via/mm-broadband-modem-via.c | 583
 +++++++++++++++++++++++++++++++++++
 plugins/via/mm-broadband-modem-via.h |  49 +++
 plugins/via/mm-plugin-via.c          |  83 +++++
 plugins/via/mm-plugin-via.h          |  46 +++
 5 files changed, 772 insertions(+), 1 deletion(-)

commit df330dd7294611cf3f1d90879b996a4f4bb08873
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 9 16:41:35 2012 +0200

    broadband-modem-qmi: don't require a PDS client to disable 3GPP
    location

 src/mm-broadband-modem-qmi.c | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

commit 88d80935d6c5930fe0657da8383487a23c4705ab
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 9 16:30:09 2012 +0200

    core: second request to terminate does a hard exit()

 src/main.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit caefbcfbd901d875f256adc61b12532f8f7777d3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 9 16:29:37 2012 +0200

    base-modem: new fallback when matching QMI vs data ports

    If no matching found, but there is only one QMI port and only one
    data port,
    assume that is already a valid match.

 src/mm-base-modem.c | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

commit f1bcc531a353287d8f2b213b3bb8c33ceb13b724
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 9 16:28:46 2012 +0200

    log: enable QMI traces when showing debug logs

    Use the new `qmi_utils_set_traces_enabled()' to specify that we want
    QMI traces
    when running with DEBUG logs.

    Sync with libqmi:

    commit 35dcb4bb6ed2755d968cf97d69faff9ed5f6871f
    Author: Aleksander Morgado <aleksander@lanedo.com>
    Date:   Tue Oct 9 13:44:16 2012 +0200

        libqmi-glib: message traces compiled always

        Message traces have been very useful when debugging issues in
        the protocol, and
        we should avoid requiring a full recompilation in order to get
        them enabled.

        Instead, we provide two new API methods,
        `qmi_utils_(get|set)_traces_enabled()',
        which allow specifying whether traces should be dumped with
        g_debug() or not.

 src/mm-log.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 927889edbec5fc68f457303cf62c563d546d0f1b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 9 15:54:48 2012 +0200

    bearer-qmi: use user-specified allowed authentication methods

    If none of the specified methods is supported, an error is returned.

 src/mm-bearer-qmi.c        | 40 +++++++++++++++++++++++++++++++++++-----
 src/mm-modem-helpers-qmi.c | 16 ++++++++++++++++
 src/mm-modem-helpers-qmi.h |  4 ++++
 3 files changed, 55 insertions(+), 5 deletions(-)

commit 316b9fa001edee37a17d831708839016aed93e80
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 8 14:09:35 2012 +0200

    libmm-glib,build: remove unneeded rule

 libmm-glib/Makefile.am | 4 ----
 1 file changed, 4 deletions(-)

commit 08eb8c22e8634b52dd3d958556abed721eacc760
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 8 12:26:53 2012 +0200

    base-modem: cleanly close the QMI port to get the CIDs released

    If we end up allocating too many CIDs without releasing them new
    allocations
    will fail with client-ids-exhausted errors. This usually happens
    specially
    when debugging/developing as you're all the time Ctrl+C-ing the
    daemon without
    rebooting the system.

 src/mm-base-modem.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 13fa73f66677062f254f1c5e25eb874047012d96
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 8 11:41:03 2012 +0200

    broadband-modem-qmi: process CDMA 1x & EV-DO roaming flags

 src/mm-broadband-modem-qmi.c | 60
 +++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 56 insertions(+), 4 deletions(-)

commit 8d47d31b29ebec367dfbc64782961d7c30a0a83e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 8 09:53:28 2012 +0200

    broadband-modem: cancellable may not be given during disable()

    If the modem is currently being disposed, we may not get a proper
    GCancellable
    when disabling, so try to handle that case in order to avoid
    warnings like:

        GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT
        (object)' failed

        #0  0x00007ffff7ab1ba0 in g_log () from
        /usr/lib64/libglib-2.0.so.0
        #1  0x00007ffff7b99784 in g_object_ref () from
        /usr/lib64/libgobject-2.0.so.0
        #2  0x0000000000456c05 in disable (self=0x50d3f0, cancellable=0x0,
        callback=<value optimized out>, user_data=<value optimized
        out>) at
        mm-broadband-modem.c:7052
        #3  0x0000000000431e69 in handle_enable_auth_ready (self=0x50d3f0,
        res=<value optimized out>, ctx=0xa41200) at mm-iface-modem.c:1216
        #4  0x00007ffff7e7f447 in g_simple_async_result_complete () from
        /usr/lib64/libgio-2.0.so.0
        #5  0x0000000000427bc1 in authorize_ready (authp=<value optimized
        out>, res=<value optimized out>, simple=0x51d810) at
        mm-base-modem.c:1015
        #6  0x00007ffff7e7f447 in g_simple_async_result_complete () from
        /usr/lib64/libgio-2.0.so.0
        #7  0x00007ffff7e7f549 in ?? () from /usr/lib64/libgio-2.0.so.0
        #8  0x00007ffff7aaa5c3 in g_main_context_dispatch () from
        /usr/lib64/libglib-2.0.so.0
        #9  0x00007ffff7aaa940 in ?? () from /usr/lib64/libglib-2.0.so.0
        #10 0x00007ffff7aaad7a in g_main_loop_run () from
        /usr/lib64/libglib-2.0.so.0
        #11 0x0000000000417ef2 in main (argc=<value optimized out>,
        argv=<value optimized out>) at main.c:150

        GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT
        (object)' failed

        #0  0x00007ffff7ab1ba0 in g_log () from
        /usr/lib64/libglib-2.0.so.0
        #1  0x000000000044af26 in disabling_context_complete_and_free
        (ctx=0xa408a0) at mm-broadband-modem.c:6788
        #2  0x0000000000431e69 in handle_enable_auth_ready (self=0x50d3f0,
        res=<value optimized out>, ctx=0xa41200) at mm-iface-modem.c:1216
        #3  0x00007ffff7e7f447 in g_simple_async_result_complete () from
        /usr/lib64/libgio-2.0.so.0
        #4  0x0000000000427bc1 in authorize_ready (authp=<value optimized
        out>, res=<value optimized out>, simple=0x51d810) at
        mm-base-modem.c:1015
        #5  0x00007ffff7e7f447 in g_simple_async_result_complete () from
        /usr/lib64/libgio-2.0.so.0
        #6  0x00007ffff7e7f549 in ?? () from /usr/lib64/libgio-2.0.so.0
        #7  0x00007ffff7aaa5c3 in g_main_context_dispatch () from
        /usr/lib64/libglib-2.0.so.0
        #8  0x00007ffff7aaa940 in ?? () from /usr/lib64/libglib-2.0.so.0
        #9  0x00007ffff7aaad7a in g_main_loop_run () from
        /usr/lib64/libglib-2.0.so.0
        #10 0x0000000000417ef2 in main (argc=<value optimized out>,
        argv=<value optimized out>) at main.c:150

    Reported by: Ben Chan <benchan@chromium.org>

    Partially fixes: https://bugzilla.gnome.org/show_bug.cgi?id=684693

 src/mm-broadband-modem.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

commit 41cc66f33adc81d19246dfb8c3beeed3aff6a1e3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 8 09:41:58 2012 +0200

    core: log successful shutdown

 src/main.c | 2 ++
 1 file changed, 2 insertions(+)

commit c9d22a655ad58724d0e8916e63ec2c0631d8331d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 8 09:38:46 2012 +0200

    core: don't wait forever to get all modems disabled and removed

    Just in case, put a maximum time to wait for all modems to get
    disabled and
    removed, as we don't want to wait forever.

 src/main.c | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

commit 7f216537866b77b749df2c03e040e12690b8d497
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 8 08:59:25 2012 +0200

    broadband-modem: skeletons may already be disposed when disabling
    the modem

    Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684694

    Reported by: Ben Chan <benchan@chromium.org>

 src/mm-broadband-modem.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

commit 8ddee24cc9b1a11eadd895bd928660fc7b8f0b6a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Oct 7 20:52:16 2012 +0200

    hso: use user-specified allowed authentication methods

    If none of the specified methods is supported, an error is returned.

    Also quote user and password using `mm_at_serial_port_quote_string()'.

 plugins/option/mm-broadband-bearer-hso.c | 49
 ++++++++++++++++++++++++++++----
 1 file changed, 43 insertions(+), 6 deletions(-)

commit de96243cd4fa588f22c078b838d5f8bb3529baee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Oct 7 20:47:31 2012 +0200

    sierra: use user-specified allowed authentication methods

    If none of the specified methods is supported, an error is returned.

    Also quote user and password using `mm_at_serial_port_quote_string()'.

 plugins/sierra/mm-broadband-bearer-sierra.c | 54
 ++++++++++++++++++++++++-----
 1 file changed, 45 insertions(+), 9 deletions(-)

commit f4790c26bf8b6dd8dbd4a3b0b6ab2e4123524e42
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Oct 7 20:41:34 2012 +0200

    icera: use user-specified allowed authentication methods

    If none of the specified methods is supported, an error is returned.

 plugins/icera/mm-broadband-bearer-icera.c | 38
 +++++++++++++++++++++++++++----
 1 file changed, 33 insertions(+), 5 deletions(-)

commit ebd792d2aaa0917a6628eb1f9c1fbeedafbf2617
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Oct 7 20:19:13 2012 +0200

    api,libmm-glib: new `allowed-auth' configuration for bearers

    For bearers using STATIC or DHCP IP method, the modem itself is
    the one
    negotiating authentication with the network. The new `allowed-auth'
    property
    allows users to specify which authentication method(s) are allowed
    to be used.

    See the following NetworkManager commit for more reference:
        commit 34aef8aaaa09b7473b9496aa49e550bd2def03f8
        Author: Andrew Bird <ajb@spheresystems.co.uk>
        Date:   Thu Mar 15 16:19:43 2012 -0500

 docs/reference/api/ModemManager-sections.txt       |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt  | 12 ++++-
 include/ModemManager-enums.h                       | 23 ++++++++
 .../org.freedesktop.ModemManager1.Modem.Simple.xml |  7 +++
 .../org.freedesktop.ModemManager1.Modem.xml        |  2 +
 libmm-glib/mm-bearer-properties.c                  | 61
 +++++++++++++++++++++-
 libmm-glib/mm-bearer-properties.h                  |  3 ++
 libmm-glib/mm-common-helpers.c                     | 60
 +++++++++++++++++++++
 libmm-glib/mm-common-helpers.h                     | 30 ++++++-----
 libmm-glib/mm-simple-connect-properties.c          | 34 ++++++++++++
 libmm-glib/mm-simple-connect-properties.h          | 31 ++++++-----
 11 files changed, 233 insertions(+), 31 deletions(-)

commit 7ae18eecdd3c0aae851441d970b3a54319dd3404
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Oct 6 12:17:38 2012 -0500

    vl600: add supported AT commands for V8 firmware

 vl600/vl600.txt | 334
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 334 insertions(+)

commit 2a96592f697e1a1267f3348e0ffdfdb58f9d6167
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 5 14:40:28 2012 +0200

    cli: include signal quality information in modem status info

 cli/mmcli-modem.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

commit 8a23ac8a554c9d37d2b0fe016537ea913832fa6e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 5 12:59:34 2012 +0200

    broadband-modem: fall back to +CSQ if +CIND reports no signal

    This is the port to git master of the following commit:

    commit 8bd6903c30e52e65a4afbebf85ba59e6c0fada71
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Thu Oct 4 09:34:01 2012 -0500

        gsm: fall back to +CSQ if +CIND reports no signal (bgo #636040)

        Some devices say they support +CIND signal reporting, but either
        actually don't, or they report signal for a non-current access
        technology that we don't care about.  So if +CIND reports zero
        signal, fall back to +CSQ.

 src/mm-broadband-modem.c | 46
 +++++++++++++++++++++++++++++++---------------
 1 file changed, 31 insertions(+), 15 deletions(-)

commit 0f8f345d79192a329161298ab4742dfdab548b1b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 5 11:28:19 2012 +0200

    broadband-modem: export the Firmware interface even if locked

 src/mm-broadband-modem.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit f7433502104abe64f63310ddc5599eacb1b535cb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 5 11:09:53 2012 +0200

    broadband-modem-qmi: allow 'PRI info' substrings when changing
    firmware

    Instead of just the exact 'Build ID' we now also allow specifying
    a substring
    of the 'PRI info' as ID to select a the new firmware to change to.

    If we get multiple matches of the substring in the existing Firmware
    images
    the change is cancelled with error.

 src/mm-broadband-modem-qmi.c | 72
 ++++++++++++++++++++++++++++++++++++--------
 1 file changed, 59 insertions(+), 13 deletions(-)

commit da8cc53636976b9033b83e3a674869a43b6daf4c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 5 11:07:41 2012 +0200

    iface-modem-firmware: fix error reporting on firmware change

 src/mm-iface-modem-firmware.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d4b6b8dd8c7bf654eaebb83d6cf08f676eadf57e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 5 10:10:50 2012 +0200

    broadband-modem-qmi: implement Firmware switching using QMI

    Soo... we can now switch firmware images directly from ModemManager,
    taking care
    of completely rebooting the modem directly.

    The new image to select needs to be specified by the 'unique-id'
    currently,
    which maps to the 'Build ID' reported in QMI for PRI and MODEM images.

 src/mm-broadband-modem-qmi.c | 236
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 236 insertions(+)

commit 3cf4f3cc1d6713dd251978b1ad497fa506a5ba7d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 15:17:08 2012 +0200

    broadband-modem-qmi: implement Firmware interface support using QMI

 src/mm-broadband-modem-qmi.c | 437
 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 436 insertions(+), 1 deletion(-)

commit 1ccf89dbb89c3068e30bb7fb395c4fe7b0ee843a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 17:09:27 2012 +0200

    api,libmm-glib,cli: handle firmware images of type
    `MM_FIRMWARE_IMAGE_TYPE_GOBI'

 cli/mmcli-modem-firmware.c                         |  19 +-
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  10 +
 include/ModemManager-enums.h                       |   4 +-
 ...rg.freedesktop.ModemManager1.Modem.Firmware.xml |  38 +++-
 libmm-glib/mm-firmware-properties.c                | 215
 ++++++++++++++++++++-
 libmm-glib/mm-firmware-properties.h                |  19 ++
 6 files changed, 294 insertions(+), 11 deletions(-)

commit 1b83af9482c848ef9f53e9986c1736341f00a8e3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 13:37:59 2012 +0200

    broadband-modem: implement the firmware interface

 src/mm-broadband-modem.c | 63
 +++++++++++++++++++++++++++++++++++-------------
 1 file changed, 46 insertions(+), 17 deletions(-)

commit 67db1b50b4abdbcdf3e0d79f465579a9854afb8e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 13:37:47 2012 +0200

    iface-modem-firmware: new `MMIfaceModemFirmware' interface

 src/Makefile.am               |   2 +
 src/mm-iface-modem-firmware.c | 511
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-firmware.h |  86 +++++++
 3 files changed, 599 insertions(+)

commit 9e16aeb6bfc097c59e3dfc8932c21353e00f73c1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 18:35:57 2012 +0200

    libmm-glib: fix firmware list result parsing

 libmm-glib/mm-modem-firmware.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

commit a27fd5a47bbb7842712cf228184148b5158dea8b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 18:36:46 2012 +0200

    api,instrospection: fix firmware list result signature

 introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 15a99ebe55e8cc948295577f3dc0cdfd5616a883
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 17:22:59 2012 +0200

    cli,firmware: no need to be enabled to run actions

 cli/mmcli-modem-firmware.c | 5 -----
 1 file changed, 5 deletions(-)

commit 0d00ee28be0e82227dd6795ab62669944fb7076f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 16:43:43 2012 +0200

    api,libmm-glib: use a 'unique-id' as ID of the firmware image, not a
    'name'

    Also, make only the 'unique-id' mandatory.

 cli/mmcli-modem-firmware.c                         | 14 ++---
 docs/reference/libmm-glib/libmm-glib-sections.txt  |  3 +-
 ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 10 ++--
 libmm-glib/mm-firmware-properties.c                | 70
 ++++++----------------
 libmm-glib/mm-firmware-properties.h                |  6 +-
 libmm-glib/mm-modem-firmware.c                     | 18 +++---
 libmm-glib/mm-modem-firmware.h                     |  4 +-
 7 files changed, 43 insertions(+), 82 deletions(-)

commit d84b4f634eac8e5aca8243824243e8c017c11f13
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 12:10:13 2012 +0200

    build,data: include missing generation of the policy file

 configure.ac | 1 +
 1 file changed, 1 insertion(+)

commit 7cd047b75da45c3cfbae930da947e392adada24b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 12:09:53 2012 +0200

    build,plugins: include missing builddir in CPPFLAGS

    Built files in the ModemManager daemon
    (e.g. mm-serial-enums-types.[c|h]) will
    be available in ${top_builddir}/src, not in ${top_srcdir}/src.

 plugins/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit ebf7f790a657a5bcb4043aea1a3e25f3faa07a0e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 12:07:55 2012 +0200

    build,build-aux: include missing `mm-errors-quarks-template.c'
    file in dist

 build-aux/Makefile.am | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 99cb8cb2e6933241bae5734faf85815b941fd9e9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 11:36:02 2012 +0200

    tests: fix sms part tests

 src/tests/test-sms-part.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 82f253b8ca69cdc99f8e72ba9548c7493baed604
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 11:14:09 2012 +0200

    docs: include the logos in the generated documentation

 docs/reference/api/Makefile.am                | 16 +++++++++++++---
 docs/reference/api/ModemManager-docs.xml      | 11 ++++++++++-
 docs/reference/libmm-glib/Makefile.am         | 20 ++++++++++++++++++++
 docs/reference/libmm-glib/libmm-glib-docs.xml | 11 ++++++++++-
 4 files changed, 53 insertions(+), 5 deletions(-)

commit 86ff6b35c34604184fc5f44527abad8969d5cebd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 11:13:49 2012 +0200

    data: include ModemManager logo images

 data/Makefile.am                     |  10 +-
 data/ModemManager-logo-square.png    | Bin 0 -> 11029 bytes
 data/ModemManager-logo-square.svg    | 229
 +++++++++++++++++++++++++++++++++
 data/ModemManager-logo-wide-text.png | Bin 0 -> 18072 bytes
 data/ModemManager-logo-wide-text.svg | 238
 +++++++++++++++++++++++++++++++++++
 data/ModemManager-logo-wide.png      | Bin 0 -> 11017 bytes
 data/ModemManager-logo-wide.svg      | 217
 ++++++++++++++++++++++++++++++++
 7 files changed, 693 insertions(+), 1 deletion(-)

commit 8bdf70e1c2f1768b2729261214c4e2904b3066cb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 4 10:08:02 2012 +0200

    docs: include documentation for enum/flags helpers

 build-aux/mm-enums-template.c                     | 40 ++++++++-----
 build-aux/mm-enums-template.h                     | 10 ++--
 docs/reference/libmm-glib/libmm-glib-docs.xml     |  5 ++
 docs/reference/libmm-glib/libmm-glib-sections.txt | 71
 ++++++++++++-----------
 docs/reference/libmm-glib/libmm-glib.types        | 23 ++++++++
 5 files changed, 94 insertions(+), 55 deletions(-)

commit 3228ca10beecb8db0979f25deade78fc2f3f1e29
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 20:44:40 2012 +0200

    docs: don't rebuild types every time

 .gitignore                                 |   1 -
 docs/reference/libmm-glib/libmm-glib.types | 100
 +++++++++++++++++++++++++++++
 2 files changed, 100 insertions(+), 1 deletion(-)

commit 2d5000abaeac508a5bec051aa8ff912553c76df5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 19:48:06 2012 +0200

    docs: fix `libmm-glib-sections.txt' for the gdbus-codegen generated
    stuff

 docs/reference/libmm-glib/libmm-glib-docs.xml     |   65 +-
 docs/reference/libmm-glib/libmm-glib-sections.txt | 1723
 ++++++++++++---------
 2 files changed, 1072 insertions(+), 716 deletions(-)

commit 4251030bd8bc08af713c7865027ecdb40a3b3db4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 18:06:14 2012 +0200

    api: only allow including `ModemManager.h' directly

 include/ModemManager-enums.h     | 4 ++++
 include/ModemManager-errors.h    | 4 ++++
 include/ModemManager.h           | 2 ++
 libmm-glib/generated/Makefile.am | 6 +++---
 libmm-glib/mm-common-helpers.h   | 2 +-
 src/mm-broadband-modem.h         | 3 ++-
 src/mm-error-helpers.h           | 4 ++--
 7 files changed, 18 insertions(+), 7 deletions(-)

commit 239c56cf7fe42d37257fbcd1f1d0893498c6cd05
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 17:49:03 2012 +0200

    libmm-glib: don't install the common helpers header

    And make it only available for internal ModemManager compilation.

 docs/reference/libmm-glib/Makefile.am             |  1 +
 docs/reference/libmm-glib/libmm-glib-sections.txt | 37
 -----------------------
 libmm-glib/Makefile.am                            |  1 -
 libmm-glib/libmm-glib.h                           |  8 ++++-
 libmm-glib/tests/Makefile.am                      |  3 +-
 5 files changed, 10 insertions(+), 40 deletions(-)

commit b52bbf7b0b2b7564f725db4eccac505823bade79
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 17:40:25 2012 +0200

    libmm-glib,sms-properties: improve documentation

 docs/reference/libmm-glib/libmm-glib-sections.txt |  35 +--
 libmm-glib/mm-sms-properties.c                    | 285
 +++++++++++++++++-----
 libmm-glib/mm-sms-properties.h                    |  30 ++-
 3 files changed, 265 insertions(+), 85 deletions(-)

commit 054915299afefc27f0f19d12553960544e1bd624
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 17:20:16 2012 +0200

    libmm-glib,bearer-ip-config: improve documentation

 docs/reference/libmm-glib/libmm-glib-sections.txt |  12 +-
 libmm-glib/mm-bearer-ip-config.c                  | 139
 +++++++++++++++-------
 libmm-glib/mm-bearer-ip-config.h                  |  29 ++++-
 3 files changed, 129 insertions(+), 51 deletions(-)

commit 52f457bb8807f1330bbb177954e7944361a8c8a9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 17:09:05 2012 +0200

    libmm-glib,bearer-properties: improve documentation

 docs/reference/libmm-glib/libmm-glib-sections.txt |  37 ++--
 libmm-glib/mm-bearer-properties.c                 | 231
 +++++++++++++++++-----
 libmm-glib/mm-bearer-properties.h                 |  58 ++++--
 3 files changed, 241 insertions(+), 85 deletions(-)

commit 54c2ee77b018d19098805cd1b7be63a6f4b85ce8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 16:46:31 2012 +0200

    libmm-glib,firmware-properties: improve documentation

 docs/reference/libmm-glib/libmm-glib-sections.txt |  6 ++++--
 libmm-glib/mm-firmware-properties.c               | 16 ++++++++++++++++
 libmm-glib/mm-firmware-properties.h               | 17 +++++++++++++----
 3 files changed, 33 insertions(+), 6 deletions(-)

commit dc4656cead106a4f52a2e53ac329d8606d79c23c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 16:41:12 2012 +0200

    libmm-glib,network-timezone: improve documentation

 docs/reference/libmm-glib/libmm-glib-sections.txt | 10 +--
 libmm-glib/mm-network-timezone.c                  | 75
 +++++++++++++++++------
 libmm-glib/mm-network-timezone.h                  | 36 +++++++++--
 3 files changed, 95 insertions(+), 26 deletions(-)

commit 487090607d73378cfaa4f0691fbacea55335946e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 16:29:54 2012 +0200

    libmm-glib,location-gps-raw: improve documentation

 docs/reference/libmm-glib/libmm-glib-sections.txt | 18 ++++----
 libmm-glib/mm-location-gps-nmea.h                 |  2 +
 libmm-glib/mm-location-gps-raw.c                  | 51
 +++++++++++++++++++++++
 libmm-glib/mm-location-gps-raw.h                  | 48
 +++++++++++++++++----
 4 files changed, 104 insertions(+), 15 deletions(-)

commit 030daafc4554a20f53d1fee48a588e7907393716
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 16:19:14 2012 +0200

    libmm-glib,location-gps-nmea: improve documentation

 docs/reference/libmm-glib/libmm-glib-sections.txt | 10 +++++---
 libmm-glib/mm-location-gps-nmea.c                 | 30
 +++++++++++++++++++++++
 libmm-glib/mm-location-gps-nmea.h                 | 23 ++++++++++++++---
 3 files changed, 55 insertions(+), 8 deletions(-)

commit 7edc3508c766f64ec21825695ce98730a289429c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 16:18:07 2012 +0200

    libmm-glib,location-3gpp: improve documentation

 docs/reference/libmm-glib/libmm-glib-sections.txt |  8 +-
 libmm-glib/mm-location-3gpp.c                     | 98
 +++++++++++++++++------
 libmm-glib/mm-location-3gpp.h                     | 29 +++++--
 3 files changed, 102 insertions(+), 33 deletions(-)

commit f99ac11cbb9acd00c889eb11e58d690196ed929c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 14:35:46 2012 +0200

    libmm-glib,simple-status: improve documentation

 docs/reference/libmm-glib/libmm-glib-sections.txt |  28 +++--
 libmm-glib/mm-simple-status.c                     | 143
 ++++++++++++++++++++--
 libmm-glib/mm-simple-status.h                     |  52 +++++---
 3 files changed, 181 insertions(+), 42 deletions(-)

commit 8185f24e64b28bab4966c97e9fe8cbfcc242ad8d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 14:10:40 2012 +0200

    libmm-glib,simple-connect-properties: improve documentation

 docs/reference/libmm-glib/libmm-glib-sections.txt |  43 ++-
 libmm-glib/mm-simple-connect-properties.c         | 437
 ++++++++++++++++------
 libmm-glib/mm-simple-connect-properties.h         |  66 ++--
 3 files changed, 381 insertions(+), 165 deletions(-)

commit 4f5dd8afaa79efecc1e7ffa56988d60f6e45c706
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 13:17:12 2012 +0200

    libmm-glib,unlock-retries: improve documentation

 docs/reference/libmm-glib/libmm-glib-sections.txt | 12 +++---
 libmm-glib/mm-unlock-retries.c                    | 31 ++++++++++++++
 libmm-glib/mm-unlock-retries.h                    | 50
 ++++++++++++++++++-----
 3 files changed, 78 insertions(+), 15 deletions(-)

commit 433fdea6d4107dcbe7848a28aa492c44742a00c2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 13:01:25 2012 +0200

    libmm-glib: only allow including `libmm-glib.h' directly

    Unless when compiling libmm-glib itself, of course.

 libmm-glib/Makefile.am                    | 3 ++-
 libmm-glib/libmm-glib.h                   | 4 +++-
 libmm-glib/mm-bearer-ip-config.h          | 4 ++++
 libmm-glib/mm-bearer-properties.h         | 4 ++++
 libmm-glib/mm-bearer.h                    | 4 ++++
 libmm-glib/mm-common-helpers.h            | 4 ++++
 libmm-glib/mm-firmware-properties.h       | 4 ++++
 libmm-glib/mm-location-3gpp.h             | 4 ++++
 libmm-glib/mm-location-gps-nmea.h         | 4 ++++
 libmm-glib/mm-location-gps-raw.h          | 4 ++++
 libmm-glib/mm-manager.h                   | 4 ++++
 libmm-glib/mm-modem-3gpp-ussd.h           | 4 ++++
 libmm-glib/mm-modem-3gpp.h                | 4 ++++
 libmm-glib/mm-modem-cdma.h                | 4 ++++
 libmm-glib/mm-modem-firmware.h            | 4 ++++
 libmm-glib/mm-modem-location.h            | 4 ++++
 libmm-glib/mm-modem-messaging.h           | 4 ++++
 libmm-glib/mm-modem-simple.h              | 4 ++++
 libmm-glib/mm-modem-time.h                | 4 ++++
 libmm-glib/mm-modem.h                     | 4 ++++
 libmm-glib/mm-network-timezone.h          | 4 ++++
 libmm-glib/mm-object.h                    | 4 ++++
 libmm-glib/mm-sim.h                       | 4 ++++
 libmm-glib/mm-simple-connect-properties.h | 4 ++++
 libmm-glib/mm-simple-status.h             | 4 ++++
 libmm-glib/mm-sms-properties.h            | 4 ++++
 libmm-glib/mm-sms.h                       | 4 ++++
 libmm-glib/mm-unlock-retries.h            | 4 ++++
 28 files changed, 109 insertions(+), 2 deletions(-)

commit c250fa3797b40f70cbac1d9e417b1d3ad946ee89
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 3 12:46:37 2012 +0200

    libmm-glib: remove the `libmm-common.h' header

    Both the ModemManager daemon and the mmcli will now include
    `libmm-glib.h' only.

    We also handle two new special `_LIBMM_INSIDE_MM' and
    `LIBMM_INSIDE_MMCLI'
    symbols, which if included before the `libmm-glib.h' library allow
    us to:

     * Don't include the libmm-glib high level API in the ModemManager
     daemon, as
       the object names would clash with those in the core.

     * Define some of the methods of helper objects to be included only
     if compiling
       ModemManager daemon or the mmcli.

 cli/mmcli-bearer.c                                |  1 +
 cli/mmcli-common.c                                |  1 +
 cli/mmcli-common.h                                |  2 +
 cli/mmcli-manager.c                               |  1 +
 cli/mmcli-modem-3gpp.c                            |  1 +
 cli/mmcli-modem-cdma.c                            |  1 +
 cli/mmcli-modem-firmware.c                        |  1 +
 cli/mmcli-modem-location.c                        |  1 +
 cli/mmcli-modem-messaging.c                       |  1 +
 cli/mmcli-modem-simple.c                          |  1 +
 cli/mmcli-modem-time.c                            |  1 +
 cli/mmcli-modem.c                                 |  1 +
 cli/mmcli-sim.c                                   |  1 +
 cli/mmcli-sms.c                                   |  1 +
 cli/mmcli.c                                       |  1 +
 docs/reference/libmm-glib/libmm-glib-docs.xml     | 54
 ++++++++++++++++-------
 libmm-glib/libmm-common.h                         | 46
 -------------------
 libmm-glib/libmm-glib.h                           | 42 +++++++++++++++---
 libmm-glib/mm-bearer.h                            |  5 ++-
 libmm-glib/mm-manager.c                           |  6 ++-
 libmm-glib/mm-manager.h                           |  3 +-
 libmm-glib/mm-modem-3gpp-ussd.c                   |  1 +
 libmm-glib/mm-modem-3gpp-ussd.h                   |  3 +-
 libmm-glib/mm-modem-3gpp.c                        |  1 +
 libmm-glib/mm-modem-3gpp.h                        |  3 +-
 libmm-glib/mm-modem-cdma.c                        |  1 +
 libmm-glib/mm-modem-cdma.h                        |  3 +-
 libmm-glib/mm-modem-firmware.c                    |  1 +
 libmm-glib/mm-modem-firmware.h                    |  4 +-
 libmm-glib/mm-modem-location.c                    |  1 +
 libmm-glib/mm-modem-location.h                    |  6 ++-
 libmm-glib/mm-modem-messaging.c                   |  2 +
 libmm-glib/mm-modem-messaging.h                   |  2 +-
 libmm-glib/mm-modem-simple.c                      |  1 +
 libmm-glib/mm-modem-simple.h                      |  4 +-
 libmm-glib/mm-modem-time.c                        |  1 +
 libmm-glib/mm-modem-time.h                        |  4 +-
 libmm-glib/mm-modem.c                             |  4 +-
 libmm-glib/mm-modem.h                             |  3 +-
 libmm-glib/mm-object.c                            |  1 +
 libmm-glib/mm-object.h                            |  2 +-
 libmm-glib/mm-sim.h                               |  3 +-
 libmm-glib/mm-sms.h                               |  4 +-
 libmm-glib/tests/test-common-helpers.c            |  4 +-
 plugins/anydata/mm-plugin-anydata.c               |  3 +-
 plugins/cinterion/mm-plugin-cinterion.c           |  3 +-
 plugins/generic/mm-plugin-generic.c               |  3 +-
 plugins/gobi/mm-plugin-gobi.c                     |  3 +-
 plugins/huawei/mm-broadband-modem-huawei.c        |  6 ++-
 plugins/huawei/mm-plugin-huawei.c                 |  3 +-
 plugins/icera/mm-broadband-bearer-icera.c         |  3 +-
 plugins/icera/mm-broadband-bearer-icera.h         |  3 +-
 plugins/iridium/mm-bearer-iridium.c               |  3 +-
 plugins/iridium/mm-bearer-iridium.h               |  3 +-
 plugins/iridium/mm-plugin-iridium.c               |  3 +-
 plugins/iridium/mm-sim-iridium.c                  |  3 +-
 plugins/linktop/mm-broadband-modem-linktop.c      |  3 +-
 plugins/linktop/mm-plugin-linktop.c               |  4 +-
 plugins/longcheer/mm-plugin-longcheer.c           |  3 +-
 plugins/mbm/mm-broadband-bearer-mbm.c             |  3 +-
 plugins/mbm/mm-broadband-bearer-mbm.h             |  3 +-
 plugins/mbm/mm-plugin-mbm.c                       |  3 +-
 plugins/motorola/mm-plugin-motorola.c             |  3 +-
 plugins/nokia/mm-plugin-nokia-icera.c             |  3 +-
 plugins/nokia/mm-plugin-nokia.c                   |  3 +-
 plugins/nokia/mm-sim-nokia.c                      |  3 +-
 plugins/novatel/mm-broadband-bearer-novatel-lte.c |  3 +-
 plugins/novatel/mm-broadband-bearer-novatel-lte.h |  3 +-
 plugins/novatel/mm-sim-novatel-lte.c              |  3 +-
 plugins/option/mm-broadband-bearer-hso.c          |  3 +-
 plugins/option/mm-broadband-bearer-hso.h          |  3 +-
 plugins/option/mm-plugin-hso.c                    |  3 +-
 plugins/option/mm-plugin-option.c                 |  3 +-
 plugins/pantech/mm-plugin-pantech.c               |  3 +-
 plugins/sierra/mm-broadband-bearer-sierra.c       |  3 +-
 plugins/sierra/mm-broadband-bearer-sierra.h       |  3 +-
 plugins/sierra/mm-plugin-sierra.c                 |  3 +-
 plugins/sierra/mm-sim-sierra.c                    |  3 +-
 plugins/simtech/mm-broadband-modem-simtech.c      |  3 +-
 plugins/simtech/mm-plugin-simtech.c               |  4 +-
 plugins/wavecom/mm-broadband-modem-wavecom.c      |  3 +-
 plugins/wavecom/mm-plugin-wavecom.c               |  3 +-
 plugins/x22x/mm-plugin-x22x.c                     |  3 +-
 plugins/zte/mm-plugin-zte.c                       |  3 +-
 src/mm-auth-provider-polkit.c                     |  2 -
 src/mm-bearer-list.c                              |  3 +-
 src/mm-bearer-qmi.c                               |  4 +-
 src/mm-bearer-qmi.h                               |  3 +-
 src/mm-bearer.c                                   |  3 +-
 src/mm-bearer.h                                   |  3 +-
 src/mm-broadband-bearer.c                         |  3 +-
 src/mm-broadband-bearer.h                         |  3 +-
 src/mm-broadband-modem.c                          |  3 +-
 src/mm-charsets.c                                 |  3 +-
 src/mm-device.c                                   |  3 +-
 src/mm-iface-modem-3gpp-ussd.c                    |  3 +-
 src/mm-iface-modem-3gpp-ussd.h                    |  3 +-
 src/mm-iface-modem-3gpp.c                         |  3 +-
 src/mm-iface-modem-3gpp.h                         |  4 +-
 src/mm-iface-modem-cdma.c                         |  3 +-
 src/mm-iface-modem-cdma.h                         |  3 +-
 src/mm-iface-modem-location.c                     |  3 +-
 src/mm-iface-modem-messaging.c                    |  3 +-
 src/mm-iface-modem-simple.c                       |  3 +-
 src/mm-iface-modem-time.c                         |  3 +-
 src/mm-iface-modem.c                              |  3 +-
 src/mm-iface-modem.h                              |  3 +-
 src/mm-modem-helpers.c                            |  3 +-
 src/mm-sim-qmi.c                                  |  3 +-
 src/mm-sim.c                                      |  3 +-
 src/mm-sms-list.c                                 |  3 +-
 src/mm-sms-part.c                                 |  4 +-
 src/mm-sms-qmi.c                                  |  3 +-
 src/mm-sms-qmi.h                                  |  3 +-
 src/mm-sms.c                                      |  3 +-
 src/mm-sms.h                                      |  3 +-
 src/tests/test-sms-part.c                         |  3 +-
 117 files changed, 292 insertions(+), 165 deletions(-)

commit 8bdcdeecb68036bb6be39c5896342f1f1905b606
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 2 17:47:30 2012 +0200

    libmm-glib,manager: minor indentation fixes

 libmm-glib/mm-manager.c | 49
 +++++++++++++++++++++++++------------------------
 1 file changed, 25 insertions(+), 24 deletions(-)

commit b6d628b3a10bf183b918c7afe89a5b260eb87760
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 2 15:08:46 2012 +0200

    build: merge libmm-common into libmm-glib

    It's pointless to have libmm-common around, just merge it into
    libmm-glib and
    make ModemManager depend on libmm-glib directly. At the end,
    the non-common
    stuff in libmm-glib is really minimal.

 .gitignore                                         |   14 +-
 Makefile.am                                        |    2 +-
 cli/Makefile.am                                    |    7 +-
 configure.ac                                       |   16 +-
 data/Makefile.am                                   |    1 -
 data/mm-common.pc.in                               |   11 -
 data/mm-glib.pc.in                                 |    4 +-
 docs/reference/api/Makefile.am                     |   28 +-
 docs/reference/api/ModemManager-dbus-reference.xml |   28 +-
 docs/reference/libmm-glib/Makefile.am              |    6 +-
 docs/reference/libmm-glib/libmm-glib-docs.xml      |   82 +-
 docs/reference/libmm-glib/libmm-glib-sections.txt  | 1500
 +++++++++++++++++++-
 libmm-glib/Makefile.am                             |   63 +-
 {libmm-common => libmm-glib/generated}/Makefile.am |  135 +-
 {libmm-common => libmm-glib}/libmm-common.h        |    0
 {libmm-common => libmm-glib}/mm-bearer-ip-config.c |    0
 {libmm-common => libmm-glib}/mm-bearer-ip-config.h |    0
 .../mm-bearer-properties.c                         |    0
 .../mm-bearer-properties.h                         |    0
 {libmm-common => libmm-glib}/mm-common-helpers.c   |    0
 {libmm-common => libmm-glib}/mm-common-helpers.h   |    0
 .../mm-firmware-properties.c                       |    0
 .../mm-firmware-properties.h                       |    0
 {libmm-common => libmm-glib}/mm-location-3gpp.c    |    0
 {libmm-common => libmm-glib}/mm-location-3gpp.h    |    0
 .../mm-location-gps-nmea.c                         |    2 +
 .../mm-location-gps-nmea.h                         |    0
 {libmm-common => libmm-glib}/mm-location-gps-raw.c |    2 +
 {libmm-common => libmm-glib}/mm-location-gps-raw.h |    0
 {libmm-common => libmm-glib}/mm-network-timezone.c |    0
 {libmm-common => libmm-glib}/mm-network-timezone.h |    0
 .../mm-simple-connect-properties.c                 |    0
 .../mm-simple-connect-properties.h                 |    0
 {libmm-common => libmm-glib}/mm-simple-status.c    |    0
 {libmm-common => libmm-glib}/mm-simple-status.h    |    0
 {libmm-common => libmm-glib}/mm-sms-properties.c   |    0
 {libmm-common => libmm-glib}/mm-sms-properties.h   |    0
 {libmm-common => libmm-glib}/mm-unlock-retries.c   |    0
 {libmm-common => libmm-glib}/mm-unlock-retries.h   |    0
 {libmm-common => libmm-glib}/tests/Makefile.am     |    8 +-
 .../tests/test-common-helpers.c                    |    0
 plugins/Makefile.am                                |    5 +-
 src/Makefile.am                                    |   18 +-
 src/tests/Makefile.am                              |   27 +-
 44 files changed, 1736 insertions(+), 223 deletions(-)

commit 624fdb6ab4544a82774e9805332cc242c1068b0f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 2 14:41:39 2012 +0200

    docs,libmm-glib: properly order the sections

 docs/reference/libmm-glib/libmm-glib-sections.txt | 541
 ++++++++++++++++++++++
 1 file changed, 541 insertions(+)

commit c07a3832dd87e1501420a4f902d8c3b0f57e24d6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 2 12:55:35 2012 +0200

    cli: new `--firmware-list' and `--firmware-select' actions

 cli/Makefile.am            |   1 +
 cli/mmcli-modem-firmware.c | 322
 +++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli.c                |  11 ++
 cli/mmcli.h                |   8 ++
 4 files changed, 342 insertions(+)

commit 715a7759491b3c7c716ffbf768a2ece222b23fb1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 2 11:37:01 2012 +0200

    libmm-glib,firmware: new `MMModemFirmware' type to handle the
    Firmware interface

 docs/reference/libmm-glib/libmm-glib-docs.xml |   1 +
 libmm-glib/Makefile.am                        |   3 +
 libmm-glib/mm-manager.c                       |   2 +-
 libmm-glib/mm-modem-firmware.c                | 377
 ++++++++++++++++++++++++++
 libmm-glib/mm-modem-firmware.h                |  93 +++++++
 libmm-glib/mm-object.c                        |  36 +++
 libmm-glib/mm-object.h                        |   3 +
 7 files changed, 514 insertions(+), 1 deletion(-)

commit a795772e3ddb26a0e8c07e959e68c05f61f29728
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 2 09:34:33 2012 +0200

    libmm-common: new `MMFirmwareProperties' to handle firmare image
    properties

 libmm-common/Makefile.am              |   4 +
 libmm-common/libmm-common.h           |   1 +
 libmm-common/mm-firmware-properties.c | 300
 ++++++++++++++++++++++++++++++++++
 libmm-common/mm-firmware-properties.h |  68 ++++++++
 4 files changed, 373 insertions(+)

commit f198bc4eb054223d27ce96829d3437b87a61f3cb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 2 11:35:23 2012 +0200

    api,introspection: simplify the Firmware interface

    The Firmware interface was highly based on 'slots' to identify
    the existing
    firmware images; but that doesn't fit very well with the initial
    implementation
    of the Firmware interface in QMI-based modems. In these modems the
    'storage
    index' is a property which is not available in all types of images
    (e.g. 'PRI'
    images don't have it).

    Therefore, instead of using a unique 'slot' identifier we'll just
    use the
    'name' of the firmware as unique ID.

    Also, currently skip the handling of 'available' images, and the
    method to
    'Install()' new images, at least until we have one implementation
    defining what
    to do with those.

 ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 34
 ++++++++++------------
 1 file changed, 15 insertions(+), 19 deletions(-)

commit dda274437c0b688b33027adac9c2496b5511d76d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 2 09:22:45 2012 +0200

    api,introspection: firmware images require a new `image-type' property

    Image types of `MM_FIRMWARE_IMAGE_TYPE_GENERIC' will expose only
    the mandatory
    parameters. Other vendor-specific images may expose other properties.

 docs/reference/api/ModemManager-sections.txt                 |  1 +
 include/ModemManager-enums.h                                 | 12
 ++++++++++++
 .../org.freedesktop.ModemManager1.Modem.Firmware.xml         |
 11 ++++++++++-
 3 files changed, 23 insertions(+), 1 deletion(-)

commit d148eb6c7db59ea2f960d56876fc97a6a36ea78f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 2 14:06:17 2012 +0200

    libmm-glib,sms: `MMSms' is now a real object

    Not just a typedef of the gdbus-codegen generated `MmGdbusSms'.

 libmm-glib/mm-modem-messaging.c | 100 ++++++----
 libmm-glib/mm-sms.c             | 412
 ++++++++++++++++++++++++----------------
 libmm-glib/mm-sms.h             | 108 +++++++----
 3 files changed, 375 insertions(+), 245 deletions(-)

commit ba075e48f4c4470022f0eec28918e14b499dd681
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 2 13:24:05 2012 +0200

    libmm-glib,sim: `MMSim' is now a real object

    Not just a typedef of the gdbus-codegen generated `MmGdbusSim'.

 libmm-glib/mm-modem.c |  48 ++++---
 libmm-glib/mm-sim.c   | 355
 +++++++++++++++++++++++++++++---------------------
 libmm-glib/mm-sim.h   |  50 +++++--
 3 files changed, 275 insertions(+), 178 deletions(-)

commit 41ece5a021cc2b3f53db465a06d60267bada3c5e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 2 12:29:44 2012 +0200

    libmm-glib,bearer: `MMBearer' is now a real object

    Not just a typedef of the gdbus-codegen generated `MmGdbusBearer'.

 libmm-glib/mm-bearer.c       | 545
 ++++++++++++++++++++++++++++++++++++-------
 libmm-glib/mm-bearer.h       |  51 +++-
 libmm-glib/mm-modem-simple.c |  49 ++--
 libmm-glib/mm-modem.c        | 118 +++++-----
 4 files changed, 596 insertions(+), 167 deletions(-)

commit 730f69a6d49e8785ea8051692e025f61dad8d7ef
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 1 23:44:35 2012 +0200

    libmm-glib,time: `MMModemTime' is now a real object

    Not just a typedef of the gdbus-codegen generated `MmGdbusModemTime'.

 libmm-glib/mm-manager.c    |   2 +-
 libmm-glib/mm-modem-time.c | 223
 +++++++++++++++++++++++++++++++++++++++++----
 libmm-glib/mm-modem-time.h |  37 +++++++-
 3 files changed, 238 insertions(+), 24 deletions(-)

commit 653582ce1786119017e5814fb081620246faff34
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 1 22:41:07 2012 +0200

    libmm-glib,simple: `MMModemSimple' is now a real object

    Not just a typedef of the gdbus-codegen generated
    `MmGdbusModemSimple'.

 libmm-glib/mm-manager.c      |   2 +-
 libmm-glib/mm-modem-simple.c | 215
 ++++++++++++++++++++++++++++++++++++-------
 libmm-glib/mm-modem-simple.h |  39 ++++++--
 3 files changed, 215 insertions(+), 41 deletions(-)

commit 6ac9460543300ae66d3429031dabeaae2053a68a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 1 21:34:58 2012 +0200

    libmm-glib,messaging: `MMModemMessaging' is now a real object

    Not just a typedef of the gdbus-codegen generated
    `MmGdbusModemMessaging'.

 libmm-glib/mm-manager.c         |   2 +-
 libmm-glib/mm-modem-messaging.c | 257
 +++++++++++++++++++++++++++++++---------
 libmm-glib/mm-modem-messaging.h |  48 ++++++--
 3 files changed, 244 insertions(+), 63 deletions(-)

commit 45172e39b4b902e4c68bd810fccf3cafa5283477
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 1 19:41:02 2012 +0200

    libmm-glib,location: `MMModemLocation' is now a real object

    Not just a typedef of the gdbus-codegen generated
    `MmGdbusModemLocation'.

 libmm-glib/mm-manager.c        |   2 +-
 libmm-glib/mm-modem-location.c | 311
 ++++++++++++++++++++++++++++++++++++++---
 libmm-glib/mm-modem-location.h |  34 ++++-
 3 files changed, 321 insertions(+), 26 deletions(-)

commit 2d6bca4b8bcc67225ca8b77e37813c458b8b8075
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 1 18:43:07 2012 +0200

    libmm-glib,cdma: `MMModemCdma' is now a real object

    Not just a typedef of the gdbus-codegen generated `MmGdbusModemCdma'.

 libmm-glib/mm-manager.c    |   2 +-
 libmm-glib/mm-modem-cdma.c | 175
 ++++++++++++++++++++++++++++++++-------------
 libmm-glib/mm-modem-cdma.h |  52 ++++++++++++--
 3 files changed, 173 insertions(+), 56 deletions(-)

commit 9a722de6bb187b99ceb2e490feb625d5b01120c8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 1 18:13:41 2012 +0200

    libmm-glib,3gpp-ussd: `MMModem3gppUssd' is now a real object

    Not just a typedef of the gdbus-codegen generated
    `MmGdbusModem3gppUssd'.

 libmm-glib/mm-manager.c         |   2 +-
 libmm-glib/mm-modem-3gpp-ussd.c | 321
 +++++++++++++++++++++++++++++-----------
 libmm-glib/mm-modem-3gpp-ussd.h |  34 ++++-
 3 files changed, 265 insertions(+), 92 deletions(-)

commit f5be23757d247b6f09d3009643c199165bd8d32c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 1 17:35:54 2012 +0200

    libmm-glib,3gpp: `MMModem3gpp' is now a real object

    Not just a typedef of the gdbus-codegen generated `MmGdbusModem3gpp'.

 libmm-glib/mm-manager.c    |   2 +-
 libmm-glib/mm-modem-3gpp.c | 300
 ++++++++++++++++++++++++++++++++++-----------
 libmm-glib/mm-modem-3gpp.h |  47 ++++++-
 3 files changed, 271 insertions(+), 78 deletions(-)

commit 8ae0c36ab99ee82ed2b60e19949f08e9f02cd9b9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 1 13:42:45 2012 +0200

    libmm-glib,modem: `MMModem' is now a real object

    Not just a typedef of the gdbus-codegen generated `MmGdbusModem'.

 libmm-glib/mm-manager.c |    2 +-
 libmm-glib/mm-modem.c   | 1333
 +++++++++++++++++++++++++++++++++++------------
 libmm-glib/mm-modem.h   |  108 +++-
 3 files changed, 1070 insertions(+), 373 deletions(-)

commit d07a138d37ed1267f43a950d47a45a0698d879b6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 1 11:25:56 2012 +0200

    libmm-glib,object: `MMObject' is now a real object

    Not just a typedef of the gdbus-codegen generated `MmGdbusObject'.

 libmm-glib/mm-manager.c |   3 +-
 libmm-glib/mm-object.c  | 314
 +++++++++++++++++++++++++++++-------------------
 libmm-glib/mm-object.h  |  64 +++++++---
 3 files changed, 238 insertions(+), 143 deletions(-)

commit 2f16ef2278a8e6cb991af3cf0c196b914a6e6bb8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 1 13:41:34 2012 +0200

    libmm-glib,manager: cleanup object implementation

 libmm-glib/mm-manager.c | 202
 +++++++++++++++++++++++++++++++-----------------
 libmm-glib/mm-manager.h |  19 +++--
 2 files changed, 145 insertions(+), 76 deletions(-)

commit acf2e6d1e0c830ae357f334e141146b3ca0abcad
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 1 11:23:55 2012 +0200

    libmm-glib,manager: allow specifying the generated proxy types
    ourselves

 libmm-glib/mm-manager.c | 41 +++++++++++++++++++++++++++++++++++++++--
 1 file changed, 39 insertions(+), 2 deletions(-)

commit ca14de0605c5d881c46dc43e77ce36d3c4bf6027
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 1 14:08:40 2012 +0200

    doc: setup gtk-doc generation for libmm-glib

 .gitignore                                    |  13 ++++
 configure.ac                                  |   2 +
 docs/reference/Makefile.am                    |   2 +-
 docs/reference/libmm-glib/Makefile.am         |  65 +++++++++++++++++
 docs/reference/libmm-glib/libmm-glib-docs.xml | 100
 ++++++++++++++++++++++++++
 docs/reference/libmm-glib/version.xml.in      |   1 +
 6 files changed, 182 insertions(+), 1 deletion(-)

commit 54f476fe10e9683c19b50fc26b52ca648745fd9f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 19 08:14:11 2012 +0200

    sierra: run power-down during init

 plugins/sierra/mm-broadband-modem-sierra.c | 2 ++
 1 file changed, 2 insertions(+)

commit e669e4c8685ab668397436c42cc7d591fd62e154
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 19 08:13:43 2012 +0200

    cinterion: run power-down during init

 plugins/cinterion/mm-broadband-modem-cinterion.c | 2 ++
 1 file changed, 2 insertions(+)

commit 2ca70365cf015bec7cd0098fecaf6d72a68f6768
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 19 08:12:30 2012 +0200

    wavecom: run power-down during init

 plugins/wavecom/mm-broadband-modem-wavecom.c | 2 ++
 1 file changed, 2 insertions(+)

commit 814bb21e9b3d718b376b6079410ee04d1a8b4702
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 19 08:11:57 2012 +0200

    nokia: ensure we skip power down during init

 plugins/nokia/mm-broadband-modem-nokia.c | 2 ++
 1 file changed, 2 insertions(+)

commit 305f02267eec36889f70ce8f13acb50219e13ce0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 19 08:11:31 2012 +0200

    motorola: ensure we skip power down during init

 plugins/motorola/mm-broadband-modem-motorola.c | 2 ++
 1 file changed, 2 insertions(+)

commit 28800018fb1ac459e67351eac3082f13958ab23e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 19 08:10:56 2012 +0200

    gobi: ensure we skip power down during init

 plugins/gobi/mm-broadband-modem-gobi.c | 2 ++
 1 file changed, 2 insertions(+)

commit 668976f4d7c8b1d79bff6282241cc7dad8d397e0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 19 08:09:51 2012 +0200

    iridium: ensure we skip power down during init

 plugins/iridium/mm-broadband-modem-iridium.c | 2 ++
 1 file changed, 2 insertions(+)

commit a5870ac3c6ec8e3b036f493a3066f0addb37deb9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 19 08:07:33 2012 +0200

    zte: run power-down during init

 plugins/zte/mm-broadband-modem-zte.c | 2 ++
 1 file changed, 2 insertions(+)

commit a0e19630e4dafbff51ae9a7e1f815ee98167f37d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 19 08:07:21 2012 +0200

    icera: we won't be implementing power-down during init

    Some Icera-based modems (e.g. Samsung/Icera Y3300/Y3400) may take
    a loong time
    to run the power down command (see commit 5f1a1cf8). So, for these
    modems we
    will fully skip the power down command run during initialization.

 plugins/icera/mm-broadband-modem-icera.c | 2 ++
 1 file changed, 2 insertions(+)

commit 77208f66ab4ad3c8401b2fe62c93915a5b944331
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 18 16:09:54 2012 +0200

    iface-modem: ensure we're in low power mode when initializing

    The power-down command defined by the plugin will be run *only*
    after having
    checked for current and modem capabilities, as plugins (e.g. Sierra)
    may have
    different commands for that depending on whether they are 3GPP
    or 3GPP2.

    We do not reuse the 'modem_power_down' callback from the disabling
    sequence, as
    some plugins really behave pretty badly with this (e.g. Samsung
    CFUN=4 may take
    up to 30s to complete). So, we let plugins use the power-down
    command when
    disabling but avoid launching it during init.

 src/mm-iface-modem.c | 35 +++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |  8 ++++++++
 2 files changed, 43 insertions(+)

commit b622424d2fdcd1f455c3ecbc86a7624a39050f2d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 28 20:35:41 2012 +0200

    broadband-modem: handle unknown errors in AT sequences

    When none of the commands in the AT sequence succeeds no error is set.

 src/mm-broadband-modem.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 00a8ed3af44835ccb83c05c2ecfec2a119320420
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 28 14:57:25 2012 +0200

    iface-modem: ensure the state change is flushed before the detailed
    notify

    In order to ease the life for clients listening to the 'state-changed'
    signal,
    the change in the 'state' property in the DBus interface skeleton
    is flushed
    right away, before emitting 'state-changed'. By doing this we make
    sure that
    the 'state-changed' callbacks in the clients are able to see exactly
    the same
    current state in the modem proxy.

 src/mm-iface-modem.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 65c3976cad2ed5ee14b979270b73d5c2a93ed215
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 28 08:41:44 2012 +0200

    core: acquire DBus name only after having created the `MMManager'

    The `MMManager' is itself also a `GDBusObjectManagerServer'. If we
    create this
    object after having fully acquired the bus name, the client
    application in the
    other side of the bus could be trying to use the ObjectManager
    interface before
    we actually exported it, which is wrong. Therefore, we need to make
    sure that
    the Manager interfaces are all exported before the name is acquired.

 src/main.c | 51 +++++++++++++++++++++++++++------------------------
 1 file changed, 27 insertions(+), 24 deletions(-)

commit 0b059ea9c9b894c470da0a3dc795ba7bc2b46cfd
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Sep 27 11:13:26 2012 -0500

    uml290mode: fix log message

 uml290/uml290mode.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit f5c5a455c1d96efbb4cec4f677b1b9746ff637e7
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Sep 27 10:55:48 2012 -0500

    uml290mode: offline and reset modem after making changes

 uml290/uml290mode.c | 59
 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 58 insertions(+), 1 deletion(-)

commit fb65cba607eaebaccd9b1df64074297e6f197d1a
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Sep 27 10:55:20 2012 -0500

    qcdm: add qcdm_cmd_control_new() to set operating mode

 libqcdm/src/commands.c    | 29 +++++++++++++++++++++++++++++
 libqcdm/src/commands.h    | 13 +++++++++++++
 libqcdm/src/dm-commands.h | 13 +++++++++++++
 3 files changed, 55 insertions(+)

commit 1b5804895f9eeb81fc469acfaa316ba3ea1da86e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 24 04:36:38 2012 +0200

    build: use $PKG_CONFIG

    The build system sets up this variable for us, so use it rather than
    hardcoding "pkg-config" which might be the wrong one.

    Equivalent to the one done by
        Mike Frysinger <vapier@gentoo.org>
    in libqmi.

 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 717b16b5b6cbca628f48791c9ea35075f393fe68
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Sep 22 00:03:43 2012 -0700

    broadband-modem: increase timeout for ATZ

    Some modem like Novatel LTE can take up to 5 seconds to complete
    the ATZ
    command. Increase the timeout for ATZ from 3 seconds to 6 seconds.

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e60207d6ab6ebe56d702924a8fcbe966e60196a7
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Sep 22 00:07:08 2012 -0700

    broadband-modem: disconnect bearers only if the bearer list still
    exists

    This patch fixes a crash when MMBroadbandModem tries to access an
    already cleared bearer list during the disabling steps.

    Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )

    0x7f6eed4c40a3   [ModemManager]             - mm-bearer-list.c:259
    mm_bearer_list_disconnect_all_bearers
    0x7f6eed4cd6f8   [ModemManager]             - mm-iface-modem.c:1216
    handle_enable_auth_ready
    0x7f6eed332676   [libgio-2.0.so.0.3000.2]   - gsimpleasyncresult.c:749
    g_simple_async_result_complete
    0x7f6eed4c5750   [ModemManager]             - mm-base-modem.c:1015
    authorize_ready
    0x7f6eed332676   [libgio-2.0.so.0.3000.2]   - gsimpleasyncresult.c:749
    g_simple_async_result_complete
    0x7f6eed332788   [libgio-2.0.so.0.3000.2]   - gsimpleasyncresult.c:761
    complete_in_idle_cb
    0x7f6eecf36f44   [libglib-2.0.so.0.3000.2]  - gmain.c:2441
    g_main_context_dispatch
    0x7f6eecf37597   [libglib-2.0.so.0.3000.2]  - gmain.c:3089
    g_main_context_iterate
    0x7f6eecf37b51   [libglib-2.0.so.0.3000.2]  - gmain.c:3297
    g_main_loop_run
    0x7f6eed4b5ad1   [ModemManager]             - main.c:150
    main
    0x7f6eec95141c   [libc-2.15.so]             - libc-start.c:234
    __libc_start_main
    0x7f6eed4b55e8   [ModemManager]             + 0x0001a5e8

 src/mm-broadband-modem.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

commit 6124022ab38222d1b9a239b3f21ec6c8a6eced0f
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Sep 20 08:41:30 2012 -0700

    modem-helpers: handle the case when operator name is "Unknown"

    Some modems report "Unknown" as the operator name when failed
    to obtain
    the actual value:

        --> 'AT+COPS=3,0;+COPS?<CR>'
        <-- '<CR><LF>+COPS: 0,0,"Unknown",0<CR><LF><CR><LF>OK<CR><LF>'

    This patch prevents "Unknown" from being treated as a valid operator
    name.

 src/mm-modem-helpers.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit 6995300ecd8534e99539ca2a9974c2fb7236484f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 19 10:37:31 2012 +0200

    huawei: if port replies to AT^GETPORTMODE, port is AT

    Just skips the additional check for AT support in the port.

 plugins/huawei/mm-plugin-huawei.c | 3 +++
 1 file changed, 3 insertions(+)

commit c4b5293669f5b956e47a8b0fbfe70d179c0ef43f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 19 10:18:18 2012 +0200

    device: if failed to get VID/PID in first port, try the next one

    Don't rely only in the first grabbed port to get VID/PID. Some
    modems, e.g.
    Huawei E367, won't report a proper VID in the cdc-wdm port, which
    is the first
    one probed.

 src/mm-device.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit ee099fcd087c0960e4b6f40b251e798e53978edf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 19 10:16:41 2012 +0200

    plugin-manager: never suggest the Generic plugin to others

    Some modems, e.g. Huawei E367, will probe first the QMI port and
    for some reason
    it doesn't report a proper VID/PID so the Generic plugin is the
    one finally
    accepting that port. When we probe the AT ports afterwards we already
    got the
    Generic plugin as suggestion, and we end up not grabbing the proper
    primary and
    secondary ports as we skipped the AT^GETPORTMODE reply.

    So, from now on the Generic plugin is never suggested to other
    probes; except
    for the case where we need the suggestion to finish a probing task
    which was
    'deferred until suggested'.

    Also, the device-level plugin can now be overwritten, if and only
    if, the
    previously set plugin was the Generic one.

 src/mm-plugin-manager.c | 73
 ++++++++++++++++++++++++++++++++-----------------
 1 file changed, 48 insertions(+), 25 deletions(-)

commit a6faae32608833f3d26d57bc6bace4f2a9add8bd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 19 07:35:23 2012 +0200

    broadband-modem: skip +CGMM: prefix when loading device model

    Some devices, e.g. ZTE MF820D, seem to prefix the `AT+CGMM?' response
    with the
    `+CGMM:' string, resulting in the following model string being loaded:

       model: '+CGMM: "MF820D"'

    Avoid this by:
     1) Removing the expected prefixes.
     2) Unquoting the resulting string.

    Reported by: Marius Kotsbak <marius.kotsbak@gmail.com>

 src/mm-broadband-modem.c | 12 +++++++++++-
 src/mm-modem-helpers.c   | 17 +++++++++++++++++
 src/mm-modem-helpers.h   |  5 +++--
 3 files changed, 31 insertions(+), 3 deletions(-)

commit d2353e01ff4b786da4542f7fd6f4f4e76081f450
Author: Marius B. Kotsbak <marius@kotsbak.com>
Date:   Sun Sep 9 18:06:30 2012 +0200

    sierra: use +CFUN=4 for powering down GSM modems

 plugins/sierra/mm-broadband-modem-sierra.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

commit b65bc50777a9de7d0f5a16503056435b19140048
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 18 19:01:30 2012 +0200

    qmi-port: plug memleak

    Ensure we clear all allocated client objects when disposing the port.

 src/mm-qmi-port.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 127900b67b73b80ded9dc24f2bfb8f2274e6a325
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 18 18:54:37 2012 +0200

    broadband-modem-qmi: plug memleak, always need to unref() input
    containers

 src/mm-broadband-modem-qmi.c | 1 +
 1 file changed, 1 insertion(+)

commit 48bb20d0184ac5db085521539b186842b87a47e3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 18 13:57:25 2012 +0200

    libmm-common,gps-nmea: skip duplicate traces in sequence

 libmm-common/mm-location-gps-nmea.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 598799a61ce2862a6bf8f603c91ebee7ef83576b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 18 13:11:59 2012 +0200

    broadband-modem-qmi: request NMEA trace indications

 src/mm-broadband-modem-qmi.c | 60
 ++++++++++++++++++++++++++++++++++++--------
 1 file changed, 50 insertions(+), 10 deletions(-)

commit 48d8bf4164f201fba3228d56ff4a21e1a9ee88e7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 18 12:41:07 2012 +0200

    broadband-modem-qmi: listen to "PDS Event Report" indications

 src/mm-broadband-modem-qmi.c | 161
 ++++++++++++++++++++++++++++++-------------
 1 file changed, 112 insertions(+), 49 deletions(-)

commit b43c5933d85f244d977d72da8a9d2a3477f713f4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 18 12:16:24 2012 +0200

    broadband-modem-qmi: enable/disable GPS location gathering

 src/mm-broadband-modem-qmi.c | 292
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 292 insertions(+)

commit 4babcbe30edf254d17de9a2a6d55af3152d40f62
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 18 11:53:52 2012 +0200

    broadband-modem-qmi: new common method to peek a QMI client

 src/mm-broadband-modem-qmi.c | 37 +++++++++++++++++++++++++++----------
 1 file changed, 27 insertions(+), 10 deletions(-)

commit 0e40bb7b11caf0079a2b9a1d0b387ef08b46254f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 18 10:59:49 2012 +0200

    broadband-modem-qmi: check support for GPS location capabilities

 src/mm-broadband-modem-qmi.c | 84
 ++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 82 insertions(+), 2 deletions(-)

commit 6284737249aca9d65d721c746bb2b3750a677ebe
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 14 13:12:02 2012 +0200

    sms: don't allow more than 255 parts

 src/mm-sms.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit d5e57dd8eb98d89f68d2e651271d54949c910b31
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 14 13:11:33 2012 +0200

    sms: fix error message string when failing to parse input text

 src/mm-sms.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d30ec8f5a6054fb42e458bfadef0d2786a6b13d8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 14 11:57:36 2012 +0200

    cli: minor text output fixes

 cli/mmcli-sms.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 2c1ce492cebd2a95de8b14abc644beb370d4f6b5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 13 12:33:50 2012 +0200

    sms: don't try the generic SMS method if we got a timeout error

 src/mm-sms.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit e212f6b6edcd2b5678372bd0b05c70209c516f05
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 13 12:00:37 2012 +0200

    sms: create SMS parts only when storing or sending

    When a user creates an SMS object, we will expose all its properties
    in DBus
    properly, but we will not create the internal list of SMS parts.

    The list of SMS parts will be created when the SMS is stored or
    sent, whatever
    comes first. When the message is sent and it was previously stored,
    the list of
    parts is not re-created.

    If the message requires multiple parts, the multipart reference is
    computed as
    follows:
     * If the SMS was not stored and is being sent, we just use a
     random number.
     * If the SMS is being stored, we will use a multipart reference
     which is not
       being used already in another SMS to the same destination.

 src/mm-iface-modem-messaging.c |  48 ++++++
 src/mm-iface-modem-messaging.h |   5 +
 src/mm-sms-list.c              |  29 ++++
 src/mm-sms-list.h              |   4 +
 src/mm-sms-part.c              |  19 +--
 src/mm-sms-part.h              |   3 +-
 src/mm-sms.c                   | 357
 +++++++++++++++++++++++++----------------
 7 files changed, 320 insertions(+), 145 deletions(-)

commit 2da9474d0c0e22044d7ab636e3336cab1a75bc22
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 13 11:54:42 2012 +0200

    test: new tester for the messaging capabilities of a modem, using
    `mmcli'

    Usage:
      mmcli-test-sms [MODEM INDEX] [all|ucs2|gsm7|data] [NUMBER]"

    If [NUMBER] is not given, a dummy number will be used and NO SMS
    will be sent.

    If you give a proper [NUMBER], we will try to send the SMS.

 test/mmcli-test-sms | 169
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 169 insertions(+)

commit 4196ef1a86bbac44461bfdae985cfc3a9696f488
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 13 11:40:05 2012 +0200

    sms: don't try to delete parts if SMS not stored

 src/mm-sms.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit 861266777693162fdfeb54a3e1094ab05f0d3c4d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 13 07:45:17 2012 +0200

    sms,sms-qmi: update timeout when sending an SMS to 30s

 src/mm-sms-qmi.c | 4 ++--
 src/mm-sms.c     | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

commit f6832d72cf386eb495c5d2b988d24c1a963f71d6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 15:44:01 2012 +0200

    cli: new `--create-file-with-data' action for SMS objects

    This new action allows creating a new file with the binary data
    stored in the
    SMS, if any.

    E.g.:

    $> sudo mmcli -s 7 \
                  --create-file-with-data=output.txt

    This action can only be run on SMS object with binary data.

 cli/mmcli-sms.c | 80
 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 74 insertions(+), 6 deletions(-)

commit 015627974984ef7b5a7595421a9921fbaa759555
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 15:42:34 2012 +0200

    cli: new `--messaging-create-sms-with-data' switch

    This switch can be run along with the `--messaging-create-sms'
    action, in order
    to include in the SMS the data as given in the file specified by
    the new switch.

    E.g.:

    $> sudo mmcli -m 0 \
                  --messaging-create-sms="number='1234567890'" \
                  --messaging-create-sms-with-data=file.txt

    In this case, the SMS properties string cannot contain a 'text' field.

 cli/mmcli-modem-messaging.c | 68
 ++++++++++++++++++++++++++++++++++++---------
 1 file changed, 55 insertions(+), 13 deletions(-)

commit 1304a628f8b7e3ebc1b41101533c2eb5ff2f25ec
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 15:39:19 2012 +0200

    sms-part: include user data, if passed, when building the PDU

 src/mm-sms-part.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

commit 8e6a6035780da3ccc18e5eb9c30eb40ab4ea9885
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 13:08:36 2012 +0200

    libmm-glib: provide accessors for the 'Data' property in the SMS
    interface

 libmm-glib/mm-sms.c | 67
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-sms.h | 40 ++++++++++++++++++--------------
 2 files changed, 89 insertions(+), 18 deletions(-)

commit a66f971a7cdea4bf1d9f6390e12f950f41ee5595
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 13:06:40 2012 +0200

    libmm-common: added common utils from core

    Moved the utils to play with binary to hex strings into libmm-common.

 libmm-common/mm-common-helpers.c                  |  94
 +++++++++++++++++++
 libmm-common/mm-common-helpers.h                  |   7 ++
 plugins/huawei/mm-broadband-modem-huawei.c        |   5 +-
 plugins/icera/mm-broadband-bearer-icera.c         |   1 -
 plugins/iridium/mm-bearer-iridium.c               |   1 -
 plugins/mbm/mm-broadband-bearer-mbm.c             |   1 -
 plugins/novatel/mm-broadband-bearer-novatel-lte.c |   1 -
 plugins/option/mm-broadband-bearer-hso.c          |   1 -
 plugins/sierra/mm-broadband-bearer-sierra.c       |   1 -
 src/Makefile.am                                   |   2 -
 src/mm-bearer-list.c                              |   1 -
 src/mm-bearer-qmi.c                               |   1 -
 src/mm-bearer.c                                   |   1 -
 src/mm-broadband-bearer.c                         |   1 -
 src/mm-broadband-modem.c                          |   3 +-
 src/mm-charsets.c                                 |  13 +--
 src/mm-device.c                                   |  11 +--
 src/mm-sim.c                                      |   5 +-
 src/mm-sms-list.c                                 |   1 -
 src/mm-sms-part.c                                 |   3 +-
 src/mm-sms.c                                      |   3 +-
 src/mm-utils.c                                    | 109
 ----------------------
 src/mm-utils.h                                    |  28 ------
 src/tests/test-sms-part.c                         |   7 +-
 24 files changed, 124 insertions(+), 177 deletions(-)

commit fbe01c8d6a22cb95ff74ddefc907e663cdeee710
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 12:34:43 2012 +0200

    sms: 'Text' and 'Data' will never be given at the same time

    When receiving an SMS, if the encoding is either GSM7 or UCS2,
    we will treat the
    contents of the SMS as text; and if the encoding is either 8BIT or
    unknown, we
    will just dump the contents of the SMS as data.

    When creating an SMS, the user is not allowed to give both text and
    data, only
    one can be given. We will use by default 8BIT when data is given,
    and guess the
    best encoding if text is given.

    Note that it's still possible to have SMS with neither text nor data,
    as in
    delivery status reports.

    This commit also handles the split of the input data in order to
    make it fit
    into singlepart or multipart messages.

 .../org.freedesktop.ModemManager1.Sms.xml          |   6 +-
 src/mm-sms-part.c                                  |  73 +++++++++++---
 src/mm-sms-part.h                                  |   2 +
 src/mm-sms.c                                       | 111
 +++++++++++++++++----
 4 files changed, 157 insertions(+), 35 deletions(-)

commit 15be01d4fac9c761411f23903df5c0d6c2360424
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 11:40:06 2012 +0200

    sms: fix error return when a mandatory parameter missing in dictionary

 src/mm-sms.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit baf3ed0c64135af4a21d21ba4d1ca7c6f534ba29
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 11:27:30 2012 +0200

    sms-part: don't keep track of the whole TP-DCS value

    We already retrieve the bits we use from it, class and encoding.

 src/mm-broadband-modem.c  |  1 -
 src/mm-sms-part.c         |  6 ------
 src/mm-sms-part.h         |  4 ----
 src/tests/test-sms-part.c | 41 +++++++++++++++++------------------------
 4 files changed, 17 insertions(+), 35 deletions(-)

commit 64f728b375f494a31dcbe978ffa864a1f96e4713
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 11:19:21 2012 +0200

    sms-part: read message class only if TP-DCS available

 src/mm-sms-part.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit 815decb03474754a56e7572a2823ce438a81023b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 10:41:27 2012 +0200

    broadband-modem: properly avoid duplicate CMTI indications

    We will look for the part being notified in the CMTI indication
    directly in the
    list of processed parts; and if we have it there already we won't
    re-process it.

    Still, we may get several CMTI indications for the same part one
    after the
    other, so it may still happen that the second CMTI comes *before*
    we have parsed
    and created the part in the SMS list. For that case, the SMS list
    will reject
    taking the part if there is already a part with the same storage+index
    already
    processed.

    This fix removes the `known_sms_parts' hash table, which was being
    handled
    incorrectly.

    This should fix https://bugzilla.gnome.org/show_bug.cgi?id=675175

 src/mm-broadband-modem.c | 55
 ++++++++++++++++++++----------------------------
 src/mm-sms-list.c        | 26 +++++++++++++++++++----
 src/mm-sms-list.h        |  4 ++++
 3 files changed, 49 insertions(+), 36 deletions(-)

commit 8cbf3b7826ccf794431d37e449724caaf0f4206b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 10:35:51 2012 +0200

    broadband-modem: fix SMS list object type

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 91b324ed407a849173701aa70e2a15f842ac6db6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 10:06:17 2012 +0200

    broadband-modem: select and lock proper storage when reading CMTI
    indications

 src/mm-broadband-modem.c | 71
 ++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 56 insertions(+), 15 deletions(-)

commit f6147e0d6bb9d24f6fd470f99a278178690e5d83
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 16:04:11 2012 +0200

    cli: print new SMS properties in SMS status report

 cli/mmcli-sms.c | 50 +++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 37 insertions(+), 13 deletions(-)

commit 744b9fba671d858f4ca31a17e358764767703ae6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 15:56:11 2012 +0200

    libmm-glib: added methods to retrieve new SMS properties

 libmm-glib/mm-sms.c | 84
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-sms.h |  5 ++++
 2 files changed, 89 insertions(+)

commit 1111bfa80664d88b5e9572a9d3de7c4f117e7384
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 09:19:23 2012 +0200

    api: new `DeliveryState' property in the SMS interface

    Given only for STATUS REPORT SMS messages.

 docs/reference/api/ModemManager-sections.txt       |  1 +
 include/ModemManager-enums.h                       | 71
 ++++++++++++++++++++++
 .../org.freedesktop.ModemManager1.Sms.xml          | 11 ++++
 libmm-common/mm-common-helpers.c                   | 44 ++++++++++++++
 libmm-common/mm-common-helpers.h                   |  2 +
 src/mm-sms-part.c                                  |  9 ++-
 src/mm-sms-part.h                                  |  4 ++
 src/mm-sms.c                                       |  1 +
 8 files changed, 142 insertions(+), 1 deletion(-)

commit bdf0f9484b4244c024599e00ec589ccc5b97893e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 16:35:46 2012 +0200

    sms: allow parts with neither text nor data only in Status Report PDUs

 src/mm-sms.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 83ab63138cfbe7988e3462f66675a3f7261b381f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 16:31:14 2012 +0200

    sms: fix double free when parsing PDUs

    If we get an error when telling the SMS list to take the new PDU,
    the caller is
    the one responsible for freeing the part, so avoid doing it twice.

    Relevant valgrind log:
    ==7287== Invalid read of size 8
    ==7287==    at 0x437CE1: mm_sms_part_free (mm-sms-part.c:344)
    ==7287==    by 0x454D11: mm_iface_modem_messaging_take_part
    (mm-iface-modem-messaging.c:359)
    ==7287==    by 0x461234: cds_received (mm-broadband-modem.c:4626)
    ==7287==    by 0x48A305: parse_unsolicited (mm-at-serial-port.c:256)
    ==7287==    by 0x48723D: parse_response (mm-serial-port.c:731)
    ==7287==    by 0x48759B: data_available (mm-serial-port.c:801)
    ==7287==    by 0x36ADC47694: g_main_context_dispatch (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==7287==    by 0x36ADC479C7: ??? (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==7287==    by 0x36ADC47DC1: g_main_loop_run (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==7287==    by 0x421398: main (main.c:150)
    ==7287==  Address 0x9840b78 is 24 bytes inside a block of size
    104 free'd
    ==7287==    at 0x4A079AE: free (vg_replace_malloc.c:427)
    ==7287==    by 0x36ADC4D37E: g_free (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==7287==    by 0x36ADC61CCE: g_slice_free1 (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==7287==    by 0x437D5A: mm_sms_part_free (mm-sms-part.c:351)
    ==7287==    by 0x36ADC449EC: g_list_foreach (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==7287==    by 0x36ADC44A0A: g_list_free_full (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==7287==    by 0x43D8A1: finalize (mm-sms.c:1629)
    ==7287==    by 0x36AE8145DA: g_object_unref (in
    /usr/lib64/libgobject-2.0.so.0.3200.4)
    ==7287==    by 0x43CD52: mm_sms_singlepart_new (mm-sms.c:1376)
    ==7287==    by 0x43E223: take_singlepart (mm-sms-list.c:236)
    ==7287==    by 0x43E60D: mm_sms_list_take_part (mm-sms-list.c:338)
    ==7287==    by 0x454CC7: mm_iface_modem_messaging_take_part
    (mm-iface-modem-messaging.c:353)

 src/mm-sms.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 2871e3e821251245823d0e178c965a1ecbb5984a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 16:20:01 2012 +0200

    sms-part: don't read out of the pdu buffer

    ... or Valgrind will complain:

    ==4834== Invalid read of size 1
    ==4834==    at 0x43904C: mm_sms_part_new_from_binary_pdu
    (mm-sms-part.c:783)
    ==4834==    by 0x4382C9: mm_sms_part_new_from_pdu (mm-sms-part.c:485)
    ==4834==    by 0x461D85: sms_pdu_part_list_ready
    (mm-broadband-modem.c:5004)
    ==4834==    by 0x3161A6CFB6: g_simple_async_result_complete (in
    /usr/lib64/libgio-2.0.so.0.3200.4)
    ==4834==    by 0x432F82: at_command_parse_response
    (mm-base-modem-at.c:490)
    ==4834==    by 0x489F96: handle_response (mm-at-serial-port.c:161)
    ==4834==    by 0x486D0A: mm_serial_port_got_response
    (mm-serial-port.c:588)
    ==4834==    by 0x48758B: data_available (mm-serial-port.c:804)
    ==4834==    by 0x36ADC47694: g_main_context_dispatch (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==4834==    by 0x36ADC479C7: ??? (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==4834==    by 0x36ADC47DC1: g_main_loop_run (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==4834==    by 0x421398: main (main.c:150)
    ==4834==  Address 0x927e489 is 0 bytes after a block of size 25
    alloc'd
    ==4834==    at 0x4A06F18: calloc (vg_replace_malloc.c:566)
    ==4834==    by 0x36ADC4D2C6: g_malloc0 (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==4834==    by 0x4844B2: utils_hexstr2bin (mm-utils.c:63)
    ==4834==    by 0x438284: mm_sms_part_new_from_pdu (mm-sms-part.c:476)
    ==4834==    by 0x461D85: sms_pdu_part_list_ready
    (mm-broadband-modem.c:5004)
    ==4834==    by 0x3161A6CFB6: g_simple_async_result_complete (in
    /usr/lib64/libgio-2.0.so.0.3200.4)
    ==4834==    by 0x432F82: at_command_parse_response
    (mm-base-modem-at.c:490)
    ==4834==    by 0x489F96: handle_response (mm-at-serial-port.c:161)
    ==4834==    by 0x486D0A: mm_serial_port_got_response
    (mm-serial-port.c:588)
    ==4834==    by 0x48758B: data_available (mm-serial-port.c:804)
    ==4834==    by 0x36ADC47694: g_main_context_dispatch (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==4834==    by 0x36ADC479C7: ??? (in
    /usr/lib64/libglib-2.0.so.0.3200.4)

 src/mm-sms-part.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 2b01c93c577e480768d721c48d09645914794666
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 15:50:58 2012 +0200

    api: make read-only all SMS properties for now

    We don't support yet modifying these properties on the fly (e.g. we
    would need
    to re-construct the internal PDU list when the text changes).

 introspection/org.freedesktop.ModemManager1.Sms.xml | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit 628f7e41a481756950cf896e326c5050ef4c1489
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 15:47:39 2012 +0200

    sms-list: don't look for duplicate parts if index is unknown

 src/mm-sms-list.c | 28 +++++++++++++++++++---------
 1 file changed, 19 insertions(+), 9 deletions(-)

commit 4f1991e2bab533176d0e720aee0bbe7ce755cc21
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 15:41:53 2012 +0200

    api: new `MessageReference' property in the SMS interface

    Message reference allows to match a sent SMS with its corresponding
    delivery
    report, if requested.

 .../org.freedesktop.ModemManager1.Sms.xml          | 11 ++++
 src/mm-sms-part.c                                  |  4 ++
 src/mm-sms-part.h                                  |  4 ++
 src/mm-sms-qmi.c                                   | 10 +++
 src/mm-sms.c                                       | 77
 ++++++++++++++++++++--
 5 files changed, 101 insertions(+), 5 deletions(-)

commit 320984a4a00b886a7c6b61aa48413900efe56e86
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 15:03:08 2012 +0200

    api: new `DischargeTimestamp' property for Status Report SMS messages

 introspection/org.freedesktop.ModemManager1.Sms.xml | 18
 +++++++++++++++++-
 src/mm-sms-part.c                                   |  8 ++++++--
 src/mm-sms-part.h                                   |  6 ++++++
 src/mm-sms.c                                        |  3 ++-
 4 files changed, 31 insertions(+), 4 deletions(-)

commit f1a73a5719002426f1f0a7ffdbec1dc1822c794c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 14:52:31 2012 +0200

    sms-part: always treat TP-DCS as a bitmask

 src/mm-sms-part.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

commit 6c7766afed735500ffc4c3197518b479760edec6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 14:48:35 2012 +0200

    sms-part: always treat TP-MTI as a bitmask

 src/mm-sms-part.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit ef5842f4dab34843f514838505102ea37bf95ba6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 14:46:24 2012 +0200

    sms-part: implement parsing SUBMIT and STATUS REPORT PDUs

 src/mm-sms-part.c | 532
 ++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 361 insertions(+), 171 deletions(-)

commit 7faa48ea9490c0af563d3bb8426a1e2d9bf83f82
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 14:40:42 2012 +0200

    api: new `PduType' property in the SMS interface

    It will help deciding the type of message.

 docs/reference/api/ModemManager-sections.txt       |  1 +
 include/ModemManager-enums.h                       | 16 +++++++++++
 .../org.freedesktop.ModemManager1.Sms.xml          |  8 ++++++
 src/mm-broadband-modem.c                           | 32
 ++++++++++++++++------
 src/mm-sms-part.c                                  | 10 +++++--
 src/mm-sms-part.h                                  |  8 +++++-
 src/mm-sms.c                                       |  7 +++--
 src/tests/test-sms-part.c                          |  2 +-
 8 files changed, 69 insertions(+), 15 deletions(-)

commit 5b6e080472952d1c97568d9925aae268677623a6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 14:00:44 2012 +0200

    test: set text encoding when testing PDU creator

 src/tests/test-sms-part.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 6c5bead94b39f344464dbbd5db36599c377c798c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 14:00:24 2012 +0200

    test: print all logs in SMS part tests

    They are extremely helpful for debugging issues.

 src/tests/test-sms-part.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit f7caa7c9bc189c6a13ffafdb26e95e5343488abf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 13:59:31 2012 +0200

    test: new tests to parse SUBMIT PDUs

 src/tests/test-sms-part.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit f139bbe48503f34c2e9f80d0e7196eb9b3f75999
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 08:37:21 2012 +0200

    test: new tests to parse non-stored PDUs

 src/tests/test-sms-part.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit af4f23a1d250b9e348ac2e7dcb874b2f5f3c4c3f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 08:21:27 2012 +0200

    test: new tester for +CDS unsolicited messages

 src/tests/test-modem-helpers.c | 46
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

commit 8acaf7baa7b2bb585bdbdce556a4c37b3b7d2afe
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 07:39:27 2012 +0200

    broadband-modem: process not-stored SMS part indications

 src/mm-broadband-modem.c | 42 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.c   | 12 ++++++++++++
 src/mm-modem-helpers.h   |  1 +
 3 files changed, 55 insertions(+)

commit 7be32700fb474621db732f4eb1599a6951280b86
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 07:39:01 2012 +0200

    broadband-modem: minor improvement when reading from match info

 src/mm-broadband-modem.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

commit 7c9beae0136a4c3f030265f21b403ca0cf655484
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 07:10:30 2012 +0200

    cli: print delivery report request information in SMS status

 cli/mmcli-sms.c | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

commit bda572faa7cac778e133c0b385cdc35fbfa0b0d6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 07:06:57 2012 +0200

    libmm-glib,sms: new `mm_sms_get_delivery_report_request()'

 libmm-glib/mm-sms.c |  8 ++++++++
 libmm-glib/mm-sms.h | 25 +++++++++++++------------
 2 files changed, 21 insertions(+), 12 deletions(-)

commit 2508d01bdf13b0757947dcff7ea58488810a366e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 07:06:25 2012 +0200

    libmm-glib,sms: fix values returned on error

 libmm-glib/mm-sms.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 1c119be83492dac56f8d2ea5bd6b8717ccda1ae6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 20:13:00 2012 +0200

    api: new `Sms.DeliveryReportRequest' property

    Also allowing the 'delivery-report-request' key in the
    `Messaging.CreateSms()'
    method.

 .../org.freedesktop.ModemManager1.Sms.xml          |  7 ++
 libmm-common/mm-sms-properties.c                   | 78
 ++++++++++++++++++++--
 libmm-common/mm-sms-properties.h                   | 51 +++++++-------
 src/mm-sms-part.c                                  | 17 ++++-
 src/mm-sms-part.h                                  |  4 ++
 src/mm-sms.c                                       |  4 ++
 6 files changed, 128 insertions(+), 33 deletions(-)

commit b42b5795e33e052e7dacc4731af89fde44f56ff5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 19:01:50 2012 +0200

    iface-modem-messaging: automatically detect the best default storage

    Instead of letting the plugins specify a default storage to use,
    just look at
    the supported ones and use the best one.

    "MT is preferred over "ME" or "SM", as "MT=ME+SM"

 plugins/cinterion/mm-broadband-modem-cinterion.c |  1 -
 plugins/iridium/mm-broadband-modem-iridium.c     |  2 -
 plugins/novatel/mm-broadband-modem-novatel-lte.c |  2 -
 plugins/novatel/mm-broadband-modem-novatel.c     |  2 -
 src/mm-broadband-modem.c                         |  2 +-
 src/mm-iface-modem-messaging.c                   | 65
 ++++++++++++++++--------
 6 files changed, 44 insertions(+), 30 deletions(-)

commit 54178a7959c018341da48b86164a0cb6f74be1e1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 18:27:15 2012 +0200

    cli: include default SMS storage info in `--messaging-status'

    $> sudo mmcli -m 1 --messaging-status

    /org/freedesktop/ModemManager1/Modem/1
      ----------------------------
      Messaging | supported storages: 'sm, mt, me, sr'
                |    default storage: 'me'

 cli/mmcli-modem-messaging.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit fdb9db8d2858c7c53cad0666c539faefd990f6f7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 18:26:50 2012 +0200

    libmm-glib: new `mm_modem_messaging_get_default_storage()' method

 libmm-glib/mm-modem-messaging.c | 16 ++++++++++++++++
 libmm-glib/mm-modem-messaging.h |  7 ++++---
 2 files changed, 20 insertions(+), 3 deletions(-)

commit 4f7534452dc9eb96c5119052707987c41c7c091d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 18:21:16 2012 +0200

    option,hso: properly parse returned IMEI

 plugins/option/mm-broadband-modem-option.c | 44
 ++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

commit 43650043eabf1e84c48842d5494668a30515639c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 18:12:08 2012 +0200

    sms: select proper storage when sending SMS from storage

    We need to select the correct 'mem2' storage before trying to send
    from storage.

 src/mm-sms.c | 46 +++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 41 insertions(+), 5 deletions(-)

commit bddcc2fb07f96c9332b031a7b91bc5ba74b62149
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 18:03:29 2012 +0200

    iface-modem-messaging: instead of mem1,mem2,mem3 use just a new
    default storage

    There is no point in specifying a default 'mem1' memory storage,
    which is used
    for reading/listing/deleting, as those are operations that need
    a specific
    'mem1' set each time.

    Also, there is no point in specifying separate default 'mem2' and
    'mem3' memory
    storages, specially because now we allow Sms.Store() to specify
    a storage.

    So, we will now only have a 'default' memory storage, which is
    applicable for
    both 'mem2' and 'mem3' (storing, sending from storage and deleting).

 ...g.freedesktop.ModemManager1.Modem.Messaging.xml |  8 ++
 plugins/cinterion/mm-broadband-modem-cinterion.c   |  2 +-
 plugins/iridium/mm-broadband-modem-iridium.c       |  5 +-
 plugins/novatel/mm-broadband-modem-novatel-lte.c   |  5 +-
 plugins/novatel/mm-broadband-modem-novatel.c       |  6 +-
 src/mm-broadband-modem-qmi.c                       | 42 +++-------
 src/mm-broadband-modem.c                           | 90
 +++++++---------------
 src/mm-iface-modem-messaging.c                     | 66 ++++++----------
 src/mm-iface-modem-messaging.h                     | 28 +++----
 src/mm-sms.c                                       |  2 +-
 10 files changed, 90 insertions(+), 164 deletions(-)

commit 584fc77bb361f8485c255bd5ce2bb9c6320efc21
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 16:25:29 2012 +0200

    cli: include the `--messaging' prefix in all Messaging-related actions

    Just for consistency with other interfaces, which also provide
    interface
    specific prefixes in their mmcli actions.

 cli/mmcli-modem-messaging.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 47b459603a2605f574d8ea1a7b51d501754d67ac
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 16:23:58 2012 +0200

    cli: new `--messaging-status' action

    Currently shows the list of supported SMS storages.

 cli/mmcli-modem-messaging.c | 46
 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 45 insertions(+), 1 deletion(-)

commit c7e81d74708ca87d37d374cd8d2f67e9199a3c43
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 16:23:37 2012 +0200

    libmm-glib: new `mm_modem_messaging_get_supported_storages()' method

 libmm-glib/mm-modem-messaging.c | 24 ++++++++++++++++++++++++
 libmm-glib/mm-modem-messaging.h |  4 ++++
 2 files changed, 28 insertions(+)

commit 67081f02c88bc907561f6d9a9bd0e74cf9797189
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 16:23:05 2012 +0200

    api: new `SupportedStorages' property in the Messaging interface

    We will list which are the storages allowed to use when
    receiving/storing SMS
    messages.

 ...g.freedesktop.ModemManager1.Modem.Messaging.xml |  9 +++++++
 src/mm-iface-modem-messaging.c                     | 28
 ++++++++++++++++++++++
 2 files changed, 37 insertions(+)

commit b7e1c6d36dd10c6772582196117dc5d0ccefcb08
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 16:21:29 2012 +0200

    libmm-common: new helpers to work with arrays of `MMSmsStorage' values

 libmm-common/mm-common-helpers.c | 61
 ++++++++++++++++++++++++++++++++++++++++
 libmm-common/mm-common-helpers.h |  7 +++++
 2 files changed, 68 insertions(+)

commit d75bfa2db9aeaa98140249770e919822af88ccaa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 15:35:05 2012 +0200

    broadband-modem: allow locking/unlocking either 'mem1' or 'mem2'
    or both

    So that e.g. listing all SMS in a given storage ('mem1' lock)
    doesn't collide
    with storing a new SMS ('mem2' lock).

 src/mm-broadband-modem.c | 83
 +++++++++++++++++++++++++++++++++---------------
 src/mm-broadband-modem.h |  4 ++-
 src/mm-sms.c             |  8 ++---
 3 files changed, 64 insertions(+), 31 deletions(-)

commit e6f827ed3367ad9e3311f4d5c2dc1f501fb04748
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 14:51:33 2012 +0200

    sms: select proper storage when deleting SMS

 src/mm-sms.c | 38 ++++++++++++++++++++++++++++++++++----
 1 file changed, 34 insertions(+), 4 deletions(-)

commit f0e873b26e036f3a6374ac3859987403cfc01d52
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 14:31:16 2012 +0200

    cli: new `--store-in-storage' action to be able to select where to
    store the SMS

    Expects the storage as the enum nickname string, e.g:
       "me" for MM_SMS_STORAGE_ME
    or
       "sm" for MM_SMS_STORAGE_SM

 cli/mmcli-sms.c                  | 51
 ++++++++++++++++++++++++++++++++++++++--
 libmm-common/mm-common-helpers.c | 23 +++++++++++++++++-
 libmm-common/mm-common-helpers.h |  2 ++
 3 files changed, 73 insertions(+), 3 deletions(-)

commit 667026f0c829ba1be3d69726d7145b3ecd224dbd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 14:18:00 2012 +0200

    api: Sms.Store() now requires the specific memory storage where to
    store the SMS

    ... or MM_SMS_STORAGE_UNKNOWN to store it in the default storage.

 cli/mmcli-sms.c                                    |   2 +
 .../org.freedesktop.ModemManager1.Sms.xml          |   9 +-
 libmm-glib/mm-sms.c                                |   6 ++
 libmm-glib/mm-sms.h                                |   2 +
 src/mm-sms-qmi.c                                   |   5 +-
 src/mm-sms.c                                       | 101
 +++++++++++++++------
 src/mm-sms.h                                       |   1 +
 7 files changed, 96 insertions(+), 30 deletions(-)

commit 96928909b9294b319374f1440832fbd7d934e0cb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 14:07:31 2012 +0200

    iface-modem-messaging: setting preferred storages is a one-time
    operation

    Selection specific storages to run actions on them can now be done
    with the
    broadband-modem-specific lock|unlock_sms_storages() methods.

 src/mm-iface-modem-messaging.c | 129
 ++++++++++++++---------------------------
 src/mm-iface-modem-messaging.h |  11 ----
 2 files changed, 42 insertions(+), 98 deletions(-)

commit 2481d97d525b5e6a9d91d893892c72fcc91f7217
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 13:58:54 2012 +0200

    iface-modem-messaging: load initial SMS parts after having set
    default storages

    We really want the 'mem3' storage set as soon as possible.

 src/mm-iface-modem-messaging.c | 56
 +++++++++++++++++++++---------------------
 1 file changed, 28 insertions(+), 28 deletions(-)

commit a5650ca091140def2070f0b631e398047313d5ba
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 13:53:22 2012 +0200

    broadband-modem: lock/unlock the 'mem1' storage when reading initial
    SMS lists

 src/mm-broadband-modem.c | 42 +++++++++++++++++++++++-------------------
 src/mm-broadband-modem.h |  2 +-
 2 files changed, 24 insertions(+), 20 deletions(-)

commit 4f9817741ff6284c895a90ff15cab3ab056ac21b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 13:45:23 2012 +0200

    broadband-modem: new methods to lock/unlock current SMS storages

    The default AT commands to play with SMS rely on AT+CPMS to select
    the default
    memory storages for different operations. AT+CPMS defines 3 different
    storages,
    called 'mem1' (for reading/listing/deleting), 'mem2' (for storing
    or sending
    from storage) and 'mem3' (for receiving).

    For example, when an SMS is to be deleted, we first need to select
    with AT+CPMS
    the proper 'mem1' storage before issuing the command to delete the
    SMS part.
    But, in order to do this properly we need to synchronize the access
    to the
    currently set storages, so that no more than one action is run in
    the storages
    at the same time (e.g. don't store an SMS while another SMS is
    being deleted).
    In order to synchronize this access, we now provide commands to
    lock()/unlock()
    the storages, which should be used when we want to do some operation
    on them.

    Note that this logic is only required because we cannot specify
    the storage
    explicitly in the specific AT command operations. With QMI we don't
    need this
    locking/unlocking.

 src/mm-broadband-modem.c | 147
 ++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-broadband-modem.h |  12 ++++
 2 files changed, 158 insertions(+), 1 deletion(-)

commit 83dc9e3e1d32eb72ed60163a066c20d553f4c468
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 12:42:54 2012 +0200

    iface-modem-messaging: new methods to check support for storage
    actions

    We can now check whether a specific storage is valid for receiving
    or storing.

 src/mm-iface-modem-messaging.c | 60
 ++++++++++++++++++++++++++++++------------
 src/mm-iface-modem-messaging.h |  8 ++++++
 2 files changed, 51 insertions(+), 17 deletions(-)

commit bfa742ae13f36150e7b08fa0e9428a4a4f0f1d96
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 11:59:58 2012 +0200

    broadband-modem-qmi: we don't support 3GPP2 messaging yet

 src/mm-broadband-modem-qmi.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

commit e6a4c72ebc1e0f32722c58c03eaa19ee237cf6dc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 10 11:27:56 2012 +0200

    sms-qmi: handle sending/storing multipart SMS messages

 src/mm-sms-qmi.c | 251
 ++++++++++++++++++++++++++++++-------------------------
 1 file changed, 135 insertions(+), 116 deletions(-)

commit 3c814d74caeef9218bf678e21e56fa054ad67703
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 7 20:18:16 2012 +0200

    sms-part: create proper SUBMIT PDUs for multipart SMS messages

    If the SMS part is from a multipart message we'll need to create a
    PDU with a
    proper User Data Header.

    This patch is based on a previous implementation by:
      Roberto Majadas <roberto.majadas@openshine.com>

 src/mm-sms-part.c | 122
 +++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 83 insertions(+), 39 deletions(-)

commit 3332ec0c688ce302ba276f5aa0a31d62452cec8b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 7 18:01:25 2012 +0200

    sms: try to store/send all parts of a SMS message

 src/mm-sms.c | 213
 ++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 114 insertions(+), 99 deletions(-)

commit b2b7fccdf58eda4f7d1f6585cb0749d1812103f7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 7 17:38:40 2012 +0200

    sms: allow users to create multipart SMS messages

 src/mm-sms.c | 63
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 61 insertions(+), 2 deletions(-)

commit 0edb58b7381ef38e04a6b3b5e84828b3e5ffc74a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 7 17:37:55 2012 +0200

    sms: always export incomplete multipart SMS messages

 src/mm-sms-list.c | 7 -------
 src/mm-sms.c      | 8 ++++++++
 2 files changed, 8 insertions(+), 7 deletions(-)

commit e7b094ea3c67209f305b3f8b9cb9eb8ed89d52b5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 7 17:00:03 2012 +0200

    sms-part: new util to split input text string into chunks to fit
    in PDUs

 src/mm-sms-part.c         | 107 ++++++++++++++++++++++++++++++++++++
 src/mm-sms-part.h         |   3 +
 src/tests/test-sms-part.c | 137
 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 247 insertions(+)

commit 6b575cece08f026710d4421c11dfba8051036dc4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 7 14:33:27 2012 +0200

    sms-part: allow storing and accessing the user encoding info of an
    SMS part

 src/mm-sms-part.c | 37 ++++++++++++++++++-------------------
 src/mm-sms-part.h | 11 +++++++++++
 2 files changed, 29 insertions(+), 19 deletions(-)

commit cb0ce9c6ca13fafb0c86182aa2924f296cfeb48b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 7 13:56:45 2012 +0200

    sms: either 'text' or 'data' is mandatory

 src/mm-sms.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

commit c2b246414cb7d4bbd6782b7879fa66a7d627177a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 13 14:57:55 2012 +0200

    iface-modem-3gpp: update state to REGISTERED after loading operator
    code/name

    Call managers all want to be able to set the operator ID and/or name
    as soon as
    we get registered. We will consider now that whenever we get into
    registered
    state we already have operator code and name updated to the proper
    values.

    Applications shouldn't, though, just rely on those values to be
    valid as long as
    we're registered, as the modem may re-register automatically in
    some other
    network (e.g. going from a roaming network to the home network).

    This change involves not setting the state to REGISTERED until
    operator name
    and code loading sequences have been run. We will still signal in
    the log the
    change, with a new 'registering' intermediate state indication.

 src/mm-broadband-modem.c  |   3 +-
 src/mm-iface-modem-3gpp.c | 254
 ++++++++++++++++++++++++++++++++--------------
 src/mm-iface-modem-3gpp.h |   8 +-
 3 files changed, 189 insertions(+), 76 deletions(-)

commit 40816e5c90b73fef238da525af91b69657ceb203
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 13 16:04:24 2012 +0200

    broadband-modem-qmi: don't update access technology from operator info

    The operator info seems to show what the operator can do; it doesn't
    show the
    current access technology.

 src/mm-broadband-modem-qmi.c | 48
 ++++++--------------------------------------
 1 file changed, 6 insertions(+), 42 deletions(-)

commit 4b906f7996256bf16453bc05b4b5444f8a692411
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 13 15:17:36 2012 +0200

    broadband-modem-qmi: update access technology along with signal
    quality

 src/mm-broadband-modem-qmi.c | 33 +++++++++++++++++++++++++++------
 1 file changed, 27 insertions(+), 6 deletions(-)

commit 0080a0d023278bcb456b810cf29eba1901e2d381
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 13 14:57:16 2012 +0200

    broadband-modem-qmi: handle SEARCHING registration state

 src/mm-broadband-modem-qmi.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 210af3241cd950e09d02451decb7a035993eba08
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Sep 12 23:02:53 2012 -0500

    core: fix a leak in "core: better handling of non-UCS2 conversions
    that should be UCS2 (bgo #683817)"

 src/mm-charsets.c | 1 +
 1 file changed, 1 insertion(+)

commit c524734d9fd897add850391e7db0a1060e2f6c37
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Sep 11 16:36:16 2012 -0500

    core: better handling of non-UCS2 conversions that should be UCS2
    (bgo #683817)

    Some modems return the +COPS operator name in hex-encoded current
    character set (as set with +CSCS).  Others return the operator name
    in ASCII when set to UCS2, while yet others return the  ASCII name
    with trash at the end (*cough* Huawei *cough*).  Handle that better
    by not crashing.

 src/mm-charsets.c         | 42 ++++++++++++++++++++++++++++++------------
 src/mm-charsets.h         |  3 +--
 src/tests/test-charsets.c | 39 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 70 insertions(+), 14 deletions(-)

commit 73ced242da75abf63a1b5be47ad95123a9e53a3f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 12 07:59:39 2012 +0200

    api: remove `Completed' signal from the Messaging interface

    This signal is no longer needed, as the individual state changes of
    the SMS
    objects are enough to know their correct status of completion.

    See https://bugzilla.gnome.org/show_bug.cgi?id=675178

 .../org.freedesktop.ModemManager1.Modem.Messaging.xml      | 14
 --------------
 1 file changed, 14 deletions(-)

commit ea87a4556e4f4d09d0c4eaa6d85a7efc85431328
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 11 16:19:38 2012 +0200

    sms: fix full data setting with `g_variant_new_from_data()'

    The `g_variant_new_from_data()' method uses the original array
    during its
    operation, so we need to make sure it is valid as long as the
    method needs
    it, or we'll end up with Valgrind complaining a bit:

    ==4834== Invalid read of size 1
    ==4834==    at 0x36ADC75DA5: g_variant_get_byte (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==4834==    by 0x3161ABED8C: ??? (in
    /usr/lib64/libgio-2.0.so.0.3200.4)
    ==4834==    by 0x3161ABEEA2: ??? (in
    /usr/lib64/libgio-2.0.so.0.3200.4)
    ==4834==    by 0x3161ABE844: ??? (in
    /usr/lib64/libgio-2.0.so.0.3200.4)
    ==4834==    by 0x3161ABE91E: ??? (in
    /usr/lib64/libgio-2.0.so.0.3200.4)
    ==4834==    by 0x3161ABEEA2: ??? (in
    /usr/lib64/libgio-2.0.so.0.3200.4)
    ==4834==    by 0x3161AC232E: g_dbus_message_to_blob (in
    /usr/lib64/libgio-2.0.so.0.3200.4)
    ==4834==    by 0x3161AB750A: ??? (in
    /usr/lib64/libgio-2.0.so.0.3200.4)
    ==4834==    by 0x3161AB9FEF: g_dbus_connection_send_message (in
    /usr/lib64/libgio-2.0.so.0.3200.4)
    ==4834==    by 0x3161ABDB22: g_dbus_connection_emit_signal (in
    /usr/lib64/libgio-2.0.so.0.3200.4)
    ==4834==    by 0x4C5B8BD: _mm_gdbus_sms_emit_changed
    (mm-gdbus-sms.c:2291)
    ==4834==    by 0x36ADC47694: g_main_context_dispatch (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==4834==  Address 0x939efa0 is 0 bytes inside a block of size
    512 free'd
    ==4834==    at 0x4A079AE: free (vg_replace_malloc.c:427)
    ==4834==    by 0x36ADC4D37E: g_free (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==4834==    by 0x36ADC1CF40: ??? (in
    /usr/lib64/libglib-2.0.so.0.3200.4)
    ==4834==    by 0x43C88E: assemble_sms (mm-sms.c:1260)
    ==4834==    by 0x43CAD6: mm_sms_multipart_take_part (mm-sms.c:1329)
    ==4834==    by 0x43E2EF: take_multipart (mm-sms-list.c:268)
    ==4834==    by 0x43E546: mm_sms_list_take_part (mm-sms-list.c:328)
    ==4834==    by 0x454C8F: mm_iface_modem_messaging_take_part
    (mm-iface-modem-messaging.c:353)
    ==4834==    by 0x461DF6: sms_pdu_part_list_ready
    (mm-broadband-modem.c:5007)
    ==4834==    by 0x3161A6CFB6: g_simple_async_result_complete (in
    /usr/lib64/libgio-2.0.so.0.3200.4)
    ==4834==    by 0x432F82: at_command_parse_response
    (mm-base-modem-at.c:490)
    ==4834==    by 0x489F96: handle_response (mm-at-serial-port.c:161)

 src/mm-sms.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 36c7136510d40313c2dcbcb847d9092d0f56148a
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Sep 10 22:22:17 2012 -0700

    novatel-lte: implement modem reset

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 26
 ++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit 776d755d7704773b8ca92a7e87774ba0c8217302
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Sep 8 20:18:21 2012 -0700

    iface-modem-3gpp-ussd: avoid update if object skeleton is NULL

 src/mm-iface-modem-3gpp-ussd.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 8213a09a3412a3eb47666c6ccc6a56a75adbb668
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Sep 5 16:11:51 2012 -0500

    broadband-modem-qmi: set network port to 802.3/no-QoS mode

    The kernel drivers expect this mode, so make sure we set it.

 src/mm-bearer-qmi.c          | 1 +
 src/mm-broadband-modem-qmi.c | 1 +
 src/mm-port-probe.c          | 1 +
 src/mm-qmi-port.c            | 9 ++++++++-
 src/mm-qmi-port.h            | 1 +
 5 files changed, 12 insertions(+), 1 deletion(-)

commit 5f1a1cf834d06a6ed430f835b8d694c4dd44ac95
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 7 14:15:12 2012 -0700

    icera: increase timeout for +CFUN=4

 plugins/icera/mm-broadband-modem-icera.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 1252572607094cc0036dd656e6d596510ce49f39
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Sep 7 13:39:39 2012 -0700

    novatel-lte: set default SMS storage to 'SM'

    Novatel E362 LTE modem only supports 'SM' and 'SR', but not 'ME'.

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 2ca6d6285696d09d7a0f8bad3a551e6af0dd9be1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 7 13:13:14 2012 +0200

    broadband-modem: clear error properly as it may be re-used

    Avoids this kind of issues:

    [mm-sms-list.c:334] mm_sms_list_take_part(): SMS part at 'me/0'
    is from a singlepart SMS
    [mm-iface-modem-messaging.c:475] sms_added(): Added received SMS at
    '/org/freedesktop/ModemManager1/SMS/31'
    [mm-broadband-modem.c:4791] sms_pdu_part_list_ready(): Error parsing
    PDU (1): PDU too short (2): 41 < 79

    GLib-WARNING **: GError set over the top of a previous GError or
    uninitialized memory.
    This indicates a bug in someone's code. You must ensure an error is
    NULL before it's set.
    The overwriting error message was: PDU too short (3): 28 < (210 +
    14), user data length: '203'

    [mm-broadband-modem.c:4791] sms_pdu_part_list_ready(): Error parsing
    PDU (2): PDU too short (3): 28 < (210 + 14), user data length: '203'

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a973825eac2b741282c3e09410362ed96f4d6c28
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 7 12:20:14 2012 +0200

    sms: multipart sequence starts with 1; singlepart is always 0

 src/mm-sms-list.c |  6 ++++--
 src/mm-sms.c      | 48 ++++++++++++++++++++++++++++++++++++------------
 2 files changed, 40 insertions(+), 14 deletions(-)

commit f2cc69bc7f729efc2400cb01681b54a9fa148858
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 7 11:19:46 2012 +0200

    cli: include both current and modem capabilities in modem report

 cli/mmcli-modem.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

commit 997848ef4f6417bbd10696447e6754b7b69d8ee2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 7 11:19:26 2012 +0200

    broadband-modem-qmi: try to use Band Preference for current caps
    if available

    The "NAS Get System Selection Preference" response may come without
    "Mode
    Preference". If that is found, look for "Band Preference" and
    "LTE Band
    Preference" TLVs and try to build capabilities from those.

    This makes my UML290 properly report CDMA/EVDO+LTE capabilities:

    ModemManager[16586]: [/dev/cdc-wdm0] Received message...
    >>>>>> QMUX:
    >>>>>>   length  = 55
    >>>>>>   flags   = 0x80
    >>>>>>   service = "nas"
    >>>>>>   client  = 1
    >>>>>> QMI:
    >>>>>>   flags       = "response"
    >>>>>>   transaction = 1
    >>>>>>   tlv_length  = 43
    >>>>>>   message     = "Get System Selection Preference" (0x0034)
    >>>>>> TLV:
    >>>>>>   type       = "Result" (0x02)
    >>>>>>   length     = 4
    >>>>>>   value      = 00:00:00:00
    >>>>>>   translated = SUCCESS
    >>>>>> TLV:
    >>>>>>   type       = "Emergency mode" (0x10)
    >>>>>>   length     = 1
    >>>>>>   value      = 00
    >>>>>>   translated = 0
    >>>>>> TLV:
    >>>>>>   type       = "Band Preference" (0x12)
    >>>>>>   length     = 8
    >>>>>>   value      = 07:00:00:00:00:00:00:00
    >>>>>>   translated = 7
    >>>>>> TLV:
    >>>>>>   type       = "CDMA PRL Preference" (0x13)
    >>>>>>   length     = 2
    >>>>>>   value      = FF:3F
    >>>>>>   translated = 16383
    >>>>>> TLV:
    >>>>>>   type       = "Roaming Preference" (0x14)
    >>>>>>   length     = 2
    >>>>>>   value      = FF:00
    >>>>>>   translated = 255
    >>>>>> TLV:
    >>>>>>   type       = "LTE Band Preference" (0x15)
    >>>>>>   length     = 8
    >>>>>>   value      = 00:00:00:00:00:00:00:00
    >>>>>>   translated = 0
    ModemManager[16586]: KEY: 01:00:01:03:00:00:00:00
    ModemManager[16586]:   Service: 03
    ModemManager[16586]:   Client ID: 01
    ModemManager[16586]:   Transaction ID: 01:00
    ModemManager[16586]: <debug>
    [1347005734.979115] [mm-broadband-modem-qmi.c:321]
    load_current_capabilities_get_system_selection_preference_ready():
    Mode preference not reported in system selection preference
    ModemManager[16586]: <debug>
    [1347005734.979131] [mm-broadband-modem-qmi.c:333]
    load_current_capabilities_get_system_selection_preference_ready():
    Valid bands reported in system selection preference: 'bc-0-a-system,
    bc-0-b-system, bc-1-all-blocks'
    ModemManager[16586]: <debug>
    [1347005734.979141] [mm-broadband-modem-qmi.c:341]
    load_current_capabilities_get_system_selection_preference_ready():
    LTE band preference found
    ModemManager[16586]: [/dev/cdc-wdm0] Sending message...
    <<<<<< QMUX:
    <<<<<<   length  = 12
    <<<<<<   flags   = 0x00
    <<<<<<   service = "dms"
    <<<<<<   client  = 1
    <<<<<< QMI:
    <<<<<<   flags       = "none"
    <<<<<<   transaction = 1
    <<<<<<   tlv_length  = 0
    <<<<<<   message     = "Get Capabilities" (0x0020)
    ModemManager[16586]: KEY: 01:00:01:02:00:00:00:00
    ModemManager[16586]:   Service: 02
    ModemManager[16586]:   Client ID: 01
    ModemManager[16586]:   Transaction ID: 01:00
    ModemManager[16586]: <debug> [1347005734.982676]
    [mm-at-serial-port.c:392] debug_log(): (ttyACM0): <--
    '<CR><LF>OK<CR><LF>'
    ModemManager[16586]: <debug> [1347005734.982751]
    [mm-serial-port.c:969] mm_serial_port_close(): (ttyACM0) device open
    count is 2 (close)
    ModemManager[16586]: <debug> [1347005734.982797]
    [mm-at-serial-port.c:392] debug_log(): (ttyACM0): --> 'AT+CMEE=1<CR>'
    ModemManager[16586]: [/dev/cdc-wdm0] Received message...
    >>>>>> QMUX:
    >>>>>>   length  = 38
    >>>>>>   flags   = 0x80
    >>>>>>   service = "dms"
    >>>>>>   client  = 1
    >>>>>> QMI:
    >>>>>>   flags       = "response"
    >>>>>>   transaction = 1
    >>>>>>   tlv_length  = 26
    >>>>>>   message     = "Get Capabilities" (0x0020)
    >>>>>> TLV:
    >>>>>>   type       = "Result" (0x02)
    >>>>>>   length     = 4
    >>>>>>   value      = 00:00:00:00
    >>>>>>   translated = SUCCESS
    >>>>>> TLV:
    >>>>>>   type       = "Info" (0x01)
    >>>>>>   length     = 16
    >>>>>>   value      = B0:9D:57:00:00:DD:6D:00:03:02:05:01:02:04:05:08
    >>>>>>   translated = [ max_tx_channel_rate = '5742000'
    max_rx_channel_rate = '7200000' data_service_capability = '3'
    sim_capability = '2' radio_interface_list = '{ [0] = '1 ' [1] = '2 '
    [2] = '4 ' [3] = '5 ' [4] = '8 '}' ]
    ModemManager[16586]: KEY: 01:00:01:02:00:00:00:00
    ModemManager[16586]:   Service: 02
    ModemManager[16586]:   Client ID: 01
    ModemManager[16586]:   Transaction ID: 01:00
    ModemManager[16586]: <debug>
    [1347005734.983353] [mm-broadband-modem-qmi.c:183]
    modem_load_current_capabilities_finish(): loaded current capabilities:
    cdma-evdo, lte

 src/mm-broadband-modem-qmi.c | 26 ++++++++++++++++++++
 src/mm-modem-helpers-qmi.c   | 58
 ++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.h   |  2 ++
 3 files changed, 86 insertions(+)

commit c2952e0adc3534bfb28ad57f30e9690b236c49a9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 7 09:50:49 2012 +0200

    broadband-modem-qmi: don't always trust the current capabilities
    reported by SSP

    Sometimes the 'Mode Preference' TLV in the SSP response will have
    incorrect
    values. The following log is for a Gobi3k modem which is *only*
    GMS/UMTS.

    ModemManager[13415]: [/dev/cdc-wdm0] Received message...
    >>>>>> QMUX:
    >>>>>>   length  = 44
    >>>>>>   flags   = 0x80
    >>>>>>   service = "nas"
    >>>>>>   client  = 2
    >>>>>> QMI:
    >>>>>>   flags       = "response"
    >>>>>>   transaction = 1
    >>>>>>   tlv_length  = 32
    >>>>>>   message     = "Get System Selection Preference" (0x0034)
    >>>>>> TLV:
    >>>>>>   type       = "Result" (0x02)
    >>>>>>   length     = 4
    >>>>>>   value      = 00:00:00:00
    >>>>>>   translated = SUCCESS
    >>>>>> TLV:
    >>>>>>   type       = "Emergency mode" (0x10)
    >>>>>>   length     = 1
    >>>>>>   value      = 00
    >>>>>>   translated = 0
    >>>>>> TLV:
    >>>>>>   type       = "Mode Preference" (0x11)
    >>>>>>   length     = 2
    >>>>>>   value      = 0F:00
    >>>>>>   translated = 15
    >>>>>> TLV:
    >>>>>>   type       = "Band Preference" (0x12)
    >>>>>>   length     = 8
    >>>>>>   value      = FF:FF:FF:3F:FF:FF:FF:FF
    >>>>>>   translated = 18446744070488326143
    >>>>>> TLV:
    >>>>>>   type       = "Roaming Preference" (0x14)
    >>>>>>   length     = 2
    >>>>>>   value      = FF:00
    >>>>>>   translated = 255

    Instead of setting to '1' only the bits related to GSM/UMTS in the
    "Mode
    Preference" TLV, the modem sets all the bits it knows of to '1',
    including the
    CDMA/EVDO ones. It is not easy to detect this properly, because the
    modem didn't
    set to '1' the bits it didn't know of (e.g. LTE or TD-SCDMA), so
    we *cannot*
    assume that 0x000F actually means 'unknown'.

    So, we now will pass these returned values through the "DMS Get
    Capabilities"
    filter, as we did for the Technology Preference result. The final
    reported
    current capabilities will be either:
     * The intersection between the capabilities loaded by "NAS Get
     System Selection
       Preference" and "DMS Get Capabilities" or,
     * The intersection between the capabilities loaded by "NAS Get
     Technology
       Preference" and "DMS Get Capabilities".

    For 'modem' (not 'current') capabilities, we still rely only on
    "DMS Get
    Capabilities".

 src/mm-broadband-modem-qmi.c | 70
 ++++++++++++++++++++------------------------
 1 file changed, 32 insertions(+), 38 deletions(-)

commit ebc7b3dc70dd15b5f0d2bf0bb4ca03c34fae3a02
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 19:22:23 2012 +0200

    sms-qmi: implement SMS part deleting

 src/mm-sms-qmi.c | 140
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 140 insertions(+)

commit a8ec884931286b8f5aca36adb44ced316492dcb6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 18:44:36 2012 +0200

    sms-qmi: implement singlepart SMS sending

 src/mm-sms-qmi.c | 252
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 252 insertions(+)

commit d3b632c7a83a08e6d8dbab4e596fb5ee5af13855
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 16:39:53 2012 +0200

    sms-qmi: implement singlepart SMS storage

 src/mm-sms-qmi.c | 193
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 193 insertions(+)

commit bdf4df2b6b9dd795f12f457f6ce101fee9679c64
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 16:04:25 2012 +0200

    sms-qmi: new `MMSmsQmi' object

 src/Makefile.am              |  2 ++
 src/mm-broadband-modem-qmi.c | 11 ++++++++++
 src/mm-sms-qmi.c             | 50
 ++++++++++++++++++++++++++++++++++++++++++++
 src/mm-sms-qmi.h             | 50
 ++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 113 insertions(+)

commit 912eea79ef8510d2df15f3732c2abdcb0ab3e21f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 14:11:04 2012 +0200

    broadband-modem-qmi: implement unsolicited messaging events
    setup/cleanup

 src/mm-broadband-modem-qmi.c | 288
 ++++++++++++++++++++++++++++++++++++-------
 src/mm-modem-helpers-qmi.c   |  13 ++
 src/mm-modem-helpers-qmi.h   |   1 +
 3 files changed, 259 insertions(+), 43 deletions(-)

commit 3db1094e411d52a6946adbbb78023719e674c796
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 13:40:47 2012 +0200

    broadband-modem-qmi: implement unsolicited messaging events
    enabling/disabling

 src/mm-broadband-modem-qmi.c | 135
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 135 insertions(+)

commit 249ec8955cd4ed5483539a968660a0d7a1cb3c7d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 13:26:56 2012 +0200

    broadband-modem-qmi: minor indentation fix

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0fb980a28a689bb5bacc800982ddffe28339d29d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 12:13:05 2012 +0200

    broadband-modem-qmi: load initial SMS parts using QMI

 src/mm-broadband-modem-qmi.c | 232
 +++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.c   |  18 ++++
 src/mm-modem-helpers-qmi.h   |   2 +
 3 files changed, 252 insertions(+)

commit 454b0e1c33cf067b24609aba2f252128a4b76971
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 4 13:39:19 2012 +0200

    broadband-modem-qmi: implement default storage setting using QMI

 src/mm-broadband-modem-qmi.c | 104
 +++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.c   |  15 +++++++
 src/mm-modem-helpers-qmi.h   |   5 +++
 3 files changed, 124 insertions(+)

commit 26596b1615463a0c270b1b97136377a24d949627
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 4 09:49:10 2012 +0200

    broadband-modem-qmi: no need to setup SMS format, always in PDU mode

 src/mm-broadband-modem-qmi.c | 2 ++
 1 file changed, 2 insertions(+)

commit 88942a5f1baca9b25b553adfda38beec45132107
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 4 09:42:14 2012 +0200

    broadband-modem-qmi: QMI enabled modems have SM and ME messaging
    storages

 src/mm-broadband-modem-qmi.c | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

commit 9235a24c11cfab7fc890fd9c65dd3db112046f98
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 4 09:41:36 2012 +0200

    broadband-modem-qmi: if WMS service is available Messaging is
    supported

 src/mm-broadband-modem-qmi.c | 46
 ++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 42 insertions(+), 4 deletions(-)

commit 018d9b458f1c5456cf131659548c3dec09965aad
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 19:14:07 2012 +0200

    sms: set state back to UNKNOWN when all SMS parts were deleted

 src/mm-sms.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

commit c9a80609d49ccf0c52f175b7d2a7a96b9756cd2a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 18:25:38 2012 +0200

    sms: transition from Unknown|Stored to Sent when the SMS is sent

 src/mm-sms.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit a5266406ba3a28397a4c31b5b127aada9c2ec8eb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 17:50:04 2012 +0200

    sms: use property accessors from parent MmGdbusSms when it simplifies
    things

 src/mm-sms.c | 38 ++++++++++----------------------------
 1 file changed, 10 insertions(+), 28 deletions(-)

commit 8fd02318ec5aee2b44924d1e49d991e5a5dbf3a5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 17:45:12 2012 +0200

    sms: transition from Unknown to Stored in user-created SMS objects

 src/mm-sms.c | 4 ++++
 1 file changed, 4 insertions(+)

commit b03985a019181511c5147e9ec54790a87e004e66
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 17:33:45 2012 +0200

    sms: user-created SMS objects will have either 'text' or 'data'

 .../org.freedesktop.ModemManager1.Modem.Messaging.xml      |  3 ++-
 src/mm-sms.c                                               | 14
 ++++++++++----
 2 files changed, 12 insertions(+), 5 deletions(-)

commit 39e819788d9d6751a1b90be4dc1b400b7e6cbcc4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 17:33:03 2012 +0200

    libmm-common,sms-properties: handle the 'data' property for SMS

 libmm-common/mm-sms-properties.c | 92
 +++++++++++++++++++++++++++++++++++++++-
 libmm-common/mm-sms-properties.h | 39 ++++++++++-------
 2 files changed, 115 insertions(+), 16 deletions(-)

commit 163e16754388f74d2bac28e28573de37e837f9ed
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 17:32:33 2012 +0200

    sms-part: beware of NULL input data

 src/mm-sms-part.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 98f588867caf95b174eb3bcf09af7f43c1bdb791
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 16:38:57 2012 +0200

    sms: allow getting list of parts

 src/mm-sms.c | 6 ++++++
 src/mm-sms.h | 1 +
 2 files changed, 7 insertions(+)

commit a90d149ce476010747a32398df8b556ec597afb1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 15:58:48 2012 +0200

    sms: SMS objects need to be create by `create_modem()' in the
    Messaging iface

    So that plugins can subclass the generic SMS object.

 src/mm-broadband-modem.c       | 11 ++++++++++-
 src/mm-iface-modem-messaging.c | 10 ++++++++++
 src/mm-iface-modem-messaging.h |  5 ++++-
 src/mm-sms.c                   | 10 ++++++++--
 4 files changed, 32 insertions(+), 4 deletions(-)

commit 11740e9075fd43009929c57b86d78d82c34aed78
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 4 09:47:32 2012 +0200

    iface-modem-messaging: plug memleak

 src/mm-iface-modem-messaging.c | 1 +
 1 file changed, 1 insertion(+)

commit db457fdb468b614c5cdc314d3f08b9b20f64f84e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 13:13:07 2012 +0200

    sms: fix setting full text in object

 src/mm-sms.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 28c22ce8dbec9e48b836e8dd4cd983c97914d02c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 13:13:18 2012 +0200

    sms-list: add helper debug logs

 src/mm-sms-list.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit 32c41f62e51ece885190910e258b35f1c4f36ee4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 13:04:42 2012 +0200

    sms-part: add helper debug logs

 src/mm-sms-part.c         |  9 +++++++--
 src/tests/test-sms-part.c | 11 +++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)

commit 176498239f9024c5954edb06c20da0fc457cc1b6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Sep 6 12:47:15 2012 +0200

    sms-part: new `mm_sms_part_new_from_binary_pdu()' method

 src/mm-sms-part.c | 35 ++++++++++++++++++++++-------------
 src/mm-sms-part.h |  4 ++++
 2 files changed, 26 insertions(+), 13 deletions(-)

commit 4c2951692cffd44d0b8b3ebfe91c2943d77f92d8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 5 18:31:51 2012 -0700

    bearer: set signal handlers only after setting 'config' and 'modem'
    properties

    Modem plugins may set the 'modem' property before the 'config'
    property when
    creating a bearer. set_signal_handlers() should thus be called
    after both
    properties are set such that
    modem_{3gpp,cdma}_registration_state_changed
    checks roaming allowance correctly when launching a connection.

    Based on a draft patch by:
      Ben Chan <benchan@chromium.org>

 src/mm-bearer.c | 25 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)

commit e3152772e5a3219748fe3ac19a4dd3f5a3dab098
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 5 17:21:53 2012 -0700

    icera: properly specify MM_BROADBAND_BEARER_ICERA_DEFAULT_IP_METHOD
    property

 plugins/icera/mm-broadband-bearer-icera.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 143674ea3ed47062fa382a5c3a411b5e811583d4
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Sep 5 23:26:23 2012 -0700

    sms: use g_variant_new_from_data instead of g_variant_new_fixed_array

    ModemManager configure script currenty requires glib 2.30.2 or later,
    bud g_variant_new_fixed_array requires at least glib 2.32. To maintain
    the compatibility with glib 2.30, this patch modifies the code to use
    g_variant_new_from_data instead of g_variant_new_fixed_array.

 src/mm-sms.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

commit 02b71336ae98775c1a613b5a4133515ea7b06c4a
Author: Marius B. Kotsbak <marius@kotsbak.com>
Date:   Thu Sep 6 08:36:34 2012 +0200

    zte: extend allowed modes for LTE/4G devices for +ZSNT command

    Updates:
      AT+ZSNT=6 means LTE only
      AT+ZSNT to specify 2G and 3G doesn't support 2G or 3G preference
      in LTE modems

    Tested with a ZTE MF 820D.

 plugins/zte/mm-broadband-modem-zte.c | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

commit 4804c376049ad5746eb054ab5ed08bc4d8f9fedf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Sep 5 19:51:18 2012 +0200

    build: new `--without-qmi' configure option

    For those who don't care about the QMI support through libqmi-glib,
    or if you're
    stuck with glib 2.30 (libqmi-glib requires 2.32), this configure
    switch allows
    disabling the QMI support completely.

    The logic to detect cdc-wdm ports is still in place, but the QMI
    probing is
    never launched at them. Also, all QMI-related objects won't be
    compiled.

 configure.ac                        | 23 +++++++++++++++--
 plugins/Makefile.am                 |  4 +++
 plugins/generic/mm-plugin-generic.c |  7 +++++-
 plugins/gobi/mm-plugin-gobi.c       |  7 +++++-
 plugins/huawei/mm-plugin-huawei.c   |  7 +++++-
 plugins/pantech/mm-plugin-pantech.c |  5 ++++
 plugins/sierra/mm-plugin-sierra.c   |  7 +++++-
 src/Makefile.am                     | 49
 ++++++++++++++++++++++++-------------
 src/mm-base-modem.c                 | 33 ++++++++++++++++++++++++-
 src/mm-base-modem.h                 |  9 +++++++
 src/mm-port-probe.c                 | 25 ++++++++++++++++++-
 src/mm-port-probe.h                 |  2 ++
 src/mm-port.h                       |  2 +-
 src/tests/Makefile.am               | 26 ++++++++++++++++++++
 14 files changed, 180 insertions(+), 26 deletions(-)

commit bf1da3faea4605a9a1305993b04e9db425561b1d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Sep 4 11:34:00 2012 +0200

    iface-modem-simple: never remove connected bearers

    Modems have a maximum of bearers allowed to be connected at a time,
    number which
    is given by the number of available ports that may be used for
    data connections.

    When Simple.Connect() tries to launch a connection, it will try to
    find first an
    existing bearer with the required parameters (e.g. APN, IP type). If
    such bearer
    is found, it will just use it. If no such bearer is found, it will
    try to create
    one. When trying to create one, if there is no more room for bearers
    in the
    modem, we will remove the first disconnected bearer that we find,
    if any, before
    trying to create the new one. This logic now makes sure that no
    connected bearer
    gets removed in order to create a new one, and also that only one
    existing gets
    removed if possible (not every bearer as we did previously).

    Further logic to connect multiple bearers at a time cannot be done
    using the
    Simple interface.

 src/mm-iface-modem-simple.c | 59
 ++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 55 insertions(+), 4 deletions(-)

commit 72db2a53ed114a6b46515130a6ed8238eba35bfe
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 3 17:20:29 2012 +0200

    plugin: defer task if supports check tells us to retry

    Huawei modems will probe interface 0 always first; if we try to
    probe another
    interface meanwhile the supports check will give us a
    MM_CORE_ERROR_RETRY error,
    indicating that we need to defer the probing of the port.

 src/mm-plugin.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

commit 9c2a6320a82aa301b2415227741a8bff5a33ea1b
Author: Marius B. Kotsbak <marius@kotsbak.com>
Date:   Mon Sep 3 18:26:59 2012 +0200

    sierra: add support for new !SELRAT values in newer Sierra LTE modems

    AT!SELRAT=?
    !SELRAT: Index, Name
    00, Automatic
    01, UMTS 3G Only
    02, GSM 2G Only
    03, Automatic
    04, Automatic
    05, GSM and UMTS Only
    06, LTE Only
    07, GSM, UMTS, LTE

 plugins/sierra/mm-broadband-modem-sierra.c | 45
 ++++++++++++++++++++++++++----
 1 file changed, 39 insertions(+), 6 deletions(-)

commit d99169022eefe658e405051ef58c1af6c653faee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Sep 3 09:43:52 2012 +0200

    iface-modem: don't try to use the bearer list if there is none

    When the modem gets unplugged, or system gone into suspend, we start
    losing the
    modem ports one by one. When the last is lost, we trigger the disposal
    of the
    modem (we call g_object_run_dispose() and then we call the
    main-reference
    unref()). So, if we end up losing all ports while the connection
    sequence was
    being run, we would end up in this situation, where we try to
    disconnect the
    bearers (the bearer and modem objects are still valid, as we have
    references
    around, but the list of bearers won't be available any more in the
    modem object
    as it was cleared in the modem dispose().

    Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )

    0x7f5cdbd5cda0   [ModemManager]                 -
    mm-bearer-list.c:163]      mm_bearer_list_foreach
    0x7f5cdbd6a4bd   [ModemManager]                 -
    mm-iface-modem.c:110]      bearer_status_changed
    0x7f5cdbad0903   [libgobject-2.0.so.0.3000.2]   - gclosure.c:774]
    g_closure_invoke
    0x7f5cdbae1dbb   [libgobject-2.0.so.0.3000.2]   - gsignal.c:3272]
    signal_emit_unlocked_R
    0x7f5cdbaeac82   [libgobject-2.0.so.0.3000.2]   - gsignal.c:3003]
    g_signal_emit_valist
    0x7f5cdbaeae5e   [libgobject-2.0.so.0.3000.2]   - gsignal.c:3060]
    g_signal_emit
    0x7f5cdbad3876   [libgobject-2.0.so.0.3000.2]   - gobject.c:925]
    g_object_dispatch_properties_changed
    0x7f5cdbad5ceb   [libgobject-2.0.so.0.3000.2]   -
    gobjectnotifyqueue.c:132]  g_object_notify_by_pspec
    0x7f5cdbd56b08   [ModemManager]                 - mm-bearer.c:112]
    bearer_update_status
    0x7f5cdbd56ffd   [ModemManager]                 - mm-bearer.c:393]
    disconnect_ready
    0x7f5cdbbcc676   [libgio-2.0.so.0.3000.2]       -
    gsimpleasyncresult.c:749]  g_simple_async_result_complete
    0x7f5cdbbcc788   [libgio-2.0.so.0.3000.2]       -
    gsimpleasyncresult.c:761]  complete_in_idle_cb
    0x7f5cdb7cff44   [libglib-2.0.so.0.3000.2]      - gmain.c:2441]
    g_main_context_dispatch
    0x7f5cdb7d0597   [libglib-2.0.so.0.3000.2]      - gmain.c:3089]
    g_main_context_iterate
    0x7f5cdb7d0b51   [libglib-2.0.so.0.3000.2]      - gmain.c:3297]
    g_main_loop_run
    0x7f5cdbd4e331   [ModemManager]                 - main.c:150]
    main
    0x7f5cdb1ea41c   [libc-2.15.so]                 - libc-start.c:234]
    __libc_start_main
    0x7f5cdbd4de48   [ModemManager]   + 0x00019e48]

    Reported by Ben Chan <benchan@google.com>

 src/mm-iface-modem.c | 2 ++
 1 file changed, 2 insertions(+)

commit f146c3a3dcc43688e7e8d3eb6b7752567cf2dfc4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Sep 2 16:34:39 2012 +0200

    broadband-modem: avoid segfault when initialization sequence is
    aborted

    The ports context is only set if the initialization sequence succeeds;
    so don't
    try to clear the ports context if it wasn't set.

 src/mm-broadband-modem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 80fa4cb31216c9448334ac2efe83a488c3c97e35
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Sep 2 16:20:12 2012 +0200

    sierra: use generic current capabilities loading

    The generic current capabilities loading already has the required
    extra
    AT+WS46=? query to see if LTE capabilities are available.

 plugins/sierra/mm-broadband-modem-sierra.c | 133
 -----------------------------
 1 file changed, 133 deletions(-)

commit 22d70792dcea230e9224d56dc89d41d6b37532f7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Sep 2 16:11:26 2012 +0200

    broadband-modem: run an extra AT+WS46=? when querying current
    capabilities

    Some modems (e.g. Sierra Wireless MC7710 or ZTE MF820D) won't
    report LTE
    capabilities even if they have them. So just run AT+WS46=? as well
    to see
    if the current supported modes list includes any LTE-specific mode.

    This is not a big deal, as the AT+WS46=? command is a test command
    with a
    cache-able result, so the next time we need the command result
    (when loading
    supported modes) the value will be loaded from the cache.

 src/mm-broadband-modem.c | 139
 +++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 117 insertions(+), 22 deletions(-)

commit 5eab715bb6a9c3f6aacdb77bcf036d25caed72c6
Author: Marius B. Kotsbak <marius@kotsbak.com>
Date:   Sat Sep 1 02:04:19 2012 +0200

    modem-helpers: recognize "4G" as LTE access technology

    Some modems (e.g. ZTE MF 820D) report LTE access technology as "4G":
      +ZPAS: "4G","PS_ONLY"

 src/mm-modem-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6f2c440b7be4e843c1eb193eb04f111924a89dfd
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Aug 31 12:30:13 2012 -0500

    broadband-modem-qmi: fix handling of current and overall modem
    capabilities

    Current capabilities is the set of *active* radios that can be used
    right now.  Modem capabilities are the set of all radios the modem
    could use, if some action were performed to enable them if they are
    not enabled already (firmware reload, changing allowed mode, etc).

    For QMI devices, the DMS Get Capabilities command represents all
    radios, and thus "modem capabilities".

    But to read *current* capabilities, ie active radios, we need to
    query the NAS System Selection Preference and grab the "mode
    preference" TLV.  Unfortunately that is only available with NAS
    >= 1.1, which means older Gobi devices (1K and 2K) don't support
    it.  So for older devices, we try to get the Technology Preference
    (which takes into account user-requested limitations) and then
    mask that with the DMS Get Capabilities result for a best-effort
    current capabilities.

    For example, the Pantech UML290VW reports DMS Get Capabilities
    of "cdma, evdo, gsm, umts, lte", but a more limited SSP mode
    preference according to what modes are actually enabled.  Gobi
    1K devices don't support SSP, and the DMS Get Capabilities
    reports cdma/evdo or gsm/umts depending on the currently loaded
    firmware.  Previous to this patch, ModemManager reported all
    modes as available on the UML290, ignoring what modes were
    actually enabled.

 src/mm-broadband-modem-qmi.c | 310
 ++++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-helpers-qmi.c   |  57 ++++++++
 src/mm-modem-helpers-qmi.h   |   4 +
 3 files changed, 364 insertions(+), 7 deletions(-)

commit 04ce8b567cca9f3ab125f59af3bd8bfed554adce
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 16:52:59 2012 +0200

    broadband-modem-qmi: use System Selection Preference when available

    Get/Set Technology Preference was introduced in NAS 1.0, so should
    be always
    available (even if we thought it was introduced in NAS 1.7, that's
    not true).
    But the newer System Selection Preference behaves better as it
    allows more
    features like 'preferred' modes; so use it when available (NAS
    >= 1.1).

 src/mm-broadband-modem-qmi.c | 66
 +++++++-------------------------------------
 src/mm-modem-helpers-qmi.c   |  4 ---
 src/mm-modem-helpers-qmi.h   |  4 ---
 3 files changed, 10 insertions(+), 64 deletions(-)

commit 61d41978c1b217870f399aa38df9af110ca977b1
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Aug 31 10:37:49 2012 -0500

    icera: fix parsing of IP config options

    Some of the IP address items will be 0.0.0.0 depending on what the
    other items are, like when the duplicate gateway is set on newer
    devices, the first gateway address may be 0.0.0.0.  Since that's
    not a valid IP address, just don't set that member of the config.

    Second, the intent with the duplicate gateway is only to use that
    when the first gateway was not given (ie, was 0.0.0.0) so fix the
    check for that.

 plugins/icera/mm-broadband-bearer-icera.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

commit 20539a88e66df64d311752d889d239a34b389d87
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 16:50:56 2012 +0200

    broadband-modem-qmi: fix compilation when using
    `--with-newest-qmi-comands'

 src/mm-broadband-modem-qmi.c | 8 ++++----
 src/mm-modem-helpers-qmi.c   | 1 +
 2 files changed, 5 insertions(+), 4 deletions(-)

commit fa0ccc593e9c7f3f7a5754b5977eb63fe231df32
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 16:41:38 2012 +0200

    sierra: fix finding LTE capabilities

 plugins/sierra/mm-broadband-modem-sierra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 63ef0990b65a46b56707e6f28534e0e01bc4e22c
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Aug 28 21:33:44 2012 -0500

    sierra: allow users to help debug APP1 PPP capability

    Most Sierra PPP-based devices are supposed to allow PPP on the
    APP1 port, which has a dumb AT parser, leaving the main port
    (with the intelligent AT parser) free for status and signal strength.
    But out of all the devices I've tested it with (8775, 8781, AC881,
    and C885), only the C885 actually works.  The rest (including three
    different firmware versions for the 8775) either crash or disconnect
    shortly after PPP starts.

    To help figure out which devices actually support this, when
    running MM in debug mode, users can set the MM_SIERRA_APP1_PPP_OK
    environment variable and assume the APP1 port allows PPP.  This
    is only for debugging purposes.

 plugins/sierra/mm-plugin-sierra.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 369e14f1d374eb2eaeda9724aa70fd0b7242dfab
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 14:31:04 2012 +0200

    huawei: additional unsolicited messages to ignore

 plugins/huawei/mm-broadband-modem-huawei.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit b4e0fa3d89ab4d8b053769335a489cd4517b68ae
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 14:23:11 2012 +0200

    sierra: skip echo removal in the secondary port

    This is the port to git master of the following commit:

    commit d1be19d231a395339b1f452d1a30b73ea77ad528
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Tue Aug 28 21:58:43 2012 -0500

        sierra: fix CSQ handling on APP1 port

        The APP1 port doesn't always prefix its replies with <CR><LF>
        which
        runs afoul of the built-in echo removal.  Since Sierra modems
        are on
        the whole well-behaved WRT echo removal, just disable it on the
        secondary ports.  Only changes behavior for PPP-based devices
        since
        they are the only ones that use the APP1 ports.

 plugins/sierra/mm-common-sierra.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit fa8c09ca668d27af39c28b9590c5c48410c6b3d5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 14:19:50 2012 +0200

    port-probe: speed up QCDM probing a bit

    This is the port to git master of the following commit:

    commit 01201860de5565a78823913423c6b2a762e3731f
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Tue Aug 28 21:12:14 2012 -0500

        core: speed up QCDM probing a bit

        The point of sending two "version info" commands was to ensure
        that
        the terminating 0x7E of the first one was processed as a QCDM
        frame
        boundary and that any random data in the buffer (like AT commands
        from probing) got cleared out.  The second command would always
        get processed as a valid QCDM command if the device supported
        QCDM,
        since there was no garbage before it.

        Instead of that dance, just prepend the version info message with
        an extra 0x7E to ensure a clean QCDM frame which the device
        hopefully
        responds to immediately.  Second, actually process that response
        instead of throwing it away.  Should save about 3 seconds when
        probing QCDM ports.

 src/mm-port-probe.c | 53
 +++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 37 insertions(+), 16 deletions(-)

commit 061e184d393e22d4331f8f004be110a0176ea4dc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 14:05:29 2012 +0200

    sierra: use DHCP for the USB 305 (AT&T Lightning)

    This is the port to git master of the following commit:

    commit 44f70121f75d59dbf31a4a9a1a4e87293e509e7a
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Tue Aug 28 20:18:40 2012 -0500

        sierra: use DHCP for the USB 305 (AT&T Lightning)

        For some reason, my AT&T Lightning just doesn't work with static
        IP (AT%IPDPADDR) any more.  No traffic passes even though
        everything
        is set up the way it was before.  No idea what happened.  Using
        latest firmware 2.0.0.11.

        But what's interesting is on Windows the generic Sierra Watcher
        app uses DHCP.  But on Linux, when using AT%IPDPACT, DHCP doesn't
        work.  That's odd.  But it turns out the modem supports the
        "standard" Sierra proprietary AT!SCACT commands, and that
        *does* make DHCP work.  Crazy no?  So since the Windows app
        uses DHCP, it's likely that the non-DHCP case
        (AT%IPDPACT/AT%IPDPADDR)
        either isn't well tested or isn't well supported.  With that
        in mind, let's just use DHCP for this device in Linux too.

 plugins/sierra/mm-broadband-modem-sierra-icera.c | 59
 ++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

commit a195dabc93153c7acc220cd9daccbbf4657bbb62
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 13:56:42 2012 +0200

    icera: handle additional IPv4 configuration options

    This is the port to git master of the following commit:

    commit c8153b1ecdec1995258b114c90b575af1e721d3d
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Tue Aug 28 12:16:26 2012 -0500

        icera: handle additional IPv4 configuration options

        Newer devices like the ZTE/Vodafone K3805-z have an enhanced
        %IPDPADDR command that includes a netmask and gateway, and
        these are necessary to configure the device since it uses /24
        instead of a /32.  Since the device is nice enough to tell
        us that, we should probably use that information.

        Unfortunately the MM API doens't expose the netmask and gateway
        yet, so we'll have to add a GetIP4ConfigEx() method or something
        like that, but this commit sets us up to do that.

 plugins/icera/mm-broadband-bearer-icera.c | 47
 +++++++++++++++++++++++++++++--
 1 file changed, 44 insertions(+), 3 deletions(-)

commit 529eecdb9771cbb9140af015e4a8a5fdb3df59a7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 13:54:48 2012 +0200

    modem-helpers: new helper to convert from netmask string to CIDR

 src/mm-modem-helpers.c | 12 ++++++++++++
 src/mm-modem-helpers.h |  2 ++
 2 files changed, 14 insertions(+)

commit ab7f558a2c6376396c021d57175c6faaba57554c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 13:21:35 2012 +0200

    zte: handle Icera-based devics that use DHCP

    This is the port to git master of the following commit:

    commit d2654a287c309346cc46b535dd974b0a5fc06fd4
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Tue Aug 28 12:15:30 2012 -0500

        zte: handle Icera-based devics that use DHCP

        Since we can't autodetect that the devices use DHCP, we'll need to
        tag them with udev rules for the time being.

 plugins/zte/77-mm-zte-port-types.rules | 3 +++
 plugins/zte/mm-plugin-zte.c            | 7 +++++++
 2 files changed, 10 insertions(+)

commit c6a1d91cd5683df2551fd7b9750f23bbad5c1077
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 13:05:32 2012 +0200

    sierra: use an additional AT+WS46=? to detect LTE capabilities

    Some Sierra modems (e.g. MC7710) will report LTE-specific supported
    modes in the
    AT+WS46=? reply, but not +CLTE capability in the AT+GCAP reply:

    AT+GCAP
     +GCAP: +CGSM
     OK

    AT+WS46=?
     +WS46: (12,22,25,28,29)
     OK

 plugins/sierra/mm-broadband-modem-sierra.c | 133
 +++++++++++++++++++++++++++++
 1 file changed, 133 insertions(+)

commit e8ca43e315688f04a4f896646abaffab2b3a395e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 12:31:00 2012 +0200

    broadband-modem: if the generic CNMI request fails, try a
    Qualcomm-compatible one

    This is the port to git master of the following commit:

    commit 1d9164ec90788d1be134482ff88c501e3c5d623c
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Mon Aug 27 18:20:33 2012 -0500

        gsm: if the generic CNMI request fails, try a Qualcomm-compatible
        one

        Many devices based on Qualcomm chipsets don't support a <ds> value
        of '1', despite saying they do in the AT+CNMI=? response.
        But they
        do accept '2'.  Since we're not doing much with delivery status
        reports yet, if we get a CME 303 (not supported) error when
        setting
        the message indication parameters via CNMI, fall back to the
        Qualcomm-compatible CNMI parameters.

        If we don't do this, we don't get SMS indications on these
        devices,
        because the original CNMI failed.

        Tested on Huawei E1550, Huawei E160G, ZTE MF622, and Novatel
        XU870.

 src/mm-broadband-modem.c | 61
 ++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 54 insertions(+), 7 deletions(-)

commit a3d32c552c526a7f5850007428a5a32216766a64
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 12:13:45 2012 +0200

    sms: fix handling of 'data' property for multipart messages

    This is the port to git master of the following commit:

    commit 1c29ce5999d11dee2898e7bf41c00995a00c71d0
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Mon Aug 27 17:36:49 2012 -0500

        sms: fix handling of 'data' property for multipart messages

        Text was getting concatenated when reconstructing the full
        message,
        but the data wasn't.  That meant that non-text multipart messages,
        like the binary APN/MMS settings messages that operators often
        send,
        were broken.

 libmm-common/Makefile.am |  1 +
 src/mm-sms.c             | 77
 +++++++++++++++++++++++++++++++++---------------
 2 files changed, 54 insertions(+), 24 deletions(-)

commit 5af3e232a0ac0725ef62ac543ac92854fad78677
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 12:12:25 2012 +0200

    api,introspection: new `Data' property in the SMS interface

    We need to expose the raw data for the case where we get SMS
    messages with
    binary content (e.g. settings SMS).

 introspection/org.freedesktop.ModemManager1.Sms.xml | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 9d2a046754d383dec8ef7415e2c77ba739989c3b
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Aug 27 16:36:39 2012 -0500

    mbm: add Ericsson H5321gw (often found in Thinkpad X230)

 plugins/mbm/77-mm-ericsson-mbm.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 19e91c5c79f5f824c309c8d11c0b148ca8b0955e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 10:08:11 2012 +0200

    sim: better handling of IMSI response

    This is a port to git master of the following commit:

    commit 0b051f9c7033143c56f59267794d1cadf4bd3416
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Mon Aug 27 10:24:50 2012 -0500

        gsm: better handling of IMSI response

        Moto EZX devices prefix the response with "+CIMI:" while most
        devices do not.

 src/mm-sim.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit f53e53ba3738f3d24465ea577781b6c3ed6f6083
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 10:04:37 2012 +0200

    novatel: fix checking ERI for roaming/home decision

    This is a port to git master of the following commit:

    commit c21e29c50b5661308fb3b223c05f6942c06dc15d
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Fri Aug 24 13:31:04 2012 -0500

        novatel: fix checking ERI for roaming/home decision

        More fallout from b22b2d99db57e4cec8e6c3074dd20acd6845cb62
        which changed the return type of the qcdm_result_get_*()
        functions.

 plugins/novatel/mm-broadband-modem-novatel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 04d50e2db7a4bae2b21112faadf5f23176663d1d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 10:01:11 2012 +0200

    icera: retry configuring PDP context if it fails.

    This is the port to git master of the following commit:

    commit fb3187847b9c62d5205962c3c707ac1f44eaddcc
    Author: Eric Shienbrood <ers@chromium.org>
    Date:   Thu Aug 11 16:58:34 2011 -0400

        icera: retry configuring PDP context if it fails.

        If a connect operation is attempted immediately after a
        disconnect,
        it sometimes fails with CME error 583 - "a profile (CID)
        is currently
        active". Apparently, even though the preceding operation
        (%IPDPACT)
        to deactivate the PDP context returned an OK response, the context
        is not really completely available until a fraction of a second
        later. This causes the %IPDPCFG operation that is part of the
        subsequent connect attempt to fail with error 583. This change
        retries the %IPDPCFG after a one second delay.

        BUG=chrome-os-partner:4936
        TEST=This can be tested from the UI, but I found it easier
        to produce
        the timing needed to trigger the bug by running mm-disconnect and
        mm-connect from a shell.

        Start out with the modem in the connected state. In the shell, run

          sudo /usr/local/lib/flimflam/test/mm-disconnect; sudo
          /usr/local/lib/flimflam/test/mm-connect --number='*99#'
          --apn=wap.cingular

        modem-manager should emit the log line "Invalid error code: 583".
        Prior to this change, the connect operation would fail. Now
        it should
        succeed.

        Change-Id: I6ae0e6a9f5405b54b0b465fe91d9542529f365c2
        Reviewed-on: http://gerrit.chromium.org/gerrit/5781
        Tested-by: Eric Shienbrood <ers@chromium.org>
        Reviewed-by: Nathan J. Williams <njw@chromium.org>

 plugins/icera/mm-broadband-bearer-icera.c | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

commit 31d98a43c8dcd2a7721615a05da684edc2b4dd71
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Aug 24 08:39:07 2012 -0500

    test: add utility to force a modem disconnect

 test/Makefile.am   |  1 +
 test/disconnect.py | 30 ++++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)

commit a2c7cacb695b062146b3acda249e26bb180dd10e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 09:22:45 2012 +0200

    sierra: fix detection of APP1 port

    This is the port to git master of the following commit:

    commit e0242b4db7fb1556e79f6829d22edf411f9f6ba4
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Thu Aug 23 21:14:38 2012 -0500

        sierra: fix detection of APP1 port

        The APP1 port (which has a limited AT parser) doesn't prefix
        its replies with <CR><LF> like nice modems do, and that means
        it runs afoul of the echo removal bits of the AT serial port
        code.  We need to parse the whole string even though it's not
        prefixed properly to find the APP1 string in the response.

 plugins/sierra/mm-plugin-sierra.c | 1 +
 1 file changed, 1 insertion(+)

commit 1e5b00e33b98dbfd3fc6208ff51c30f4b0b40d88
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 09:20:43 2012 +0200

    plugin: let plugins decide if they want echo removal during AT probing

    This is the port to git master of the following patch:

    commit 21e66dfa1774ac2ee037ac8b6e8bb4d71a6f7931
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Thu Aug 23 21:13:35 2012 -0500

        core: add function to open probe ports without removing echo

        Some devices (Sierra GSM ones) return stuff we need but don't
        bother to prefix it with <CR><LF>, so we need to optionally turn
        off the echo removal at probe time.

 src/mm-plugin.c     | 19 +++++++++++++++++++
 src/mm-plugin.h     |  1 +
 src/mm-port-probe.c | 11 ++++++++---
 src/mm-port-probe.h |  1 +
 4 files changed, 29 insertions(+), 3 deletions(-)

commit 9faba582263f541048816d8e161166a525952a52
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 00:21:36 2012 +0200

    bearer: check only roaming allowance when launching a connection

    Don't abort the connection if the modem reports unregistered in either
    3GPP or CDMA, as mixed CDMA+3GPP modems may connect even if not
    registered
    in both technologies.

 src/mm-bearer.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 6c94741e04ecb786579855a562a5ee5039901068
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 31 00:05:21 2012 +0200

    sierra: fix dialling context deallocation

    We were using the slice allocator, not plain g_malloc().

 plugins/sierra/mm-broadband-bearer-sierra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6c1e005b54692ffd3dbb3f3c185b5d0eb951196b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 23:47:30 2012 +0200

    hso: fix error handling in PIN retry counts

 plugins/option/mm-broadband-modem-hso.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8be5ecf186ffbbf941dce68460be3d69e4b19e97
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 23:47:21 2012 +0200

    longcheer: fix error handling in PIN retry counts

 plugins/longcheer/mm-broadband-modem-longcheer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b288b26718dc95f86fe28eb740b18c0f91f72336
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 23:46:58 2012 +0200

    icera: fix error handling in loading supported/current bands

 plugins/icera/mm-broadband-modem-icera.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit ff1a175035206fa092ad603327455c296cde3f5c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 22:33:01 2012 +0200

    sierra: detect stupid secondary ports

    Some sierra modems (e.g. MC7710) have a secondary port that likes
    to reply OK
    to any AT command passed. Detect that as soon as possible, and
    don't consider
    the Icera port probing result from that secondary port.

 plugins/sierra/mm-plugin-sierra.c | 33 +++++++++++++++++++++++++++++----
 1 file changed, 29 insertions(+), 4 deletions(-)

commit 57f56f0f161bd622a7808a97adcce2b0fdaf69a1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 19:22:16 2012 +0200

    icera: fix error handling in PIN retry counts

    GErrors need to be always NULL initialized.

 plugins/icera/mm-broadband-modem-icera.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit f61db0fc4b0b41cd9bf0ea7aab7d1498c3e41cec
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 19:18:05 2012 +0200

    broadband-modem-qmi: implement current bands loading

    Also, sync with libqmi:

    commit b03ca502f45f75541c2b2ccebf44e712ab925456
    Author: Aleksander Morgado <aleksander@lanedo.com>
    Date:   Thu Aug 30 19:17:19 2012 +0200

        nas: consolidate `QmiNasActiveBand' names

 src/mm-broadband-modem-qmi.c |  87 ++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.c   | 144
 +++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.h   |   2 +
 3 files changed, 233 insertions(+)

commit 4f406b2c380dc42ee50267430377ecea85b38ef3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 18:36:11 2012 +0200

    broadband-modem-qmi: move common enum translators to new
    -helpers-qmi.[ch] files

 src/Makefile.am              |   2 +
 src/mm-broadband-modem-qmi.c | 581
 +++----------------------------------------
 src/mm-modem-helpers-qmi.c   | 579
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers-qmi.h   |  69 +++++
 4 files changed, 678 insertions(+), 553 deletions(-)

commit 5e448cf5d33013241a2b17a10886f79ad2dd2efd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 11:01:55 2012 +0200

    bearer-qmi: try to use proper QMI port to connect a given net
    interface

 src/mm-bearer-qmi.c | 19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)

commit 36733aa4de83bfce7676899c7d1acea36cc4a147
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 11:01:29 2012 +0200

    base-modem: allow looking for the QMI port associated to a given
    data port

    QMI and wwan ports come in pairs. Each wwan port has an associated
    control QMI
    port, which is the only port allowed to send the Start|Stop Network
    QMI requests
    to start|stop the connection in the given wwan interface.

    Paired QMI and wwan interfaces (should) share the same parent
    udev device,
    quoting Bjørn:

        "If we ignore the unfortunate 3.4 and 3.5 kernels, then a
        matching wwanX
         and cdc-wdmY set will always share the same parent USB interface
         on QMI
         devices.

         Having the same parent USB device is *not* sufficient.
         You cannot control
         wwan0 using cdc-wdm1 in the above example."

 src/mm-base-modem.c | 118
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-base-modem.h |  20 +++++----
 2 files changed, 129 insertions(+), 9 deletions(-)

commit 3132e34dc143e90542746f3c85102584279433b0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 16:36:38 2012 +0200

    iface-mode-simple: when setting bands or modes, wait some time to
    settle down

    When bands or allowed modes are changed, the modem will very likely
    reset its
    current registration and start from scratch. We will now give it
    some seconds
    to settle down before going on with the connection request, so that
    the modem
    has enough time to report being unregistered. Without this sleep
    time, the
    unsolicited message reporting being unregistered may arrive *after*
    having
    checked registration status in the Simple connect sequence, and
    therefore we
    end up failing the connection request.

 src/mm-iface-modem-simple.c | 56
 +++++++++++++++++++++++++++++++++------------
 1 file changed, 42 insertions(+), 14 deletions(-)

commit aa51a16f70178e2c0edb1be0db30b816d02d8f85
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 14:24:16 2012 +0200

    port-probe: fix generic icera support check during probing

 src/mm-port-probe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 35a69d6b8ea1bcaf68552fb258f9e7ac8412f065
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 14:18:03 2012 +0200

    huawei: enable QMI-powered Huawei modems

 plugins/huawei/mm-plugin-huawei.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

commit 35bece0af36b017a0fce879e235a2b62bb9a13e2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 14:17:51 2012 +0200

    sierra: enable QMI-powered Sierra modems

 plugins/sierra/mm-plugin-sierra.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

commit 1ca46bb4a7e750655f3d066881f4f3823c03f537
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 13:57:56 2012 +0200

    port-probe: easier check for Icera support over a list of port probes

 plugins/sierra/mm-plugin-sierra.c | 10 +---------
 plugins/zte/mm-plugin-zte.c       | 10 +---------
 src/mm-port-probe.c               | 13 +++++++++++++
 src/mm-port-probe.h               |  1 +
 4 files changed, 16 insertions(+), 18 deletions(-)

commit a4e5964506cbb6613421ab44bb43c225eb9d82a3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 13:35:37 2012 +0200

    bearer: add roaming connection allowance rules from the broadband
    bearer

    Connection allowance rules need to be applied to every kind of bearer,
    regardless of whether it's based on the generic broadband bearer
    or not.

 src/mm-bearer.c           | 195
 +++++++++++++++++++++++++++++++++++++++++-
 src/mm-broadband-bearer.c | 212
 ++++++----------------------------------------
 2 files changed, 218 insertions(+), 189 deletions(-)

commit 58553df9bb5b1228861920196abc637b23e93443
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 11:21:46 2012 +0200

    bearer-qmi: 'no-effect' errors while disconnecting aren't fatal

 src/mm-bearer-qmi.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 2edbf674e0781680cd0c5a2681565d1b2489d9d1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 30 11:04:51 2012 +0200

    bearer-qmi: assume we need the global packet data handle on no-effect
    errors

 src/mm-bearer-qmi.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit b060bcfc743a39f4385466f57e2f43c9569a9d54
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 29 20:36:18 2012 -0700

    novatel-lte: use 'AT+CRSM=176,28423,0,0,9' instead of 'AT+CIMI'
    to read IMSI

    Based on empirical results, 'AT+CRSM=176,28423,0,0,9' is found
    more reliable
    than 'AT+CIMI' for reading IMSI.

 plugins/Makefile.am                              |   4 +-
 plugins/novatel/mm-broadband-modem-novatel-lte.c |  26 +++
 plugins/novatel/mm-sim-novatel-lte.c             | 251
 +++++++++++++++++++++++
 plugins/novatel/mm-sim-novatel-lte.h             |  51 +++++
 4 files changed, 331 insertions(+), 1 deletion(-)

commit a2aad7d2931baf1260fe2652dc75b991416e0c2d
Author: Ben Chan <benchan@chromium.org>
Date:   Tue Aug 28 13:35:25 2012 -0700

    novatel-lte: add a 2-second wait after SIM unlock

 plugins/novatel/mm-broadband-modem-novatel-lte.c | 38
 ++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

commit 1c49e35a8e03ea0724cd0831f2ca7819368b0a66
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 28 18:34:07 2012 +0200

    iface-modem: run after-sim-unlock also when PIN request is not enabled

    Whenever we query current unlock required status and we get that
    we're unlocked,
    we'll launch the after-sim-unlock step so that we try to ensure that
    the SIM is
    ready.

 src/mm-iface-modem.c | 88
 +++++++++++++++++++++++++++++-----------------------
 1 file changed, 50 insertions(+), 38 deletions(-)

commit 4114eabaa31bb10ec3af14a7308760f0fbe42608
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 29 18:43:01 2012 +0200

    plugin-manager: never suggest result to the probe which generated
    the suggestion

 src/mm-plugin-manager.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 72602a395105006736ecf5829ba33ffcefce3692
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 28 23:04:11 2012 +0200

    qmi-bearer: use new enum types for call end reasons

    Sync with libqmi:

    commit d473f9ab35b85b76ebd6510a69a49ffa141d85f1
    Author: Aleksander Morgado <aleksander@lanedo.com>
    Date:   Tue Aug 28 13:18:44 2012 +0200

        wds: implement "Verbose Call End Reason" types

    commit d39c997771da9a8037e61f1b4fc5ccfbb34be952
    Author: Aleksander Morgado <aleksander@lanedo.com>
    Date:   Mon Aug 27 20:29:16 2012 +0200

        wds: implement "Call End Reason" type

 src/mm-bearer-qmi.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

commit 4cb6c42d6cea99f9dc674f5f38fe7d781d19becd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 28 22:58:31 2012 +0200

    qmi-bearer: fix IPv6 disconnection logic

 src/mm-bearer-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 84e69a1abb534452547b62d18a5658515a516a7f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 27 15:49:19 2012 +0200

    bearer-qmi: only keep internal state if IP type specific connection
    succeeds

 src/mm-bearer-qmi.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

commit c468e5b35236bfd006e5e841143b5795536f7030
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 27 15:38:36 2012 +0200

    bearer-qmi: if possible, use "WDS Set IP Family" to select IP family
    preference

 src/mm-bearer-qmi.c | 92
 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 90 insertions(+), 2 deletions(-)

commit ea7edbbf9e3de5f3cd1c4c0ed335a0f5504f0edc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 27 15:16:50 2012 +0200

    bearer-qmi: only specify IP family preference TLV if one explicitly
    requested

 src/mm-bearer-qmi.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

commit fb932268587bb59e5700e93a52c72e619e150b27
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 27 15:10:23 2012 +0200

    bearer-qmi: allocate different WDS clients for IPv4 and IPv6 setups

 src/mm-bearer-qmi.c | 178
 ++++++++++++++++++++++++++++++++++++----------------
 src/mm-qmi-port.h   |   4 +-
 2 files changed, 126 insertions(+), 56 deletions(-)

commit 28eb5df342e26c0792c2fc141dbb1ef6cc186577
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 27 14:52:00 2012 +0200

    qmi-port: allow allocating more than one client of a given service

    We'll uniquely identify each client generated by the service ID and
    a user
    defined flag, so that we then allow to peek/get the specific client.

 src/mm-bearer-qmi.c          |  9 +++++++--
 src/mm-broadband-modem-qmi.c |  5 ++++-
 src/mm-qmi-port.c            | 16 +++++++++++-----
 src/mm-qmi-port.h            | 11 +++++++++--
 src/mm-sim-qmi.c             |  4 +++-
 5 files changed, 34 insertions(+), 11 deletions(-)

commit a8cf6f627856e8d072dd59d1af7518b19e22d8f1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 27 12:55:36 2012 +0200

    bearer-qmi: enable dual IPv4/IPv6 connections

    We provide separate steps to connect/disconnect IPv4 and IPv6.

 src/mm-bearer-qmi.c | 461
 +++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 326 insertions(+), 135 deletions(-)

commit 7c291ab7a3973dea5d901fb87cae204421a88380
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 24 08:27:01 2012 +0200

    bearer-qmi: make compiler happy

 src/mm-bearer-qmi.c | 1 +
 1 file changed, 1 insertion(+)

commit 26d95381048e0e4c91b17eda0a7e6d444a736b52
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 18:42:09 2012 +0200

    bearer-qmi: 'no-effect' errors while starting network aren't fatal

 src/mm-bearer-qmi.c | 63
 ++++++++++++++++++++++++++++++++---------------------
 1 file changed, 38 insertions(+), 25 deletions(-)

commit 5fdb820f28dcdcba76fa5e4300b806bfd7181fcb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 18:29:15 2012 +0200

    bearer-qmi: pass down APN/username/password/IP-type to `WDS Start
    Network'

 src/mm-bearer-qmi.c | 58
 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 56 insertions(+), 2 deletions(-)

commit 60b0812d3ad75db9188f3012c12895284ec9c615
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 17:06:19 2012 +0200

    bearer-qmi: implement connection/disconnection sequences

 src/mm-bearer-qmi.c | 490
 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 489 insertions(+), 1 deletion(-)

commit 02c049ce7dfd7aacfc2fe50fe76a2221764501eb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 13:16:45 2012 +0200

    broadband-modem-qmi: create a `MMBearerQmi' always by default

    We still don't consider the case of having all net ports already
    connected and
    falling back to PPP over a serial port.

 src/mm-broadband-modem-qmi.c | 46
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

commit b29fcde7e223fc96fb1445e38797b46916927aa6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 13:11:36 2012 +0200

    bearer-qmi: new `MMBearerQmi' object

    This bearer type does not inherit from `MMBroadbandBearer', and
    therefore it
    doesn't need to be async-initable.

 src/Makefile.am     |  2 ++
 src/mm-bearer-qmi.c | 73
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-bearer-qmi.h | 56 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 131 insertions(+)

commit 1525c6a15438aac530aa0470152ac96afed8aff4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 13:07:56 2012 +0200

    build: minor reorder of files to build

 src/Makefile.am | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c07490887aac281e5a5a546645f7fcb30552e432
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 13:04:06 2012 +0200

    broadband-bearer: remove obsolete property names

 src/mm-broadband-bearer.h | 6 ------
 1 file changed, 6 deletions(-)

commit e2a6be368eab6045c176ef5f404afb246769953f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 12:21:08 2012 +0200

    iface-modem: max number of bearers equal to the number of available
    data ports

 src/mm-iface-modem.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 14bd267e8e1fd8411df8155c5c487adf2a4764d2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 12:18:21 2012 +0200

    base-modem: allow getting/peeking all data ports

 src/mm-base-modem.c | 20 ++++++++++++++++++++
 src/mm-base-modem.h |  2 ++
 2 files changed, 22 insertions(+)

commit bc3e77dadf81a18adc88073fe1601e784ff90150
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 12:11:09 2012 +0200

    broadband-modem-qmi: assume we don't have messaging support

    Just to cleanup the sequence for now, we can develop it later.

 src/mm-broadband-modem-qmi.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

commit 877fbba595092c7f0dab7eac350a5a8bfa1a3e45
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 12:09:08 2012 +0200

    broadband-modem-qmi: assume we don't have USSD support

    Just to cleanup the sequence for now, we can develop it later.

 src/mm-broadband-modem-qmi.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 494a70a8ffff4a50d0a00e99e964165054ff36aa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 11:32:24 2012 +0200

    core: handle the 'usb'->'usbmisc' subsystem rename in the kernel

    We'll try to cope with getting devices being reported in either
    'usb' or
    'usbmisc', trying to avoid the need of checking kernel version
    during runtime.

 src/80-mm-candidate.rules |  1 +
 src/mm-base-modem.c       |  4 ++--
 src/mm-device.c           |  4 ++--
 src/mm-manager.c          | 22 +++++++++++++++++-----
 src/mm-plugin.c           |  4 ++++
 src/mm-port-probe.c       | 12 ++++++------
 6 files changed, 32 insertions(+), 15 deletions(-)

commit 8cb021293ce0aa316028339c8f213c0bf72c9158
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 10:27:25 2012 +0200

    broadband-modem-qmi: don't allocate WDS client during startup

    We'll allocate WDS clients only when launching a connection.

 src/mm-broadband-modem-qmi.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit e9aff3ba42c3b29c529c155694c7df3770792814
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 10:23:42 2012 +0200

    base-modem: allow grabbing multiple 'net' and 'qmi' ports

    All grabbed 'net' ports are added to the new list of data ports. It
    is a task
    for the specific plugin to decide how each of the data ports should be
    connected. In the case of not having 'net' ports, the list of data
    ports will
    only contain a single AT port.

    All grabbed 'qmi' ports are added to the new list of QMI ports. The
    first port
    in the list is to be considered the 'primary' one, and will be the
    one used
    for all services. The remaining QMI ports, if any, will only be used
    to for WDS,
    to manage the associated 'net' ports.

 src/mm-base-modem.c | 121
 ++++++++++++++++++++++++++++++++++------------------
 1 file changed, 79 insertions(+), 42 deletions(-)

commit 7369f1675972e203b906315a9c79f851fbca6c7d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 10 10:21:36 2012 +0200

    broadband-modem-qmi: don't rely on the detailed service status to
    get HDR reg

    The 'detailed service status' TLV is either pretty new and not
    always available,
    or given only under some specific circumstances. So, try to gather
    CDMA1x and
    EV-DO registration status with the default info we usually do get.

    The logic is the following:
     * If registered and the access technologies contain CDMA1x, then
     CDMA1x is
    registered, otherwise it's not.
     * If registered and the access technologies contain any of the
     EV-DO revisions,
    then EV-DO is registered, otherwise it's not.

    An example output in a CDMA network:

    [/dev/cdc-wdm0] Successfully got serving system:
            Registration state: 'registered'
            CS: 'attached'
            PS: 'attached'
            Selected network: '3gpp2'
            Radio interfaces: '2'
                    [0]: 'cdma-1xevdo'
                    [1]: 'cdma-1x'
            Roaming status: 'off'
            Data service capabilities: '2'
                    [0]: 'cdma'
                    [1]: 'evdo-rev-a'
            Current PLMN:
                    MCC: '311'
                    MNC: '480'
                    Description: 'Verizon Wireless'
            CDMA System ID:
                    SID: '26'
                    ESN: '1'
            CDMA Base station info:
                    Base station ID: '3633'
                    Latitude: '44.913333'º
                    Longitude: '-93.279722'º
            Roaming indicators: '2'
                    [0]: '(null)' (cdma-1x)
                    [1]: '(null)' (none)
            Default roaming status: '(null)'
            3GPP2 time zone:
                    Leap seconds: '16' seconds
                    Local time offset: '-300' minutes
                    Daylight saving time: 'no'
            CDMA P_Rev: '6'

 src/mm-broadband-modem-qmi.c | 35 +++++++----------------------------
 1 file changed, 7 insertions(+), 28 deletions(-)

commit 1f82cd1a32d7643c1a24bb9a1001ba01d19c9096
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 10 10:14:25 2012 +0200

    broadband-modem-qmi: handle serving system output when selected
    network is unknown

    Seems that sometimes we get 'selected network' as UNKNOWN, but we
    still have
    proper registration information. Try to handle those cases.

    [/dev/cdc-wdm0] Successfully got serving system:
            Registration state: 'registered'
            CS: 'detached'
            PS: 'attached'
            Selected network: 'unknown'
            Radio interfaces: '1'
                    [0]: 'lte'
            Roaming status: 'off'
            Data service capabilities: '1'
                    [0]: 'lte'
            Current PLMN:
                    MCC: '311'
                    MNC: '480'
                    Description: 'Verizon Wireless'
            Roaming indicators: '1'
                    [0]: 'off' (lte)

 src/mm-broadband-modem-qmi.c | 80
 +++++++++++++++++++++++++-------------------
 1 file changed, 46 insertions(+), 34 deletions(-)

commit 12246a8c606f567e2d74eeffe2f96827c48b5922
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 9 16:58:34 2012 +0200

    broadband-modem-qmi: use only deprecated commands

    The QMI protocol is updated frequently with new commands replacing and
    improving some already existing ones, which get marked as deprecated.
    Instead of initially try to cover the logic with both the old and
    the new
    commands, we'll default to use only the old deprecated ones, which
    should be
    supported also in the modems with newer services.

    The supported already implemented for the new QMI commands is hidden
    behind a
    `--with-newest-qmi-commands' configure switch.

    Once the implementation is fully developed and tested using the
    deprecated
    commands we can then focus in including the support for the new ones.

 configure.ac                 |  16 ++++++
 src/mm-broadband-modem-qmi.c | 114
 +++++++++++++++++++++++++++++++++++--------
 2 files changed, 110 insertions(+), 20 deletions(-)

commit 0886322cc48b06eb9d19699555854ea3ab5af997
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 9 11:43:46 2012 +0200

    broadband-modem-qmi: implement supported modes loading

 src/mm-broadband-modem-qmi.c | 40
 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

commit 716256595f6809df8fb071d3a694396c20176df2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 9 11:10:36 2012 +0200

    broadband-modem-qmi: implement CDMA unsolicited registration events
    for NAS < 1.8

 src/mm-broadband-modem-qmi.c | 2 ++
 1 file changed, 2 insertions(+)

commit 930235cbb62f082766e3e46ca7a109847b4a7f38
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 9 11:08:44 2012 +0200

    broadband-modem-qmi: implement CDMA registration checks for NAS < 1.8

 src/mm-broadband-modem-qmi.c | 230
 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 229 insertions(+), 1 deletion(-)

commit edf2940c15d9d1f00e4af2936171335d8cf814aa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 9 10:58:12 2012 +0200

    iface-modem-cdma: provide separate method to update access tech

 src/mm-broadband-modem.c  |  7 +++++
 src/mm-iface-modem-cdma.c | 66
 +++++++++++++++++++++++++++++++----------------
 src/mm-iface-modem-cdma.h | 19 ++++++++++----
 3 files changed, 65 insertions(+), 27 deletions(-)

commit be05543a9a0f52ac48beb23c0efd9354a8f15b1d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 9 18:03:51 2012 +0200

    broadband-modem-qmi: build 3GPP access technologies from data
    service capabilities

 src/mm-broadband-modem-qmi.c | 65
 ++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 63 insertions(+), 2 deletions(-)

commit fe4d94788badc3b41f60919b0bb635a54f5cda08
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 9 10:31:01 2012 +0200

    iface-modem-3gpp: provide separate methods to update access tech
    and location

 src/mm-broadband-modem-qmi.c |  47 +++++------------
 src/mm-broadband-modem.c     |  32 ++++--------
 src/mm-iface-modem-3gpp.c    | 121
 +++++++++++++++++++++++--------------------
 src/mm-iface-modem-3gpp.h    |  18 +++----
 4 files changed, 95 insertions(+), 123 deletions(-)

commit 483f59c01def1df37a6fe85e19aebf1c1a1532f3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 9 09:51:41 2012 +0200

    broadband-modem-qmi: include '3gpp' prefix in the 3GPP registration
    checks

 src/mm-broadband-modem-qmi.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

commit 9baac727fe5172718c2a3327f7f7ea930d8d9bae
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 9 09:50:56 2012 +0200

    broadband-modem-qmi: don't keep cs|ps flags when checking registration
    status

    Just report both always.

 src/mm-broadband-modem-qmi.c | 4 ----
 1 file changed, 4 deletions(-)

commit f796c6d906a4d6728728452a52c636ca148a9a91
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 9 08:19:31 2012 +0200

    iface-modem-3gpp: log about which registration check will be run

 src/mm-iface-modem-3gpp.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 05f80036d15c826866422b41ebbcde41e6ff512d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 8 21:35:23 2012 +0200

    iface-modem-cdma: allow implementations to fully override registration
    checks

    Implementations of the CDMA interface can either:
       * Implement run_registration_checks()
    or,
       * Implement the sub-steps of the generic registration checks
       sequence

 src/mm-iface-modem-cdma.c | 110
 +++++++++++++++++++++++++++++++++-------------
 src/mm-iface-modem-cdma.h |  52 ++++++++++++++++------
 2 files changed, 117 insertions(+), 45 deletions(-)

commit 421d4237778d1ff4eaa0ec038020f7f277ef0b99
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 8 18:09:35 2012 +0200

    iface-modem-cdma: minor fix in interface API names

 src/mm-broadband-modem.c  | 29 ++++++++++++++---------------
 src/mm-iface-modem-cdma.c | 44
 +++++++++++++++++++++-----------------------
 src/mm-iface-modem-cdma.h | 12 ++++++------
 3 files changed, 41 insertions(+), 44 deletions(-)

commit 7af1edbd111744029829b68569e2501d7a23db0c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 8 14:37:37 2012 +0200

    TODO: QMI based modems always require a QMI and WWAN port

 TODO | 3 +++
 1 file changed, 3 insertions(+)

commit bccd80058a2c35ca29a636f9ee70374f6565a2aa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 8 14:34:07 2012 +0200

    broadband-modem-qmi: 'no-effect' is not an error during automatic
    registration

 src/mm-broadband-modem-qmi.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 43315f1121824de6cace9e4bb00555f21bd81be5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 8 14:28:07 2012 +0200

    broadband-modem-qmi: fix signal handlers

    User data is always the last parameter

 src/mm-broadband-modem-qmi.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit d31b2ae019dbf32824c1a9df4ee7d42accf07337
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 8 13:20:10 2012 +0200

    broadband-modem-qmi: implement auto/manual network registration
    using QMI

 src/mm-broadband-modem-qmi.c | 102
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)

commit a6ff9b2a17d3f76026afcffc660d0842fb737b7b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 8 13:19:49 2012 +0200

    iface-modem-3gpp: implement the network registration request logic

    In the generic broadband modem implementation we'll just implement
    the specific
    command to request auto/manual network registration, and we leave
    all the other
    logic (waiting for the new registration status and all that) in
    the interface,
    as it is really common for every possible implementation.

 src/mm-broadband-modem.c  | 238 ++--------------------------
 src/mm-iface-modem-3gpp.c | 386
 +++++++++++++++++++++++++++++++++++-----------
 src/mm-iface-modem-3gpp.h |   2 +-
 3 files changed, 310 insertions(+), 316 deletions(-)

commit 7ce6b1296288271c02dbb7d2a85651f87bd244fb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 8 10:13:19 2012 +0200

    broadband-modem: validate operator ID before trying to register to it

 src/mm-broadband-modem.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 51678e141b74eab4303414db2f3837d02a39a587
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 8 10:12:43 2012 +0200

    modem-helpers: new method to validate and/or parse MCC/MNC operator
    ID string

 src/mm-modem-helpers.c         | 60 ++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |  5 +++
 src/tests/test-modem-helpers.c | 73
 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 138 insertions(+)

commit 02573a55654a17b1270a34f1e91622f4afbf0fcd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 7 17:36:10 2012 +0200

    broadband-modem-qmi: limit 3GPP registration updates for 3GPP modems

 src/mm-broadband-modem-qmi.c | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

commit 6b5799ea0f061197bd54730c89bbe1c1b523bcab
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 7 17:34:53 2012 +0200

    broadband-modem-qmi: consolidate Serving System response/indication
    processing

 src/mm-broadband-modem-qmi.c | 306
 +++++++++++++++++--------------------------
 1 file changed, 121 insertions(+), 185 deletions(-)

commit 8bcf6dc47d1479a2c2252e9c0a9b2bc0a0f5383f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 7 17:15:52 2012 +0200

    broadband-modem-qmi: implement 3GPP unsolicited registration events
    for NAS >= 1.8

 src/mm-broadband-modem-qmi.c | 394
 +++++++++++++++++++++++++++++--------------
 1 file changed, 270 insertions(+), 124 deletions(-)

commit c3f6e2e06fcc7ffda94a0545287937c0ec0f0a80
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 7 16:38:41 2012 +0200

    TODO: add note about SIM provisioning info

 TODO | 3 +++
 1 file changed, 3 insertions(+)

commit 2a9b9506ec56e7eb23ffc5e682099ae4fb389907
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 7 15:32:06 2012 +0200

    TODO: add reminder to implement Operator name loading in NAS >= 1.8

 TODO | 3 +++
 1 file changed, 3 insertions(+)

commit a6a34c3b9c12247a3973970adf0f93aaf22a1dfa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 7 12:30:16 2012 +0200

    broadband-modem-qmi: implement 3GPP registration checks for NAS >= 1.8

 src/mm-broadband-modem-qmi.c | 449
 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 443 insertions(+), 6 deletions(-)

commit f015bf54db8de0e45f3843020684f38e3c339567
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 6 20:48:35 2012 +0200

    broadband-modem-qmi: fix radio technology preference enum names

    Sync with libqmi:

    commit 54e5400f6977ae2036b54c2661c1e5c101e03fe4
    Author: Aleksander Morgado <aleksander@lanedo.com>
    Date:   Mon Aug 6 19:57:06 2012 +0200

        nas: fix `QmiNasRadioTechnologyPreference' enum names
        'Analog' and 'Digital' are purely 3GPP2 terms, so avoid those
        and provide a mix
        of 3GPP and 3GPP2 names.

 src/mm-broadband-modem-qmi.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit 03e1c9348e817607823f5df12c5b57ece7731d9e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 6 18:24:18 2012 +0200

    broadband-modem-qmi: implement operator name/code loading with QMI

    Just report the values cached during the 3GPP registration checks

 src/mm-broadband-modem-qmi.c | 78
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

commit b708976bd6610b21813bffc71a2a6640eea5f99f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 6 17:52:50 2012 +0200

    broadband-modem-qmi: implement 3GPP unsolicited registration events
    for NAS < 1.8

 src/mm-broadband-modem-qmi.c | 391
 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 389 insertions(+), 2 deletions(-)

commit 0b52840d1560e1a97e8a72ddbb87d8b1ae2eaff3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 6 17:23:30 2012 +0200

    broadband-modem-qmi: implement 3GPP registration checks for NAS < 1.8

 src/mm-broadband-modem-qmi.c | 272
 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 268 insertions(+), 4 deletions(-)

commit c97aaba47f4894422fe9c83c1f8cd6690a4e1e07
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 6 15:50:19 2012 +0200

    broadband-modem-qmi: use version from the client to know supported
    commands

    Instead of always trying to use the newest commands and falling back
    to the
    deprecated one when found that it is not supported, use the service
    version
    given by the client to determine which is the best command to use.

    Still, sometimes we need to handle ourselves the fallback to the
    deprecated
    command, when we don't exactly know in which service version the
    new behaviour
    was added (e.g. the 'Mode Preference' TLV in 'Get/Set System Selection
    Preference' was last updated in NAS 1.16, but we don't exactly know
    when it
    was added).

 src/mm-broadband-modem-qmi.c | 405
 +++++++++++++++++--------------------------
 1 file changed, 162 insertions(+), 243 deletions(-)

commit ad37b494c44ef10ac3a4f24b58eb6382cb4ee8fb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Aug 5 20:43:41 2012 +0200

    broadband-modem-qmi: fix radio interface variable name

    Sync with libqmi:

    commit ebfa80154fad012bb6ea3e964dcea6f5b6cf3f91
    Author: Aleksander Morgado <aleksander@lanedo.com>
    Date:   Thu Aug 2 12:06:09 2012 +0200

        nas: consolidate variable names for `QmiNasRadioInterface' types

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e2c6c66d0c94000e34d621b2e1b11f772dcd0552
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Aug 5 20:42:44 2012 +0200

    broadband-modem-qmi: fix method name

    Sync with libqmi:

    commit cc97645578d937417bb2d72d22714776a98c549e
    Author: Aleksander Morgado <aleksander@lanedo.com>
    Date:   Thu Aug 2 12:15:05 2012 +0200

        nas: don't mistake 'change duration' with 'preference duration'
        They actually have POWER_CYCLE and PERMANENT values swapped.
        Kudos to the one who decided that.

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 651d306c282d93bfd23d3987c0c2f23407d6ad94
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 1 09:28:50 2012 +0200

    broadband-modem-qmi: fix missing GSimpleAsyncResult unrefs

 src/mm-broadband-modem-qmi.c | 3 +++
 1 file changed, 3 insertions(+)

commit 3a29d1b2bc75418c8c61f19599581e252b79488a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 31 18:28:24 2012 +0200

    broadband-modem-qmi: setup/cleanup signal quality related unsolicited
    events

    We setup signal handlers for every possible indication, even if they
    are not
    supported.

 src/mm-broadband-modem-qmi.c | 227
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 227 insertions(+)

commit 0bd9b46b0991ba43b12ae1cac1ae417f80b7f389
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 31 14:53:00 2012 +0200

    broadband-modem-qmi: enable/disable signal quality related unsolicited
    events

    The logic here involves knowing if we have support for 'Signal Info'
    indications. All the 'Signal Info' stuff was included in NAS 1.8,
    so we're
    just using a single flag to indicate support for that.

    If we do have 'Signal Info', enabling the signal quality indications
    involves
    two steps: configuring thresholds with "Config Signal Info" and
    then enabling
    them with "Register Indications".

    If we don't have 'Signal Info' we fallback to the good old "Set
    Event Report"
    for enabling/disabling the indications.

 src/mm-broadband-modem-qmi.c | 383
 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 378 insertions(+), 5 deletions(-)

commit 88053b7342036ef27a168d728a8a2467bcfc94da
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 30 16:07:45 2012 +0200

    broadband-modem-qmi: implement allowed mode setting

 src/mm-broadband-modem-qmi.c | 312
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 312 insertions(+)

commit da106845ca1eddb016445181b5d15e5c00dfed77
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 31 11:13:10 2012 +0200

    broadband-modem-qmi: fix flags of supported commands for allowed modes

 src/mm-broadband-modem-qmi.c | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

commit 979ae98feba2ffbf9801ec72a15c92646768d9de
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 31 16:21:30 2012 +0200

    TODO: handle devices with multiple QMI ports

 TODO | 9 +++++++++
 1 file changed, 9 insertions(+)

commit e94f19789891707e4fa1c126927f4682d9bcf81e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 31 16:03:14 2012 +0200

    broadband-modem-qmi: use 'low-power' mode when disabling

    Reported by: Bjørn Mork <bjorn@mork.no>

 src/mm-broadband-modem-qmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit bef4fd64d4dbfd998eda68e47c20a81aeb2f7447
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 27 16:05:36 2012 +0200

    broadband-modem-qmi: implement initial allowed mode loading using QMI

 src/mm-broadband-modem-qmi.c | 319
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 319 insertions(+)

commit 68c32dcf7b1a73fa78ecce096622aa2289c33c12
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 14:22:35 2012 +0200

    broadband-modem-qmi: fix band enum names

 src/mm-broadband-modem-qmi.c | 116
 +++++++++++++++++++++----------------------
 1 file changed, 58 insertions(+), 58 deletions(-)

commit 1c9ec829be51ed48958048229e848bfe460505c8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 10:57:27 2012 +0200

    broadband-modem-qmi: load ESN from the cached info

 src/mm-broadband-modem-qmi.c | 45
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

commit bb54ff4fecf2beb2ad7380c32bde785dba9d0c53
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 10:56:00 2012 +0200

    broadband-modem-qmi: load MEID from the cached info

 src/mm-broadband-modem-qmi.c | 45
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

commit b12abb6b97cddae88aeb2ad230e58d93be0fc620
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 10:53:44 2012 +0200

    broadband-modem-qmi: implement the CDMA interface

 src/mm-broadband-modem-qmi.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit 9f6250e7a5876576c25223ec46f3c35175ae915c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 10:52:16 2012 +0200

    broadband-modem-qmi: load IMEI from the cached info

 src/mm-broadband-modem-qmi.c | 45
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

commit 38c9ccd0b9f0b556eb3e35f562f5f1ecb275bf45
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 10:45:59 2012 +0200

    TODO: add task to see how to avoid QMI clients exhausted problem
    in Gobi2k

 TODO | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 2fb4080a7efab378fd88078eff32cd529ebe3084
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 10:26:42 2012 +0200

    broadband-modem-qmi: cache IMEI, ESN and MEID values when loaded

 src/mm-broadband-modem-qmi.c | 125
 ++++++++++++++++++++++++++++---------------
 1 file changed, 82 insertions(+), 43 deletions(-)

commit 37da8fabdab1a672dbfe205aee6b53ad45562ba0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 09:46:03 2012 +0200

    broadband-modem-qmi: ignore charsets setup

 src/mm-broadband-modem-qmi.c | 4 ++++
 1 file changed, 4 insertions(+)

commit e03edd56af21d4f40c0d5534482cda3fafb5ed35
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 09:44:53 2012 +0200

    broadband-modem-qmi: ignore flow control setup

    Not needed for QMI commands.

 src/mm-broadband-modem-qmi.c | 2 ++
 1 file changed, 2 insertions(+)

commit d19fd3bcb154b1c4baa94850effc5c40f1da3359
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 09:43:56 2012 +0200

    broadband-modem-qmi: ignore modem after-power-up

    The generic implementation doesn't have a method for after power
    up, we're
    just ensuring that that is the case always.

 src/mm-broadband-modem-qmi.c | 2 ++
 1 file changed, 2 insertions(+)

commit eaa94518195b8d12cdf6c1f1ce398181f94f20e2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 09:42:43 2012 +0200

    broadband-modem-qmi: ignore modem initialization sequence

 src/mm-broadband-modem-qmi.c | 2 ++
 1 file changed, 2 insertions(+)

commit f1781f7589ffdf0f433375fc4c6c09b8c0d529f0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 09:20:31 2012 +0200

    broadband-modem-qmi: run modem power up/down using QMI

 src/mm-broadband-modem-qmi.c | 115
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 115 insertions(+)

commit 56721d687f0f6844bfddb558072c88d1e60665ff
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 08:45:41 2012 +0200

    broadband-modem-qmi: log gathered signal strength/rssi values

 src/mm-broadband-modem-qmi.c | 65
 +++++++++++++++++++++++++++++---------------
 1 file changed, 43 insertions(+), 22 deletions(-)

commit 40f96158af253e3efcee274e8e09430e364e1c14
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 25 17:37:44 2012 +0200

    broadband-modem-qmi: implement signal quality loading using QMI

 src/mm-broadband-modem-qmi.c | 242
 +++++++++++++++++++++++++++++++++++++++++++
 src/mm-broadband-modem-qmi.h |   2 +
 2 files changed, 244 insertions(+)

commit 629f452d0746156d8adc61290305eba22ac25890
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 25 17:19:05 2012 +0200

    broadband-modem-qmi: treat as fatal internal protocol errors when
    checking PIN status

 src/mm-broadband-modem-qmi.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

commit b5534d123bb023220a1d816110828912d4681de3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 25 11:42:38 2012 +0200

    broadband-modem-qmi: implement network scan

    The "NAS Network Scan" command replies with several optional TLVs. One
    of the
    TLVs gives the status of the network, using MCC/MNC as index;
    another one gives
    the radio access technology, also using MCC/MNC as index. But,
    several entries
    may have the same MCC/MNC, so there is no clear way to mix the
    results of both
    TLVs in the same element. We'll try to do a best guess, trying not
    to use the
    same RAT result twice, but this is really a best guess.

 src/mm-broadband-modem-qmi.c | 201
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 201 insertions(+)

commit 6686f8d4db3819a7b603bdb033d9731d47d91d76
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 23 11:15:58 2012 +0200

    port-probe: minor indentation fixes

 src/mm-port-probe.h | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit 90c32a7a6db1df086c8b3ff60ba4a6184d8492ec
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 18 14:49:14 2012 +0200

    broadband-modem-qmi: load supported bands using QMI

    Seems to me that "Get Band Capabilities" just returns the bands
    'currently'
    allowed to use. E.g. my Pantech UML290 gives me:
      'cdma-bc0-cellular-800, cdma-bc1-pcs-1900'
    (even if I know the modem can also do LTE and 3GPP)

 src/mm-broadband-modem-qmi.c | 259
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 259 insertions(+)

commit 7c3849ca53eddf79bac4f48cd1466551a17e5769
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 17 11:03:49 2012 +0200

    broadband-modem-qmi: load facility locks state using QMI

 src/mm-broadband-modem-qmi.c | 182
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 182 insertions(+)

commit 8634403fd935e8875a33451a73262f4e0148ec2b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 17 10:36:56 2012 +0200

    broadband-modem-qmi: implement the 3GPP interface

 src/mm-broadband-modem-qmi.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit 65b8d4794eb1d352a4a25f5346ae0579ac3c68be
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 17 09:45:54 2012 +0200

    broadband-modem-qmi: run factory reset using QMI

 src/mm-broadband-modem-qmi.c | 83
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 83 insertions(+)

commit a17bc801a527bcf553090835263e7869067bded7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 4 10:21:43 2012 +0200

    sim-qmi: enable/disable PIN using QMI

 src/mm-sim-qmi.c | 79
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)

commit 1e6d8ba7796843726a26034d017e05234d28dd5d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 4 10:15:24 2012 +0200

    sim-qmi: change PIN using QMI

 src/mm-sim-qmi.c | 78
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

commit 36aca91abb84ec4cd381625982ac8bfaaff914d8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 4 10:09:45 2012 +0200

    sim-qmi: skip loading operator identifier/name

    Not yet implemented in libqmi-glib.

 src/mm-sim-qmi.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 30bdc8d592ae83480b93c0788ae9be6d48976901
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 2 15:40:29 2012 +0200

    sim-qmi: send PUK using QMI

 src/mm-sim-qmi.c | 78
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

commit d1d5322f510e6c121ed797953802c0a32d685b2d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 2 15:34:18 2012 +0200

    sim-qmi: send PIN using QMI

 src/mm-sim-qmi.c | 75
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

commit 6dc6f7bf0d48ab060b0b79fbd465871d5a134245
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 2 13:19:01 2012 +0200

    sim-qmi: update IMSI using QMI

 src/mm-sim-qmi.c | 78
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

commit 742527aa606c73139fd8046c506362ed8c6ffef5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 2 13:04:48 2012 +0200

    sim-qmi: update SIM ID (ICCID) using QMI

 src/mm-sim-qmi.c | 114
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 114 insertions(+)

commit 086a25da98e0902cb466cbb02d115adeb7d30023
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 13 12:43:13 2012 +0200

    broadband-modem-qmi: create a `MMSimQmi' by default

 src/mm-broadband-modem-qmi.c | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

commit e64bb097312078d88e603b8a7656bc3fc1d7f49b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 2 12:11:42 2012 +0200

    sim-qmi: new `MMSimQmi' object

 src/Makefile.am  |  2 ++
 src/mm-sim-qmi.c | 75
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-sim-qmi.h | 51 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 128 insertions(+)

commit f9ebfb8ee680dcb6a2e5cc91f332558e090fbc1c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 13 12:41:18 2012 +0200

    broadband-modem-qmi: load unlock retries using QMI

 src/mm-broadband-modem-qmi.c | 95
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 95 insertions(+)

commit 6fe32b58cb66405df92f7219beeb9eef82b3cfbe
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 13 12:40:34 2012 +0200

    broadband-modem-qmi: load unlock required using QMI

 src/mm-broadband-modem-qmi.c | 120
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 120 insertions(+)

commit 5436a62f9c4de51af26126586ecb7364d0f5606f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 13 12:39:56 2012 +0200

    broadband-modem-qmi: load own numbers using QMI

 src/mm-broadband-modem-qmi.c | 79
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)

commit b4dedcf944e6483563666b81aa803176f7a2a392
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 13 12:38:56 2012 +0200

    broadband-modem-qmi: load device ID using QMI

 src/mm-broadband-modem-qmi.c | 44
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

commit 12fb2312bb9899e0c8167103266dac5efe3efe77
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 13 12:38:21 2012 +0200

    broadband-modem: let subclasses create their own device IDs

 src/mm-broadband-modem.c | 38 ++++++++++++++++++++++++--------------
 src/mm-broadband-modem.h |  6 ++++++
 2 files changed, 30 insertions(+), 14 deletions(-)

commit 81fe9f84ec05b9faa99f90191da12b6e986a330e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 13 12:36:15 2012 +0200

    broadband-modem-qmi: load equipment ID using QMI

 src/mm-broadband-modem-qmi.c | 104
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 104 insertions(+)

commit 573af140b8de386a373ef2a21b5bcf52d2f36485
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 13 12:35:24 2012 +0200

    broadband-modem-qmi: load revision using QMI

 src/mm-broadband-modem-qmi.c | 78
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

commit f3dee3d8ee295f8da6353d2b80864b82e171df59
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 13 12:34:49 2012 +0200

    broadband-modem-qmi: load model using QMI

 src/mm-broadband-modem-qmi.c | 78
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

commit bbbb98198d11d405e3609cb31798568ca7ca235f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 29 13:20:03 2012 +0200

    broadband-modem-qmi: load manufacturer using QMI

 src/mm-broadband-modem-qmi.c | 78
 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

commit 816a7b14da6304b066250d6eddd967157413bf2f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 29 13:12:53 2012 +0200

    broadband-modem-qmi: load current capabilities using QMI

 src/mm-broadband-modem-qmi.c | 148
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 148 insertions(+)

commit d2d5a4b89a526d275e4c224bf36b067a99122b7e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 29 12:44:11 2012 +0200

    broadband-modem-qmi: implement the `Modem' interface

 src/mm-broadband-modem-qmi.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

commit 6d77a54230292d8d7b4a1707eec98dd68bd49f57
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 29 14:17:18 2012 +0200

    generic: create a generic QMI Broadband Modem if at least one QMI
    port found

 plugins/generic/mm-plugin-generic.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

commit b2db092b25f40aa21052d5807b48b7c940a70fee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 29 14:17:13 2012 +0200

    gobi: create a generic QMI Broadband Modem if at least one QMI
    port found

 plugins/gobi/mm-plugin-gobi.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

commit 2038c5ed8625f925ae701f74b7573e6322844a03
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 29 12:15:24 2012 +0200

    pantech: create a generic QMI Broadband Modem if at least one QMI
    port found

 plugins/pantech/mm-plugin-pantech.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

commit b2ea82ed3b85897094257ac63230048ab9605f1c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 13 12:19:19 2012 +0200

    broadband-modem-qmi: keep the QMI port open for the whole lifetime
    of the modem

    The QMI port is opened during the modem initialization, and kept
    open until the
    modem gets destroyed.

 src/mm-broadband-modem-qmi.c | 175
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 175 insertions(+)

commit 19da38a330ad0e5ef567c074932a79ae09e897f2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 28 11:42:07 2012 +0200

    qmi: new generic `MMBroadbandModemQmi' object

 src/Makefile.am              |  2 ++
 src/mm-broadband-modem-qmi.c | 58
 ++++++++++++++++++++++++++++++++++++++++++++
 src/mm-broadband-modem-qmi.h | 47 +++++++++++++++++++++++++++++++++++
 3 files changed, 107 insertions(+)

commit 40c5e74fec2123aa4016b11df2751962238c7325
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 29 12:13:38 2012 +0200

    qmi: setup allocation of service-specific clients

 src/mm-qmi-port.c | 140
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-qmi-port.h |  16 +++++++
 2 files changed, 156 insertions(+)

commit 8ee0e3f30fad2cf808ad4f87b5b0827e3d741584
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 29 14:16:53 2012 +0200

    port-probe: new helper to check if a QMI port was found in a list
    of probes

 src/mm-port-probe.c | 13 +++++++++++++
 src/mm-port-probe.h |  3 ++-
 2 files changed, 15 insertions(+), 1 deletion(-)

commit db99f340c89f589784a76879bcf3735c8317cfc7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jun 27 13:57:34 2012 +0200

    port-probe: launch QMI probing on cdc-wdm ports

    Some devices may export cdc-wdm ports talking AT. We need to
    explicitly check
    for QMI protocol support on the cdc-wdm ports before assuming they
    are QMI.

 src/mm-plugin.c     |  38 +++++++-------
 src/mm-port-probe.c | 140
 +++++++++++++++++++++++++++++++++++++++++++++++++---
 src/mm-port-probe.h |   4 ++
 3 files changed, 157 insertions(+), 25 deletions(-)

commit 3e251129c2f2d481e3391d64db9fc12820899803
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 26 14:18:01 2012 +0200

    base-modem: use the new `MMQmiPort' object

 src/mm-base-modem.c | 12 ++++--------
 src/mm-base-modem.h |  5 +++--
 2 files changed, 7 insertions(+), 10 deletions(-)

commit 26d3c28e435a07aa4233ef3c3e6fc09f94a8e2b0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 26 14:12:44 2012 +0200

    core: new `MMQmiPort' object

    This object encapsulates the usage of the `QmiDevice' coming from
    libqmi-glib.

 configure.ac      |   3 +-
 src/Makefile.am   |   4 +-
 src/mm-qmi-port.c | 216
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-qmi-port.h |  59 +++++++++++++++
 4 files changed, 280 insertions(+), 2 deletions(-)

commit dc8d9dfdb9456c3aae466d4f2168c1b0e24d8c16
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 26 13:01:39 2012 +0200

    build: fix definitions of cflags/libs

 configure.ac           | 9 ++++++---
 libmm-glib/Makefile.am | 4 ++--
 2 files changed, 8 insertions(+), 5 deletions(-)

commit f1e711e01bd08cfb68fbfbda0119913ed123f8b4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 13 11:22:56 2012 +0200

    udev: don't require specific driver for cdc-wdm ports

    Reported by Bjørn Mork <bjorn@mork.no>

 src/80-mm-candidate.rules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 73a9a037be65807f7eb3c04b5726bc9416ac1524
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 11 11:47:02 2012 +0200

    base-modem: allow getting/peeking the QMI port

 src/mm-base-modem.c | 33 ++++++++++++++++++++++++++++++++-
 src/mm-base-modem.h |  2 ++
 2 files changed, 34 insertions(+), 1 deletion(-)

commit 306b4eb5094fb4f46120b41a104e937d0f41e1e9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 11 11:38:49 2012 +0200

    core: allow grabbing QMI ports

 src/80-mm-candidate.rules |  2 +-
 src/mm-base-modem.c       | 14 +++++++++++--
 src/mm-device.c           | 11 ++++++++++
 src/mm-manager.c          | 39 ++++++++++++++++++++++++++---------
 src/mm-plugin.c           |  7 ++++---
 src/mm-port-probe.c       | 52
 ++++++++++++++++++++++++++++++++++++++++-------
 src/mm-port.h             |  6 ++++--
 7 files changed, 106 insertions(+), 25 deletions(-)

commit ab67c0b7c363198078c49b6003c4a2cbdffa6694
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 28 17:34:47 2012 +0200

    cinterion: update AT command timeout when setting bands to 15s

    Seems the reply to the command is received once the change has been
    done, so it
    may take longer than the previous default of 3s.

 plugins/cinterion/mm-broadband-modem-cinterion.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit ae9e2df294faf2a6469db1223bb0ab7955be633c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 28 17:25:32 2012 +0200

    iface-modem-3gpp: don't try to update anything if no skeleton
    available

 src/mm-iface-modem-3gpp.c | 3 +++
 1 file changed, 3 insertions(+)

commit 3ee1fb691c87cee5a5c27548a2f8dc03e596ec17
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 28 17:25:25 2012 +0200

    iface-modem-cdma: don't try to update anything if no skeleton
    available

 src/mm-iface-modem-cdma.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 26e95b2d3c979bf35a49466a2b245a39da82fde0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 28 17:21:08 2012 +0200

    iface-modem-location: don't try to update anything if no skeleton
    available

 src/mm-iface-modem-location.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 3ff03c946fb244bf336aebd61807b5ffa0b28124
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 28 17:07:10 2012 +0200

    iface-modem-simple: don't launch band/mode updates unless explicitly
    required

 libmm-common/mm-simple-connect-properties.c | 38 ++++++++++++-------
 libmm-common/mm-simple-connect-properties.h |  4 +-
 src/mm-iface-modem-simple.c                 | 58
 +++++++++++++++++------------
 3 files changed, 61 insertions(+), 39 deletions(-)

commit 567a744a49deb81ecdda307444692d8c38d062c6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 28 17:06:09 2012 +0200

    wavecom: fix segfault when setting allowed modes

 plugins/wavecom/mm-broadband-modem-wavecom.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6b684fec5fef608eb28ab443598c3ca03f0077bc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 28 16:55:08 2012 +0200

    cinterion: fix loading supported bands

 plugins/cinterion/mm-broadband-modem-cinterion.c | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

commit b087ba7d1d87cdc51d136eb186d984c40d04c831
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 28 16:52:26 2012 +0200

    wavecom: fix loading supported bands

 plugins/wavecom/mm-broadband-modem-wavecom.c | 33
 ++++++++++++++++------------
 1 file changed, 19 insertions(+), 14 deletions(-)

commit 8225dec907adaca45eb7c2c1c8205401499e3d1d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 28 16:36:37 2012 +0200

    iface-modem: supported bands may be reported as UNKNOWN if couldn't
    be loaded

 src/mm-iface-modem.c | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

commit 9dbf9a8d0ec50be69b2b0f09634f12e04a4efd15
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 28 16:26:28 2012 +0200

    iface-modem: don't validate against supported bands if these are
    unknown

 src/mm-iface-modem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 67b051cf6999526d961ea7bb657644502df9ef90
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 28 16:18:03 2012 +0200

    broadband-modem: skip trail/leading whitespaces in manufacturer,
    model, revision

 src/mm-broadband-modem.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 667df5635c7ce947232d5071bed260668e843d7d
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Aug 24 09:12:42 2012 -0700

    iface-modem: skip setting bands if target list equals to current list

 src/mm-iface-modem.c | 55
 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 53 insertions(+), 2 deletions(-)

commit 178de0e51d925f7b20aedcfc6b773e9d173d13a8
Author: Ben Chan <benchan@chromium.org>
Date:   Sat Aug 25 21:34:55 2012 -0700

    sms-part: use g_set_error instead of g_error_new for consistency

 src/mm-sms-part.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

commit e997803594873dffbdd9922e2f4f682f07e9a0eb
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Aug 24 08:04:09 2012 -0700

    sim: validate IMSI value in +CIMI response

 src/mm-sim.c | 32 ++++++++++++++++++++++++++++++--
 1 file changed, 30 insertions(+), 2 deletions(-)

commit a1d6667df93703b3a15bca0388192680aa54027c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Aug 26 23:01:07 2012 +0200

    novatel: don't claim the Novatel E362, should be handled by
    `novatel-lte'

 plugins/novatel/mm-plugin-novatel.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

commit 0436b3e45753a166fea18d6c1463aef5a38fd1ee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 24 13:28:22 2012 +0200

    api,introspection: report list of drivers, not just one

    Different ports of the same modem may get handled by different
    drivers. We
    therefore need to provide a list of drivers (new `Modem.Drivers'
    property with
    signature 'as') instead of just one (removed `Modem.Driver'
    property with
    signature 's').

    $ sudo mmcli -m 0 | grep drivers
               |        drivers: 'qcserial, qmi_wwan'

 TODO                                               |  3 --
 cli/mmcli-modem.c                                  | 15 ++++++-
 .../org.freedesktop.ModemManager1.Modem.xml        |  6 +--
 libmm-glib/mm-modem.c                              | 24 +++++------
 libmm-glib/mm-modem.h                              |  4 +-
 plugins/anydata/mm-broadband-modem-anydata.c       |  4 +-
 plugins/anydata/mm-broadband-modem-anydata.h       |  2 +-
 plugins/anydata/mm-plugin-anydata.c                |  4 +-
 plugins/cinterion/mm-broadband-modem-cinterion.c   |  4 +-
 plugins/cinterion/mm-broadband-modem-cinterion.h   |  2 +-
 plugins/cinterion/mm-plugin-cinterion.c            |  4 +-
 plugins/generic/mm-plugin-generic.c                |  4 +-
 plugins/gobi/mm-broadband-modem-gobi.c             |  4 +-
 plugins/gobi/mm-broadband-modem-gobi.h             |  2 +-
 plugins/gobi/mm-plugin-gobi.c                      |  4 +-
 plugins/huawei/mm-broadband-modem-huawei.c         |  4 +-
 plugins/huawei/mm-broadband-modem-huawei.h         |  2 +-
 plugins/huawei/mm-plugin-huawei.c                  |  4 +-
 plugins/icera/mm-broadband-modem-icera.c           |  4 +-
 plugins/icera/mm-broadband-modem-icera.h           |  2 +-
 plugins/iridium/mm-broadband-modem-iridium.c       |  4 +-
 plugins/iridium/mm-broadband-modem-iridium.h       |  2 +-
 plugins/iridium/mm-plugin-iridium.c                |  4 +-
 plugins/linktop/mm-broadband-modem-linktop.c       |  4 +-
 plugins/linktop/mm-broadband-modem-linktop.h       |  2 +-
 plugins/linktop/mm-plugin-linktop.c                |  4 +-
 plugins/longcheer/mm-broadband-modem-longcheer.c   |  4 +-
 plugins/longcheer/mm-broadband-modem-longcheer.h   |  2 +-
 plugins/longcheer/mm-plugin-longcheer.c            |  4 +-
 plugins/mbm/mm-broadband-modem-mbm.c               |  4 +-
 plugins/mbm/mm-broadband-modem-mbm.h               |  2 +-
 plugins/mbm/mm-plugin-mbm.c                        |  4 +-
 plugins/motorola/mm-broadband-modem-motorola.c     |  4 +-
 plugins/motorola/mm-broadband-modem-motorola.h     |  2 +-
 plugins/motorola/mm-plugin-motorola.c              |  4 +-
 plugins/nokia/mm-broadband-modem-nokia.c           |  4 +-
 plugins/nokia/mm-broadband-modem-nokia.h           |  2 +-
 plugins/nokia/mm-plugin-nokia-icera.c              |  4 +-
 plugins/nokia/mm-plugin-nokia.c                    |  4 +-
 plugins/novatel/mm-broadband-modem-novatel-lte.c   |  4 +-
 plugins/novatel/mm-broadband-modem-novatel-lte.h   |  2 +-
 plugins/novatel/mm-broadband-modem-novatel.c       |  4 +-
 plugins/novatel/mm-broadband-modem-novatel.h       |  2 +-
 plugins/novatel/mm-plugin-novatel-lte.c            |  4 +-
 plugins/novatel/mm-plugin-novatel.c                |  4 +-
 plugins/option/mm-broadband-modem-hso.c            | 10 ++---
 plugins/option/mm-broadband-modem-hso.h            |  2 +-
 plugins/option/mm-broadband-modem-option.c         |  4 +-
 plugins/option/mm-broadband-modem-option.h         |  2 +-
 plugins/option/mm-plugin-hso.c                     |  4 +-
 plugins/option/mm-plugin-option.c                  |  4 +-
 plugins/pantech/mm-plugin-pantech.c                |  4 +-
 plugins/samsung/mm-broadband-modem-samsung.c       |  4 +-
 plugins/samsung/mm-broadband-modem-samsung.h       |  2 +-
 plugins/samsung/mm-plugin-samsung.c                |  4 +-
 plugins/sierra/mm-broadband-modem-sierra-icera.c   |  4 +-
 plugins/sierra/mm-broadband-modem-sierra-icera.h   |  2 +-
 plugins/sierra/mm-broadband-modem-sierra.c         |  4 +-
 plugins/sierra/mm-broadband-modem-sierra.h         |  2 +-
 plugins/sierra/mm-common-sierra.c                  | 15 ++++---
 plugins/sierra/mm-plugin-sierra.c                  |  6 +--
 plugins/simtech/mm-broadband-modem-simtech.c       |  4 +-
 plugins/simtech/mm-broadband-modem-simtech.h       |  2 +-
 plugins/simtech/mm-plugin-simtech.c                |  4 +-
 plugins/wavecom/mm-broadband-modem-wavecom.c       |  4 +-
 plugins/wavecom/mm-broadband-modem-wavecom.h       |  2 +-
 plugins/wavecom/mm-plugin-wavecom.c                |  4 +-
 plugins/x22x/mm-broadband-modem-x22x.c             |  4 +-
 plugins/x22x/mm-broadband-modem-x22x.h             |  2 +-
 plugins/x22x/mm-plugin-x22x.c                      |  4 +-
 plugins/zte/mm-broadband-modem-zte-icera.c         |  4 +-
 plugins/zte/mm-broadband-modem-zte-icera.h         |  2 +-
 plugins/zte/mm-broadband-modem-zte.c               |  4 +-
 plugins/zte/mm-broadband-modem-zte.h               |  2 +-
 plugins/zte/mm-plugin-zte.c                        |  6 +--
 src/mm-base-modem.c                                | 36 ++++++++--------
 src/mm-base-modem.h                                |  8 ++--
 src/mm-broadband-modem.c                           |  4 +-
 src/mm-broadband-modem.h                           |  2 +-
 src/mm-device.c                                    | 50
 ++++++++++++++++++----
 src/mm-device.h                                    | 24 +++++------
 src/mm-iface-modem.c                               | 12 +++---
 src/mm-plugin.c                                    | 37 ++++++++++------
 src/mm-plugin.h                                    |  2 +-
 84 files changed, 268 insertions(+), 214 deletions(-)

commit a595912d2d70fce7a8370b194c230331fee605a7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 24 13:09:17 2012 +0200

    novatel: fix creation of the `MMBroadbandModemNovatel' object

 plugins/novatel/mm-plugin-novatel.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 985f510041a131cd1400deca5a9a9b004479dcac
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 24 12:28:34 2012 +0200

    cli: fix output message when storing a SMS

 cli/mmcli-sms.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ba4e209745676a08f7c886d7cd0ba13202e336d5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 24 12:01:01 2012 +0200

    sms: fix sending SMS messages on some modems

    This is the port to git master of the following commit:

    commit 65f13f41cfd00cd38f118121a58b83713501f45f
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Tue Jul 17 16:00:31 2012 -0500

        gsm: fix sending SMS messages on some modems and use PDU by
        default

        It turns out we really do have to wait for the modem to return the
        ">" prompt before sending the message data, otherwise a number of
        modems will complain about the data and fail the message.
        Fix that
        by sending the first bit of the CMGS, waiting for the ">",
        and then
        sending the rest.

        This also switches all modems over to PDU mode by default if they
        support it, since it's more compatible and most recent modems
        don't
        even bother to support text mode anyway.

 src/mm-serial-parsers.c |  19 ++++++--
 src/mm-sms.c            | 118
 ++++++++++++++++++++++++++++++++++++------------
 2 files changed, 105 insertions(+), 32 deletions(-)

commit 4fe7c7d637644de6b24e7d71a45aad3647086e19
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 24 11:47:14 2012 +0200

    base-modem-at: new `mm_base_modem_at_command_raw()'

    Equivalent to `mm_base_modem_at_command()', but with a raw setup.

 src/mm-base-modem-at.c | 39 +++++++++++++++++++++++++++++++--------
 src/mm-base-modem-at.h |  7 +++++++
 2 files changed, 38 insertions(+), 8 deletions(-)

commit d18dbb869ae0546dc5baa3118535e701fa513b34
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 24 11:45:02 2012 +0200

    base-modem-at: add 'raw' handling to `mm_base_modem_at_command_full()'

 plugins/huawei/mm-broadband-modem-huawei.c  |  1 +
 plugins/icera/mm-broadband-bearer-icera.c   |  7 +++++++
 plugins/iridium/mm-bearer-iridium.c         |  3 +++
 plugins/mbm/mm-broadband-bearer-mbm.c       |  4 ++++
 plugins/option/mm-broadband-bearer-hso.c    | 32
 +++++++++++++++++------------
 plugins/option/mm-broadband-modem-hso.c     |  4 +++-
 plugins/sierra/mm-broadband-bearer-sierra.c |  4 ++++
 plugins/sierra/mm-broadband-modem-sierra.c  |  2 ++
 src/mm-base-modem-at.c                      | 11 +++++-----
 src/mm-base-modem-at.h                      |  1 +
 src/mm-broadband-bearer.c                   |  9 ++++++++
 src/mm-broadband-modem.c                    |  8 ++++++--
 12 files changed, 65 insertions(+), 21 deletions(-)

commit d9ea4a304c06d28c5f8d780abe6f57cc179ba2a8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 24 11:39:19 2012 +0200

    at-serial-port: allow sending 'raw' commands

    Commands treated as 'raw' won't get the 'AT' prefix and will also
    not get the
    trailing carriage return.

 plugins/huawei/mm-plugin-huawei.c       |  2 ++
 plugins/longcheer/mm-plugin-longcheer.c |  1 +
 plugins/sierra/mm-plugin-sierra.c       |  1 +
 plugins/x22x/mm-plugin-x22x.c           |  1 +
 src/mm-at-serial-port.c                 | 25 ++++++++++++++++---------
 src/mm-at-serial-port.h                 |  2 ++
 src/mm-base-modem-at.c                  |  5 +++++
 src/mm-port-probe.c                     |  1 +
 8 files changed, 29 insertions(+), 9 deletions(-)

commit d74336e96dc24b578324f45d57e108d686a95df5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 24 11:37:38 2012 +0200

    build: warn about unused but set variables

 m4/compiler_warnings.m4 | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 20cd805a2a9a1f637108b9b132d3ab007bd43d5f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 18:54:26 2012 +0200

    build: cleanup plugin compilation rules

 plugins/Makefile.am | 36 ------------------------------------
 1 file changed, 36 deletions(-)

commit e1aa7d376f27ab46a3f7711a2a0c0b0c4be913bd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 18:53:51 2012 +0200

    mbm: plugin fully ported

 plugins/mm-modem-mbm.c  | 1068
 -----------------------------------------------
 plugins/mm-modem-mbm.h  |   50 ---
 plugins/mm-plugin-mbm.c |  194 ---------
 plugins/mm-plugin-mbm.h |   44 --
 4 files changed, 1356 deletions(-)

commit 2d0cb24af86610032e4f797ccc407ec0722623bd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 18:52:32 2012 +0200

    mbm: implement custom 3GPP disconnection sequence

 plugins/mbm/mm-broadband-bearer-mbm.c | 82
 +++++++++++++++++++++++++++++++++++
 1 file changed, 82 insertions(+)

commit 3ddb57d816ae449c4b4b2d7fc4c201d4d68cf50d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 18:49:16 2012 +0200

    mbm: implement custom 3GPP dialling sequence

 plugins/mbm/mm-broadband-bearer-mbm.c | 417
 ++++++++++++++++++++++++++++++++++
 plugins/mbm/mm-broadband-bearer-mbm.h |  10 +
 plugins/mbm/mm-broadband-modem-mbm.c  | 103 +++++++--
 3 files changed, 516 insertions(+), 14 deletions(-)

commit 2f20fc64c27fa48675c170460f2584279831ae23
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 17:57:25 2012 +0200

    mbm: new `MMBroadbandBearerMbm' object

 plugins/Makefile.am                   |  4 +-
 plugins/mbm/mm-broadband-bearer-mbm.c | 93
 +++++++++++++++++++++++++++++++++++
 plugins/mbm/mm-broadband-bearer-mbm.h | 66 +++++++++++++++++++++++++
 plugins/mbm/mm-broadband-modem-mbm.c  | 59 ++++++++++++++++++++++
 4 files changed, 221 insertions(+), 1 deletion(-)

commit 3753184eb149c9f12ea8d24f65da3a9339f890ae
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 17:41:31 2012 +0200

    mbm: implement custom PIN retry count loading

 plugins/mbm/mm-broadband-modem-mbm.c | 61
 ++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

commit 3cdfa93c7376a10092cc771ff79430bc3e77fb75
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 17:32:51 2012 +0200

    mbm: implement custom modem factory reset

 plugins/mbm/mm-broadband-modem-mbm.c | 48
 ++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

commit 1fa82ebd403c6b696b607046ad370726a3db7272
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 17:27:03 2012 +0200

    mbm: implement custom modem reset

 plugins/mbm/mm-broadband-modem-mbm.c | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

commit ef300a69b6b859f071849bd7a39653cf03a0e305
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 17:24:17 2012 +0200

    mbm: receive E2NAP unsolicited messages

 plugins/mbm/mm-broadband-modem-mbm.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

commit e9941b1b80f4cc7c237fc9a5b94b5d7a025bc7d3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 17:19:29 2012 +0200

    mbm: implement custom 3GPP unsolicited messages setup/cleanup

    Including access technology reporting now.

 plugins/mbm/mm-broadband-modem-mbm.c | 162
 +++++++++++++++++++++++++++++++++++
 1 file changed, 162 insertions(+)

commit 08825d361c8cf033df3acf1a3483ce55d8f96816
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 17:10:04 2012 +0200

    mbm: no need to flash serial ports

 plugins/mbm/mm-broadband-modem-mbm.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 894ff1be689647425b76237515ffe2f50701693b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 17:09:03 2012 +0200

    mbm: ignore several unsolicited messages

 plugins/mbm/mm-broadband-modem-mbm.c | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

commit 49f5bc98e2577a0e6c4d1c4f9695d344a0a38830
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 17:02:16 2012 +0200

    mbm: only allow enabling if *EMRDY has been received

 plugins/mbm/mm-broadband-modem-mbm.c | 152
 +++++++++++++++++++++++++++++++++--
 1 file changed, 146 insertions(+), 6 deletions(-)

commit 6c6cbb33e7bfd1709e57f677ec265b65e4e5c1ef
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 16:31:34 2012 +0200

    mbm: implement custom initialization commands

 plugins/mbm/mm-broadband-modem-mbm.c | 36
 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

commit 2a06d1ed08addd97578f71d671cdaf87d8a71515
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 16:27:01 2012 +0200

    mbm: implement custom power-up command

 plugins/mbm/mm-broadband-modem-mbm.c | 52
 +++++++++++++++++++++++++++++++++++-
 plugins/mbm/mm-broadband-modem-mbm.h |  2 ++
 2 files changed, 53 insertions(+), 1 deletion(-)

commit efe4a7fb755b4b140cb680cb92e2d9f925387f96
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 15:25:56 2012 +0200

    mbm: implement custom 3GPP unsolicited events enabling/disabling

 plugins/mbm/mm-broadband-modem-mbm.c | 155
 ++++++++++++++++++++++++++++++++++-
 1 file changed, 154 insertions(+), 1 deletion(-)

commit 78a716e07b3fb4e2227eb35ac3cf8d325751805b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 15:19:31 2012 +0200

    mbm: implement custom allowed mode setting

 plugins/mbm/mm-broadband-modem-mbm.c | 87
 ++++++++++++++++++++++++++++++++++++
 1 file changed, 87 insertions(+)

commit e2c7ff2219d546e1ded96c0ace4e4f7b7648c25d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 15:10:49 2012 +0200

    mbm: implement custom allowed mode loading

 plugins/mbm/mm-broadband-modem-mbm.c | 65
 ++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

commit 758eb07c0d830eaa6cc01b96c1d7cbdf89a25156
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 15:00:56 2012 +0200

    mbm: sleep 500ms after sim unlock

 plugins/mbm/mm-broadband-modem-mbm.c | 48
 +++++++++++++++++++++++++++++++++++-
 1 file changed, 47 insertions(+), 1 deletion(-)

commit ea53df17ddb140f63d0743e83bf98e697952d595
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 14:53:14 2012 +0200

    mbm: new `MMBroadbandModemMbm' object

 plugins/Makefile.am                  |  4 ++-
 plugins/mbm/mm-broadband-modem-mbm.c | 66
 ++++++++++++++++++++++++++++++++++++
 plugins/mbm/mm-broadband-modem-mbm.h | 56 ++++++++++++++++++++++++++++++
 plugins/mbm/mm-plugin-mbm.c          | 12 +++----
 4 files changed, 131 insertions(+), 7 deletions(-)

commit c7c21ae460cd87aa93c9fcba3f35fec0cffffd9d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 12:33:01 2012 +0200

    mbm: start porting the MBM plugin

 plugins/Makefile.am                        | 18 +++----
 plugins/{ => mbm}/77-mm-ericsson-mbm.rules |  0
 plugins/mbm/mm-plugin-mbm.c                | 83
 ++++++++++++++++++++++++++++++
 plugins/mbm/mm-plugin-mbm.h                | 43 ++++++++++++++++
 4 files changed, 135 insertions(+), 9 deletions(-)

commit 24bb59f5a52257cf3e785736ca8fc27517d2e010
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 11:44:24 2012 +0200

    sierra: plugin fully ported

 plugins/mm-modem-sierra-cdma.c | 415 -------------------
 plugins/mm-modem-sierra-cdma.h |  47 ---
 plugins/mm-modem-sierra-gsm.c  | 917
 -----------------------------------------
 plugins/mm-modem-sierra-gsm.h  |  45 --
 plugins/mm-plugin-sierra.c     | 244 -----------
 plugins/mm-plugin-sierra.h     |  42 --
 6 files changed, 1710 deletions(-)

commit 6b1ee4e3cbf82a06943de56589c5ee533065bc79
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 12:10:55 2012 +0200

    sierra: both AT and QCDM expected

 plugins/sierra/mm-plugin-sierra.c | 2 ++
 1 file changed, 2 insertions(+)

commit 896e0469f027768757a68266f0390b203cbf06d5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 11:43:07 2012 +0200

    sierra: implement custom CDMA detailed registration checks

 plugins/sierra/mm-broadband-modem-sierra.c | 338
 ++++++++++++++++++++++++++++-
 1 file changed, 337 insertions(+), 1 deletion(-)

commit 5764d396899c725d5702710af030d23744d3f0d4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 11:42:50 2012 +0200

    modem-helpers: ERI parser is generic enough, not just for !SPERI

 plugins/novatel/mm-broadband-modem-novatel.c |  2 +-
 src/mm-broadband-modem.c                     |  2 +-
 src/mm-modem-helpers.c                       |  8 ++++----
 src/mm-modem-helpers.h                       | 10 +++++-----
 4 files changed, 11 insertions(+), 11 deletions(-)

commit 86e7b0e8c6d88565adcac5dcb72f87e3fd97f0d8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 11:24:33 2012 +0200

    sierra: custom power-down command for CDMA modems

 plugins/sierra/mm-broadband-modem-sierra.c | 58
 ++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

commit 5b9c1625b6025d027c40fc62081e154507181557
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 23 11:19:14 2012 +0200

    sierra: custom power-up command for CDMA modems

 plugins/sierra/mm-common-sierra.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

commit 7027c6e9729f5eeaf53c11d7791b372cb9e85e43
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 17:14:14 2012 +0200

    sierra: custom 3GPP disconnection sequence

 plugins/sierra/mm-broadband-bearer-sierra.c | 97
 +++++++++++++++++++++++++++++
 1 file changed, 97 insertions(+)

commit d8bc27a8c3681693a0c297a965d5f5858258d96a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 17:02:18 2012 +0200

    sierra: custom 3GPP dialling sequence

 plugins/sierra/mm-broadband-bearer-sierra.c | 244
 ++++++++++++++++++++++++++++
 1 file changed, 244 insertions(+)

commit d091344da2e50ef4016a87493b06fc54e40a2184
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 16:44:10 2012 +0200

    broadband-bearer: pass down the data port to the 3GPP dialling step

    Plugins may require specific dialling commands depending on the
    port type.

 plugins/icera/mm-broadband-bearer-icera.c | 1 +
 plugins/option/mm-broadband-bearer-hso.c  | 1 +
 src/mm-broadband-bearer.c                 | 2 ++
 src/mm-broadband-bearer.h                 | 1 +
 4 files changed, 5 insertions(+)

commit 3666168c121e7ad74c611af74f8c905cec9d030b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 16:30:56 2012 +0200

    sierra: new `MMBroadbandBearerSierra' object

 plugins/Makefile.am                         |  2 +
 plugins/sierra/mm-broadband-bearer-sierra.c | 85
 +++++++++++++++++++++++++++++
 plugins/sierra/mm-broadband-bearer-sierra.h | 58 ++++++++++++++++++++
 plugins/sierra/mm-broadband-modem-sierra.c  | 59 ++++++++++++++++++++
 4 files changed, 204 insertions(+)

commit 79b4c4b47d39907c0a38d5e13d9e9a6c576b5e9b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 16:11:19 2012 +0200

    sierra: implement custom ports setup

 plugins/sierra/mm-broadband-modem-sierra-icera.c | 15 +++++++++++
 plugins/sierra/mm-broadband-modem-sierra.c       | 15 +++++++++++
 plugins/sierra/mm-common-sierra.c                | 32
 ++++++++++++++++++++++++
 plugins/sierra/mm-common-sierra.h                |  2 ++
 4 files changed, 64 insertions(+)

commit 96a6e8923ae2d2d418f868a15fbf662c737df09d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 16:01:10 2012 +0200

    broadband-bearer: generic CDMA connections are all over serial port
    and PPP

 src/mm-broadband-bearer.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

commit e38828c31808d7055a739083dffe773e9e8782aa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 16:00:12 2012 +0200

    broadband-bearer: allow implementations to override the port used
    for connection

 plugins/novatel/mm-broadband-bearer-novatel-lte.c |  4 ++
 src/mm-broadband-bearer.c                         | 84
 +++++++++++++++--------
 src/mm-broadband-bearer.h                         |  2 +
 3 files changed, 61 insertions(+), 29 deletions(-)

commit 3dfb48d75a715e593354840e3ec59eedf55c3847
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 15:05:30 2012 +0200

    sierra: custom SIM identifier loading

 plugins/sierra/mm-sim-sierra.c | 113
 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 113 insertions(+)

commit 0c80815ea2366bbf2dbc3b2bf4aee8aa175d435e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 14:50:28 2012 +0200

    sierra: new `MMSimSierra' object

 plugins/Makefile.am                              |  2 +
 plugins/sierra/mm-broadband-modem-sierra-icera.c |  2 +
 plugins/sierra/mm-broadband-modem-sierra.c       |  2 +
 plugins/sierra/mm-common-sierra.c                | 24 ++++++++
 plugins/sierra/mm-common-sierra.h                |  7 +++
 plugins/sierra/mm-sim-sierra.c                   | 77
 ++++++++++++++++++++++++
 plugins/sierra/mm-sim-sierra.h                   | 53 ++++++++++++++++
 7 files changed, 167 insertions(+)

commit cd2174d2ef0a0fa023ac2ddfeaa7ca0abb2ea7b0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 14:38:01 2012 +0200

    sierra: implement custom allowed/preferred mode setting

 plugins/sierra/mm-broadband-modem-sierra.c | 117
 +++++++++++++++++++++++++++++
 1 file changed, 117 insertions(+)

commit bce0a2c48e4a865f30ee0371712d577be8ccfaa1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 12:55:40 2012 +0200

    sierra: implement custom allowed/preferred mode loading

 plugins/sierra/mm-broadband-modem-sierra.c | 145
 +++++++++++++++++++++++++++++
 1 file changed, 145 insertions(+)

commit b6fb78ffd71ff14b14a302158cc87ed1f42b3dba
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 12:31:23 2012 +0200

    sierra,icera: implement custom power up sequence

 plugins/sierra/mm-broadband-modem-sierra-icera.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

commit 713eb2848476d331d01df57549cb5aa307f77f6f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 12:29:39 2012 +0200

    sierra: new `MMBroadbandModemSierraIcera' object

 plugins/Makefile.am                              |  4 +-
 plugins/sierra/mm-broadband-modem-sierra-icera.c | 59
 ++++++++++++++++++++++++
 plugins/sierra/mm-broadband-modem-sierra-icera.h | 49
 ++++++++++++++++++++
 plugins/sierra/mm-plugin-sierra.c                | 12 ++---
 4 files changed, 117 insertions(+), 7 deletions(-)

commit 4195a3f1a3ee3a7b15457a965b04489d9b091c22
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 12:25:03 2012 +0200

    sierra: implement custom power up sequence

    It is split in a new set of `mm-common-sierra.[hc]' files as this
    sequence will
    also be used in Icera-based modems.

 plugins/Makefile.am                        |   2 +
 plugins/sierra/mm-broadband-modem-sierra.c |   3 +
 plugins/sierra/mm-common-sierra.c          | 137
 +++++++++++++++++++++++++++++
 plugins/sierra/mm-common-sierra.h          |  31 +++++++
 4 files changed, 173 insertions(+)

commit d517b611e9fbc24a5d0e58cc7bd87f2d448412cf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 12:12:50 2012 +0200

    sierra: load access technologies in 3GPP modems

 plugins/sierra/mm-broadband-modem-sierra.c | 103
 ++++++++++++++++++++++++++++-
 1 file changed, 102 insertions(+), 1 deletion(-)

commit 2d425d89b94694979ea182c1ead7b0af4dd623a3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 12:00:33 2012 +0200

    sierra: new `MMBroadbandModemSierra' object

 plugins/Makefile.am                        |  4 +-
 plugins/sierra/mm-broadband-modem-sierra.c | 59
 ++++++++++++++++++++++++++++++
 plugins/sierra/mm-broadband-modem-sierra.h | 49 +++++++++++++++++++++++++
 plugins/sierra/mm-plugin-sierra.c          | 12 +++---
 4 files changed, 117 insertions(+), 7 deletions(-)

commit d033d6927ff59c0b11dbe5922ca9a7db516934c0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 10:52:21 2012 +0200

    sierra: allow Icera-based sierra modems

 plugins/Makefile.am               |  3 ++-
 plugins/sierra/mm-plugin-sierra.c | 17 +++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

commit 69316289e8aaea84cd5c22f940f4e83def1819e4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 10:38:49 2012 +0200

    sierra: start porting the Sierra plugin

 plugins/Makefile.am               |  21 ++--
 plugins/sierra/mm-plugin-sierra.c | 232
 ++++++++++++++++++++++++++++++++++++++
 plugins/sierra/mm-plugin-sierra.h |  42 +++++++
 3 files changed, 282 insertions(+), 13 deletions(-)

commit b2ada906b0c39f5b4f74fff9c4167d11faf4f3c7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 14:50:05 2012 +0200

    nokia: fix SIM object creation

 plugins/nokia/mm-broadband-modem-nokia.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 55699e651892b62d46a2734f9aca7b773115bb1d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 14:49:55 2012 +0200

    iridium: fix SIM object creation

 plugins/iridium/mm-broadband-modem-iridium.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1ac18a06bb37d8745480a9af4fd6bc2f762bf265
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 22 09:35:15 2012 +0200

    api,dbus: 'ip-type' property now given as a MMBearerIpFamily (u)

    Instead of using a predefined set of string values for 'ip-type' in
    Modem.CreateBearer() and Simple.Connect(), we'll use an
    enumeration. The
    implementation will then need to convert the requested IP family
    type to e.g.
    the correct PDP type in 3GPP modems.

    This change also consolidates the use of enums in dictionary
    properties when
    possible to do so, as with the Rm Protocol.

 cli/mmcli-bearer.c                                 |  3 +-
 docs/reference/api/ModemManager-sections.txt       |  1 +
 include/ModemManager-enums.h                       | 16 +++++
 .../org.freedesktop.ModemManager1.Modem.Simple.xml |  4 +-
 .../org.freedesktop.ModemManager1.Modem.xml        |  2 +-
 libmm-common/mm-bearer-properties.c                | 36 +++++++-----
 libmm-common/mm-bearer-properties.h                |  4 +-
 libmm-common/mm-common-helpers.c                   | 22 +++++++
 libmm-common/mm-common-helpers.h                   |  2 +
 libmm-common/mm-simple-connect-properties.c        |  6 +-
 libmm-common/mm-simple-connect-properties.h        | 30 +++++-----
 src/mm-broadband-bearer.c                          | 22 +++++--
 src/mm-modem-helpers.c                             | 68
 +++++++++++++++++-----
 src/mm-modem-helpers.h                             |  5 +-
 src/tests/test-modem-helpers.c                     |  4 +-
 15 files changed, 163 insertions(+), 62 deletions(-)

commit c15525a1b3c2006e614f75a372f374176f576c23
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 18:28:46 2012 +0200

    libmm-common: default is to request IPv4

 libmm-common/mm-bearer-properties.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 39b497c3e758c8be6974ea0ae9a4e64cb5151c34
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 21 16:41:44 2012 +0200

    iridium: plug memleak

 plugins/iridium/mm-bearer-iridium.c | 1 +
 1 file changed, 1 insertion(+)

commit d26071325c2555c1926db84cc77db2084313c4ef
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 20 16:24:08 2012 +0200

    novatel: plugin fully ported

 plugins/mm-modem-novatel-cdma.c | 310 ----------------------------------
 plugins/mm-modem-novatel-cdma.h |  47 ------
 plugins/mm-modem-novatel-gsm.c  | 366
 ----------------------------------------
 plugins/mm-modem-novatel-gsm.h  |  45 -----
 plugins/mm-plugin-novatel.c     | 191 ---------------------
 plugins/mm-plugin-novatel.h     |  42 -----
 6 files changed, 1001 deletions(-)

commit 678972b63a0c2608f19a49a9caf9efd3406054a8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 20 16:22:56 2012 +0200

    novatel: add detailed CDMA registration state checks

 plugins/novatel/mm-broadband-modem-novatel.c | 171
 ++++++++++++++++++++++++++-
 1 file changed, 170 insertions(+), 1 deletion(-)

commit 773ff03f9132d7b8a16818cdfa2ea6c2e0ac304a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 14 18:08:24 2012 +0200

    novatel: custom signal quality loading for non-3GPP modems

 plugins/novatel/mm-broadband-modem-novatel.c | 151
 +++++++++++++++++++++++++++
 1 file changed, 151 insertions(+)

commit 953f787bf349842d5a31a5dd38f7b78a4d860b98
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 13 11:56:18 2012 +0200

    novatel: allowed modes and access tech loading only in non-CDMA modems

 plugins/novatel/mm-broadband-modem-novatel.c | 195
 +++++++++++++++++++++------
 1 file changed, 152 insertions(+), 43 deletions(-)

commit c9337cc8b91ea6c5fc8022ae876d4dc5ee3904fa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 13 11:31:26 2012 +0200

    novatel: configure SM storage as default always

 plugins/novatel/mm-broadband-modem-novatel.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 348a80374ae8ff5d523349f8874011525647f683
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 13 11:29:21 2012 +0200

    novatel: implement custom messaging unsolicited messages enabling

 plugins/novatel/mm-broadband-modem-novatel.c | 37
 +++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

commit 1931a69e50d295b0e7ea308e9770381fdf0700b7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 13 11:07:45 2012 +0200

    novatel: implement current access technology loading

 plugins/novatel/mm-broadband-modem-novatel.c | 49
 ++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

commit e150c4cf922a4caf2b741a2a155e7ae53eb57740
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 31 08:52:03 2012 +0200

    novatel: implement allowed mode loading/setting

    Settings are given with the 'AT$NWRAT' arguments as follows:
      1,1: 2G allowed
      2,1: 3G allowed
      0,2: 2G and 3G allowed, none preferred
      1,2: 2G and 3G allowed, 2G preferred
      2,2: 2G and 3G allowed, 3G preferred

 plugins/novatel/mm-broadband-modem-novatel.c | 205
 ++++++++++++++++++++++++++-
 1 file changed, 204 insertions(+), 1 deletion(-)

commit b8e5dbcaf45aa34423e066e2af669f9c87af9f6f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 30 23:49:11 2012 +0200

    novatel: flip secondary ports to AT mode during port setup

 plugins/novatel/mm-broadband-modem-novatel.c | 23 +++++++++++++++++++++++
 src/mm-base-modem-at.c                       | 17 +++++++++++++++++
 src/mm-base-modem-at.h                       |  9 +++++++++
 3 files changed, 49 insertions(+)

commit 058fd0256de7e374660088387f291df63880cdb4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 30 21:06:12 2012 +0200

    novatel: new `MMBroadbandModemNovatel'

 plugins/Makefile.am                          |  4 +-
 plugins/novatel/mm-broadband-modem-novatel.c | 60
 ++++++++++++++++++++++++++++
 plugins/novatel/mm-broadband-modem-novatel.h | 51 +++++++++++++++++++++++
 3 files changed, 114 insertions(+), 1 deletion(-)

commit 56a7e40e373883a7d2c5e430b4a554aa65974b3e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 30 20:48:40 2012 +0200

    novatel: start porting the Novatel plugin

 plugins/Makefile.am                 |  8 ++++
 plugins/novatel/mm-plugin-novatel.c | 86
 +++++++++++++++++++++++++++++++++++++
 plugins/novatel/mm-plugin-novatel.h | 48 +++++++++++++++++++++
 3 files changed, 142 insertions(+)

commit eb71b9464d715ce00027aea33b98b4455e178192
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 30 21:02:07 2012 +0200

    novatel-lte: reorganize code

    Just to make it more aligned with how other plugins are structured.

 plugins/novatel/mm-broadband-bearer-novatel-lte.c | 82
 ++++++++++++-----------
 plugins/novatel/mm-broadband-modem-novatel-lte.c  | 60 +++++++++--------
 2 files changed, 77 insertions(+), 65 deletions(-)

commit b399a17163d4035d208050220ef5daf230677bfb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 30 19:47:09 2012 +0200

    novatel-lte: renamed the plugin to "Novatel LTE"

    This plugin only handles the E362 right now.

 plugins/Makefile.am                                | 22 ++++----
 ...novatel.c => mm-broadband-bearer-novatel-lte.c} | 44 +++++++--------
 plugins/novatel/mm-broadband-bearer-novatel-lte.h  | 64
 ++++++++++++++++++++++
 plugins/novatel/mm-broadband-bearer-novatel.h      | 64
 ----------------------
 ...-novatel.c => mm-broadband-modem-novatel-lte.c} | 28 +++++-----
 plugins/novatel/mm-broadband-modem-novatel-lte.h   | 50 +++++++++++++++++
 plugins/novatel/mm-broadband-modem-novatel.h       | 50 -----------------
 ...mm-plugin-novatel.c => mm-plugin-novatel-lte.c} | 24 ++++----
 ...mm-plugin-novatel.h => mm-plugin-novatel-lte.h} | 24 ++++----
 9 files changed, 185 insertions(+), 185 deletions(-)

commit 84d205c9be4fa5e6d773ac60edc7200885da7af6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 30 20:25:22 2012 +0200

    plugin: new filters for forbidden product IDs/strings

    Plugins may specify that specific vendor & product IDs or strings
    are not
    supported. This is useful when plugins need to specify that they
    support
    all devices of a given vendor except for some specific ones.

 docs/reference/api/ModemManager-overview.xml | 52 +++++++++------
 src/mm-plugin.c                              | 99
 +++++++++++++++++++++++-----
 src/mm-plugin.h                              | 38 ++++++-----
 3 files changed, 137 insertions(+), 52 deletions(-)

commit 4e84cd241b7b41fe6f87242136b3f5ae857e5a13
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 30 20:20:17 2012 +0200

    plugin: fix icera filters when using the allowed product string filter

 src/mm-plugin.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit 9512eda21d7392bcb80cfd4dae6708fb1c92907e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 30 20:18:05 2012 +0200

    plugin: don't apply product ID filters if no vendor ID was retrieved

 src/mm-plugin.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7b13b5e1c02bca89a317fce57abc9b5faa115ee7
Author: Ben Chan <benchan@chromium.org>
Date:   Sun Aug 19 23:26:14 2012 -0700

    broadband-bearer,icera: fix CID matching for unsolicited IPDPACT
    responses

 plugins/icera/mm-broadband-modem-icera.c | 2 +-
 src/mm-broadband-bearer.c                | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

commit 2b5fb682c6315d27723137d8c7a7982e198a538a
Author: Ben Chan <benchan@chromium.org>
Date:   Sun Aug 19 23:27:19 2012 -0700

    icera: fix modem_load_current_bands and modem_set_bands

    This patch modifies MMBroadbandModemIcera as follows:
    - Change modem_load_current_bands to report only bands that are
      currently enabled
    - Change modem_set_bands to handle setting ANY band in a way that no
      forbidden bands are activated.

 plugins/icera/mm-broadband-modem-icera.c | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

commit 3955aab25bfc5ad68678ee27ee29867c805ce57d
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 16 21:26:51 2012 -0700

    icera: add missing break statement in MMBroadbandBearerIcera
    set_property

 plugins/icera/mm-broadband-bearer-icera.c | 1 +
 1 file changed, 1 insertion(+)

commit 946dcca4fca28296ed326fe800018993470df927
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Aug 15 12:18:59 2012 -0500

    qcdm: add some EVDO log item numbers

 libqcdm/src/log-items.h | 4 ++++
 1 file changed, 4 insertions(+)

commit 7eb1782023b3704f91c1bac2d4686463fb1bc9cd
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Aug 9 23:05:46 2012 -0700

    iface-modem: increase number of trials for PIN check from 3 to 6

    In practice, it may take longer time for a SIM to become ready
    when the
    modem interface tries to use AT+CPIN? to determine if the SIM is
    PIN-locked. This patch increases the number of trials for PIN check to
    address the issue.

 src/mm-iface-modem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 6c9a7c54506e57238056d13bcba130c1aaff7840
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 9 11:48:10 2012 +0200

    nokia: implement custom supported modes loading

    Nokia handsets report incorrect modes in AT+WS46?, so just fully
    skip that.

 plugins/nokia/mm-broadband-modem-nokia.c | 42
 ++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

commit 1e687337c12655760c2f187b5278684e7776dac4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 9 09:31:57 2012 +0200

    zte: plug memleak

    The GError wasn't properly disposed.

    Reported by: Ben Chan <benchan@google.com>

 plugins/zte/mm-broadband-modem-zte.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 1e286f80eae1d4cbdb7e92c52d68529f0662fa22
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Aug 8 16:20:32 2012 -0500

    qcdm: interpret MCC value from StatusSnapshot command

 libqcdm/src/commands.c        | 36 ++++++++++++++++++++++++++++++++++++
 libqcdm/src/commands.h        |  4 ++++
 libqcdm/tests/test-qcdm-com.c |  5 +++++
 3 files changed, 45 insertions(+)

commit 36594dd9fbe3d1a9848343b529ae404121aa2423
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 8 13:17:29 2012 +0200

    broadband-modem: fix GError disposal

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 45e8aa50df7357f7c96fc73e3cda6b69ae93bff8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 6 19:05:54 2012 +0200

    iface-modem-3gpp: when disabled, cleanup interface properties

 src/mm-iface-modem-3gpp.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 278842108c2cc1cb887f1afedfbf6cfd4a91d26a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 6 11:58:42 2012 +0200

    iface-modem-3gpp: refactor registration sequences

    Once upon a time it was a good idea to have separate steps for CS
    and PS related
    actions, so that plugins could override specific steps with a great
    detail. That
    idea turned out to be not very useful, as the only case which
    requires custom
    CS/PS registration actions is the QMI-enabled modem, and that one
    has commands
    to act on both registration actions at the same time. So, we now
    consolidate
    all steps, so that the implementation of the interface needs to
    provide all the
    logic to setup/enable/disable/cleanup/check registrations in each
    mode.

    Also, we consolidate how the unsolicited registration messages are
    handled, so
    that it's equivalent to other unsolicited messages:
     * 'Setup' will configure ports to process the unsolicited messages.
     * 'Enable' will tell the modem to send unsolicited messages.
     * 'Disable' will tell the modem not to send unsolicited messages.
     * 'Cleanup will configure ports to ignore the unsolicited messages.

 src/mm-broadband-modem.c  | 789
 +++++++++++++++++++++++++---------------------
 src/mm-iface-modem-3gpp.c | 334 ++++++--------------
 src/mm-iface-modem-3gpp.h | 113 +++----
 3 files changed, 559 insertions(+), 677 deletions(-)

commit 01bb5cd6601a2eb47af002579af7978bf503976d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 31 15:53:50 2012 +0200

    iface-modem-cdma: new steps to enable/disable unsolicited events

 src/mm-iface-modem-cdma.c | 63
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-cdma.h | 17 +++++++++++++
 2 files changed, 80 insertions(+)

commit 779b293387643daf2453dca484a1e35fd284e550
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 31 15:51:15 2012 +0200

    iface-modem-cdma: skip checks to see if unsolicited events are
    supported

 src/mm-iface-modem-cdma.c | 55
 ++++++++++++-----------------------------------
 1 file changed, 14 insertions(+), 41 deletions(-)

commit 4aaafc54c78f96160675109a27c4fde75ebb6f2e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 31 12:59:23 2012 +0200

    iface-modem-3gpp: removed the 'setup indicators' step

    The previous logic would first request to check if indicators were
    supported,
    and only then allow to setup/enable/cleanup/disable unsolicited
    events. This
    behaviour is very specific to the generic 3GPP case, and therefore
    it shouldn't
    be handled in the even more generic 3GPP interface. The logic is
    still kept,
    but handled within the MMBroadbandModem object.

 src/mm-broadband-modem.c  | 288
 +++++++++++++++++++++++++---------------------
 src/mm-iface-modem-3gpp.c | 155 +++++--------------------
 src/mm-iface-modem-3gpp.h |   8 --
 3 files changed, 186 insertions(+), 265 deletions(-)

commit 4d5892204d9f28b65a9f1a8495c036c7448791bc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 23 11:06:25 2012 +0200

    zte: use +CFUN=4 for powering down

    Icera-based ZTE already has the same functionality coming from
    the parent
    `MMBroadbandModemIcera' modem object.

 plugins/zte/mm-broadband-modem-zte.c | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

commit f6415a71b6ee3998b144393c3c4facdb7a77c545
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 21:00:42 2012 +0200

    device: keep all unsupported ports in a separate list

    Ports being marked as unsupported should not be passed to the
    plugin specific
    create_modem() or grab_port() methods.

 src/mm-device.c         | 43 +++++++++++++++++++++++++++++++++++++------
 src/mm-device.h         |  2 ++
 src/mm-plugin-manager.c |  3 +++
 3 files changed, 42 insertions(+), 6 deletions(-)

commit 1811bb015c79b319c517d0bd23ae04899d2bc981
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 20:59:38 2012 +0200

    plugin-manager: relaunch probing when suggestion comes to deferred
    tasks

    If a port support task was deferred until suggested, do not assume
    that the
    suggested plugin actually supports the port, instead re-launch
    support check.

    This covers the cases where a net port appears in a modem which
    only supports
    AT ports (e.g. Nokia case).

 src/mm-plugin-manager.c | 35 ++++++++++++++++++++++++-----------
 1 file changed, 24 insertions(+), 11 deletions(-)

commit 793218bfdbe92806f231c59e6ecbb68b9bb3ec13
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 19:05:59 2012 +0200

    zte: plugin fully ported

 plugins/mm-modem-zte.c  | 761
 ------------------------------------------------
 plugins/mm-modem-zte.h  |  45 ---
 plugins/mm-plugin-zte.c | 230 ---------------
 plugins/mm-plugin-zte.h |  41 ---
 4 files changed, 1077 deletions(-)

commit 73a420095fcde1bd745d44a87359afa7af505791
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 11:15:16 2012 +0200

    TODO: the ZTE MF637 doesn't like default setup fo messaging
    unsolicited messages

 TODO | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit 125f297434032218ecc057ff613a4daa02567b0c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 12:37:17 2012 +0200

    zte: setup/cleanup unsolicited messages in Icera based modems

 plugins/zte/mm-broadband-modem-zte-icera.c | 110
 ++++++++++++++++++++++++++++-
 1 file changed, 109 insertions(+), 1 deletion(-)

commit efe85fd1abc2e26fc2207189eb03c9523eaa57aa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 12:33:08 2012 +0200

    zte: use common unsolicited messages handler setup in Icera based
    modems

 plugins/zte/mm-broadband-modem-zte-icera.c | 59
 ++++++++++++++++++++++++++++++
 plugins/zte/mm-broadband-modem-zte-icera.h |  2 +
 2 files changed, 61 insertions(+)

commit 64dfa59c42d3f9b7e1b4d643996bc87268da7987
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 12:15:31 2012 +0200

    zte: use common unsolicited messages handler setup

 plugins/zte/mm-broadband-modem-zte.c | 106
 +++++------------------------------
 1 file changed, 14 insertions(+), 92 deletions(-)

commit a8516fa1f8cdab03f9e8b13cea15f03de10fe70d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 12:14:48 2012 +0200

    zte: new common code to setup unsolicited event handlers

 plugins/Makefile.am         |   2 +
 plugins/zte/mm-common-zte.c | 141
 ++++++++++++++++++++++++++++++++++++++++++++
 plugins/zte/mm-common-zte.h |  31 ++++++++++
 3 files changed, 174 insertions(+)

commit 1f2a7bd87c2bd5b166b93150d07bb8ff56594d90
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 00:41:56 2012 +0200

    zte: try +CPMS? calls after SIM unlock until SIM gets ready

 plugins/zte/mm-broadband-modem-zte.c | 104
 +++++++++++++++++++++++++++++++++++
 1 file changed, 104 insertions(+)

commit dcde1e04083a175f11986c47d526ec36cec9c049
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 00:03:12 2012 +0200

    zte: carrier-detect disabled in serial ports

 plugins/zte/mm-broadband-modem-zte.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 4cf4a98bba3a94efb49fea86636e13db017a351c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jul 21 23:34:57 2012 +0200

    zte: support Icera-based modems

    We request Icera support check during port probing, and we then
    decide which
    modem object to create based on the check results.

 plugins/Makefile.am                        |  7 +++-
 plugins/zte/mm-broadband-modem-zte-icera.c | 60
 ++++++++++++++++++++++++++++++
 plugins/zte/mm-broadband-modem-zte-icera.h | 49 ++++++++++++++++++++++++
 plugins/zte/mm-plugin-zte.c                | 17 +++++++++
 4 files changed, 131 insertions(+), 2 deletions(-)

commit 855c0ec5143d3a48c3f8a5cba0eb58d74a45740c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jul 21 23:06:38 2012 +0200

    zte: implement access technology loading

 plugins/mm-modem-zte.c               |  1 -
 plugins/zte/mm-broadband-modem-zte.c | 41
 ++++++++++++++++++++++++++++++++++++
 2 files changed, 41 insertions(+), 1 deletion(-)

commit 169ccdf1d4bbfad4d63c6b11b3dbb349e8985970
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jul 21 20:44:05 2012 +0200

    zte: implement allowed mode loading/setting

 plugins/zte/mm-broadband-modem-zte.c | 201
 +++++++++++++++++++++++++++++++++++
 1 file changed, 201 insertions(+)

commit 641c5aed06b3f7f42723455813394b051c731857
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 14:22:27 2012 +0200

    zte: setup ports and unsolicited message handling

 plugins/zte/mm-broadband-modem-zte.c | 232
 ++++++++++++++++++++++++++++++++++-
 plugins/zte/mm-broadband-modem-zte.h |   2 +
 2 files changed, 233 insertions(+), 1 deletion(-)

commit 3b00c6f5ac97a5aeefbc4772be09a36061027eda
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 13:13:34 2012 +0200

    zte: new `MMBroadbandModemZte'

 plugins/Makefile.am                  |  4 ++-
 plugins/zte/mm-broadband-modem-zte.c | 60
 ++++++++++++++++++++++++++++++++++++
 plugins/zte/mm-broadband-modem-zte.h | 49 +++++++++++++++++++++++++++++
 plugins/zte/mm-plugin-zte.c          | 12 ++++----
 4 files changed, 118 insertions(+), 7 deletions(-)

commit bbb4ed2b0a7e171e9a045a1e37580697b9cbc783
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 13:10:29 2012 +0200

    zte: start porting the ZTE plugin

 plugins/Makefile.am                          |  19 ++--
 plugins/{ => zte}/77-mm-zte-port-types.rules |   0
 plugins/zte/mm-plugin-zte.c                  | 126
 +++++++++++++++++++++++++++
 plugins/zte/mm-plugin-zte.h                  |  42 +++++++++
 4 files changed, 177 insertions(+), 10 deletions(-)

commit bdcc4becab4a10ae100117678e8249021d4bfd69
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jul 21 18:41:35 2012 +0200

    nokia: no need specific port grabbing

    The udev tags for port grabbing hints are for Icera-based Nokia
    modems only.

 plugins/nokia/mm-plugin-nokia.c | 35 -----------------------------------
 1 file changed, 35 deletions(-)

commit 5c2df4a0cac1675d31a94d1ee5f6b9c113e8ed35
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jul 21 18:17:24 2012 +0200

    nokia-icera: new plugin to handle Icera-based Nokia modems

    We have a whole new plugin because the whole probing process is
    different
    between the Icera and non-Icera based Nokia modems.

 plugins/Makefile.am                   |   9 +++
 plugins/nokia/mm-plugin-nokia-icera.c | 106
 ++++++++++++++++++++++++++++++++++
 plugins/nokia/mm-plugin-nokia-icera.h |  41 +++++++++++++
 3 files changed, 156 insertions(+)

commit 3b6a20dfb64495653d636e24b124733ca82df3c3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jul 21 18:08:11 2012 +0200

    nokia: don't support Icera-based modems

    Nokia CS Internet sticks are based on Icera chipsets; the default
    Nokia plugin
    shouldn't handle them.

 plugins/nokia/mm-plugin-nokia.c | 1 +
 1 file changed, 1 insertion(+)

commit 509ad9420460a652f2390eebea72d4b0ed486382
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jul 21 18:40:40 2012 +0200

    plugin: check if the current probe is the one with AT support before
    assuming it's not

 src/mm-plugin.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit edc9825788bc12d03add9b6fdf83ae2f55886c34
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jul 21 18:07:22 2012 +0200

    plugin: let plugins request Icera support checks and Icera based
    filters

 docs/reference/api/ModemManager-overview.xml | 29 ++++++++++++
 src/mm-plugin.c                              | 69
 ++++++++++++++++++++++++++++
 src/mm-plugin.h                              |  3 ++
 3 files changed, 101 insertions(+)

commit 0b3eb27856462e232f54762a3ba496bf36e25775
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jul 21 18:01:02 2012 +0200

    port-probe: include Icera support check in the probing sequence

 src/mm-port-probe-at.c | 19 +++++++++++++
 src/mm-port-probe-at.h |  8 ++++++
 src/mm-port-probe.c    | 75
 ++++++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-port-probe.h    |  6 +++-
 4 files changed, 104 insertions(+), 4 deletions(-)

commit 5b96aa9db4899d6c217b7ba5596e1dd64ca8f931
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 10:20:54 2012 +0200

    samsung: use generic power down of the Icera modem

 plugins/samsung/mm-broadband-modem-samsung.c | 39
 +---------------------------
 1 file changed, 1 insertion(+), 38 deletions(-)

commit 53707357f39ac9da71896a6bb11dad2a779f7586
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 10:20:39 2012 +0200

    icera: use +CFUN=4 for power down in all Icera modems

 plugins/icera/mm-broadband-modem-icera.c | 28
 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

commit e9a367eb21e937e5f757e9d00ac49d19be7d57f0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jul 21 16:56:58 2012 +0200

    icera: remove `MMIfaceIcera'

 plugins/Makefile.am            |    2 -
 plugins/icera/mm-iface-icera.c | 1405
 ----------------------------------------
 plugins/icera/mm-iface-icera.h |  160 -----
 3 files changed, 1567 deletions(-)

commit 7ad73e4fa3c13ef1c73538d70ee2f7ad63853849
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 19:49:11 2012 +0200

    samsung: make the modem object inherit from the
    `MMBroadbandModemIcera'

 plugins/Makefile.am                           |   4 +-
 plugins/samsung/mm-broadband-bearer-samsung.c |  89 -------
 plugins/samsung/mm-broadband-bearer-samsung.h |  57 -----
 plugins/samsung/mm-broadband-modem-samsung.c  | 320
 +-------------------------
 plugins/samsung/mm-broadband-modem-samsung.h  |   6 +-
 5 files changed, 9 insertions(+), 467 deletions(-)

commit 4f1269344fa5b27286cd01314477066c07770e27
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 19:42:22 2012 +0200

    icera: create a generic broadband bearer when no net ports available

 plugins/icera/mm-broadband-modem-icera.c | 43
 +++++++++++++++++++++++++++++---
 1 file changed, 39 insertions(+), 4 deletions(-)

commit fa8bcb0a7f9a84822ea2f196c1165a93e8380c11
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 19:35:06 2012 +0200

    icera: allow specifying at modem/bearer level whether we want DHCP
    or STATIC

 plugins/icera/mm-broadband-bearer-icera.c | 117
 +++++++++++++++++++++++++-----
 plugins/icera/mm-broadband-bearer-icera.h |   3 +
 plugins/icera/mm-broadband-modem-icera.c  |  59 +++++++++++++++
 plugins/icera/mm-broadband-modem-icera.h  |   2 +
 plugins/icera/mm-iface-icera.c            |   1 +
 5 files changed, 165 insertions(+), 17 deletions(-)

commit ef4de86b4281c16229729d724c2aedc2b8248fe5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 18:31:51 2012 +0200

    icera: new `MMBroadbandModemIcera'

    We'll get rid of the `MMIfaceIcera'.

 plugins/Makefile.am                      |    2 +
 plugins/icera/mm-broadband-modem-icera.c | 1577
 ++++++++++++++++++++++++++++++
 plugins/icera/mm-broadband-modem-icera.h |   51 +
 3 files changed, 1630 insertions(+)

commit e0c17f936f83b81296c643d656fa68de36a24883
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 19 21:27:15 2012 -0500

    icera: implement dynamic band support checking

    Turns out we can check supported bands by asking the modem what
    the enabled state is for the bands it says it supports, and then
    setting the enabled state to what it currently is.  For bands the
    modem actually doesn't support, it'll return an error.  Use that
    to build up the modem's actual supported band list.

 plugins/icera/mm-iface-icera.c | 311
 ++++++++++++++++++++++++++++++-----------
 1 file changed, 231 insertions(+), 80 deletions(-)

commit ea024f2e520789ac41ec281d3737f74a89df6b74
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jul 20 10:49:27 2012 -0500

    samsung: use generic Icera band handling functions

 plugins/samsung/mm-broadband-modem-samsung.c | 354
 +--------------------------
 1 file changed, 6 insertions(+), 348 deletions(-)

commit a532c081d15911a289b837f0e0247e131733130e
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 19 16:05:28 2012 -0500

    icera: add generic band handling functions

 plugins/icera/mm-iface-icera.c | 343
 +++++++++++++++++++++++++++++++++++++++++
 plugins/icera/mm-iface-icera.h |  25 +++
 2 files changed, 368 insertions(+)

commit b1c2e0ba5fc001c20249c76a8698c6b5d8ee7531
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jul 20 10:48:08 2012 -0500

    samsung: use generic Icera unlock retries checking functions

 plugins/samsung/mm-broadband-modem-samsung.c | 76
 +---------------------------
 1 file changed, 2 insertions(+), 74 deletions(-)

commit abfce5493c05fb1207a274573f56460bd3e84e2c
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 19 15:30:16 2012 -0500

    icera: add generic unlock retries checking

 plugins/icera/mm-iface-icera.c | 72
 ++++++++++++++++++++++++++++++++++++++++++
 plugins/icera/mm-iface-icera.h |  7 ++++
 2 files changed, 79 insertions(+)

commit 36924d8f82d240d1fc963d0444d42625368c42be
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 14:56:36 2012 +0200

    samsung: add Samsung Electronics, Inc. as copyright owners

    They actually wrote the original Samsung plugin in ModemManager 0.5.

 plugins/samsung/mm-broadband-bearer-samsung.c | 1 +
 plugins/samsung/mm-broadband-bearer-samsung.h | 1 +
 plugins/samsung/mm-broadband-modem-samsung.c  | 2 +-
 plugins/samsung/mm-broadband-modem-samsung.h  | 1 +
 plugins/samsung/mm-plugin-samsung.c           | 1 +
 plugins/samsung/mm-plugin-samsung.h           | 1 +
 6 files changed, 6 insertions(+), 1 deletion(-)

commit 2bf2b8e84804c261690032809a6775e3e7b01ed4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 14:51:23 2012 +0200

    samsung: new `MMBroadbandBearerSamsung'

    Based on the Icera bearer, but using DHCP in the net port.

 plugins/Makefile.am                           |  4 +-
 plugins/samsung/mm-broadband-bearer-samsung.c | 88
 +++++++++++++++++++++++++++
 plugins/samsung/mm-broadband-bearer-samsung.h | 56 +++++++++++++++++
 plugins/samsung/mm-broadband-modem-samsung.c  | 61 ++++++++++++++++++-
 4 files changed, 206 insertions(+), 3 deletions(-)

commit 39bb356fe5dc5572ef1f560d6aebe2af60977c71
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 12:54:12 2012 +0200

    TODO: add task to update drivers info in the Modem iface

 TODO | 3 +++
 1 file changed, 3 insertions(+)

commit 97730df9c706412577776a5f5219dc172ed85f4f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 12:52:36 2012 +0200

    TODO: we should retry Icera authentication command

 TODO | 3 +++
 1 file changed, 3 insertions(+)

commit d861ad1d570e734079be473dcff4e617fde6ad24
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 12:47:03 2012 +0200

    TODO: add task to check if HSO disconnection needs to get updated

 TODO | 3 +++
 1 file changed, 3 insertions(+)

commit 93252f39ef75dbca4e7e238032c5065727464a85
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 12:34:22 2012 +0200

    icera: avoid highly unlikely use of already unref-ed bearer

    In the connection and disconnection sequences, we make sure that
    the Bearer
    object is valid by keeping a reference in the Dial3gppContext and
    Disconnect3gppContext (actually, another one kept by the
    GSimpleAsyncResult as
    well). But we are considering here the case where the context is
    completed and
    freed by an unsolicited message handler before we get the reply to
    the AT
    command, so to properly ensure that the bearer object is still valid
    when we try
    to check if the context is in the priv struct, we need to keep an
    extra ref
    around.

 plugins/icera/mm-broadband-bearer-icera.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 40730b115e3aa7f744f6e0c72772c8a4f1872695
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 12:26:28 2012 +0200

    hso: avoid highly unlikely use of already unref-ed bearer

    In the connection sequence, we make sure that the Bearer object is
    valid by
    keeping a reference in the Dial3gppContext (actually, another one
    kept by the
    GSimpleAsyncResult as well). But we are considering here the case
    where the
    connection context is completed and freed by an unsolicited message
    handler
    before we get the reply to the AT command, so to properly ensure
    that the bearer
    object is still valid when we try to check if the context is in the
    priv struct,
    we need to keep an extra ref around.

 plugins/option/mm-broadband-bearer-hso.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 63a45f808260f3138b595bf9b250d2a212cb83d4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 12:24:13 2012 +0200

    hso: avoid trying to use an already freed context

    In the connection sequence, we keep the context in the private info
    of the
    Bearer object, so that we can complete and free it when we receive
    OWANCALL
    unsolicited messages. Now, the reply of the OWANCALL itself may
    get processed
    as an unsolicited message, so effectively we're processing and
    finishing the
    connection/disconnection context *before* we process the reply of
    the AT
    command.

    This patch ensures that we do not try to re-use the connection
    context after it
    has been processed by the unsolicited messages handler.

 plugins/option/mm-broadband-bearer-hso.c | 48
 ++++++++++++++++++++++----------
 1 file changed, 33 insertions(+), 15 deletions(-)

commit d065dd572b3abb5e76467abe1140bf2010fe6fbb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 20 11:58:55 2012 +0200

    icera: avoid trying to use an already freed context

    In both the connection and disconnection sequences, we keep the
    context in the
    private info of the Bearer object, so that we can complete and free
    it when we
    receive %IPDPACT unsolicited messages. Now, the reply of the %IPDPACT
    itself may
    get processed as an unsolicited message, so effectively we're
    processing and
    finishing the connection/disconnection context *before* we process
    the reply of
    the AT command.

    This patch ensures that we do not try to re-use the
    connection/disconnection
    context after it has been processed by the unsolicited messages
    handler.

 plugins/icera/mm-broadband-bearer-icera.c | 92
 +++++++++++++++++++++----------
 1 file changed, 64 insertions(+), 28 deletions(-)

commit e18778d815ffda24ac0f9a7b17dab3fdd22a575e
Author: Ben Chan <benchan@chromium.org>
Date:   Fri Jul 13 11:09:55 2012 -0700

    samsung: fix crash due to uninitialized GError variables

    BUG=chromium-os:32475
    TEST=emerge modemmanager-next

    Change-Id: I8dad924dae9a249c3b9235786226b7dd40bd8819

 plugins/samsung/mm-broadband-modem-samsung.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 3a28f660c5b60b1615f0c664bf16d5d3c69ed2a6
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 19 13:28:24 2012 -0500

    icera: fix timezone request AT command

    Actual command uses a *, not a %.  Must have been a typo when
    porting to the new MM since 0.6 uses a * too.

 plugins/icera/mm-iface-icera.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 8740f0b72f442a33caf91010a91f1454ed021fc2
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 19 13:23:12 2012 -0500

    trivial: comment spelling fix

 plugins/nokia/mm-broadband-modem-nokia.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6f3a83534cfd1e6ff6bd3aeff5b338a7d71db9eb
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 19 13:02:10 2012 -0500

    longcheer: implement unlock retries checking

 TODO                                             |  4 --
 plugins/longcheer/mm-broadband-modem-longcheer.c | 78
 ++++++++++++++++++++++++
 2 files changed, 78 insertions(+), 4 deletions(-)

commit 4e92b849affb87ceecf3f902449cef8b275932fd
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 19 12:16:48 2012 -0500

    hso: fix small error in unlock retries checking

    _OERCN only reports PIN and PUK, so we only check for two values.

 plugins/option/mm-broadband-modem-hso.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 32bc031ae6a8a76818bb0e8cf8f2ea5180c959a7
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 19 12:12:19 2012 -0500

    hso: implement unlock retries checking

 plugins/option/mm-broadband-modem-hso.c | 71
 +++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

commit b1ebf221829ae09821d1ea6effc25feb13bd0ba5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 17:51:47 2012 +0200

    TODO: add generic bearer improvements

 TODO | 6 ++++++
 1 file changed, 6 insertions(+)

commit cc095c9a94877a741d86c8cad6fedab3e66b8e1f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 16:05:56 2012 +0200

    samsung: plugin fully ported

 plugins/mm-modem-samsung-gsm.c | 722
 -----------------------------------------
 plugins/mm-modem-samsung-gsm.h |  47 ---
 plugins/mm-plugin-samsung.c    | 163 ----------
 plugins/mm-plugin-samsung.h    |  45 ---
 4 files changed, 977 deletions(-)

commit d820ca8f2726da56dfa27318bad65ea62281bbbe
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 15:58:36 2012 +0200

    samsung: use CFUN=4 for power down

 plugins/samsung/mm-broadband-modem-samsung.c | 28
 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

commit ef217c23b064a9d43e13bcd16aba4bd47d902e33
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 15:55:00 2012 +0200

    samsung: custom configuration for AT serial ports

 plugins/samsung/mm-broadband-modem-samsung.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit 5fcc8d16291fb4efbe70b69ca2ed6d7579403769
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 15:52:21 2012 +0200

    samsung: use Icera-based time loading

 plugins/samsung/mm-broadband-modem-samsung.c | 2 ++
 1 file changed, 2 insertions(+)

commit e70fea145e3c113a37e515d5511268dc8915c591
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 15:41:37 2012 +0200

    samsung: user Icera-based timezone loading

 plugins/icera/mm-iface-icera.c               | 12 ++++++++----
 plugins/samsung/mm-broadband-modem-samsung.c | 11 +++++++++++
 2 files changed, 19 insertions(+), 4 deletions(-)

commit 268db7fe0b29df8ab5962e8ebac89c6a0b3a9ebc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 11:35:26 2012 +0200

    samsung: minor coding style fixes

 plugins/samsung/mm-broadband-modem-samsung.c | 41
 +++++++++++++++++-----------
 1 file changed, 25 insertions(+), 16 deletions(-)

commit d8ae69e7d1c19fabffd4ef92e33f99ace12d491a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 11:31:58 2012 +0200

    samsung: use the generic Icera bearer

 plugins/Makefile.am                           |   4 +-
 plugins/samsung/mm-broadband-bearer-samsung.c | 551
 --------------------------
 plugins/samsung/mm-broadband-bearer-samsung.h |  61 ---
 plugins/samsung/mm-broadband-modem-samsung.c  |  60 +--
 4 files changed, 3 insertions(+), 673 deletions(-)

commit 8d651dd68eee23cf4c86a177a4359735414bd4fb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 09:11:09 2012 +0200

    samsung: use Icera-based unsolicited messages setup and access
    tech loading

 plugins/samsung/mm-broadband-modem-samsung.c | 301
 ++++++---------------------
 plugins/samsung/mm-broadband-modem-samsung.h |   2 -
 2 files changed, 59 insertions(+), 244 deletions(-)

commit 01e85aa1efe217a5ccc6c3627d1f2bf76388947b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 18 20:26:16 2012 +0200

    samsung: don't hardcode supported modes

    Don't try to implement supported modes loading if we're just
    hardcoding the
    values; the proper way would be to run the %IPSYS=? test command
    and parse
    the results.

 plugins/samsung/mm-broadband-modem-samsung.c | 31
 ----------------------------
 1 file changed, 31 deletions(-)

commit 4f0157cec4a25af4c6d34fa4fcbe7dd3aad39ef9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 18 19:46:25 2012 +0200

    samsung: use Icera-based allowed mode setting

 plugins/samsung/mm-broadband-modem-samsung.c | 87
 +---------------------------
 1 file changed, 2 insertions(+), 85 deletions(-)

commit f127afd402a0324eccd578254333f80fa5c46de6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 18 19:32:09 2012 +0200

    samsung: use Icera-based initial allowed mode loading

 plugins/samsung/mm-broadband-modem-samsung.c | 112
 +--------------------------
 1 file changed, 4 insertions(+), 108 deletions(-)

commit ae22a99dabd32770cac5808f8174001fd55adcdf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 18 19:29:57 2012 +0200

    samsung: implement the `MMIfaceIcera' interface

 plugins/Makefile.am                          |  3 ++-
 plugins/samsung/mm-broadband-modem-samsung.c | 10 +++++++++-
 2 files changed, 11 insertions(+), 2 deletions(-)

commit 6d6fc3bcde548d26697dce9b872f87731852d033
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 16:10:36 2012 +0200

    icera: plugin fully ported

 plugins/mm-modem-icera.c | 989
 -----------------------------------------------
 plugins/mm-modem-icera.h | 114 ------
 2 files changed, 1103 deletions(-)

commit 89834810ae7c789847d987e8f772e7e859fe0e10
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 16:09:50 2012 +0200

    icera: provide method to check Icera support

 plugins/icera/mm-iface-icera.c | 24 ++++++++++++++++++++++++
 plugins/icera/mm-iface-icera.h |  8 ++++++++
 2 files changed, 32 insertions(+)

commit 6c0f14132b8f6a12e8535cb95961eeb78cf8342f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 15:47:43 2012 +0200

    icera: implement network time retrieval

 plugins/icera/mm-iface-icera.c | 30 ++++++++++++++++++++++++++++++
 plugins/icera/mm-iface-icera.h |  7 +++++++
 2 files changed, 37 insertions(+)

commit a105ffa7b73b2e1f27b759e8c67dfec9a19c9b04
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 15:38:52 2012 +0200

    icera: implement timezone loading

 plugins/icera/mm-iface-icera.c | 90
 ++++++++++++++++++++++++++++++++++++++++++
 plugins/icera/mm-iface-icera.h | 11 ++++++
 2 files changed, 101 insertions(+)

commit 051b79cba3ad014a872ea4d1c96208173bcc9855
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 15:04:16 2012 +0200

    icera: try to gather extended connection failed reasons when
    reporting error

 plugins/icera/mm-broadband-bearer-icera.c | 50
 +++++++++++++++++++++++++++----
 1 file changed, 45 insertions(+), 5 deletions(-)

commit 7209a090332abd03899072743befe164d83a043d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 14:52:05 2012 +0200

    icera: implement IP config retrieval in the bearer

 plugins/icera/mm-broadband-bearer-icera.c | 192
 ++++++++++++++++++++++++++++++
 1 file changed, 192 insertions(+)

commit 4dbc213184a7add84d7a75a3bd6e01c13f3fbac8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 14:28:16 2012 +0200

    icera: implement modem reset

 plugins/icera/mm-iface-icera.c | 23 +++++++++++++++++++++++
 plugins/icera/mm-iface-icera.h |  8 ++++++++
 2 files changed, 31 insertions(+)

commit 5246a842caeb9bf2e39e286c388713e279c69efd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 11:28:01 2012 +0200

    icera: implement 3GPP disconnection

 plugins/icera/mm-broadband-bearer-icera.c | 169
 ++++++++++++++++++++++++++++++
 1 file changed, 169 insertions(+)

commit 4dc9d674d14a9a1eaffada2c02ab51b59613a202
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 10:39:58 2012 +0200

    icera: listen for %IPDPACT unsolicited messages and report connection
    status

 plugins/icera/mm-iface-icera.c | 88
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 88 insertions(+)

commit 35df0bfc743857d70c67f104bf21c608e2c56790
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 10:27:53 2012 +0200

    icera: implement 3GPP dialling

    The modem object needs to listen to unsolicited messages and report
    bearer
    connection status itself.

 plugins/icera/mm-broadband-bearer-icera.c | 400
 ++++++++++++++++++++++++++++++
 plugins/icera/mm-broadband-bearer-icera.h |  10 +
 2 files changed, 410 insertions(+)

commit fa6ea4258a5db51f4fd9d93e8a8649d5c20f9211
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 09:33:56 2012 +0200

    icera: new `MMBroadbandBearerIcera'

 plugins/Makefile.am                       |  4 +-
 plugins/icera/mm-broadband-bearer-icera.c | 84
 +++++++++++++++++++++++++++++++
 plugins/icera/mm-broadband-bearer-icera.h | 60 ++++++++++++++++++++++
 plugins/icera/mm-iface-icera.c            | 57 +++++++++++++++++++++
 plugins/icera/mm-iface-icera.h            |  8 +++
 5 files changed, 212 insertions(+), 1 deletion(-)

commit e8aa5d0f722c1c8b72a62307124b05b8f6e73c7b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 08:27:39 2012 +0200

    icera: ignore +PACSP unsolicited messages

 plugins/icera/mm-iface-icera.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit b4f20bfaca787e9c91417ae9ea578876858aa5d8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 08:13:20 2012 +0200

    icera: implement 3GPP unsolicited messages enabling/disabling

 plugins/icera/mm-iface-icera.c | 52
 +++++++++++++++++++++++++++++++++++++++++-
 plugins/icera/mm-iface-icera.h | 17 ++++++++++++++
 2 files changed, 68 insertions(+), 1 deletion(-)

commit 7163f4fe5fa2927e702a5d034e1852a03e5f4bf1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 18 21:13:58 2012 +0200

    icera: implement loading access technologies

 plugins/icera/mm-iface-icera.c | 69
 ++++++++++++++++++++++++++++++++++++++++++
 plugins/icera/mm-iface-icera.h |  9 ++++++
 2 files changed, 78 insertions(+)

commit 8ddd6e097d4980fadafd872c38551a39081c8293
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 18 20:58:46 2012 +0200

    icera: implement %NWSTATE unsolicited messages handling

 plugins/icera/mm-iface-icera.c | 153
 +++++++++++++++++++++++++++++++++++++++++
 plugins/icera/mm-iface-icera.h |   4 ++
 2 files changed, 157 insertions(+)

commit a47cbae678ae64b391f010f9f69247d9fedf35a2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 18 19:44:50 2012 +0200

    icera: implement allowed mode setting

 plugins/icera/mm-iface-icera.c | 101
 +++++++++++++++++++++++++++++++++++++++++
 plugins/icera/mm-iface-icera.h |   9 ++++
 2 files changed, 110 insertions(+)

commit b8310729ad94e024a0ce9217607fa6667e4735a2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 18 19:22:48 2012 +0200

    icera: implement initial allowed mode loading

 plugins/icera/mm-iface-icera.c | 78
 +++++++++++++++++++++++++++++++++++++++++-
 plugins/icera/mm-iface-icera.h | 12 +++++++
 2 files changed, 89 insertions(+), 1 deletion(-)

commit 2e8ede1a2970ae1108a6b4e4f75a7bcc6a15b7aa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jun 10 04:40:52 2012 +0200

    icera: add initial skeleton of the `MMIfaceIcera' interface

 plugins/Makefile.am            | 24 ++++++++---------
 plugins/icera/mm-iface-icera.c | 58
 ++++++++++++++++++++++++++++++++++++++++++
 plugins/icera/mm-iface-icera.h | 35 +++++++++++++++++++++++++
 3 files changed, 105 insertions(+), 12 deletions(-)

commit 9a068b4294b535de36f92c799dd94b28704ab336
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 18 18:44:12 2012 +0200

    samsung: port Bearer to use the 'config' property in the MMBearer
    class

    This saves us from requiring to implement user & password in all
    modems.

 plugins/samsung/mm-broadband-bearer-samsung.c | 164
 +++-----------------------
 plugins/samsung/mm-broadband-bearer-samsung.h |   6 +-
 2 files changed, 19 insertions(+), 151 deletions(-)

commit fc9a7dbbd971b14cc1ff56a61d2f8e90a0a55869
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 18 18:22:07 2012 +0200

    samsung: port plugin to the refactored probing logic

 plugins/samsung/mm-plugin-samsung.c | 72
 ++++++++++---------------------------
 plugins/samsung/mm-plugin-samsung.h |  6 ++--
 2 files changed, 22 insertions(+), 56 deletions(-)

commit 03a0fee4ff3443a441f1356edb71af22d9048f47
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun May 6 13:15:46 2012 +0200

    samsung: minor coding style fixes

 plugins/samsung/mm-broadband-bearer-samsung.c | 16 +++++++++-------
 plugins/samsung/mm-plugin-samsung.c           |  6 +++---
 2 files changed, 12 insertions(+), 10 deletions(-)

commit 6f814bb15afad3fc0a8490c7a8a7534a8d63c1f5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun May 6 13:08:22 2012 +0200

    samsung: plug memleak

    get_port() actually increases the refcount of the returned port,
    use peek_port()
    instead.

 plugins/samsung/mm-broadband-bearer-samsung.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit a80e620342a2e1f12d582dff95098e73566701b7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun May 6 13:07:41 2012 +0200

    samsung: fix typo, s/recieved/received

 plugins/samsung/mm-broadband-bearer-samsung.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit f15527eecde0b7349cccd6a2ea60d6999bc41e7a
Author: Nathan Williams <njw@chromium.org>
Date:   Wed Feb 22 16:48:39 2012 -0500

    samsung: plugin for Samsung Y3300/Y3400 UMTS modems based on the
    Icera/Nvidia chipset

 plugins/Makefile.am                           |   21 +-
 plugins/samsung/mm-broadband-bearer-samsung.c |  679 ++++++++++++++
 plugins/samsung/mm-broadband-bearer-samsung.h |   63 ++
 plugins/samsung/mm-broadband-modem-samsung.c  | 1179
 +++++++++++++++++++++++++
 plugins/samsung/mm-broadband-modem-samsung.h  |   50 ++
 plugins/samsung/mm-plugin-samsung.c           |  115 +++
 plugins/samsung/mm-plugin-samsung.h           |   47 +
 7 files changed, 2144 insertions(+), 10 deletions(-)

commit ea3652ef6313238e36d48f60e138271810eaea9e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 16 08:08:49 2012 +0200

    TODO: add task to give time to modems to settle down after PIN entry

 TODO | 3 +++
 1 file changed, 3 insertions(+)

commit 0bd8f5bc94abcc3134ce9446c31371014ffef442
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 11 11:36:31 2012 +0200

    pantech: expect QCDM ports

 plugins/pantech/mm-plugin-pantech.c | 1 +
 1 file changed, 1 insertion(+)

commit b96a50f42be86c21f5b4b0ea320b6568c9426c96
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 10 14:23:54 2012 +0200

    pantech: always prefer the ttyACM port as primary AT port

 plugins/pantech/mm-plugin-pantech.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit f4754e150ecf34380935d7eb1d39c55063574664
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 10 14:06:08 2012 +0200

    pantech: initial dummy plugin

 plugins/Makefile.am                 | 10 ++++-
 plugins/pantech/mm-plugin-pantech.c | 76
 +++++++++++++++++++++++++++++++++++++
 plugins/pantech/mm-plugin-pantech.h | 40 +++++++++++++++++++
 3 files changed, 125 insertions(+), 1 deletion(-)

commit aab85242851deddd097721d376b64116bc11953a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 06:36:04 2012 +0200

    x22x: plugin fully ported

 plugins/mm-modem-x22x-gsm.c | 267
 --------------------------------------------
 plugins/mm-modem-x22x-gsm.h |  45 --------
 plugins/mm-plugin-x22x.c    | 246
 ----------------------------------------
 plugins/mm-plugin-x22x.h    |  41 -------
 4 files changed, 599 deletions(-)

commit 14d482286ff80cd0b3bacd4ead3e7682b1146059
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 06:35:14 2012 +0200

    x22x: implement allowed mode loading and setting

 plugins/x22x/mm-broadband-modem-x22x.c | 167
 +++++++++++++++++++++++++++++++++
 1 file changed, 167 insertions(+)

commit d206bb045b2de6f835cdcce27625a96806ef21d8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 17:32:52 2012 +0200

    x22x: implement access technology loading

 plugins/x22x/mm-broadband-modem-x22x.c | 50
 +++++++++++++++++++++++++++++++++-
 1 file changed, 49 insertions(+), 1 deletion(-)

commit 2483eaecb537d52f2ee7425ceb2e72c56f972dad
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 17:28:41 2012 +0200

    x22x: new `MMBroadbandModemX22x' object

 plugins/Makefile.am                    |  4 ++-
 plugins/x22x/mm-broadband-modem-x22x.c | 60
 ++++++++++++++++++++++++++++++++++
 plugins/x22x/mm-broadband-modem-x22x.h | 49 +++++++++++++++++++++++++++
 plugins/x22x/mm-plugin-x22x.c          | 12 +++----
 4 files changed, 118 insertions(+), 7 deletions(-)

commit a74523feabab7b917f74318a4459c23275131359
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 17:24:56 2012 +0200

    x22x: start porting the X22X plugin

 plugins/Makefile.am                            |  21 +-
 plugins/{ => x22x}/77-mm-x22x-port-types.rules |   0
 plugins/x22x/mm-plugin-x22x.c                  | 274
 +++++++++++++++++++++++++
 plugins/x22x/mm-plugin-x22x.h                  |  42 ++++
 4 files changed, 326 insertions(+), 11 deletions(-)

commit 6a4ce68e401c612b9cd71a13620ab7e284a22569
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 17:06:30 2012 +0200

    TODO: add task for the PIN/PUK retries left loading in Longcheer
    modems

 TODO | 4 ++++
 1 file changed, 4 insertions(+)

commit 24446735274333b91c2710737fc6954d3f88d00b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 17:01:53 2012 +0200

    longcheer: plugin fully ported

 plugins/mm-modem-longcheer-gsm.c | 242
 ---------------------------------------
 plugins/mm-modem-longcheer-gsm.h |  45 --------
 2 files changed, 287 deletions(-)

commit 2a871db7ec58e5909553eb1dbf55f77444da55f9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 17:01:12 2012 +0200

    longcheer: implement allowed mode loading and setting

 plugins/longcheer/mm-broadband-modem-longcheer.c | 164
 +++++++++++++++++++++++
 1 file changed, 164 insertions(+)

commit f5d7605defc8cef51fca03c60e6e6ece3764b825
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 16:45:56 2012 +0200

    longcheer: implement access technology loading

 plugins/longcheer/mm-broadband-modem-longcheer.c | 50
 +++++++++++++++++++++++-
 1 file changed, 49 insertions(+), 1 deletion(-)

commit 1f9c3ef61e687658516a868ab3f92e596c0832cb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 16:30:30 2012 +0200

    longcheer: new `MMBroadbandModemLongcheer' object

 plugins/Makefile.am                              |  4 +-
 plugins/longcheer/mm-broadband-modem-longcheer.c | 60
 ++++++++++++++++++++++++
 plugins/longcheer/mm-broadband-modem-longcheer.h | 49 +++++++++++++++++++
 plugins/longcheer/mm-plugin-longcheer.c          | 12 ++---
 4 files changed, 118 insertions(+), 7 deletions(-)

commit 3fb5f1ae38cbcba50bc9a47613d4fee78f793524
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 16:26:52 2012 +0200

    longcheer: start porting the Longcheer plugin

 plugins/Makefile.am                                |  20 +-
 .../77-mm-longcheer-port-types.rules               |   0
 plugins/longcheer/mm-plugin-longcheer.c            | 277
 +++++++++++++++++++++
 plugins/{ => longcheer}/mm-plugin-longcheer.h      |   9 +-
 plugins/mm-plugin-longcheer.c                      | 259
 -------------------
 5 files changed, 292 insertions(+), 273 deletions(-)

commit 5b2c839dd9437f4845fea953c4c41d9d7951f9f0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 16 19:25:13 2012 +0200

    huawei: cache port mode results in the parent `MMDevice'

    This lets us skip the search for the `MMPortProbe' where we got
    the results.

 plugins/huawei/mm-plugin-huawei.c | 34 ++++++++++++++++------------------
 1 file changed, 16 insertions(+), 18 deletions(-)

commit e303e5c90d42d1d37dab6ef093d8b526e1e74586
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 16 18:38:59 2012 +0200

    huawei: plugin fully ported

 plugins/mm-modem-huawei-cdma.c | 304 --------------
 plugins/mm-modem-huawei-cdma.h |  47 ---
 plugins/mm-modem-huawei-gsm.c  | 922
 -----------------------------------------
 plugins/mm-modem-huawei-gsm.h  |  45 --
 plugins/mm-plugin-huawei.c     | 332 ---------------
 plugins/mm-plugin-huawei.h     |  42 --
 6 files changed, 1692 deletions(-)

commit dd7165610644be9a19106e3d61ff4e8a46fdb045
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 16 18:37:56 2012 +0200

    huawei: implement custom detailed CDMA registration state checks

 plugins/huawei/mm-broadband-modem-huawei.c | 155
 +++++++++++++++++++++++++++++
 1 file changed, 155 insertions(+)

commit ad3f3fe6a69731d5ba911a3729bae38f3a8c9006
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 16 18:18:50 2012 +0200

    huawei: do not run AT+CSS? in EV-DO capable devices

 plugins/huawei/mm-broadband-modem-huawei.c | 94
 ++++++++++++++++++++++++++++++
 1 file changed, 94 insertions(+)

commit e6d7885d7fc34722e459d7a4b3c55bb8680d2401
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 13 20:15:35 2012 +0200

    huawei: implement CDMA unsolicited signal change report handling

 plugins/huawei/mm-broadband-modem-huawei.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit a7f0a313e5eea4abb74db9b744ae73ce104e5c60
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 13 20:15:04 2012 +0200

    huawei: setup/cleanup unsolicited message handlers in the CDMA
    interface

 plugins/huawei/mm-broadband-modem-huawei.c | 157
 ++++++++++++++++++++++++++++-
 1 file changed, 156 insertions(+), 1 deletion(-)

commit 93cc9483bc4fbdafa18134efd0edb41c175c11d4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 12:36:47 2012 +0200

    huawei: allow grabbing QCDM ports

 plugins/huawei/mm-plugin-huawei.c | 1 +
 1 file changed, 1 insertion(+)

commit 5d38983d66234144ed56a1a3def10dd882120322
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 12:13:24 2012 +0200

    huawei: ignore unsolicited ^CSNR notifications

 plugins/huawei/mm-broadband-modem-huawei.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

commit 1c3644e4775696b5b68aa2b22fe51560751e9a40
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 12:00:12 2012 +0200

    TODO: add task to check messaging unsolicited messages in Huawei
    modems

 TODO | 5 +++++
 1 file changed, 5 insertions(+)

commit 87757029067aea382ad630c01363e733539fd27d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 11:32:38 2012 +0200

    huawei: implement custom USSD encode/decode methods

 plugins/huawei/mm-broadband-modem-huawei.c | 68
 +++++++++++++++++++++++++++++-
 1 file changed, 67 insertions(+), 1 deletion(-)

commit 5a5aa9b78969e5f46bcd14ea60bd56381576cdcd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 11:25:40 2012 +0200

    huawei: implement allowed mode getting/setting

 TODO                                       |   6 +
 plugins/huawei/mm-broadband-modem-huawei.c | 226
 ++++++++++++++++++++++++++++-
 2 files changed, 230 insertions(+), 2 deletions(-)

commit c0126531c5573f23ecb1b8b610067240c2c90d78
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 10:34:58 2012 +0200

    huawei: implement band loading/setting

 plugins/huawei/mm-broadband-modem-huawei.c | 216
 +++++++++++++++++++++++++++++
 1 file changed, 216 insertions(+)

commit 325ece6fe38dc24a4feea05632f79e2f4dc34cf2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 09:45:01 2012 +0200

    huawei: implement unlock retries loading

 plugins/huawei/mm-broadband-modem-huawei.c | 77
 ++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

commit 8c5f13a657414f400d5ab7c1deb15ee9a6ec64e3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 08:41:25 2012 +0200

    huawei: implement unsolicited messages enabling/disabling

 plugins/huawei/mm-broadband-modem-huawei.c | 155
 +++++++++++++++++++++++++++++
 1 file changed, 155 insertions(+)

commit 6f2fe89ef2f642e22cbea7539aef27bb76da56a0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 08:22:27 2012 +0200

    huawei: implement unsolicited 3GPP signal change report handling

 plugins/huawei/mm-broadband-modem-huawei.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 02cf87b149a44335259f4ec60da401cba2c53f52
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 08:10:19 2012 +0200

    huawei: implement access technology loading and update handling

 plugins/huawei/mm-broadband-modem-huawei.c | 162
 +++++++++++++++++++++++++++++
 1 file changed, 162 insertions(+)

commit 433c8fa85b67a8ba691876aebd7b92129be2986f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 07:35:36 2012 +0200

    huawei: report connection status statistics

 plugins/huawei/mm-broadband-modem-huawei.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit b25b7f91cb625c4a89e1322797b2fa03134ddc3c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 07:30:51 2012 +0200

    huawei: setup/cleanup unsolicited message handlers in the 3GPP
    interface

 plugins/huawei/mm-broadband-modem-huawei.c | 103
 ++++++++++++++++++++++++++++-
 1 file changed, 102 insertions(+), 1 deletion(-)

commit 98f28db6e3bae0c38bc6e0679317fb38eb6d9ece
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 07:22:46 2012 +0200

    huawei: setup handlers for unsolicited messages

    Initially all disabled.

 plugins/huawei/mm-broadband-modem-huawei.c | 132
 +++++++++++++++++++++++++++++
 plugins/huawei/mm-broadband-modem-huawei.h |   2 +
 2 files changed, 134 insertions(+)

commit 008beeedccf201c2e4f4438c26525bf9af71935d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 06:59:29 2012 +0200

    huawei: new `MMBroadbandModemHuawei' object

 plugins/Makefile.am                        |  4 +-
 plugins/huawei/mm-broadband-modem-huawei.c | 60
 ++++++++++++++++++++++++++++++
 plugins/huawei/mm-broadband-modem-huawei.h | 49 ++++++++++++++++++++++++
 plugins/huawei/mm-plugin-huawei.c          | 12 +++---
 4 files changed, 118 insertions(+), 7 deletions(-)

commit efe2228515bcc702ac1f510b91629288d8876ed7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 10:21:28 2012 +0200

    huawei: try to gather port layout while probing

    We will try to use usbif0 to gather the port layout with
    AT^GETPORTMODE.

 plugins/huawei/mm-plugin-huawei.c | 403
 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 401 insertions(+), 2 deletions(-)

commit f9a0aba08c928f3cfb45ba7d609c5446687196ed
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 06:54:47 2012 +0200

    huawei: start porting the Huawei plugin

 plugins/Makefile.am               | 22 ++++-----
 plugins/huawei/mm-plugin-huawei.c | 93
 +++++++++++++++++++++++++++++++++++++++
 plugins/huawei/mm-plugin-huawei.h | 42 ++++++++++++++++++
 3 files changed, 144 insertions(+), 13 deletions(-)

commit b8cc7c66ec4a8754902909b3d23d07462a881e6c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 13:07:26 2012 +0200

    device: don't create devices with 0 ports

    If for any reason we're requested to create a device with 0 ports,
    just return
    error.

 src/mm-device.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit da0226708a2ff8ec0fda82776b03ff02b626c9f5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 17 08:31:02 2012 +0200

    plugin: abort probing when the port has been released from the device

 src/mm-plugin.c | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

commit 68c276efc1d7c856f8ce9790f384ae485fcaad66
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 29 09:52:37 2012 +0200

    broadband-modem: new generic steps in
    initialization/enabling/disabling

    Instead of hardcoding the logic to decide which ports are open or
    closed in the
    different steps, we now let the subclasses of MMBroadbandModem to
    do that
    themselves.

    We now provide:

      * initialization_started() and initialization_stopped(): the generic
        implementation does the serial port open/close in these steps.

      * enabling_started(): the generic implementation does the serial
      port opening
        here. The serial ports are kept open as long the modem is in
        enabled state.

      * disabling_stopped(): the generic implementation does the serial
      port closing
        here.

 src/mm-broadband-modem.c | 436
 ++++++++++++++++++++++++++++++++++++++++++-----
 src/mm-broadband-modem.h |  24 +++
 src/mm-iface-modem.c     | 125 --------------
 3 files changed, 415 insertions(+), 170 deletions(-)

commit 3b1d3063ba9aacb6ecbb927de3f20bd938c45f55
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 15:35:55 2012 +0200

    manager: remove the MMDevice object when the last port of the device
    is released

 src/mm-manager.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 8ae87f5c38d0947adddc5cf4a82798d6663a3100
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 12 12:51:41 2012 +0200

    manager: fix removal of device from our HT of devices

 src/mm-manager.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit ff8a962d990c53a0e901a96df4fc01211e4d1962
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 13:25:20 2012 +0200

    port-probe: let us peek the `MMDevice' owning the probe from the
    probe itself

 src/mm-device.c     | 11 +++++++----
 src/mm-device.h     |  5 ++---
 src/mm-plugin.c     |  2 +-
 src/mm-port-probe.c | 44 +++++++++++++++++++++++++++++++++++++++++---
 src/mm-port-probe.h |  9 +++++++--
 5 files changed, 58 insertions(+), 13 deletions(-)

commit 1ca46cc0ec2fd407f3c70dcac11279dec4cc61d8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 12:40:55 2012 +0200

    plugins: use default port grabbing on those plugins without special
    requirements

 plugins/anydata/mm-plugin-anydata.c     | 15 --------------
 plugins/cinterion/mm-plugin-cinterion.c | 25 -----------------------
 plugins/generic/mm-plugin-generic.c     | 25 -----------------------
 plugins/gobi/mm-plugin-gobi.c           | 24 ----------------------
 plugins/iridium/mm-plugin-iridium.c     | 24 ----------------------
 plugins/linktop/mm-plugin-linktop.c     | 36
 ---------------------------------
 plugins/motorola/mm-plugin-motorola.c   | 24 ----------------------
 plugins/novatel/mm-plugin-novatel.c     | 22 --------------------
 plugins/wavecom/mm-plugin-wavecom.c     | 24 ----------------------
 9 files changed, 219 deletions(-)

commit b64f52cddc9dc1f49f167d010a8150671d0dd44a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 12:36:42 2012 +0200

    plugin: if no grab_port() method given, use the default one

 src/mm-plugin.c | 20 ++++++++++++++++----
 src/mm-plugin.h |  6 ++----
 2 files changed, 18 insertions(+), 8 deletions(-)

commit bfc3cb27e1ae798b6934bb85d7b2106dec556ae5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 12:26:22 2012 +0200

    device,plugin: let the `MMPlugin' API know about `MMDevice'

 src/mm-device.c         | 17 +++++++++--------
 src/mm-device.h         |  9 +++++----
 src/mm-plugin-manager.c | 12 +++++++-----
 src/mm-plugin.c         |  6 ++----
 src/mm-plugin.h         |  5 +++--
 5 files changed, 26 insertions(+), 23 deletions(-)

commit 884aa7f2eb944ed70c3aa33b41631aa7138f854d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 12:15:08 2012 +0200

    plugin-manager: simplify by iterating the list ourselves

 src/mm-plugin-manager.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

commit 9be646f274c431f55cf89cc9109a1c9a9c931537
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 12:12:01 2012 +0200

    plugin-manager: use a double-linked list for the plugin list

 src/mm-plugin-manager.c | 37 ++++++++++++++++++-------------------
 1 file changed, 18 insertions(+), 19 deletions(-)

commit 86f4923d7f69e7adcd488fb7085429b04dec3190
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 12:08:35 2012 +0200

    plugin: new method to compare plugins

    Instead of providing a method to get if a plugin is requesting to
    get sorted
    last, we provide a way to comparing two plugins, compatible with the
    GCompareFunc required in g_list_sort().

 src/mm-plugin-manager.c | 21 +--------------------
 src/mm-plugin.c         | 25 +++++++++++++++++++++----
 src/mm-plugin.h         |  5 +++--
 3 files changed, 25 insertions(+), 26 deletions(-)

commit 624a1e9087a7020824a94914d3989ebf00093c07
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 11:00:29 2012 +0200

    plugin: remove obsolete comment

 src/mm-plugin.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit 6e3d90e2a4cd0a5b863748b88ab67e959f47f0f6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 10:20:11 2012 +0200

    plugin: new `MM_PLUGIN_CUSTOM_INIT' property

    We let plugins execute some custom initialization in the ports,
    specified by
    a `MMAsyncMethod'.

 docs/reference/api/ModemManager-overview.xml | 14 ++++++++++
 src/mm-plugin.c                              | 38
 +++++++++++++++++++++++---
 src/mm-plugin.h                              |  1 +
 src/mm-port-probe.c                          | 40
 ++++++++++++++++++++++++++++
 src/mm-port-probe.h                          | 15 +++++++++++
 5 files changed, 104 insertions(+), 4 deletions(-)

commit d63570838be002b4e82d4753e3b137aced1bcfe0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 08:28:27 2012 +0200

    port-probe: fix typo in class definition

 src/mm-port-probe.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 79abe00221450b9076eb9bb9898ec347ad863348
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 08:26:38 2012 +0200

    core: new `MMAsyncMethod' boxed type

    Helps to bundle the async method implementation in a property.

 src/mm-private-boxed-types.c | 37 +++++++++++++++++++++++++++++++++++++
 src/mm-private-boxed-types.h |  7 +++++++
 2 files changed, 44 insertions(+)

commit f5fdf946c9a2eefb049155f476888742c5901643
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 07:03:56 2012 +0200

    plugin: new `MM_PLUGIN_FORBIDDEN_DRIVERS' property

    It allows plugins to specify whether they cannot support ports
    handled by
    specific drivers.

 docs/reference/api/ModemManager-overview.xml | 10 ++++--
 src/mm-plugin.c                              | 50
 ++++++++++++++++++++++------
 src/mm-plugin.h                              |  1 +
 3 files changed, 48 insertions(+), 13 deletions(-)

commit 1078b246b0ccea5a85dbef713c527e22c9cc64a2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 06:57:16 2012 +0200

    plugin: remove no longer used `MM_PLUGIN_SORT_LAST' property

    The behaviour previously handled by this property is now automatically
    handled.

 src/mm-plugin.h | 1 -
 1 file changed, 1 deletion(-)

commit 9b0f6c83f2e34620c99a7d3b2c945ef92314369a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 11 06:53:56 2012 +0200

    plugin: renamed `custom-init' property to `custom-at-probe'

    The `custom-at-probe' property is just to modify the way we check
    for AT port
    support.

 docs/reference/api/ModemManager-overview.xml | 50
 ++++++++++++----------------
 plugins/nokia/mm-plugin-nokia.c              |  6 ++--
 src/mm-plugin.c                              | 22 ++++++------
 src/mm-plugin.h                              |  2 +-
 src/mm-port-probe.c                          | 39 ++++++----------------
 src/mm-port-probe.h                          |  2 +-
 6 files changed, 47 insertions(+), 74 deletions(-)

commit 89b3c0132879157c16526ae7da1aa3cdefe64fe8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 15:26:04 2012 +0200

    port-probe: setup the port object as a property

 src/mm-port-probe.c | 74
 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 src/mm-port-probe.h |  3 +++
 2 files changed, 71 insertions(+), 6 deletions(-)

commit 055b56306ab194910416f5358ef7454a53bdfc59
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 15:11:57 2012 +0200

    port-probe: no need to keep our internal copies of subsys/name

 src/mm-port-probe.c | 128
 ++++++++++++++++++++++++++++++++--------------------
 1 file changed, 78 insertions(+), 50 deletions(-)

commit 4a85707b09e2fffbae36f8a3320366f5cc869595
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 15:07:36 2012 +0200

    port-probe: no need to keep neither physdev path nor driver

 src/mm-device.c     |  4 +---
 src/mm-port-probe.c | 26 +-------------------------
 src/mm-port-probe.h |  6 +-----
 3 files changed, 3 insertions(+), 33 deletions(-)

commit a5560bef3d46c60acb05c4c3d94ca76c8d52df2c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 15:01:22 2012 +0200

    port-probe: don't warn if requesting info which wasn't probed

 src/mm-port-probe.c | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

commit a8bc1909e4e2aa369efbccd97737c087927f5b78
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 13:27:31 2012 +0200

    plugin: setup a `priv' opaque pointer for the internal data

    G_TYPE_INSTANCE_GET_PRIVATE() is really slow, so try to call it as
    less as
    possible.

 src/mm-plugin.c | 196
 ++++++++++++++++++++++++++++----------------------------
 src/mm-plugin.h |   2 +
 2 files changed, 99 insertions(+), 99 deletions(-)

commit a31560216672b08f27cb93798478f49e31fb6298
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 13:18:21 2012 +0200

    plugin: no need to have our own `GUdevClient'

 src/mm-plugin.c | 7 -------
 1 file changed, 7 deletions(-)

commit 1e9c6772ce674606b2e999baf9e9b7a3b25bb862
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 13:14:31 2012 +0200

    plugin: no need to take care of probing tasks ourselves

 src/mm-plugin.c | 55
 +------------------------------------------------------
 1 file changed, 1 insertion(+), 54 deletions(-)

commit cf48d3daa790a57bd003e6488baf936ec186caee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 13:14:13 2012 +0200

    plugin: don't provide an additional method to cancel the probing

    We'll do it with a GCancellable.

 src/mm-plugin.c | 20 --------------------
 src/mm-plugin.h |  3 ---
 2 files changed, 23 deletions(-)

commit d84cecac99fa0b06ade470d093932ae97c72fe4b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 13:11:01 2012 +0200

    plugin: don't use internal task list to cancel AT probing in other
    probes

 src/mm-plugin.c | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

commit 61e285497cd61f4b7620d3def3d63a01dc150b59
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 13:03:42 2012 +0200

    port-probe-cache: removed, no longer needed

    The `MMDevice' acts as port probe cache for us now, directly storing
    all port
    probes of the same device.

 src/Makefile.am           |  2 --
 src/mm-manager.c          |  6 ----
 src/mm-plugin.c           |  4 +--
 src/mm-port-probe-cache.c | 87
 -----------------------------------------------
 src/mm-port-probe-cache.h | 31 -----------------
 5 files changed, 1 insertion(+), 129 deletions(-)

commit 9d14e4e8e9f2c4c15016a62ab5a3aadddaf08312
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 12:59:01 2012 +0200

    device: get vendor/product IDs

    And don't do it in MMPlugin.

 src/mm-device.c | 106 ++++++++++++++++++++++++++++++++++++++++++--
 src/mm-device.h |   2 +
 src/mm-plugin.c | 133
 +++++---------------------------------------------------
 3 files changed, 115 insertions(+), 126 deletions(-)

commit 74dd7246697bb086c92fcdea93b26966fecc7fa5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 12:41:00 2012 +0200

    plugin: simplify interface by passing around the device and/or
    port objects

 src/mm-device.c         |   2 +-
 src/mm-plugin-manager.c |   6 +-
 src/mm-plugin.c         | 159
 +++++++++++++++++-------------------------------
 src/mm-plugin.h         |   8 +--
 4 files changed, 61 insertions(+), 114 deletions(-)

commit b816887cace031b1b5fc33818fba9b513850f5b6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 12:40:04 2012 +0200

    port-probe: use dispose() to cleanup internal object references

 src/mm-port-probe.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

commit 87c2c8632e73a5e128c8b47a958e02fb809618c9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 12:39:43 2012 +0200

    port-probe: new method to check if there is an AT port in a list
    of probes

 src/mm-port-probe.c | 13 +++++++++++++
 src/mm-port-probe.h |  3 +++
 2 files changed, 16 insertions(+)

commit b791e87b23b3cbfdad53edf1129a1428b14c191c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 12:11:52 2012 +0200

    device: keep a list of port probes instead of just ports

 src/mm-device.c | 111
 ++++++++++++++++++++++++++++++++++++++------------------
 src/mm-device.h |   7 ++++
 src/mm-plugin.c |  31 +++-------------
 src/mm-plugin.h |   2 +-
 4 files changed, 89 insertions(+), 62 deletions(-)

commit a9075b0c09eb999eb64fda70154e055a9d0edb1d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 11:48:02 2012 +0200

    port-probe: rename _get_port() to _peek_port() as there is no
    ownership transfer

 plugins/linktop/mm-plugin-linktop.c | 2 +-
 plugins/nokia/mm-plugin-nokia.c     | 2 +-
 plugins/option/mm-plugin-hso.c      | 2 +-
 plugins/option/mm-plugin-option.c   | 2 +-
 plugins/simtech/mm-plugin-simtech.c | 2 +-
 src/mm-port-probe.c                 | 2 +-
 src/mm-port-probe.h                 | 2 +-
 7 files changed, 7 insertions(+), 7 deletions(-)

commit e5e46f489e9d89bdecb4c4948b0d9627e33555cc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 11:15:23 2012 +0200

    core: merge `MMPluginBase' and `MMPlugin'

    There's no real point in maintaining a separate `MMPlugin' interface,
    as all the
    plugins will inherit from `MMPluginBase', so just merge them and
    simplify
    everything.

 TODO                                         |    4 -
 docs/reference/api/ModemManager-overview.xml |   74 +-
 plugins/anydata/mm-plugin-anydata.c          |   24 +-
 plugins/anydata/mm-plugin-anydata.h          |    6 +-
 plugins/cinterion/mm-plugin-cinterion.c      |   24 +-
 plugins/cinterion/mm-plugin-cinterion.h      |    6 +-
 plugins/generic/mm-plugin-generic.c          |   22 +-
 plugins/generic/mm-plugin-generic.h          |    5 +-
 plugins/gobi/mm-plugin-gobi.c                |   24 +-
 plugins/gobi/mm-plugin-gobi.h                |    7 +-
 plugins/iridium/mm-plugin-iridium.c          |   26 +-
 plugins/iridium/mm-plugin-iridium.h          |    6 +-
 plugins/linktop/mm-plugin-linktop.c          |   22 +-
 plugins/linktop/mm-plugin-linktop.h          |    6 +-
 plugins/motorola/mm-plugin-motorola.c        |   22 +-
 plugins/motorola/mm-plugin-motorola.h        |    6 +-
 plugins/nokia/mm-plugin-nokia.c              |   24 +-
 plugins/nokia/mm-plugin-nokia.h              |    6 +-
 plugins/novatel/mm-plugin-novatel.c          |   22 +-
 plugins/novatel/mm-plugin-novatel.h          |    6 +-
 plugins/option/mm-plugin-hso.c               |   24 +-
 plugins/option/mm-plugin-hso.h               |    6 +-
 plugins/option/mm-plugin-option.c            |   26 +-
 plugins/option/mm-plugin-option.h            |    6 +-
 plugins/simtech/mm-plugin-simtech.c          |   24 +-
 plugins/simtech/mm-plugin-simtech.h          |    6 +-
 plugins/wavecom/mm-plugin-wavecom.c          |   22 +-
 plugins/wavecom/mm-plugin-wavecom.h          |    6 +-
 src/Makefile.am                              |    4 +-
 src/mm-plugin-base.c                         | 1138
 --------------------------
 src/mm-plugin-base.h                         |   79 --
 src/mm-plugin.c                              | 1116
 +++++++++++++++++++++++--
 src/mm-plugin.h                              |  137 ++--
 33 files changed, 1352 insertions(+), 1584 deletions(-)

commit 7e9d3e4b685f0e92979af2f595be6cd336b5dbd6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 10:44:14 2012 +0200

    plugin-base: method to get device IDs doesn't need to be public

    Given the new pre-probing filters, the IDs are no longer retrieved
    by the
    plugins.

 src/mm-plugin-base.c | 16 ++++++++--------
 src/mm-plugin-base.h |  5 -----
 2 files changed, 8 insertions(+), 13 deletions(-)

commit aaa487094e140583c4e652c8f59e38431d77b865
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 10:24:58 2012 +0200

    plugin-manager: simplify device/port probing logic

    The plugin manager no longer needs to take care of keeping track of
    which probes
    are being run and to which physical device they correspond, as the
    upper layer's
    `MMDevice' already does this. This simplifies the internal logic
    quite a lot, as
    we can now easily suggest plugins to the remaining port probes of
    the same
    device directly.

 src/mm-plugin-manager.c | 742
 ++++++++++++++++++------------------------------
 1 file changed, 271 insertions(+), 471 deletions(-)

commit a1ffbdf1c8fef089e8c114649ed2161bab2aaaa6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 08:39:28 2012 +0200

    plugin-manager: find port support is now only an internal operation

 src/mm-plugin-manager.c | 41 +++++++++++++++++++++++------------------
 src/mm-plugin-manager.h | 14 --------------
 2 files changed, 23 insertions(+), 32 deletions(-)

commit c1c3702f5336b7e759afc7d8b51a7422b18098ed
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 08:35:47 2012 +0200

    plugin-manager: remove unneeded methods

    We no longer need to query the plugin manager whether we're checking
    support for
    a specific port, as the ports are now grabbed only once in the
    MMDevice, and
    therefore we ensure that supports check is launched only once in the
    PluginManager for that specific port.

    Also, we no longer need to query the plugin manager whether we're
    checking
    support for a given device, as the logic to check when all ports of
    the device
    are probed is now maintained internally.

 src/mm-plugin-manager.c | 50
 -------------------------------------------------
 src/mm-plugin-manager.h | 13 -------------
 2 files changed, 63 deletions(-)

commit b35d6a65faff87c6cb96bdda4fee5cc270be4f6f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 08:29:14 2012 +0200

    plugin-manager: define a minimum probing time of 2s

    Effectively, we're now letting the kernel up to 2s to show all the
    ports of the
    device, starting from the time where the first port is exposed.

 src/mm-plugin-manager.c | 50
 ++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 41 insertions(+), 9 deletions(-)

commit e8339385da87665befd36c7041b2ab334883130e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 08:15:29 2012 +0200

    manager: use the new method to check support of a given full device

 src/mm-manager.c | 202
 +++++++++++++++++--------------------------------------
 1 file changed, 61 insertions(+), 141 deletions(-)

commit 5b4abce64afc2987a12a80ba86277d4b5fb53cc4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 08:14:32 2012 +0200

    plugin-manager: new method to check support for a given device and
    all its ports

    The new `mm_plugin_manager_find_device_support()' will be an async
    method which
    waits for ports to be added in the given `MMDevice'. As soon as all
    added ports
    are probed, the device support check is considered finished.

 src/mm-plugin-manager.c | 185
 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-plugin-manager.h |  21 ++++--
 2 files changed, 202 insertions(+), 4 deletions(-)

commit 3daed5130fcbbf958c61274199001bd9aa307fbb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 08:12:40 2012 +0200

    plugin-base: don't assume a plugin will give as supported all ports
    of the device

    E.g. the Generic plugin will give as unsupported 'net' ports found
    in the
    device, as it doesn't know how to use them.

 src/mm-plugin-base.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit 66ec5cd724ca82d4b0ad538f0d196833e88624e5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 07:09:36 2012 +0200

    device: signal grabbed/released ports

 src/mm-device.c | 38 ++++++++++++++++++++++++++++++++------
 src/mm-device.h |  9 +++++++++
 2 files changed, 41 insertions(+), 6 deletions(-)

commit 72ffa7a1e5e5cb45efa165d44467a32cf60fc52f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 07:07:56 2012 +0200

    device: load driver being used when first port grabbed

 src/mm-device.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-device.h |  1 +
 2 files changed, 51 insertions(+)

commit 7b7f5b9dcb0b3cde4adc8e615ee6ee3fb01b9a80
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 07:03:08 2012 +0200

    device: keep sysfs path around for logging

 src/mm-device.c | 19 +++++++++++++++++++
 src/mm-device.h |  1 +
 2 files changed, 20 insertions(+)

commit 0aff871b04b76ca45aa9afbf7f1c88cb65c0e80d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 10 07:00:46 2012 +0200

    device: split `MMDevice' creation and plugin setting

    We want to be able to create the MMDevice way before we have
    decided which
    plugin to use.

 src/mm-device.c  | 21 +++++++++++++++------
 src/mm-device.h  |  5 +++--
 src/mm-manager.c |  4 ++--
 3 files changed, 20 insertions(+), 10 deletions(-)

commit 815693661c7f6a4225d271d2cec67e59bad8e070
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 5 15:25:38 2012 +0200

    core: compile all ports before creating the modem object

    Before this, we only exported the modem to DBus when all ports
    were organized,
    in order to make sure that we select as primary port the one we
    really want and
    not the first AT port grabbed. Given that to get all the ports
    organized we also
    needed to wait to get all the ports grabbed, we can now also defer
    the creation
    of the modem object until all the ports get grabbed. This allows us
    to create
    different types of objects based on the ports available (e.g. we
    can now create
    QMI-supported modem objects if we see a QMI port around).

 include/ModemManager-errors.h           |   2 +
 plugins/Makefile.am                     |   2 +-
 plugins/anydata/mm-plugin-anydata.c     |  60 ++--
 plugins/cinterion/mm-plugin-cinterion.c |  61 ++--
 plugins/generic/mm-plugin-generic.c     |  80 ++----
 plugins/gobi/mm-plugin-gobi.c           |  63 ++---
 plugins/iridium/mm-plugin-iridium.c     |  65 ++---
 plugins/linktop/mm-plugin-linktop.c     |  64 ++---
 plugins/motorola/mm-plugin-motorola.c   |  63 ++---
 plugins/nokia/mm-plugin-nokia.c         |  73 ++---
 plugins/novatel/mm-plugin-novatel.c     |  58 ++--
 plugins/option/mm-plugin-hso.c          |  57 ++--
 plugins/option/mm-plugin-option.c       |  63 ++---
 plugins/simtech/mm-plugin-simtech.c     |  61 ++--
 plugins/wavecom/mm-plugin-wavecom.c     |  62 ++--
 src/Makefile.am                         |   2 +
 src/mm-device.c                         | 413 +++++++++++++++++++++++++++
 src/mm-device.h                         |  74 +++++
 src/mm-manager.c                        | 486
 +++++++++++---------------------
 src/mm-plugin-base.c                    |  98 +++++--
 src/mm-plugin-base.h                    |  17 +-
 src/mm-plugin.c                         |  15 +-
 src/mm-plugin.h                         |  23 +-
 23 files changed, 1095 insertions(+), 867 deletions(-)

commit 4add521a98e59c9fbaaf30d965771ca01f748242
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 2 10:40:33 2012 +0200

    build: remove duplicate `--with-docs' switch

 configure.ac | 8 --------
 1 file changed, 8 deletions(-)

commit 0336b8f89d83998323643e5db8478590f310c256
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Aug 2 09:23:16 2012 +0200

    iface-modem: don't process signal/act updates if interface is
    shut down

    When the interface is shut down the skeleton object no longer
    exists. Given that
    we're allowing this actions from outside the interface, we should
    be safe and
    don't assume that the caller knows exactly the state of the interface.

 src/mm-iface-modem.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

commit b320f5c065e634a7fd2f98accafa164a1ccd8e1b
Author: Ben Chan <benchan@chromium.org>
Date:   Wed Aug 1 11:53:06 2012 -0700

    iface-modem: fix crashes due to removed context

 src/mm-iface-modem.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

commit 0ff904b3c501969d953c05834d897211b92a1324
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 31 09:16:07 2012 +0200

    bearer: set state as DISCONNECTING as soon as we cancel the connection
    sequence

    Just when we request to cancel the connection we need to set the
    bearer as
    being disconnected, so that we do not end up overwriting connection
    cancellation
    requests.

    Reported by: Thieu Le <thieule@chromium.org>

 src/mm-bearer.c | 3 +++
 1 file changed, 3 insertions(+)

commit 737b6c2fc5d576c744aa7e5bb70b171bf3271e6f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jul 31 09:02:58 2012 +0200

    cli,libmm-glib: provide mm_manager_(peek|get)_proxy()

    peek() doesn't increase the reference count of the proxy object,
    while get()
    does it.

 cli/mmcli-manager.c     |  4 ++--
 libmm-glib/mm-manager.c | 18 ++++++++++++++++--
 libmm-glib/mm-manager.h |  3 ++-
 3 files changed, 20 insertions(+), 5 deletions(-)

commit 60405ce4ff5cc8ce7d8116b2387add00465dbd49
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 30 16:46:25 2012 -0700

    cli,libmm-glib: set default timeout on manager DBus proxy

    This patch fixes mmcli to set the default timeout on the manager proxy
    interface (MmGdbusOrgFreedesktopModemManager1) instead of MMManager
    itself. The later is not a GDBusProxy object.

 cli/mmcli-manager.c     |  4 ++--
 libmm-glib/mm-manager.c | 14 ++++++++++++++
 libmm-glib/mm-manager.h |  2 ++
 3 files changed, 18 insertions(+), 2 deletions(-)

commit a448eabb3d8c238f1f734e233edd0ca9b49b2d60
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 09:31:30 2012 +0200

    iface-modem: SIM-PIN2 lock takes us to disabled state, not locked

 src/mm-iface-modem.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 8d31e79ac42a5a7df8fbef10cc5454f5a69515f0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 26 09:28:06 2012 +0200

    sim: getting SIM-PIN2 lock doesn't mean PIN sending failed

 src/mm-sim.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 05289d094b8068dca147a5a43073f544578d49bb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 25 12:00:28 2012 +0200

    iface-modem-3gpp: fix variant ref count

 src/mm-iface-modem-3gpp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 75d84b7402e61f8d793f876775be9623f842d43a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 25 10:41:09 2012 +0200

    cli: get AT command timeout directly from our default operation
    timeout

    We remove the `--command-timeout' option, as the AT command timeout
    is now
    directly computed from our default DBus timeout (modifiable with
    `--timeout').

 cli/mmcli-modem.c | 39 ++++++++++++++++++++++++++++++---------
 1 file changed, 30 insertions(+), 9 deletions(-)

commit 8b863c5a4bd03a6b8ff668e25f750b51bc19ddbe
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 25 10:15:38 2012 +0200

    libmm-glib: don't change default DBus timeout when running
    Modem.Command()

    Just warn if the default DBus timeout is shorter than the one being
    requested.

 libmm-glib/mm-modem.c | 26 ++++++++++----------------
 1 file changed, 10 insertions(+), 16 deletions(-)

commit 8f8bcd7724e8c75cf7e0460946c04624ce6ed46a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 25 10:04:20 2012 +0200

    cli: allow modifying default DBus timeout with `--timeout'

    By default 30s will be used for every operation.

 cli/mmcli-manager.c         |  6 ++++++
 cli/mmcli-modem-3gpp.c      | 12 ++++++++++++
 cli/mmcli-modem-cdma.c      |  8 ++++++++
 cli/mmcli-modem-location.c  |  8 ++++++++
 cli/mmcli-modem-messaging.c |  8 ++++++++
 cli/mmcli-modem-simple.c    |  8 ++++++++
 cli/mmcli-modem-time.c      |  8 ++++++++
 cli/mmcli-modem.c           | 16 ++++++++++++++++
 cli/mmcli-sim.c             |  6 ++++++
 cli/mmcli-sms.c             |  5 +++++
 cli/mmcli.c                 | 11 +++++++++++
 cli/mmcli.h                 |  7 ++++---
 12 files changed, 100 insertions(+), 3 deletions(-)

commit 8a34e417943df90f6b43a0de08550def557c7db7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 25 10:01:41 2012 +0200

    cli: fix showing CDMA related info in sync mode

 cli/mmcli-modem.c | 1 +
 1 file changed, 1 insertion(+)

commit 001f35234e16d7aeb2ed1282ba3b57aea73c5a9e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 25 09:25:18 2012 +0200

    cli: ensure modem is enabled when performing actions

    Don't rely on the lock status, as the modem may say it requires SIM
    PIN 2, but
    we're allowed to run most operations even with that unlock required.

 cli/mmcli-modem-3gpp.c      | 4 ++--
 cli/mmcli-modem-cdma.c      | 4 ++--
 cli/mmcli-modem-location.c  | 4 ++--
 cli/mmcli-modem-messaging.c | 4 ++--
 cli/mmcli-modem-time.c      | 4 ++--
 5 files changed, 10 insertions(+), 10 deletions(-)

commit c6c1e0fb50569b9eafd92ba170a8dba42c4948be
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 14:36:32 2012 +0200

    broadband-modem: fallback to unencoded command in USSD if encoded
    fails

 src/mm-broadband-modem.c | 173
 +++++++++++++++++++++++++++++++++++++----------
 1 file changed, 139 insertions(+), 34 deletions(-)

commit 19e65253de194c8e6cdf1d1846729e2d778cf7ef
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 11:52:45 2012 +0200

    broadband-bearer: debug logs when disconnecting 3GPP bearer

 src/mm-broadband-bearer.c | 5 +++++
 1 file changed, 5 insertions(+)

commit aa11a0bf7d334bf8fa766f4f74935ebb970bcaf0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 11:33:18 2012 +0200

    broadband-modem: assume CS if 2G supported

 src/mm-broadband-modem.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 79fbe274e92605f7d31de3e4588dd4848bc6e797
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 00:21:07 2012 +0200

    iface-modem: new async method to be run just after the successful
    SIM unlock

 src/mm-iface-modem.c | 33 +++++++++++++++++++++++++++++++--
 src/mm-iface-modem.h |  9 +++++++++
 2 files changed, 40 insertions(+), 2 deletions(-)

commit 2aceb907f4b1bc892874627f94586deff6c6808e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 13:29:51 2012 +0200

    mm-broadband-modem: fix result completion on hex encoding errors

 src/mm-broadband-modem.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

commit 9670b362bf1a058a8ecea818530f29df166f1027
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 13:30:27 2012 +0200

    mm-broadband-modem: fix USSD command sending, don't use cached
    AT replies

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ea10c57056996dcc888444a5386d4cfe43b94950
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 13:17:05 2012 +0200

    broadband-modem: cancel pending USSD request if USSD session cancelled

 src/mm-broadband-modem.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit ce33bcfd7a2389a1d7255991afd0383eff763c53
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 13:08:56 2012 +0200

    iface-modem-3gpp-ussd: set proper initial session state

 src/mm-iface-modem-3gpp-ussd.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 89cdb8819a1427c371b6f307608bcac6c12b5a12
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 12:59:47 2012 +0200

    iface-modem-3gpp-ussd: don't allow USSD actions if the modem is
    not enabled

 src/mm-iface-modem-3gpp-ussd.c | 61
 +++++++++++++++++++++++++++++++++++++++---
 1 file changed, 58 insertions(+), 3 deletions(-)

commit dd8dcbb899c27041f856ecdb633ed0aa0db6442b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jul 22 11:14:41 2012 +0200

    messaging: don't treat as fatal error if we cannot read from a
    given storage

 src/mm-iface-modem-messaging.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit 2146553c5971e55ae0544852b6be4389e7590334
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jul 21 17:12:45 2012 +0200

    broadband-bearer: fix missing method

    It was wrongly removed in commit
    2506e3093e9cc47bc03e34b0dd9c58c13469aec5.

 src/mm-broadband-bearer.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 9f5dd85d968006c6bb4326fbcf3ca0ac82ffbebb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jul 21 16:20:31 2012 +0200

    doc: include missing description of the new LTE bands

 include/ModemManager-enums.h | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

commit 3653ec4b8e32bf856937ba49faaa982bdf774594
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 16:04:26 2012 +0200

    broadband-modem: send always ATZ alone

    ITU rec v.250 (6.1.1) says:
      The DTE should not include additional commands on the same command
      line after
      the Z command because such commands may be ignored.

 src/mm-broadband-modem.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

commit b30011005512eddccf8022ba60aa17312289acd3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 14:52:39 2012 +0200

    hso: use common integer string parsers

 plugins/option/mm-broadband-bearer-hso.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

commit 487cd29d8bdae22af6c2ee897615279e92f77eb7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 10:41:50 2012 +0200

    hso: unsolicited %IPDPACT may come before the AT command reply

 plugins/option/mm-broadband-bearer-hso.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

commit c63f42a20cc26fb89bfbe5d14e9b2b4437f41102
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 10:41:09 2012 +0200

    hso: plug memleak when finishing dialling with error

 plugins/option/mm-broadband-bearer-hso.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit b43ee56d067fae90809776b388a1fa335f508796
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jul 19 10:40:25 2012 +0200

    hso: fix cid to report to

 plugins/option/mm-broadband-modem-hso.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e7715af875eb26517ae63e6e1db784b903da702e
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jul 17 15:49:05 2012 -0500

    serial: fix AT port carriage return handling

    Off-by-one, fix it.

 src/mm-at-serial-port.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2506e3093e9cc47bc03e34b0dd9c58c13469aec5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 18 14:46:51 2012 +0200

    api,header: add LTE specific bands in `MMModemBand'

 include/ModemManager-enums.h | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

commit d25f767559a9e558546c991cee1cb5ecdf037aec
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 18 14:46:24 2012 +0200

    api,header: fix description of `MMModemBand'

    It was a bitmask once...

 include/ModemManager-enums.h | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit f08c76f00cc52e672af8515440067b223e045a0c
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jul 17 11:58:35 2012 -0500

    decode: handle another UsbSnoop URB function

 decode/packet.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 717977d0b5202c1d0a8cf2a16ae0500cc049a821
Author: Ben Chan <benchan@chromium.org>
Date:   Mon Jul 16 22:23:55 2012 -0700

    iface-modem-messaging: check if supported storage is allocated
    before use

    load_supported_storages may fail, which results in unallocated storage
    memory. This patch modifies load_initial_sms_parts_from_storages and
    is_storage_supported to handle that gracefully.

 src/mm-iface-modem-messaging.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

commit 431b6a0fc5da7e2c339f30b4993fa78bd83cbbe9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 16 08:34:01 2012 +0200

    broadband-modem: remove `USE_WS46' property

    3GPP modems will all try to use AT+WS46=? by default to gather
    supported modes.

 plugins/cinterion/mm-broadband-modem-cinterion.c |  1 -
 plugins/novatel/mm-broadband-modem-novatel.c     |  1 -
 src/mm-broadband-modem.c                         | 20
 --------------------
 src/mm-broadband-modem.h                         |  2 --
 4 files changed, 24 deletions(-)

commit 7ce65fe85d7a66cce1c4a507afe9968d811304c5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jul 16 07:43:10 2012 +0200

    broadband-modem: try to guess more specific 2G/3G/4G mode support

    For 3GPP modems, we'll try with AT+WS46=?, which is the standard
    command to
    query supported networks. If it returns error, we'll fallback to
    the defaults.

    For CDMA modems, we'll try to gather CDMA1x and/or EV-DO support
    directly from
    the AT+GCAP response.

 src/mm-broadband-modem.c | 332
 ++++++++++++++++++++++++++++++-----------------
 1 file changed, 214 insertions(+), 118 deletions(-)

commit f4ad5c805e9368babc126b92be89df0de431e830
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 13 19:07:56 2012 +0200

    iface-modem-cdma: new steps to setup/cleanup unsolicited messages

 src/mm-iface-modem-cdma.c | 90
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-cdma.h | 16 +++++++++
 2 files changed, 106 insertions(+)

commit 209f4d4420d531cf56fa7691977869bdd02a2d15
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jul 13 09:09:15 2012 +0200

    iface-modem-[3gpp|cdma]: remove contexts with timeouts when shutting
    down

    Following the same logic as in commit 9ddcf92a, those contexts in
    the interface
    which contain the setup of a timeout are cleared before removing
    the DBus
    skeleton objects, so that we make sure they are not fired out once
    these have
    been disposed.

 src/mm-iface-modem-3gpp.c | 8 ++++++++
 src/mm-iface-modem-cdma.c | 8 ++++++++
 2 files changed, 16 insertions(+)

commit 9ddcf92a18f94e4d4e38c2807311ad8518b5e9a7
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 12 14:12:52 2012 -0700

    iface-modem: fix crashes due to removed skeleton

    expire_signal_quality() / mm_iface_modem_update_access_technologies()
    may be called after the DBus object skeleton is removed in
    mm_iface_modem_shutdown() and before their associated timeout
    source is
    removed (in *_context_free) due to destruction of the modem object.

    This patch fixes the issue by removing context objects before removing
    the DBus skeleton in mm_iface_modem_shutdown().

 src/mm-iface-modem.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

commit 0519af932e5306ecb6c7ae7c37bc11ab1ffbd73f
Author: Ben Chan <benchan@chromium.org>
Date:   Thu Jul 12 08:28:16 2012 -0700

    port-probe: fix crash in serial_probe_at_parse_response due to
    NULL response

    When the serial port is not open, internal_queue_command
    (mm-serial-port.c) invokes serial_probe_at_parse_response
    (mm-port-probe.c) with a NULL response. This patch modifies
    serial_probe_at_parse_response to handle NULL response properly.

 src/mm-port-probe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 107c78306ef9ff32dc0b3434cb0aa064df8f2233
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 29 13:28:59 2012 +0200

    cli: fix showing revision when not multiline

 cli/mmcli-common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 513abb2ccfe7215cf1195ec786f8d2e28533f7f2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jun 27 15:38:28 2012 +0200

    polkit: fix authority object disposal

 src/mm-auth-provider-polkit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit cb881a2653575671d77c3b6d32d435819bc49fde
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 26 12:15:40 2012 +0200

    uml290: git-ignore generated program

 .gitignore | 2 ++
 1 file changed, 2 insertions(+)

commit 061b4d202c74aaef25ac926cdb991c96a19e5d2d
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 25 12:48:01 2012 -0500

    decode: handle FUNCTION_CLASS_INTERFACE requests like CONTROL_TRANSFER

    The Novatel USB551L uses these to send data to the device, but
    the data
    is QMUX.

 decode/packet.py | 6 +++---
 decode/qmux.py   | 4 ++++
 2 files changed, 7 insertions(+), 3 deletions(-)

commit d20f33b5c9bf0c187725d96e90acd673a120a409
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jun 22 13:56:02 2012 -0500

    trivial: fix format string

 uml290/uml290mode.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 16d85f7b33b51beaf7c6155eb2d939c338b811f5
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jun 22 12:06:08 2012 -0500

    decode: update with latest QMI enums

    Since QC stopped distributing the database files, we can't easily
    decode the TLV names unless we start parsing the C headers.

 decode/packet.py      |   4 +-
 decode/qmiprotgen.py  | 108
 ++++++++++++++++++++++++++++++++++++++++++++++++--
 decode/qmiprotocol.py | 101
 ++++++++++++++++++++++++++++++++++++++++++++++
 decode/qmux.py        |  16 ++++++--
 4 files changed, 222 insertions(+), 7 deletions(-)

commit ab5e9a49cffde9c640879e681f270cdfdacfbaca
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jun 6 11:40:47 2012 -0500

    zte: try to handle Icera devices that use PPP

    Not all devices present a network interface, and on these devices
    we need to fall back to PPP using the standard setup commands.  But
    they appear to support the Icera custom commands for access technology
    and such, so still use those.

    Hopefully fixes ZTE MF665C.

 plugins/mm-modem-zte.c | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

commit 4ac45ba0911a03ce83b748f977e6dabfb2e8907b
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 4 13:52:09 2012 -0500

    uml290: allow setting more global modes

 uml290/uml290mode.c | 29 ++++++++++++++++++++++++-----
 1 file changed, 24 insertions(+), 5 deletions(-)

commit 5337b2277ae38cb9becd21e2b1d9493c8644e939
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 4 13:51:13 2012 -0500

    qcdm: fix 1x/HDR mode pref and add GSM/UMTS mode prefs

 libqcdm/src/commands.h        | 5 ++++-
 libqcdm/src/nv-items.h        | 5 ++++-
 libqcdm/tests/test-qcdm-com.c | 9 +++++++++
 3 files changed, 17 insertions(+), 2 deletions(-)

commit 99b877ee6834fd41f57a9fd768d03f7319822de1
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 30 12:11:25 2012 -0500

    test: ignore ESN errors in info.py

 test/info.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit fcc4903a839a9b953ee2a9b2a2156c1ba50c4f1d
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 30 11:52:36 2012 -0500

    trivial: whitespace fixes

 uml290/uml290mode.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

commit e7b1c48daf92ca85ce411b1f4efba52ae42b74a2
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 30 11:47:10 2012 -0500

    uml290: add mode switching tool

    Switches UML290 mode between 4G/LTE, 3G/EVDO/1X, and auto.

 Makefile.am         |   2 +-
 configure.ac        |   1 +
 uml290/Makefile.am  |  10 ++
 uml290/uml290mode.c | 435
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 447 insertions(+), 1 deletion(-)

commit 96166e4b7599f80a76f1cc776fb79cc5fdf55d26
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 30 11:40:20 2012 -0500

    wmc: namespace stuff properly

 libwmc/src/utils.c          | 8 ++++----
 libwmc/src/utils.h          | 8 ++++----
 libwmc/tests/test-wmc-crc.c | 4 ++--
 3 files changed, 10 insertions(+), 10 deletions(-)

commit 9fb8158279ce64bfbe626b7e36d08f77d2ce81c2
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 30 11:39:23 2012 -0500

    qcdm: namespace stuff properly

 libqcdm/src/errors.h          | 6 +++---
 libqcdm/src/utils.c           | 8 ++++----
 libqcdm/src/utils.h           | 8 ++++----
 libqcdm/tests/test-qcdm-crc.c | 4 ++--
 4 files changed, 13 insertions(+), 13 deletions(-)

commit e5f787d36486f20d728378ce0bd4e5027c7405b3
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 29 13:49:26 2012 -0500

    wmc: add command for setting global mode

 libwmc/src/commands.c | 51
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 libwmc/src/commands.h |  6 ++++++
 2 files changed, 57 insertions(+)

commit 6fa3f0b0d7cb415ea642feda1e33462af7a941b1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 24 09:59:00 2012 +0200

    build: provide pkg-config files for ModemManager, libmm-common
    and libmm-glib

 .gitignore              |  4 +++-
 configure.ac            |  3 +++
 data/Makefile.am        |  8 ++++++++
 data/ModemManager.pc.in |  9 +++++++++
 data/mm-common.pc.in    | 11 +++++++++++
 data/mm-glib.pc.in      | 11 +++++++++++
 6 files changed, 45 insertions(+), 1 deletion(-)

commit e582a22db7fdbbd187fd1631c1cab3712fe85763
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 24 09:57:04 2012 +0200

    api: install common headers to ${prefix}/include/ModemManager

    ...instead of ${prefix}/include/mm

 include/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6bf277e7948b01062459fd6b7ea2ba40b022e248
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 24 09:56:23 2012 +0200

    libmm-glib: install missing headers

 libmm-glib/Makefile.am | 5 +++++
 1 file changed, 5 insertions(+)

commit 4ae13ef5d947bf7042f0d1028aade0a6172d651a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 24 09:56:15 2012 +0200

    libmm-common: install missing header

 libmm-common/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit 6d888e2e90928fae126392211f3e004dfdf77486
Author: Jiří Klimeš <jklimes@redhat.com>
Date:   Wed May 23 10:21:29 2012 +0200

    dbus: remove 'max_replies_per_connection' limit from D-Bus
    configuration

    It is leftover from times when D-Bus default limit was 32. Now,
    it is 8192, see
    http://cgit.freedesktop.org/dbus/dbus/commit/?id=8d3d8ff55739eebd84d0d53a20a025329feafc3b

 data/org.freedesktop.ModemManager1.conf.nopolkit | 2 --
 data/org.freedesktop.ModemManager1.conf.polkit   | 2 --
 2 files changed, 4 deletions(-)

commit 9bee743a9d193373df82a93ef4fd159504d0763e
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 16 12:13:48 2012 -0500

    vl600: add some reverse engineering docs and an AT com utility

 vl600/atcom.py  | 147
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 vl600/vl600.txt |  38 +++++++++++++++
 2 files changed, 185 insertions(+)

commit df1f21d17f6923145926fba5be38cff947254cae
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun May 6 18:53:03 2012 +0200

    sms: fix setting multipart specific properties

    Don't make them construct-only, so that we can set them whenever
    needed.

 src/mm-sms.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 8a47621a5c7dd909e117033ca21f5fb3fa7ece9e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun May 6 18:48:59 2012 +0200

    sms,tests: new test to check for multipart support in SMS parts

 src/tests/test-sms-part.c | 48
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

commit 97baa44b04ac90b25c792a6883fe6b7c49aa1f17
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun May 6 16:29:47 2012 +0200

    novatel: report error if not properly disconnected

    When we request to disconnect, and the disconnection status check
    fails, return
    a proper error.

 plugins/novatel/mm-broadband-bearer-novatel.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

commit b2d376696c0e0d7eddf2cb67b0869cc6f20cf953
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun May 6 16:25:32 2012 +0200

    novatel: minor coding style fixes

 plugins/novatel/mm-broadband-bearer-novatel.c | 83
 +++++++++++++++------------
 1 file changed, 46 insertions(+), 37 deletions(-)

commit 6b9ee7c83352bb545eab3352b32843a76cde9176
Author: Tore Anderson <tore@fud.no>
Date:   Fri Apr 13 23:29:17 2012 +0200

    broadband-bearer: derive PDP type from the ip-type bearer property

    This patch makes it possible to use MM to set up PDP contexts with
    PDP types other than 'IP', which is particularly useful when trying
    to use the 'IPV6' or 'IPV4V6' PDP types defined in recent 3GPP specs.

    If ip-type isn't specified, 'IP' will be used by default, due to the
    fact that modem support for the 'IPV4V6' type is still rather scarce.

    The patch applies to Aleksander's 'bearer-properties' branch. It has
    been tested using mmcli in this fashion:

    mmcli -m 0 --simple-connect=apn=internet # default to 'IP'
    mmcli -m 0 --simple-connect=apn=internet,ip-type=IP
    mmcli -m 0 --simple-connect=apn=internet,ip-type=IPV6
    mmcli -m 0 --simple-connect=apn=internet,ip-type=IPV4V6

 libmm-common/mm-bearer-properties.c |  7 +++++++
 src/mm-broadband-bearer.c           | 14 +++++++-------
 2 files changed, 14 insertions(+), 7 deletions(-)

commit caeeae27219a91384fa41ac5a1e0f21e1edbaa76
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Apr 2 20:25:18 2012 +0200

    bearer: simplify handling of the bearer configuration

    The base MMBearer object will receive the MMBearerProperties
    configuration,
    which contains every generic and plugin-specific set up. Not every
    configuration
    parameter will be used by every implementation (e.g. not every
    bearer needs
    user/password).

    The Bearer object will expose every configuration parameter received
    in its
    `Properties' property in the interface, even if it's not really used.

 libmm-common/mm-bearer-properties.c           |  16 ++
 libmm-common/mm-bearer-properties.h           |   3 +
 plugins/iridium/mm-bearer-iridium.c           |  18 +-
 plugins/iridium/mm-bearer-iridium.h           |   3 +-
 plugins/iridium/mm-broadband-modem-iridium.c  |   5 +-
 plugins/novatel/mm-broadband-bearer-novatel.c | 155 ++------------
 plugins/option/mm-broadband-bearer-hso.c      | 148 +------------
 plugins/option/mm-broadband-bearer-hso.h      |   5 +-
 src/mm-bearer-list.c                          |   2 +-
 src/mm-bearer.c                               |  71 ++++---
 src/mm-bearer.h                               |  20 +-
 src/mm-broadband-bearer.c                     | 286
 ++++----------------------
 src/mm-broadband-bearer.h                     |   5 -
 13 files changed, 141 insertions(+), 596 deletions(-)

commit 1984c155ad7dc488001a01d3c65fefc8002ac836
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 12 22:38:59 2012 +0200

    wavecom: plugin fully ported

 plugins/mm-modem-wavecom-gsm.c | 1174
 ----------------------------------------
 plugins/mm-modem-wavecom-gsm.h |   45 --
 2 files changed, 1219 deletions(-)

commit 6c26e90610b1e657f1675d7c097dcb797735d56a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 12 22:35:58 2012 +0200

    wavecom: implement custom band setting

 plugins/wavecom/mm-broadband-modem-wavecom.c | 212
 +++++++++++++++++++++++++--
 1 file changed, 201 insertions(+), 11 deletions(-)

commit 8b329c1012427f88ccedf61e4ed3d455db38baf4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 11 23:59:41 2012 +0200

    wavecom: setup custom serial parser

    AT+CPIN? replies come without trailing 'OK'; which we need to handle.

 plugins/wavecom/mm-broadband-modem-wavecom.c | 34
 ++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

commit 43d7f4f17a77a19f3edbb32a7709aac609677cf1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 11 23:54:15 2012 +0200

    wavecom: implement custom current bands loading

 plugins/wavecom/mm-broadband-modem-wavecom.c | 191
 +++++++++++++++++++++++++++
 1 file changed, 191 insertions(+)

commit 513f5d5f207ce29263f95ff2e6762ede03a587b7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 11 23:34:27 2012 +0200

    wavecom: implement custom supported bands loading

 plugins/wavecom/mm-broadband-modem-wavecom.c | 61
 ++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

commit aeb38e0f30af3ea70186e647e88e47410bc8e053
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 11 23:18:39 2012 +0200

    wavecom: implement custom access technology loading

 plugins/wavecom/mm-broadband-modem-wavecom.c | 78
 ++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)

commit 3885bb365daa9bd377df34b74fbfeb04f44b87a8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 3 17:49:20 2012 +0200

    wavecom: implement setting allowed/preferred modes

 plugins/wavecom/mm-broadband-modem-wavecom.c | 148
 +++++++++++++++++++++++++++
 1 file changed, 148 insertions(+)

commit 1447dfee3c6b62f0f3ac68d76637cc7deff04a1e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 3 16:50:39 2012 +0200

    wavecom: implement loading of initial allowed/preferred modes

 plugins/wavecom/mm-broadband-modem-wavecom.c | 209
 +++++++++++++++++++++++++++
 1 file changed, 209 insertions(+)

commit 7bd2ba6973ef619d63ca89038ff7553d0ba11197
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 3 16:03:36 2012 +0200

    wavecom: implement custom supported mode loading

 plugins/wavecom/mm-broadband-modem-wavecom.c | 100
 +++++++++++++++++++++++++++
 1 file changed, 100 insertions(+)

commit c3cc8f84104d14a1c5281312fb033644f4709329
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 3 15:39:02 2012 +0200

    wavecom: implement custom power up sequence

 plugins/wavecom/mm-broadband-modem-wavecom.c | 95
 ++++++++++++++++++++++++++++
 1 file changed, 95 insertions(+)

commit 8ce1e26e1b37e2cf3bc652872a707b493ed657dc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 3 15:19:09 2012 +0200

    wavecom: implement custom flow control handling

 plugins/wavecom/mm-broadband-modem-wavecom.c | 40
 +++++++++++++++++++++++-----
 1 file changed, 33 insertions(+), 7 deletions(-)

commit 65b92dfba5131579be663f6b00140342d5b450e7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 3 15:15:13 2012 +0200

    wavecom: implement custom power down sequence

 plugins/wavecom/mm-broadband-modem-wavecom.c | 41
 +++++++++++++++++++++++++++-
 1 file changed, 40 insertions(+), 1 deletion(-)

commit b7d423288a9fdf98bdc99426a7134e28aaf01471
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 3 12:42:07 2012 +0200

    wavecom: start porting the Wavecom plugin

 plugins/Makefile.am                          |  21 ++--
 plugins/mm-plugin-wavecom.c                  | 168
 ---------------------------
 plugins/wavecom/mm-broadband-modem-wavecom.c |  60 ++++++++++
 plugins/wavecom/mm-broadband-modem-wavecom.h |  50 ++++++++
 plugins/wavecom/mm-plugin-wavecom.c          | 120 +++++++++++++++++++
 plugins/{ => wavecom}/mm-plugin-wavecom.h    |   3 +-
 6 files changed, 243 insertions(+), 179 deletions(-)

commit c7d39e2c2885fb69d354b47f921ef68e0c1c0615
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 12 22:35:08 2012 +0200

    cinterion: simplify loop when loading 2G bands

 plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 90f4a034b203d08a3c1a04fcdb6bbbf16d982b7a
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 4 17:38:36 2012 -0500

    modem-helpers: recognize 3GPP2 access tech strings too

    Various Gobi-based devices (USB551L, probably Gobis too) can report
    EVDO and 1X as the current RAT from CNTI so parse that here too.

 plugins/gobi/mm-broadband-modem-gobi.c |  2 +-
 src/mm-modem-helpers.c                 | 11 ++++++++++-
 src/mm-modem-helpers.h                 |  2 +-
 3 files changed, 12 insertions(+), 3 deletions(-)

commit 1e024c711abf303aa2ff53676ad1bbd3dfceb982
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 4 17:19:20 2012 -0500

    broadband-modem: add another Novatel +GCAP LTE response

    This time from the 551L.  I wonder when they'll make up their minds
    about what to return.

 src/mm-broadband-modem.c | 1 +
 1 file changed, 1 insertion(+)

commit 1c1a6a16ec7c7eab81f4a9eb026982aa2d77e348
Author: Nathan Williams <njw@chromium.org>
Date:   Fri Apr 6 13:12:15 2012 -0400

    novatel: Poll for whether the connection still exists.

    Novatel E362 firmware doesn't notify us by unsolicited message if the
    connection goes away, so set up a polling loop to check.

    While here, inline a method that's only used in one place so that the
    containing function is single-exit and single-cleanup.

    Change-Id: If72f7c6ef06de3fb22530d42f62a8dddc6fecfda

 plugins/novatel/mm-broadband-bearer-novatel.c | 112
 ++++++++++++++++++--------
 1 file changed, 79 insertions(+), 33 deletions(-)

commit 83bc51edcbc814f687d3653c841a2ff0040d4f6e
Author: Nathan Williams <njw@chromium.org>
Date:   Wed Mar 21 17:31:46 2012 -0400

    novatel: Add support for connecting to specific APNs and specifying
    username/password.

    While here, pass through the other relevant bearer properties.

    Change-Id: If925ac78d2edcc744e834e108029f5abdbb375a1

 plugins/novatel/mm-broadband-bearer-novatel.c | 177
 ++++++++++++++++++++++++--
 plugins/novatel/mm-broadband-bearer-novatel.h |   4 +
 2 files changed, 171 insertions(+), 10 deletions(-)

commit 00cb8a26a829bd26ea7f1d953ebdbe657e85f83c
Author: Nathan Williams <njw@chromium.org>
Date:   Fri Mar 23 14:05:40 2012 -0400

    Add a utility routine to do ITU V.250 quoting of strings for AT
    commands.

    BUG=chromium-os:27096,chromium-os:27063
    TEST=None
    Change-Id: Ic1d24a9e4b7421db7f8d16c52535bd6d2780423e

 src/mm-at-serial-port.c | 26 ++++++++++++++++++++++++++
 src/mm-at-serial-port.h |  6 ++++++
 2 files changed, 32 insertions(+)

commit 67698b43c4c088fbd319de6f14914e958a0888d8
Author: Nathan Williams <njw@chromium.org>
Date:   Thu Mar 22 16:18:24 2012 -0400

    novatel: Use the ALLOWED_SINGLE_AT property. Saves 5 seconds on
    probing.

    Change-Id: I0b0c2cb07781eb32ba6eb4294868ed123f57fd9f

 plugins/novatel/mm-plugin-novatel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 81665fe379268e234847e54824bc8ca63e1e3277
Author: Nathan Williams <njw@chromium.org>
Date:   Thu Apr 26 15:14:56 2012 -0400

    novatel: Remove band-setting implementation to improve connections

    The $NWBAND command seems to disturb the internal state of the modem
    such that it is unlikely to connect to the network, and produces
    widely varying error codes. We don't actively use this functionality,
    it's just that setting "use all bands" is part of the normal
    ModemManager simple-connect sequence. Remove it so it doesn't get
    triggered.

    Change-Id: I9b5914291a88a59015fb51906af6fd1c78f3952b

 plugins/novatel/mm-broadband-modem-novatel.c | 66
 +---------------------------
 1 file changed, 1 insertion(+), 65 deletions(-)

commit baa64257265194c5fcf2c0e2f21e9072e089f4b0
Author: Nathan Williams <njw@chromium.org>
Date:   Fri Mar 23 17:18:22 2012 -0400

    novatel: Implement load_access_technologies.

    Change-Id: Ib503d900850d3754d79525dbc9a40b7b9c221dd7

 plugins/novatel/mm-broadband-modem-novatel.c | 79
 ++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)

commit 0f324de94f7bebc566a3bc6ae8e31e9569a3dfdb
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Apr 24 13:34:16 2012 -0500

    decode: recognize another UsbSnoop packet type

 decode/packet.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit e8bc2f41e710ed9e3a2576538f5c9fe74b7ef6db
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Apr 14 16:03:08 2012 +0200

    simtech: implement custom allowed/preferred mode setting

 plugins/simtech/mm-broadband-modem-simtech.c | 134
 +++++++++++++++++++++++++++
 1 file changed, 134 insertions(+)

commit b97890a0123253e87ecd14a3836582ed6f1a68ee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 13 23:24:04 2012 +0200

    simtech: plugin fully ported

 plugins/mm-modem-simtech-gsm.c | 495
 -----------------------------------------
 plugins/mm-modem-simtech-gsm.h |  45 ----
 2 files changed, 540 deletions(-)

commit 9e89e88ce938487d94e1054347f9f7dd6fc973f6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 13 21:26:36 2012 +0200

    simtech: implement custom allowed/preferred mode loading

 plugins/simtech/mm-broadband-modem-simtech.c | 201
 +++++++++++++++++++++++++++
 1 file changed, 201 insertions(+)

commit c9214bd54ff3445be99c78d04102b92012b7b377
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 13 21:00:53 2012 +0200

    simtech: implement custom access technology loading

 plugins/simtech/mm-broadband-modem-simtech.c | 93
 ++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

commit 281cada39de64b23e94c9c017b31798e9d2f7578
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 13 20:38:12 2012 +0200

    simtech: implement custom unsolicited events enabling/disabling

 plugins/simtech/mm-broadband-modem-simtech.c | 163
 +++++++++++++++++++++++++++
 1 file changed, 163 insertions(+)

commit 1cea1e5bbe46e4955f8920ed21049bd207082211
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 13 20:30:12 2012 +0200

    simtech: implement custom unsolicited events setup/cleanup

 plugins/simtech/mm-broadband-modem-simtech.c | 188
 ++++++++++++++++++++++++++-
 1 file changed, 187 insertions(+), 1 deletion(-)

commit 8cd4b29fde4577baa2ca0ec9bb81d2682d70aa03
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 13 20:09:23 2012 +0200

    simtech: new `MMBroadbandModemSimtech' object

 plugins/Makefile.am                          |  4 +-
 plugins/simtech/mm-broadband-modem-simtech.c | 69
 ++++++++++++++++++++++++++++
 plugins/simtech/mm-broadband-modem-simtech.h | 49 ++++++++++++++++++++
 plugins/simtech/mm-plugin-simtech.c          | 12 ++---
 4 files changed, 127 insertions(+), 7 deletions(-)

commit ba7761f6648fc015ec76074dfa832ba921070dfd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 13 20:04:08 2012 +0200

    simtech: include udev rules

 plugins/Makefile.am | 2 ++
 1 file changed, 2 insertions(+)

commit 43be521ef6220c0587e6f76dbc3a1f368acb98de
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 13 20:03:43 2012 +0200

    build: split includes for plugin specific udev rules

    Let each plugin block include its own udev rules, instead of having
    them all
    together at the end of the Makefile.

 plugins/Makefile.am                                  | 11 +++++------
 plugins/{ => simtech}/77-mm-simtech-port-types.rules |  0
 2 files changed, 5 insertions(+), 6 deletions(-)

commit 7183216d9de52686db6276a108478c5890e2b365
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Apr 13 19:59:39 2012 +0200

    simtech: start porting the SimTech plugin

 plugins/Makefile.am                       |  17 ++-
 plugins/mm-plugin-simtech.c               | 202
 ------------------------------
 plugins/simtech/mm-plugin-simtech.c       | 139 ++++++++++++++++++++
 plugins/{ => simtech}/mm-plugin-simtech.h |   3 +-
 4 files changed, 149 insertions(+), 212 deletions(-)

commit 01a17f5c6c322f116e0a20647d3b9f2dc0276fef
Author: Nathan Williams <njw@chromium.org>
Date:   Fri Apr 13 10:50:34 2012 -0400

    helpers: adjust parsing of +CNUM response to permit spaces in the
    alphanumeric descriptor.

    This permits matching a response such as '"Line
    1","+19999999999",145',
    which previously did not match.

    Change-Id: I666af8774507c6c3b3e214b820449542065dd8b4

 src/mm-modem-helpers.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit a07220650b7636fe1376d15580bab311710379ff
Author: Nathan Williams <njw@chromium.org>
Date:   Fri Apr 13 11:19:45 2012 -0400

    libmm-glib,modem: mm_modem_{get,dup}_own_numbers(): fix inverted
    logic.

    The string vector test was reversed, causing valid vectors not to be
    returned, and commands like mmcli to not display own numbers from a
    modem.

    Change-Id: Ia889f49f18511a2dfcdbc71a80ee0239a6c912e0

 libmm-glib/mm-modem.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit d379b9ea2a1c7ee559878609fd1c14bfc7ae7b83
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 10 23:24:19 2012 +0200

    bearer: allow subclasses to report disconnection

    The new `mm_bearer_report_disconnection()' allows subclasses to
    notify about
    being disconnected, so that every layer of inheritance can chain
    its own code
    to reset the connection status.

    This commit partially disables the logic included in commit
    981222. Now
    subclasses (actually, no one) are not allowed to g_object_set() the
    MM_BEARER_STATUS property.

 plugins/option/mm-broadband-bearer-hso.c |  4 +--
 src/mm-bearer.c                          | 28 +++++++++++++++------
 src/mm-bearer.h                          |  5 ++++
 src/mm-broadband-bearer.c                | 42
 ++++++++++++++++++++++++--------
 4 files changed, 59 insertions(+), 20 deletions(-)

commit dac1021e4c4c52989fa74247b17a610813281f81
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 10 17:45:06 2012 +0200

    cinterion: no need for custom supported modes loading

 plugins/cinterion/mm-broadband-modem-cinterion.c | 134
 +++--------------------
 1 file changed, 13 insertions(+), 121 deletions(-)

commit 83afd3ddc9a81321233065d4ff17fa620faf8ca6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 10 17:25:34 2012 +0200

    iface-modem: new helpers to query supported modes

 src/mm-iface-modem.c | 65
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |  9 ++++++++
 2 files changed, 74 insertions(+)

commit e89a8a42a9c382f9471f14a5016afef8fb5eae36
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 10 17:20:50 2012 +0200

    novatel: no need for custom supported modes loading

 plugins/novatel/mm-broadband-modem-novatel.c | 96
 +---------------------------
 1 file changed, 1 insertion(+), 95 deletions(-)

commit bc0d9ddf5fc5168e3a192c6cadf86823c2cc7040
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 10 17:20:32 2012 +0200

    broadband-modem: query supported networks to get a better supported
    modes value

    If we base our supported modes default guessing only on capabilities
    listed by
    AT+GCAP, we find that we don't know how to differenciate between 2G
    and 3G 3GPP
    modems. So, if supported, we will try to query the list of supported
    networks
    with AT+WS46=?, which explicitly tells us if the modem supports
    GERAN and/or
    UTRAN and/or E-UTRAN. Note that plugins need to request this new
    behaviour by
    setting the `MM_BROADBAND_MODEM_USE_WS46' property to TRUE when
    creating the
    modem object.

 src/mm-broadband-modem.c | 147
 ++++++++++++++++++++++++++++++++++++++++++++---
 src/mm-broadband-modem.h |   2 +
 2 files changed, 142 insertions(+), 7 deletions(-)

commit b49ddfe9300429cee5f5648582be01c541df2c82
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 10 17:17:42 2012 +0200

    iface-modem: skip handling the CURRENT_CAPABILITIES property

    It is an unnecessary complication, as long as we can keep the helpers
    in the interface.

 src/mm-broadband-modem.c |  21 ++------
 src/mm-iface-modem.c     | 121
 +++++++++++++++++------------------------------
 src/mm-iface-modem.h     |  26 +++++-----
 3 files changed, 58 insertions(+), 110 deletions(-)

commit 9812225d93da8a257ae85c9737afdd2b1d9cfda6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 10 10:46:10 2012 +0200

    bearer: always reset interface state when going into disconnected
    status

    Custom bearer implementations in Plugins are allowed to g_object_set()
    the
    MM_BEARER_STATUS property to DISCONNECTED in order to notify that
    the bearer got
    disconnected. We need to always reset the interface state (remove
    IP config, set
    connected=FALSE,...) also in that case.

    Also consolidated in some helper private functions the way the bearer
    status is
    updated.

 src/mm-bearer.c | 120
 +++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 76 insertions(+), 44 deletions(-)

commit 8d4a549e613a76c9f6899ad890fd3410db4cb16f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Apr 2 15:38:56 2012 +0200

    TODO: GPS location implemented already

 TODO | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

commit f183a5d73d11b9941affccecc1ae110ec36d5b7d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 31 14:56:54 2012 +0200

    iridium: remove previous modem implementation

 plugins/mm-modem-iridium-gsm.c | 517
 -----------------------------------------
 plugins/mm-modem-iridium-gsm.h |  45 ----
 2 files changed, 562 deletions(-)

commit c2a096f9a13dd374ff80dff338c7e4059300c8c6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 31 14:54:27 2012 +0200

    linktop: plugin fully ported

 plugins/Makefile.am                          |  21 +--
 plugins/linktop/mm-broadband-modem-linktop.c | 238
 +++++++++++++++++++++++++++
 plugins/linktop/mm-broadband-modem-linktop.h |  49 ++++++
 plugins/linktop/mm-plugin-linktop.c          | 122 ++++++++++++++
 plugins/{ => linktop}/mm-plugin-linktop.h    |   3 +-
 plugins/mm-modem-linktop.c                   | 193 ----------------------
 plugins/mm-modem-linktop.h                   |  45 -----
 plugins/mm-plugin-linktop.c                  | 169 -------------------
 8 files changed, 422 insertions(+), 418 deletions(-)

commit cfeebcd63a392eb27a44095efa83b3d487ee5f6d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 30 16:18:48 2012 +0200

    manager: no need to remove modems in idle

    There is no problem in getting the modem removed just after
    finishing the
    disabling sequence.

 src/mm-manager.c | 24 +-----------------------
 1 file changed, 1 insertion(+), 23 deletions(-)

commit 3094e3f26b3b369f4b29fe54a8c4692bb611014d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 30 16:11:55 2012 +0200

    manager: try to get all modems disabled before while shutting down

 src/mm-broadband-modem.c | 10 ++++------
 src/mm-manager.c         | 39 ++++++++++++++++++---------------------
 2 files changed, 22 insertions(+), 27 deletions(-)

commit 8c84aea3f0ca03dee98efa854a2862c1c36b6c04
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 30 16:11:14 2012 +0200

    base-modem: disconnect internal cancellable handler while disposing

 src/mm-base-modem.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

commit b68461c417172c69bdad74b0e3526037ae5916d4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 30 16:09:27 2012 +0200

    base-modem: plug small leaks

 src/mm-base-modem.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit a416f6eaea7ef862eca72c6319c2e4eb52fbae90
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 30 13:53:24 2012 +0200

    docs: document MM_PLUGIN_BASE_ALLOWED_SINGLE_AT

 docs/reference/api/ModemManager-overview.xml | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

commit b03541b1fe92513afefcacbaeff38cca433a74e6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 30 13:30:48 2012 +0200

    plugin-base: don't setup udev client notifications

 src/mm-plugin-base.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 0372e73abd413c94791e9a7f8f88f3acaf533c06
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 30 13:12:22 2012 +0200

    port-probe-cache: ensure we cleanup every possible leftover

 src/mm-manager.c          |  3 ++-
 src/mm-port-probe-cache.c | 27 +++++++++++++++++----------
 src/mm-port-probe-cache.h |  3 ++-
 3 files changed, 21 insertions(+), 12 deletions(-)

commit 94d46a43877107f9b558946a2f5dff0d95f02ca5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 30 13:11:41 2012 +0200

    plugin-base: plug memleak

 src/mm-plugin-base.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 7518772d4bcb5f6a2c5d4fcf33346e1036625755
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 30 11:06:32 2012 +0200

    core: fatal errors in iface initializations force the modem into a
    FAILED state

    Modems which end up being found unusable (e.g. no SIM, fatal SIM
    error, no
    capabilities) will be exposed in DBus, but just with the Modem
    interface and
    in a FAILED state which allows no actions.

 include/ModemManager-enums.h                       |   2 +
 .../org.freedesktop.ModemManager1.Modem.xml        |   6 +-
 src/mm-base-modem.c                                |  18 +-
 src/mm-broadband-modem.c                           | 139 ++++++++----
 src/mm-iface-modem-3gpp.c                          |  22 +-
 src/mm-iface-modem-cdma.c                          |  20 +-
 src/mm-iface-modem.c                               | 245
 ++++++++-------------
 7 files changed, 223 insertions(+), 229 deletions(-)

commit 3b366118b66bb27642a72adb49ceafaab5b6da5d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 30 10:25:33 2012 +0200

    simple: need to wait to get fully initialized before trying to enable

 src/mm-iface-modem-simple.c | 86
 +++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 84 insertions(+), 2 deletions(-)

commit 374c028b16e00881d7da1d19490ef9be434bbb3e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 30 08:20:38 2012 +0200

    broadband: reload operator and registration info only when enabling
    3GPP location source

 src/mm-broadband-modem.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

commit 0d8cf160e5083b9f1433534b218490b7a1b5ce55
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 29 17:20:37 2012 +0200

    broadband: ensure 3GPP location info gets updated when enabling
    the source

    Whenever 3GPP location source gets enabled, we'll launch new
    registration status
    checks (to get updated LAC/CI) and new operator code/name checks
    (to get updated
    MCC/MNC).

    Additional changes were needed in the HSO plugin, so that the
    specific location
    gathering enabling implemented by the HSO modem chains up parent's
    one first.

 plugins/option/mm-broadband-modem-hso.c | 121
 ++++++++++++++++++++++----------
 src/mm-broadband-modem.c                |  42 +++++++++++
 2 files changed, 125 insertions(+), 38 deletions(-)

commit 3cea187a9449c3aefe0a1a381a9477c6aff83745
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 29 17:17:52 2012 +0200

    location: update the status before running enabling/disabling
    sequences

    This will allow implementations of location source enabling to
    actually update
    the location information during the enabling phase.

 src/mm-iface-modem-location.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

commit 43bd3f95ae7c8130a61239e45430319ccde131c0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 29 17:16:38 2012 +0200

    3gpp: let operator name/code reloading be requested by implementations

 src/mm-iface-modem-3gpp.c | 60
 +++++++++++++++++++++++++++++++++--------------
 src/mm-iface-modem-3gpp.h |  3 +++
 2 files changed, 45 insertions(+), 18 deletions(-)

commit dc376bb725a970c654610a21ebe55c53870ae249
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 29 17:15:48 2012 +0200

    3gpp: errors when reloading operator name/code will reset the values
    in the interface

 src/mm-iface-modem-3gpp.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

commit bb2f9b672c397f53a74b9278152bd01feab1b27b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 29 16:10:07 2012 +0200

    broadband-modem: remove unused variable

 src/mm-broadband-modem.c | 1 -
 1 file changed, 1 deletion(-)

commit b80fdfdaa8017eeb155f72c99f47492eb87c2d6e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 15:22:39 2012 +0200

    iface-modem-location: plug memleak and reference count mismatch

 src/mm-iface-modem-location.c | 1 +
 1 file changed, 1 insertion(+)

commit f1d4e0fb637bd9c3f5ad72c22cb5a716c3e669c8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 15:15:12 2012 +0200

    mmcli: prefix all NMEA traces in order to get a pretty print

 cli/mmcli-common.c         | 38 ++++++++++++++++++++++++++++++++++++++
 cli/mmcli-common.h         |  3 +++
 cli/mmcli-modem-location.c |  9 ++++++---
 cli/mmcli-modem.c          | 42
 ++----------------------------------------
 4 files changed, 49 insertions(+), 43 deletions(-)

commit 422ed7b63331d1cbf8f58dcc694404bbb8b4a335
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 15:11:53 2012 +0200

    libmm-common,location-gps-nmea: ensure traces get separated with \r\n

 libmm-common/mm-location-gps-nmea.c | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

commit 4bc990ce7678117bf3ecba6646e0df06d03c0f2f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 14:05:38 2012 +0200

    mmcli: new actions to request gps-specific or all available locations

 cli/mmcli-modem-location.c | 187
 ++++++++++++++++++++++++++++++++++++---------
 1 file changed, 149 insertions(+), 38 deletions(-)

commit 3dd00345604d2c1f72cd2174b092997e9e969e93
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 14:02:16 2012 +0200

    libmm-glib: provide extended getters for location information objects

    The user can now query for all location information with
    `mm_modem_location_get_full()', or just for specific location
    sources with
    `mm_modem_location_get_3gpp()', `mm_modem_location_get_gps_nmea()' or
    `mm_modem_location_get_gps_raw()'.

 libmm-glib/mm-modem-location.c | 166
 +++++++++++++++++++++++++++++++++++------
 libmm-glib/mm-modem-location.h |  40 ++++++++++
 2 files changed, 182 insertions(+), 24 deletions(-)

commit 3f7a6fe31b3fbcec493ba6a1ab97e766ebec7edc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 14:00:47 2012 +0200

    libmm-common,location-gps-raw: fix check looking for mandatory
    parameters

 libmm-common/mm-location-gps-raw.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 19d53751a2cca0ecd2d6b60813076db08fb4bd52
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 14:00:21 2012 +0200

    libmm-common,location-gps-raw: don't build dictionary if mandatory
    parameters missing

 libmm-common/mm-location-gps-raw.c | 45
 +++++++++++++++++++-------------------
 1 file changed, 23 insertions(+), 22 deletions(-)

commit 9116a58eb6bcfa81a10a53f8863ef240e74c7e97
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 12:43:19 2012 +0200

    mmcli: allow multiple location source enabling/disabling commands

    For example, we do allow:
     mmcli -m 0 --enable-location-gps-nmea --disable-location-gps-raw

    All the options get merged into a single Setup() call in the Location
    interface.

 cli/mmcli-modem-location.c | 207
 ++++++++++++++++-----------------------------
 1 file changed, 75 insertions(+), 132 deletions(-)

commit ad8a40f8aa26d8a4b92b275f01dd015425f817d8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 11:27:47 2012 +0200

    api,dbus: update the fields retrievable in the raw GPS location source

    Currently just provide the time of measurement, latitude, longitude
    and
    altitude.

 .../org.freedesktop.ModemManager1.Modem.Location.xml    | 17
 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

commit 2bf61649d81fc1f9821f467454fe29a5b1ced15c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 11:25:44 2012 +0200

    libmm-common,tests: new unit tests for the numeric field parsers

 libmm-common/tests/test-common-helpers.c | 146
 +++++++++++++++++++++++++++++++
 1 file changed, 146 insertions(+)

commit e00705c20349cf936d2a732942f0edd9103a4b51
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 11:25:22 2012 +0200

    libmm-common,helpers: additional checks in the string to number
    converters

    We won't allow NULL, empty, or strings with non-digits.

 libmm-common/mm-common-helpers.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

commit 71e108fd64174e76502408d59b124387616a5270
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 10:50:31 2012 +0200

    hso: include support for the raw GPS location source

 plugins/option/mm-broadband-modem-hso.c | 39
 +++++++++++++++++++++++++++------
 1 file changed, 32 insertions(+), 7 deletions(-)

commit 33e569bbabcf56c49d444043acdb247ac6244cef
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 09:40:06 2012 +0200

    iface-modem-location: handle the raw GPS location source

 src/mm-iface-modem-location.c | 74
 ++++++++++++++++++++++++++++++++++++-------
 1 file changed, 62 insertions(+), 12 deletions(-)

commit 423c4a9d6712a5bc6e71bd77ddd6753b2f309570
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 09:27:04 2012 +0200

    libmm-common: new helper `MMModemLocationGpsRaw' object

 libmm-common/Makefile.am           |   4 +
 libmm-common/libmm-common.h        |   1 +
 libmm-common/mm-location-gps-raw.c | 334
 +++++++++++++++++++++++++++++++++++++
 libmm-common/mm-location-gps-raw.h |  70 ++++++++
 4 files changed, 409 insertions(+)

commit bf4208246609a6b2a71d9c51696fbb9283871d55
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 09:26:39 2012 +0200

    libmm-common: new helpers to parse doubles from strings or match infos

 libmm-common/mm-common-helpers.c | 32 ++++++++++++++++++++++++++++++++
 libmm-common/mm-common-helpers.h |  5 +++++
 2 files changed, 37 insertions(+)

commit ee8afd8034f47f2f17ae042a2efe16034556dcf4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 27 17:59:22 2012 +0200

    libmm-common,location-gps-nmea: allow sequences of traces

    Some traces, e.g. $GPGSV, are part of a sequence. For those traces,
    we'll try
    to always keep the whole sequence around, not just the last received
    trace.

 libmm-common/mm-location-gps-nmea.c | 46
 +++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

commit 614a5473164418e6392e80e7f3d14777e39a6d0e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 27 17:16:13 2012 +0200

    hso: report received NMEA traces

 plugins/option/mm-broadband-modem-hso.c | 25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

commit 53b500c11dc648cff834be2885886f5e575046e4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 27 17:15:57 2012 +0200

    iface-modem-location: handle the NMEA-based GPS location source

 src/mm-iface-modem-location.c | 153
 +++++++++++++++++++++++++++++++++++++-----
 src/mm-iface-modem-location.h |   4 ++
 2 files changed, 140 insertions(+), 17 deletions(-)

commit 0012b7118656afd127097d3cbfa27e9190cedd47
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 27 16:33:25 2012 +0200

    libmm-common: new helper `MMModemLocationGpsNmea' object

 libmm-common/Makefile.am            |   4 +
 libmm-common/libmm-common.h         |   1 +
 libmm-common/mm-location-gps-nmea.c | 189
 ++++++++++++++++++++++++++++++++++++
 libmm-common/mm-location-gps-nmea.h |  61 ++++++++++++
 4 files changed, 255 insertions(+)

commit 20721906913805a645ab2c66b5e6224b2bde6a88
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 27 12:24:58 2012 +0200

    hso: open/close the raw GPS port when we enable/disable GPS gathering

 plugins/option/mm-broadband-modem-hso.c | 51
 +++++++++++++++++++++++++++++----
 1 file changed, 46 insertions(+), 5 deletions(-)

commit 97f779df1e2d5dfd82aea1084edf018c5fe5c9e5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 27 12:24:29 2012 +0200

    hso: ensure GPS is disabled when we initialize the modem

 plugins/option/mm-broadband-modem-hso.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 1cfab89719c29b6019070fb40126bb8c95c5ee4a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 27 11:24:06 2012 +0200

    base-modem: use new `MMGpsSerialPort' type for the raw GPS port

 src/mm-base-modem.c | 15 +++++++--------
 src/mm-base-modem.h |  5 +++--
 2 files changed, 10 insertions(+), 10 deletions(-)

commit a0b3663274f9e22a9a74267c0b1748613bc34999
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 27 11:21:06 2012 +0200

    gps-serial-port: new type to handle read-only serial ports with
    GPS traces

 src/Makefile.am          |   4 +-
 src/mm-gps-serial-port.c | 218
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-gps-serial-port.h |  57 +++++++++++++
 3 files changed, 278 insertions(+), 1 deletion(-)

commit 2bd321489dc2dd51ee0de7784be00e0f31a1f848
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 27 10:56:55 2012 +0200

    mmcli: new `--location-enable-gps' and `--location-disable-gps'
    actions

 cli/mmcli-modem-location.c | 68
 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

commit ab9363011ad2d6619d45e81ca9eb0b9a9ae9e013
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 27 10:56:23 2012 +0200

    hso: enable/disable GPS location gathering

 plugins/option/mm-broadband-modem-hso.c | 97
 +++++++++++++++++++++++++++++++++
 1 file changed, 97 insertions(+)

commit 335ba97f48f00b2bf8bf97f4aec87de25f77d8c6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 27 09:48:34 2012 +0200

    hso: include custom location capabilities loading

    Will check for GPS location sources.

 plugins/option/mm-broadband-modem-hso.c | 90
 ++++++++++++++++++++++++++++++++-
 1 file changed, 89 insertions(+), 1 deletion(-)

commit 6d50e5195fe0e98dfd928e6f0dec3d28f78827e7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 21:24:22 2012 +0200

    serial-port: forced close only to be done once

 src/mm-serial-port.c | 4 ++++
 1 file changed, 4 insertions(+)

commit a69b4d2451c11bf277d37c20e2e58b37c3986a80
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 20:29:14 2012 +0200

    mmcli: new `--location-status' to show supported and enabled location
    sources

 cli/mmcli-modem-location.c | 45
 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 44 insertions(+), 1 deletion(-)

commit ceefa2c356ae270c7dda4b5e771d225502d4913d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 19:24:25 2012 +0200

    location: rework to allow multiple location sources

    Location sources can now be enabled or disabled by using the mask
    of sources
    given in Setup() (similar previous Enable()).

 cli/mmcli-modem-location.c                         |  77 +--
 ...rg.freedesktop.ModemManager1.Modem.Location.xml |  25 +-
 libmm-glib/mm-modem-location.c                     |  87 ++--
 libmm-glib/mm-modem-location.h                     |  39 +-
 src/mm-iface-modem-location.c                      | 515
 +++++++++++++++------
 src/mm-iface-modem-location.h                      |   2 +
 6 files changed, 478 insertions(+), 267 deletions(-)

commit 090e3492095cf6d663bfb3f83b3ed0cb19121f1a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 16:37:22 2012 +0200

    hso: grab GPS-specific ports

 plugins/option/mm-plugin-hso.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

commit be633fd66bbbdf962a8883d445926b9d1ee3c9ff
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 16:37:03 2012 +0200

    base-modem: handle GPS control and data ports

    Plugin may specify GPS-specific port tyeps when requesting to grab
    the port.
    These could either be an AT-based GPS control port, or the raw GPS
    serial port
    which emits the NMEA traces.

 src/mm-base-modem.c | 66
 +++++++++++++++++++++++++++++++++++++++++++++++++----
 src/mm-base-modem.h | 28 ++++++++++++-----------
 src/mm-port.h       |  3 ++-
 3 files changed, 79 insertions(+), 18 deletions(-)

commit b19f97ae7dbbe38f1613c978a5760ac05e0bd72f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 16:28:28 2012 +0200

    port: new `MM_PORT_TYPE_NET' for pure net devices

    Net devices will be MMPorts of type MM_PORT_TYPE_NET.

 src/mm-base-modem.c | 21 ++++++++++++++++-----
 src/mm-port-probe.c |  2 +-
 src/mm-port.h       |  1 +
 3 files changed, 18 insertions(+), 6 deletions(-)

commit 3b481cf17f7c28edd58da87f3f0a0373f7c03131
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 16:24:50 2012 +0200

    base-modem: no need for `port_grabbed()'

    Subclasses can configure additional stuff in the ports just after
    all have been
    organized, in the SETUP_PORTS initialization step in MMBroadbandModem.

 src/mm-base-modem.c | 4 ----
 src/mm-base-modem.h | 6 ------
 2 files changed, 10 deletions(-)

commit 8dfbf195c1e7a8d25f1250e913be283ac3269bb2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 16:01:40 2012 +0200

    port: skip LAST enums in glib-mkenums processing

 src/mm-port.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 68421638f5c700cad8ae9fe105b94ea8e3733841
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 15:47:19 2012 +0200

    at-serial-port: new flag to define the GPS control port

 src/mm-at-serial-port.c |  7 +++++--
 src/mm-at-serial-port.h | 10 ++++++----
 2 files changed, 11 insertions(+), 6 deletions(-)

commit 79c93f4333868fc7aedaf1bf1302c2a00fc67d1c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 15:46:25 2012 +0200

    at-serial-port: define flags by shifting bits

    Otherwise glib-mkenums doesn't take the enumeration as being flags.

 src/mm-at-serial-port.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 62923f9086c80412f95a79c3a3148933837e74c9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 15:13:05 2012 +0200

    serial-port: ensure we close the port when forcing to close it

 src/mm-serial-port.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit b8157228eb0e7196e32d1f4b7c64afd028a5542e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 15:14:04 2012 +0200

    broadband-modem: plug memleak when uppercasing storage names

 src/mm-broadband-modem.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

commit 029cb2abe9ada012838e960c382d2fae232fbb5e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 15:13:38 2012 +0200

    broadband-modem: plug memleak when building AT command

 src/mm-broadband-modem.c | 1 +
 1 file changed, 1 insertion(+)

commit f0b02ce321a247b81ad4f2ec3b97525739be6ec2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 15:14:42 2012 +0200

    hso: plug small memleak when building devfile

    Why do we need the devfile anyway?

 plugins/option/mm-plugin-hso.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit b29eb54080aeefbab838b523890af0eee567d948
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 15:47:38 2012 +0200

    sim: plug memleak

 src/mm-sim.c | 1 +
 1 file changed, 1 insertion(+)

commit 121c543711c44c536b82da3fd1079f779fe505d0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 15:12:52 2012 +0200

    sim: fix completion of pin-puk check

 src/mm-sim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 45e4f390eb7ab7394651bf7bddf865c74d677e84
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 28 15:12:26 2012 +0200

    charsets: plug memleak

 src/mm-charsets.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit e07786ebb1025d89eeb670be0ce518c6a8497cec
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 15:23:28 2012 +0200

    option: fix loading current allowed modes

    The proper command to check the current allowed modes is `AT_OPSYS?'.

 plugins/option/mm-broadband-modem-option.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 2d02279ba7af4c4ee0ca4df588ba320817fe2919
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 15:20:55 2012 +0200

    Revert "option: fix allowed modes response parsing"

    This reverts commit 0bc824b452de45815a8b8675d2b041a5eb98cb4c.

    The fix is NOT to change the expected result, but to change the
    command itself.

 plugins/option/mm-broadband-modem-option.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit f07d3748c6bad7fda9d485ffb0144f8c3380460e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 13:49:02 2012 +0200

    broadband-modem: fix error reporting in the modem initialization
    sequence

    The initialization sequence doesn't expect any result, so
    `mm_base_modem_at_sequence_finish()' will actually return NULL even
    if there is
    no error. Therefore, we base the success of the sequence on the
    existence of a
    GError in the return.

 src/mm-broadband-modem.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit 063c4f9bf8e59ba2ab2b5877446d685e816692f6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 13:46:30 2012 +0200

    option: fix disabling sequence handling

    This provides the proper fix for the disabling sequence, also
    amending the
    erroneous checks introduced in commit 5b10af0f.

 plugins/option/mm-broadband-modem-option.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit b581d6765fb9afb72acc37cb765188d459ffeedd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 13:39:21 2012 +0200

    hso: skip the 10s timeout in High-Speed Option devices

    Will only be applied to non-HSO Option modems.

 plugins/option/mm-broadband-modem-hso.c | 4 ++++
 1 file changed, 4 insertions(+)

commit e69d4974ef80dc6613e01d712f0087de35525ab4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 13:37:41 2012 +0200

    broadband-modem: use current charset when parsing operator name

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 28f13c09ecf6433385d9b7a8cff5be825d74c9c8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 13:00:07 2012 +0200

    mmcli: abort certain operations if modem is unlocked

    Do not try to perform feature/capability specific actions if we're
    still
    unlocked, as the modem didn't yet export the feature/capability
    specific
    interface.

    The only interfaces expected while modem is unlocked are the Modem
    and Simple
    interfaces, as well as the SIM interface in the SIM object, of course.

 cli/mmcli-modem-3gpp.c      | 28 ++++++++++++++++++++--------
 cli/mmcli-modem-cdma.c      | 14 ++++++++++----
 cli/mmcli-modem-location.c  | 14 ++++++++++----
 cli/mmcli-modem-messaging.c | 14 ++++++++++----
 cli/mmcli-modem-simple.c    |  9 +++++----
 cli/mmcli-modem-time.c      | 14 ++++++++++----
 6 files changed, 65 insertions(+), 28 deletions(-)

commit d10780dcf573749137710c376edf52086e2b4500
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 12:58:18 2012 +0200

    mmcli: fix alignment of properties in IP config output

 cli/mmcli-bearer.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit e387100eb51da541dff4b7323ebe2286dc193a12
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 12:57:44 2012 +0200

    hso: update connection status only in the bearer matching the
    specific CID

 plugins/option/mm-broadband-modem-hso.c | 69
 ++++++++++++++++++++-------------
 1 file changed, 41 insertions(+), 28 deletions(-)

commit 770511f44937d9ca697ef014439380556f4dab90
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 12:57:00 2012 +0200

    hso: fix segfault in bearer status update handling

 plugins/option/mm-broadband-bearer-hso.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5191dd3d9e1c20cc27bdce9ff1502b15c1c7e042
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 12:56:18 2012 +0200

    option: fix reading port-specific setup file

    The `physdev' stored in the probe is the sysfs path of the parent
    device, that
    owning all ports. We need to build the setup file path using the
    port's sysfs
    path instead.

 plugins/option/mm-plugin-hso.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 46fa15c6034ba4d1444a0b04a0f6e4c2f479eda0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 12:54:17 2012 +0200

    broadband-modem: initialize the Simple interface even if unlocked

    We should be able to unlock the modem during Simple Connect().

 src/mm-broadband-modem.c | 32 ++++++++++++++++++++------------
 1 file changed, 20 insertions(+), 12 deletions(-)

commit 467b8892ae4c5107247fb2dc030bbf2becb07cac
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 12:09:33 2012 +0200

    mmcli: ensure the modem exports the Simple interface before trying
    to use it

 cli/mmcli-modem-simple.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit fec294b2265ef897967d3b01685108c79c21f59e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 26 10:41:38 2012 +0200

    plugin: bump major plugin version

    The PluginBase object got modified during the new codebase
    development, and
    therefore we need to ensure that the current codebase doesn't try
    to load old
    plugins.

 src/mm-plugin.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f6d8c52bc91743782497c56f3b25de4cabbcc643
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Mar 25 01:09:24 2012 +0100

    iface-modem: do not try to set new allowed/preferred config if modem
    already in there

 src/mm-iface-modem.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit ae50d291cda0def4757a84bf808aa159aa5da184
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 24 20:29:26 2012 +0100

    hso: probe for QCDM ports

 plugins/option/mm-plugin-hso.c | 1 +
 1 file changed, 1 insertion(+)

commit 6b678bd8cf15aecc6f596892cc18a170a7675409
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 24 19:50:10 2012 +0100

    hso: fix bearer private data handling

 plugins/option/mm-broadband-bearer-hso.c | 2 ++
 1 file changed, 2 insertions(+)

commit bd90ee80943af30ac31ec24e0887c9f8bb84d170
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 24 19:15:50 2012 +0100

    option: handle special 'auto' mode when setting allowed/preferred
    modes

 plugins/option/mm-broadband-modem-option.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

commit 43cdb25eb176a18d04de68d1104a630555d7e60d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 24 19:02:01 2012 +0100

    option: handle response specifying automatic mode

    Option modems may reply '_OPSYS: 5,2' to report automatic mode
    being used.

 plugins/option/mm-broadband-modem-option.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 41a592b5352281db24a030065778731dec87e53a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 24 18:58:55 2012 +0100

    iface-modem: treat ANY in allowed modes as being equal to the list
    of supported modes

 src/mm-iface-modem.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

commit 19436a99068f758fe96dacd282be52082086616e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 24 18:20:50 2012 +0100

    option: fix setting allowed modes

 plugins/option/mm-broadband-modem-option.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 5b10af0ff3975fd855c5187ef34cb278031102d8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 24 18:08:30 2012 +0100

    option: no result expected in unsolicited enabling/disabling sequence

 plugins/option/mm-broadband-modem-option.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 0bc824b452de45815a8b8675d2b041a5eb98cb4c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 24 11:48:34 2012 +0100

    option: fix allowed modes response parsing

    Expecting a `_OSSYS' reply, not `_OPSYS'.

 plugins/option/mm-broadband-modem-option.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit d841916c4fef16dc58888c306a2930ffafe9162c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 23 16:52:39 2012 +0100

    port-probe: don't probe product string if vendor string probing failed

 src/mm-port-probe.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit e2730d6a0213afbb70bd77ddacf63aa89bc5bf97
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 23 16:51:23 2012 +0100

    port-probe: probed vendor/product string will be NULL when error
    probing

 src/mm-port-probe.c | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

commit d41d62f57743580f306ac2703561d1f17b45145e
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 23 10:15:39 2012 -0500

    serial: fix crash when sending some commands to a closed port
    (lp:963102)

    If the command we're sending doesn't have a callback, don't try
    to call NULL.  Triggered if the port got closed (because the modem
    crashed, or refcounting errors or whatever) with some code like this:

        mm_at_serial_port_queue_command (MM_AT_SERIAL_PORT (port),
        "+CREG=0", 3, NULL, NULL);

 src/mm-serial-port.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit ac92ac74984a75ca4e125c0eabf8acba048a2b35
Author: M. I. Spozta <mispozta@gmail.com>
Date:   Thu Mar 22 11:34:39 2012 -0500

    wmc: increase estimate decapsulation buffer size

    (dcbw)
    Some packets are much larger and require a lot more escaping than
    we thought so we need larger buffers here to be able to handle
    all packets.  In this case, SMS receipt.

 libwmc/src/utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c5a6e1fcab44df046569ed77f6f67149b9d671d2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Mar 18 17:27:37 2012 +0100

    anydata: plugin fully ported

 plugins/mm-modem-anydata-cdma.c | 388
 ----------------------------------------
 plugins/mm-modem-anydata-cdma.h |  47 -----
 2 files changed, 435 deletions(-)

commit 58f21a6d94d31aeaf3bf3ce9760215f96ee8d9da
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Mar 18 17:26:23 2012 +0100

    anydata: ignore several unsolicited messages

 plugins/anydata/mm-broadband-modem-anydata.c | 64
 ++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

commit ffee9141972e11ee4d2eab949685bacf9c398e84
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Mar 18 17:17:27 2012 +0100

    anydata: implement modem reset

 plugins/anydata/mm-broadband-modem-anydata.c | 34
 ++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

commit 82d72744a25c6912cb6e6737b40b830f9652d06c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Mar 18 17:07:13 2012 +0100

    anydata: get detailed CDMA1x/EVDO registration states

 plugins/anydata/mm-broadband-modem-anydata.c | 217
 +++++++++++++++++++++++++++
 1 file changed, 217 insertions(+)

commit d58d3f52a29aaed06c805da70311a2b66d4eeaf9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 17 16:47:42 2012 +0100

    anydata: don't get serving system with +CSS?

 plugins/anydata/mm-broadband-modem-anydata.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

commit 75c38941a835f5de307108d5f2453ae11592e794
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 17 16:26:14 2012 +0100

    anydata: start porting the AnyDATA plugin

 plugins/Makefile.am                          |  23 ++--
 plugins/anydata/mm-broadband-modem-anydata.c |  61 +++++++++
 plugins/anydata/mm-broadband-modem-anydata.h |  49 +++++++
 plugins/anydata/mm-plugin-anydata.c          | 106 +++++++++++++++
 plugins/{ => anydata}/mm-plugin-anydata.h    |   4 +-
 plugins/mm-plugin-anydata.c                  | 185
 ---------------------------
 6 files changed, 231 insertions(+), 197 deletions(-)

commit 46d16d5c995dc2e8f954dd1c27a6fd29e03cedef
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Mar 17 17:46:06 2012 +0100

    libmm-common: new common uint/int/str parsers

 libmm-common/mm-common-helpers.c    |  96 +++++++++++++++++++++++++
 libmm-common/mm-common-helpers.h    |  16 ++++-
 plugins/generic/mm-plugin-generic.c |   1 -
 src/mm-broadband-modem.c            |  65 +++--------------
 src/mm-modem-helpers.c              | 135
 ++++++++++++------------------------
 src/mm-modem-helpers.h              |   1 -
 6 files changed, 166 insertions(+), 148 deletions(-)

commit 3046059affaee447923bb8b3e70d06ec02ac9d96
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 15:52:36 2012 +0100

    iface-modem-3gpp: if already registered as requested, don't try to
    register from scratch

 src/mm-iface-modem-3gpp.c | 32 ++++++++++++++++++++++++++------
 1 file changed, 26 insertions(+), 6 deletions(-)

commit 6bb90d92e47fb432b4916f0cb6521f541ffa0647
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 15:38:09 2012 +0100

    iface-modem-simple: try to skip initial steps in the Simple Connect
    sequence

 src/mm-iface-modem-simple.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

commit 295272196dbdf256a7378066889fc89b855b1777
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 15:37:37 2012 +0100

    iface-modem-simple: don't request to connect the bearer if already
    connected

 src/mm-iface-modem-simple.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

commit 29b955afa29396cb51636ba58193d6ba5d87436c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 15:37:12 2012 +0100

    iface-modem: if we are already unlocked, don't try to check it again

    We're assuming here we are never getting locked without us knowing it.

 src/mm-iface-modem.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 1dbe4a12cf88bf4e5bd1dab4aab170040747362b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 15:21:56 2012 +0100

    iface-modem-simple: don't call the enable() methods in the class
    directly

    Use the new `mm_base_modem_enable()' instead, which will pass down the
    modem-wide cancellable to the enable() implementation.

 src/mm-iface-modem-simple.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

commit 686cfbb2c003b7023394b5c9a1eaa85671210815
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 15:21:01 2012 +0100

    iface-modem-simple: don't assume bearer is always set

 src/mm-iface-modem-simple.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit f2fee29968f50ccd3b637d49df8c106360048f97
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 15:20:40 2012 +0100

    broadband-bearer: pass down cancellable to the 3gpp dialing
    implementation

 src/mm-broadband-bearer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8f488d604970bca585ed6f0a2531bcaa766b38f1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 14:27:50 2012 +0100

    hso,option: plugins fully ported

 plugins/Makefile.am             |  20 -
 plugins/mm-modem-hso.c          | 816
 ----------------------------------------
 plugins/mm-modem-hso.h          |  51 ---
 plugins/mm-modem-option-utils.c | 561 ---------------------------
 plugins/mm-modem-option.c       | 237 ------------
 plugins/mm-modem-option.h       |  45 ---
 plugins/mm-plugin-hso.c         | 206 ----------
 plugins/mm-plugin-hso.h         |  43 ---
 plugins/mm-plugin-option.c      | 184 ---------
 9 files changed, 2163 deletions(-)

commit 3a7270930a5e52739834b59b5b6b1450088a4fac
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 14:24:48 2012 +0100

    hso: custom disconnection implementation

 plugins/option/mm-broadband-bearer-hso.c | 86
 ++++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)

commit 93b4256fb6710de6cb10d22301aa902ba2456deb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 14:18:41 2012 +0100

    broadband-bearer: pass down CID to the 3GPP-specific disconnection
    logic

 plugins/novatel/mm-broadband-bearer-novatel.c |  1 +
 src/mm-broadband-bearer.c                     | 21 ++++++++++-----------
 src/mm-broadband-bearer.h                     |  1 +
 3 files changed, 12 insertions(+), 11 deletions(-)

commit 51956459dcf57ac0109ca0b8cc25d6fd927c2395
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 14:00:56 2012 +0100

    hso: custom IP config retrieval implementation

 plugins/option/mm-broadband-bearer-hso.c | 188
 +++++++++++++++++++++++++++++++
 1 file changed, 188 insertions(+)

commit cd7d4c301928f25ece4dfba903fe2f6dedd14100
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 13:17:06 2012 +0100

    broadband-bearer: let subclasses handle their own IP config retrieval
    mechanism

    Mainly given for bearers requiring static IP addresses in net ports.

 src/mm-broadband-bearer.c | 148
 ++++++++++++++++++++++++++++++++++++++--------
 src/mm-broadband-bearer.h |  16 +++++
 2 files changed, 139 insertions(+), 25 deletions(-)

commit 6900348b643a762ed26834af86410ede83f67da2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 13:15:54 2012 +0100

    broadband-bearer: let subclasses know the CID being used

 src/mm-broadband-bearer.c | 6 ++++++
 src/mm-broadband-bearer.h | 2 ++
 2 files changed, 8 insertions(+)

commit 327a69ed16f2a47e26cce704f025b864f03130a4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 13:15:01 2012 +0100

    novatel: assume only IPv4 supported for now

 plugins/novatel/mm-broadband-bearer-novatel.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 70c70a61abdfee3faf8491a54c2c19af160b5875
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 12:22:27 2012 +0100

    hso: let modem report connection status to the bearer

    Connection status notifications are unsolicited; the modem will
    receive them
    and it will forward them to the available bearer.

 plugins/option/mm-broadband-modem-hso.c | 171
 +++++++++++++++++++++++++++++++-
 1 file changed, 170 insertions(+), 1 deletion(-)

commit 5a8a5d0f225b5266b116a8d0724bb67f6785f1c3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 12:21:21 2012 +0100

    hso: always create a HSO-specific broadband bearer

 plugins/option/mm-broadband-modem-hso.c | 67
 ++++++++++++++++++++++++++++++++-
 1 file changed, 66 insertions(+), 1 deletion(-)

commit 7de8b588b630e25d54cf4f6b0a7323fe4478f3dc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 10:09:57 2012 +0100

    hso: setup connection sequence

 plugins/option/mm-broadband-bearer-hso.c | 369
 +++++++++++++++++++++++++++++++
 plugins/option/mm-broadband-bearer-hso.h |  10 +
 2 files changed, 379 insertions(+)

commit fe13d4cb66977e8641315683254e685b0b80584f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 16 10:09:25 2012 +0100

    broadband-bearer: ensure a result is always set

    Just a convenience, as it is anyway not used afterwards.

 src/mm-broadband-bearer.c | 1 +
 1 file changed, 1 insertion(+)

commit d374b995f92c03cda5d0a2e5684225feb061980a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 15 19:16:38 2012 +0100

    hso: new `MMBroadbandBearerHso'

    Includes handling of user and password.

 plugins/Makefile.am                      |   2 +
 plugins/option/mm-broadband-bearer-hso.c | 225
 +++++++++++++++++++++++++++++++
 plugins/option/mm-broadband-bearer-hso.h |  61 +++++++++
 3 files changed, 288 insertions(+)

commit 473c5fee4d920d723366cef1f406279e48eaf3d2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 15 18:17:01 2012 +0100

    bearer: properties are exposed before exporting the bearer object

    And we let subclasses to specify which of the input properties need
    to be
    exposed.

 src/mm-bearer.c           | 31 ++++++++++++++++---------------
 src/mm-bearer.h           |  4 ++++
 src/mm-broadband-bearer.c | 34 ++++++++++++++++------------------
 3 files changed, 36 insertions(+), 33 deletions(-)

commit 4f06aa5106be4688a751bf34601d1a03e3c49ce6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 15 16:56:45 2012 +0100

    api,dbus: include `user' and `password' as properties given to
    Simple Connect

 introspection/org.freedesktop.ModemManager1.Modem.Simple.xml | 12
 ++++++++++++
 1 file changed, 12 insertions(+)

commit 52ac88824e17ae26379e263b5a8dbcbdca805325
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 15 16:45:47 2012 +0100

    hso: setup ports

    Only the primary port will get the OWANCALL unsolicited messages,
    so we only
    setup not to remove the echo in that specific port.

 plugins/option/mm-broadband-modem-hso.c | 43
 ++++++++++++++++++++++++++++++++-
 1 file changed, 42 insertions(+), 1 deletion(-)

commit db052c2e5021066502ebfdd56c29e011abc2f55c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 15 13:54:49 2012 +0100

    hso: started porting the High-Speed Option plugin

    Just skeleton for now.

 plugins/Makefile.am                     |  15 +++-
 plugins/option/mm-broadband-modem-hso.c |  72 +++++++++++++++
 plugins/option/mm-broadband-modem-hso.h |  51 +++++++++++
 plugins/option/mm-plugin-hso.c          | 150
 ++++++++++++++++++++++++++++++++
 plugins/option/mm-plugin-hso.h          |  42 +++++++++
 5 files changed, 328 insertions(+), 2 deletions(-)

commit 1b394ebfe7556fad973ee470b8565daeb2ecaca2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 15 13:29:36 2012 +0100

    option: allow setting allowed/preferred modes

 plugins/option/mm-broadband-modem-option.c | 90
 ++++++++++++++++++++++++++++++
 1 file changed, 90 insertions(+)

commit 63926eac0278e806c81c476a8a19df365d1c8ba8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 15 13:18:47 2012 +0100

    option: load initial allowed/preferred modes

 plugins/option/mm-broadband-modem-option.c | 73
 ++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

commit 7400b14ee61bf3de03aa6f477a6500f2bcb33c91
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 15 12:49:44 2012 +0100

    mmcli: fix looking for unexisting SMS

    We need to ensure we iterate over all modems available.

 cli/mmcli-common.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 6dea9964bec11ac168835afc397d4bef061cc4c1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 15 12:49:06 2012 +0100

    mmcli: fix looking for unexisting bearers

    We need to ensure we iterate over all modems available.

 cli/mmcli-common.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 979c52038176ded90809c77ee7e97e0ddb665ebb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 15 12:31:14 2012 +0100

    cli: don't assume every modem exposes the Messaging interface

 cli/mmcli-common.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

commit 346de780bea9ac00d2d4b0f01566755649498002
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 15 11:37:54 2012 +0100

    option: completely ignore +PACSP0 unsolicited messages

 plugins/option/mm-broadband-modem-option.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit dda9e2a37fcc064341a23fb712010eb8a851e1e1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 15 11:23:13 2012 +0100

    option: enable and disable unsolicited messages

 plugins/option/mm-broadband-modem-option.c | 161
 +++++++++++++++++++++++++++++
 1 file changed, 161 insertions(+)

commit 00094fcad2bb603cb8786e7c2a7f60dab3cf044a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 15 11:03:30 2012 +0100

    option: setup and cleanup unsolicited messages

 plugins/option/mm-broadband-modem-option.c | 291
 ++++++++++++++++++++++++++---
 1 file changed, 266 insertions(+), 25 deletions(-)

commit 657f7280252907f066b0f896bd7599dc21ecdab1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 14 19:23:38 2012 +0100

    option: reset expected unsolicited message handlers

 plugins/option/mm-broadband-modem-option.c | 64
 ++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

commit 39e0f953b003fed958d61682a2168805ec63f9cb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 14 17:37:50 2012 +0100

    option: need to wait some seconds after power up

 plugins/option/mm-broadband-modem-option.c | 64
 +++++++++++++++++++++++++++++-
 plugins/option/mm-broadband-modem-option.h |  2 +
 2 files changed, 65 insertions(+), 1 deletion(-)

commit 15e99430363fcaf7d2a3be6afb7961d2e3f7e8b3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 18:20:01 2012 +0100

    plugin-base: avoid launching AT probing on new ports if the modem
    expects only one

    If we got an existing modem showing a new port, and the plugin
    handling that modem
    said that only one AT port was expected, we shouldn't be AT-probing
    it any more.

 src/mm-plugin-base.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

commit 29f23f2a492d7743f19aa99c0f9dc1960160698c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 18:18:43 2012 +0100

    base-modem: new method to check if the modem got any AT port

    Required for the single-at logic in the plugins.

 src/mm-base-modem.c | 17 +++++++++++++++++
 src/mm-base-modem.h |  3 ++-
 2 files changed, 19 insertions(+), 1 deletion(-)

commit 3eb4220caa92ef5be21829b37778690802802ce9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 18:17:53 2012 +0100

    port-probe: new probing result setters

    We make them public, so that we can set results before actually
    running the
    probing.

 src/mm-port-probe.c | 106
 ++++++++++++++++++++++++++++++++++++----------------
 src/mm-port-probe.h |  10 +++++
 2 files changed, 83 insertions(+), 33 deletions(-)

commit d2559e2716c43f52701144ee25c14d87786b5a11
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 16:47:06 2012 +0100

    plugin-base: only cancel AT probing in probes of the same device

 src/mm-plugin-base.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit c52762ea6763b93772f13ad0fd2c89fb6d201018
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 16:42:49 2012 +0100

    build: require gudev >= 147

    Since udev 147 the gudev API is no longer marked as experimental,
    and therefore
    `G_UDEV_API_IS_SUBJECT_TO_CHANGE' is no longer needed.

 configure.ac         | 2 +-
 src/mm-manager.c     | 2 --
 src/mm-plugin-base.c | 7 ++-----
 src/mm-plugin-base.h | 2 --
 src/mm-port-probe.h  | 2 --
 test/lsudev.c        | 1 -
 6 files changed, 3 insertions(+), 13 deletions(-)

commit 703ab2590b031b028199c872e2525936a9d7088f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 14:58:42 2012 +0100

    port-probe: probing may just require vendor or product probing

    If we already had probed, e.g. AT capabilities, and a next plugin
    requires
    Vendor AT probing, the task will only show that VENDOR_AT is
    requested.

 src/mm-port-probe.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 56e7b15f5c2bb8f88dc638766774db1f15a5b4d0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 13:49:25 2012 +0100

    base-modem: ensure we cancel any ongoing operation when we're
    disposing

 src/mm-base-modem.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

commit 09026ed89a0a7d85112aec52ca1e3ae57e497f11
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 13:12:18 2012 +0100

    iface-modem: treat serial errors also as fatal when checking unlock
    status

 src/mm-iface-modem.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

commit a20441f4c03bc57cb2dfabb00dd4f94848db2739
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 12:41:46 2012 +0100

    nokia: don't even bother checking for messaging support

    Nokia modems/handsets use their own protocol (phonet) for all
    messaging related
    operations, currently unsupported, so don't bother trying to check
    messaging
    support with the generic implementation.

 plugins/nokia/mm-broadband-modem-nokia.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

commit e2a56ba490fdb49e81f693fad5e48ee319041727
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 12:35:15 2012 +0100

    iface-modem-time: let initialization and enabling sequences get
    cancelled

 src/mm-broadband-modem.c  |  2 ++
 src/mm-iface-modem-time.c | 48
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-time.h |  2 ++
 3 files changed, 52 insertions(+)

commit 9eebb75ca3a5cb84630ccb1df92de511bbd120ca
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 12:20:16 2012 +0100

    iface-modem-messaging: let initialization and enabling sequences
    get cancelled

 src/mm-broadband-modem.c       |  4 +++-
 src/mm-iface-modem-messaging.c | 54
 ++++++++++++++++++++++++++++++++++++++----
 src/mm-iface-modem-messaging.h |  2 ++
 3 files changed, 55 insertions(+), 5 deletions(-)

commit 2c4a69b190cd0963d650a048560a96c1e4cf0dc2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 12:15:00 2012 +0100

    iface-modem-location: let initialization and enabling sequences
    get cancelled

 src/mm-broadband-modem.c      |  2 ++
 src/mm-iface-modem-location.c | 49
 ++++++++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem-location.h |  2 ++
 3 files changed, 52 insertions(+), 1 deletion(-)

commit fea2ef0e5cbf908a889a04c5c488aa76070aeaa5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 12:07:03 2012 +0100

    iface-modem-cdma: let initialization and enabling sequences get
    cancelled

 src/mm-broadband-modem.c  |  2 ++
 src/mm-iface-modem-cdma.c | 48
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-cdma.h |  2 ++
 3 files changed, 52 insertions(+)

commit 0d4b644572603114d9b6eda46778af6a8a5c021d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 11:58:32 2012 +0100

    iface-modem-3gpp: let initialization and enabling sequences get
    cancelled

 src/mm-broadband-modem.c  |  2 ++
 src/mm-iface-modem-3gpp.c | 48
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h |  2 ++
 3 files changed, 52 insertions(+)

commit e140ff3c5f1dda2e1310b79b81e73fada5b6d312
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 11:52:20 2012 +0100

    iface-modem: let initialization and enabling sequences get cancelled

 src/mm-broadband-modem.c |  2 ++
 src/mm-iface-modem.c     | 48
 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h     |  2 ++
 3 files changed, 52 insertions(+)

commit d27e40ae9aea1166831920a92d4eba4f3f51605d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 9 19:48:43 2012 +0100

    core: new `Initializing' state in the global modem state machine

    We need to define a state to be used while the modem is being
    initialized, so
    that we forbid any operation on the modem on already exported
    interfaces, while
    there are interfaces pending to get exported.

    This Initializing state will also cover the state between having
    the SIM
    unlocked (which launches re-initialization) and being completely
    initialized.

 include/ModemManager-enums.h | 22 ++++++++------
 src/mm-broadband-modem.c     | 72
 ++++++++++++++++++++++++++++++++++++++------
 src/mm-iface-modem-3gpp.c    | 24 ++++++++++++---
 src/mm-iface-modem-cdma.c    | 22 +++++++++++---
 src/mm-iface-modem.c         | 34 ++++++++++++---------
 src/mm-sim.c                 | 13 +++++---
 6 files changed, 140 insertions(+), 47 deletions(-)

commit 6de2e3f72cb058ce31b93274ede144d95c5440bc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 9 19:47:04 2012 +0100

    sim: don't require the Modem object in the context

    It's already easily available in self->priv->modem;

 src/mm-sim.c | 28 ++++------------------------
 1 file changed, 4 insertions(+), 24 deletions(-)

commit 3a22128d9e87d2948e948b44f170cf4167dcc746
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 9 19:43:34 2012 +0100

    iface-modem: don't leave locked state until re-initialization
    is complete

 src/mm-iface-modem.c | 27 +++++++++++++++++++++------
 1 file changed, 21 insertions(+), 6 deletions(-)

commit 961290ddd7d6acd8d9da76e100b5c8063fa70cb5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 9 17:01:13 2012 +0100

    build: autogenerate `mm-errors-quarks.c'

    We define custom nicks for each error enum, matching the DBus error
    entry that
    we want to have with each of them.

 .gitignore                                   |   1 +
 build-aux/header-generator.xsl               |   3 +
 build-aux/mm-errors-quarks-template.c        |  42 +++++
 docs/reference/api/ModemManager-sections.txt |   7 +
 include/ModemManager-errors.h                | 224
 ++++++++++++++-------------
 libmm-common/Makefile.am                     |  13 +-
 libmm-common/mm-errors-quarks.c              | 219
 --------------------------
 7 files changed, 178 insertions(+), 331 deletions(-)

commit be7f499aa6da3630e145c311c489fe478c339b78
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 9 15:49:41 2012 +0100

    broadband-modem: set cancellations in the initialization, enabling
    and disabling sequences

 src/mm-broadband-modem.c | 63
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

commit 4b64d3dcf044937d92f4bc0c7af54da6ee92c34e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 9 00:13:53 2012 +0100

    nokia: new `MMSimNokia'

    Nokia phones don't support AT+CRSM.

 plugins/Makefile.am                      |  2 +
 plugins/nokia/mm-broadband-modem-nokia.c | 30 +++++++++++-
 plugins/nokia/mm-sim-nokia.c             | 84
 ++++++++++++++++++++++++++++++++
 plugins/nokia/mm-sim-nokia.h             | 51 +++++++++++++++++++
 4 files changed, 166 insertions(+), 1 deletion(-)

commit 25e8bfd2a31c87bc2a1a4f5d98ebb173303b348b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 8 23:37:10 2012 +0100

    nokia: expect only one AT port

    This speeds up probing, as we cancel other AT probings as soon as
    we grab the
    first AT port.

 plugins/nokia/mm-plugin-nokia.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 181f9c85f037cc4d0a603dc314382b3ffaa961f0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 8 23:32:30 2012 +0100

    log: only include LOC and method name in debug logs if running
    with --debug

    If the modem is started with --log-level=DEBUG, they will not
    be shown.

 src/main.c   | 1 +
 src/mm-log.c | 7 +++++--
 src/mm-log.h | 2 +-
 3 files changed, 7 insertions(+), 3 deletions(-)

commit cdd339f8024af8088d94f0ffde78beef5a0c998d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 8 23:19:19 2012 +0100

    base-modem: implement new modem-wide cancellable, and rework AT
    commands

    Instead of the `_in_port()' variants, we'll provide more generic
    `_full()' methods. These should be used either if we want to send
    commands
    to a specific port, or if we want to use a specific user-provided
    GCancellable.

    In addition to this user-provided GCancellable, we keep the internal
    modem-wide
    one.

 plugins/cinterion/mm-broadband-modem-cinterion.c |  36 ++---
 plugins/gobi/mm-broadband-modem-gobi.c           |   1 -
 plugins/iridium/mm-bearer-iridium.c              |  12 +-
 plugins/iridium/mm-broadband-modem-iridium.c     |   5 -
 plugins/nokia/mm-broadband-modem-nokia.c         |   1 -
 plugins/novatel/mm-broadband-bearer-novatel.c    |   4 -
 plugins/novatel/mm-broadband-modem-novatel.c     |   3 -
 plugins/option/mm-broadband-modem-option.c       |   3 -
 src/mm-base-modem-at.c                           | 185
 ++++++++++++----------
 src/mm-base-modem-at.h                           |  91 +++++------
 src/mm-base-modem.c                              |  16 ++
 src/mm-base-modem.h                              |   3 +
 src/mm-broadband-bearer.c                        | 191
 +++++++++++------------
 src/mm-broadband-modem.c                         | 162
 ++++++++-----------
 src/mm-sim.c                                     |   7 -
 src/mm-sms.c                                     |   4 -
 16 files changed, 334 insertions(+), 390 deletions(-)

commit 215c27808230352e3def81b45808ef29a9cd5b7a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 8 15:30:48 2012 +0100

    base-modem: new modem-wide cancellable, passed to every state machine

 src/mm-base-modem.c  | 132
 ++++++++++++++++++++++++++++++++++++++++++++-------
 src/mm-base-modem.h  |  39 +++++++++++----
 src/mm-iface-modem.c |  37 +++++----------
 3 files changed, 155 insertions(+), 53 deletions(-)

commit 7bfc56c2a8d1d5d9eb70cdfa803b840c176071b2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 8 15:30:14 2012 +0100

    base-modem-at: set error if NULL port detected

    Users of mm_base_modem_at_command_in_port() can now directly pass
    the result
    of mm_base_modem_peek_port_primary() or
    mm_base_modem_peek_port_secondary(),
    which may be NULL if no such port exists in the modem. So we'll
    gracefully
    detect the NULL port and complete the async operation with an error.

 src/mm-base-modem-at.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit cc6d4a97fb0a11c799f1079c6db86b31db7eadf7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 8 12:47:45 2012 +0100

    base-modem: new port getters and peekers

     * mm_base_modem_peek_port_* () will return either a port object
     (no new
    reference), or NULL if none available.

    You would usually peek() a port if you're going to use it just in
    the current
    method, as there is no way to that reference to get invalid (we're
    single
    threaded).

     * mm_base_modem_get_port_* () will return either NEW references
     to valid
    port objects, or NULL if none available.

    And, you would usually get() a port, whenever you want the port
    object to be
    valid even out of the current method, for example when keeping it
    in the
    context of an async operation.

    Also, we need to consider that the primary AT port MAY BE NULL
    when you
    peek() or get() it. This is due to the fact that we may be releasing
    ports
    (due to device disconnection) in the middle of async operations.

 plugins/cinterion/mm-broadband-modem-cinterion.c |   2 +-
 plugins/iridium/mm-bearer-iridium.c              | 121 +++++++++-------
 plugins/iridium/mm-broadband-modem-iridium.c     |   8 +-
 src/mm-base-modem-at.c                           |   6 +-
 src/mm-base-modem.c                              |  57 +++++++-
 src/mm-base-modem.h                              |  20 ++-
 src/mm-broadband-bearer.c                        |  73 ++++++++--
 src/mm-broadband-modem.c                         | 177
 +++++++++++++----------
 src/mm-iface-modem-3gpp-ussd.c                   |   6 -
 src/mm-iface-modem-3gpp.c                        |   6 -
 src/mm-iface-modem-cdma.c                        |   6 -
 src/mm-iface-modem-location.c                    |   6 -
 src/mm-iface-modem-messaging.c                   |   6 -
 src/mm-iface-modem-time.c                        |   6 -
 src/mm-iface-modem.c                             |  29 ++--
 src/mm-sim.c                                     |  17 +--
 16 files changed, 323 insertions(+), 223 deletions(-)

commit 48285dcfdf04becbe90922ac3f2dd942bc43de53
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 17:17:59 2012 +0100

    serial-port: forcing to close a port is an internal operation

    Ports being forced to get closed will only happen when we get a
    HUP error
    in the serial port (e.g. device got disconnected).

 src/mm-serial-port.c | 6 +++---
 src/mm-serial-port.h | 2 --
 2 files changed, 3 insertions(+), 5 deletions(-)

commit 4f59a696fc5a01551c9fc53ac5893d429613ff7e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 17:10:16 2012 +0100

    serial-port: don't warn when trying to close a port which was forced
    to be closed

 src/mm-serial-port.c | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

commit 4bdfd25de18bc6abaae6197f5f4646586c0da511
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 17:07:36 2012 +0100

    base-modem: when getting best AT port, assume we may have lost
    specific ports

    Don't assume that primary port is always set.

 src/mm-base-modem.c | 31 +++++++++++++++----------------
 1 file changed, 15 insertions(+), 16 deletions(-)

commit c24012ef1b6a4ba1368ca22f30b7db6c5ccec334
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 16:49:22 2012 +0100

    plugin-base: handle the case of expecting a single AT port

    If we only expect a single AT port, we'll cancel all remaining AT
    port probings
    in the other ports, as soon as we get the first one.

 TODO                 |  4 ----
 src/mm-plugin-base.c | 35 +++++++++++++++++++++++++++++------
 2 files changed, 29 insertions(+), 10 deletions(-)

commit dc58cce7c45cc77b31923a2520a501ba5e3590da
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 16:48:18 2012 +0100

    port-probe: allow cancelling all AT probing steps

 src/mm-port-probe.c | 50
 ++++++++++++++++++++++++++++++++++++++++----------
 src/mm-port-probe.h |  4 +++-
 2 files changed, 43 insertions(+), 11 deletions(-)

commit 9fbddcb8a94ae6755b6afccf9dcf070b4d9c45bd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 14:23:15 2012 +0100

    plugin-base: new property to specify that only one single AT port
    is expected

    Will allow us to cancel other AT probings as soon as the first AT
    port is
    grabbed.

 src/mm-plugin-base.c | 19 +++++++++++++++++++
 src/mm-plugin-base.h |  2 +-
 2 files changed, 20 insertions(+), 1 deletion(-)

commit 690777986b0efe6a38135ea8f42f392a6320cf77
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 14:21:11 2012 +0100

    port-probe: refactor AT command handling

    Make it use a GVariant in the response processor, as the AT command
    handling in
    the MMBaseModem.

 TODO                            |   4 --
 plugins/nokia/mm-plugin-nokia.c |  44 ++-----------
 src/Makefile.am                 |   4 +-
 src/mm-port-probe-at-command.c  | 135
 ----------------------------------------
 src/mm-port-probe-at-command.h  |  58 -----------------
 src/mm-port-probe-at.c          |  93 +++++++++++++++++++++++++++
 src/mm-port-probe-at.h          |  79 +++++++++++++++++++++++
 src/mm-port-probe.c             |  74 ++++++++++++++--------
 src/mm-port-probe.h             |   2 +-
 9 files changed, 226 insertions(+), 267 deletions(-)

commit 70103fdef3556551cb282849fb8fb1dbcd102deb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 14:18:19 2012 +0100

    TODO: new task to consolidate the serial parser as a GObject

 TODO | 2 ++
 1 file changed, 2 insertions(+)

commit 1e1927334031f8eda5383962063c54ac06267bfe
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 13:10:18 2012 +0100

    serial-parsers: new method to check if a given error was set by
    the parser

 src/mm-serial-parsers.c | 9 +++++++++
 src/mm-serial-parsers.h | 1 +
 2 files changed, 10 insertions(+)

commit ef2b1cf030e257ff93ada4a5397425d192df1805
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 13:08:43 2012 +0100

    at-serial-port: allow cancelling the response timeout

 src/mm-at-serial-port.c | 6 ++++--
 src/mm-at-serial-port.h | 2 ++
 src/mm-base-modem-at.c  | 5 +++++
 src/mm-port-probe.c     | 1 +
 4 files changed, 12 insertions(+), 2 deletions(-)

commit 5a485d74a20a57498d06db09b621af93b433d7e2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 13:07:17 2012 +0100

    qcdm-serial-port: allow cancelling the response timeout

 src/mm-broadband-modem.c          | 4 ++++
 src/mm-port-probe.c               | 2 ++
 src/mm-qcdm-serial-port.c         | 6 ++++--
 src/mm-qcdm-serial-port.h         | 2 ++
 src/tests/test-qcdm-serial-port.c | 2 +-
 5 files changed, 13 insertions(+), 3 deletions(-)

commit 9b38cd4f5ce68d816aaa5ffd5b90c1982199bcf2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 13:04:35 2012 +0100

    serial-port: allow cancelling the response timeout

 src/mm-at-serial-port.c   |  2 ++
 src/mm-qcdm-serial-port.c |  2 ++
 src/mm-serial-port.c      | 62
 +++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-serial-port.h      |  4 ++-
 4 files changed, 67 insertions(+), 3 deletions(-)

commit 64d83737fe8fc2a4a16e61f817e5046f40cb843b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 12:37:42 2012 +0100

    serial-parsers: remove v0 and v1_e1 parsers, which are unused

    Given that we now perform our own built-in echo removal in the v1
    parser, we no
    longer need the v1_e1 parser.

    The v0 parser was also unused from long ago.

 src/mm-serial-parsers.c | 184
 ------------------------------------------------
 src/mm-serial-parsers.h |  14 ----
 2 files changed, 198 deletions(-)

commit 05e2ce862dc5d834b274676bd1afa31fae62a740
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 10:38:33 2012 +0100

    port-probe: log the list of probing tasks to be run

 src/mm-port-probe.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 66984e77cdfd7e1292da31a03996696b3f5288d1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 7 10:37:49 2012 +0100

    port-probe: convert port probe flags to a private enum

 src/Makefile.am     |  6 ++++--
 src/mm-port-probe.h | 11 +++++++----
 2 files changed, 11 insertions(+), 6 deletions(-)

commit b07e13f49d5e343377d086c5a564ae5659b6a40a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 6 18:19:17 2012 +0100

    TODO: time interface and own numbers now done

 TODO | 9 ---------
 1 file changed, 9 deletions(-)

commit 1df1fe4f4aa271bb66616da789dda0b2bc7f653e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 6 17:45:41 2012 +0100

    mmcli: new Time-specific actions

 cli/Makefile.am        |   1 +
 cli/mmcli-modem-time.c | 262
 +++++++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli.c            |  11 +++
 cli/mmcli.h            |   8 ++
 4 files changed, 282 insertions(+)

commit a3e6faeaca45ab7499ba3652597042e036c03a15
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 6 17:45:16 2012 +0100

    libmm-glib: implement Time interface specific actions

 libmm-glib/Makefile.am     |   2 +
 libmm-glib/mm-modem-time.c | 123
 +++++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-modem-time.h |  54 ++++++++++++++++++++
 libmm-glib/mm-object.c     |  37 +++++++++++++-
 libmm-glib/mm-object.h     |   6 ++-
 5 files changed, 220 insertions(+), 2 deletions(-)

commit b50c5d42e0966c0bab5d7e9984b8ff77ff4b0f02
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 6 14:56:44 2012 +0100

    mmcli: print own numbers in modem info

 cli/mmcli-modem.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 59d811076759255d4a55cb8157de43330b1aadcd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 6 14:32:16 2012 +0100

    libmm-glib: add support to retrieve own numbers

 libmm-glib/mm-modem.c | 26 ++++++++++++++++++++++++++
 libmm-glib/mm-modem.h |  2 ++
 2 files changed, 28 insertions(+)

commit 1f250585dd810e8b6db2514036a470ab955febf4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 6 14:15:43 2012 +0100

    modem-helpers: refactor and reorganize sources

 src/mm-broadband-bearer.c      |    8 +-
 src/mm-broadband-modem.c       |   54 +-
 src/mm-modem-helpers.c         | 2506
 ++++++++++++++++++++--------------------
 src/mm-modem-helpers.h         |  182 +--
 src/tests/test-modem-helpers.c |   30 +-
 5 files changed, 1423 insertions(+), 1357 deletions(-)

commit c824ee310603971ed4ccbfb9531b83dcfcc75bd6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 6 13:10:10 2012 +0100

    broadband-modem: implement own numbers generic loading

 src/mm-broadband-modem.c | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

commit 51c28d0f79cfebae60982b824abbfbdf2d730f68
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 6 13:09:34 2012 +0100

    modem-helpers: new +CNUM response parser and tests

 src/mm-modem-helpers.c         |  37 +++++++++++++++
 src/mm-modem-helpers.h         |   3 ++
 src/tests/test-modem-helpers.c | 105
 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 145 insertions(+)

commit 4a52a19c41c92aa8c9091b0ddcbfe6f18d3691ad
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 6 12:42:42 2012 +0100

    tests,modem-helpers: cleanup tests

    Properly order the tests in blocks, and ensure that the common
    data for
    registration tests is not passed to other non-registration related
    tests.

 src/tests/test-modem-helpers.c | 191
 +++++++++++++++++++++++------------------
 1 file changed, 107 insertions(+), 84 deletions(-)

commit 4c38ab4864463b8266f7202a702f4fd3b01af060
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 6 12:33:00 2012 +0100

    test,modem-helpers: remove conditional compilation

    We require already GLib 2.30

 src/tests/test-modem-helpers.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

commit 2dcff5590e22d47de41b4bf1beb1d6666286bee7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 6 11:45:02 2012 +0100

    iface-modem: setup loading of own numbers during the initialization
    phase

 src/mm-iface-modem.c | 42 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |  8 ++++++++
 2 files changed, 50 insertions(+)

commit 238e2a5341f2825bedbdb2c0e70e3dcdeaae5f62
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 6 11:44:30 2012 +0100

    api,dbus: new `OwnNumbers' property in the Modem interface

 introspection/org.freedesktop.ModemManager1.Modem.xml | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 478b9c5f36c8e740ef5c49bf487a5fe106e9e62c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 5 20:09:03 2012 +0100

    cinterion: no need to complete in idle in sleep_ready()

 plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 22113859c935c6f979f8d1cfe633a4aa3cb05e81
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 5 18:29:27 2012 +0100

    messaging: part index may be repeated in different storages

 src/mm-sms-list.c | 21 ++++++++++++++++-----
 src/mm-sms.c      | 11 +++++++++++
 src/mm-sms.h      |  7 ++++---
 3 files changed, 31 insertions(+), 8 deletions(-)

commit 120e117c49d50d853e08a9291e31eb33fc73d5ac
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 5 18:17:02 2012 +0100

    time: removed old interface sources

 src/mm-modem-time.c | 169
 ----------------------------------------------------
 src/mm-modem-time.h |  60 -------------------
 2 files changed, 229 deletions(-)

commit a339546c4547e0950d8dc8aa1d22aafc8969fac9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 5 18:11:18 2012 +0100

    iface-modem-time: setup generic unsolicited message handling

    Modems may get notified via unsolicited messages (either AT or QMI
    or some
    other thing), that the network time was updated. This setup allows
    subclasses
    implementing the Time interface to setup/cleanup and enable/disable
    the
    unsolicited messages, as well as notify about the network time
    updates.

 src/mm-iface-modem-time.c | 149
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-time.h |  37 ++++++++++++
 2 files changed, 186 insertions(+)

commit 5b01df5baa796d6a1ddec4e57c18a1c742f870f4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 5 16:30:39 2012 +0100

    iface-modem-time: handle `GetNetworkTime'

 src/mm-iface-modem-time.c | 88
 ++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem-time.h |  8 +++++
 2 files changed, 95 insertions(+), 1 deletion(-)

commit 10669881a5520c253ab8ba6f05de4ff5afdc7a31
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 5 16:10:53 2012 +0100

    iface-modem-time: only retry if MM_CORE_ERROR_RETRY was returned

    We don't want to retry if the error is fatal in some other kind,
    e.g. a reply
    parsing error or something.

 src/mm-iface-modem-time.c | 7 +++++--
 src/mm-iface-modem-time.h | 4 +++-
 2 files changed, 8 insertions(+), 3 deletions(-)

commit 120ac6da39ef1d3abb57f77f1e77de10bf58f194
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 5 16:07:31 2012 +0100

    api,errors: new `MM_CORE_ERROR_RETRY'

    Lets operations specify that they cannot be run currently, but that
    the caller
    may retry later. Of course, it depends on the caller to really
    honour the
    retry-later suggestion.

 include/ModemManager-errors.h | 2 ++
 1 file changed, 2 insertions(+)

commit 6e753996293bc0c397b896f7db5fad328237adc5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 5 15:20:21 2012 +0100

    iface-modem-time: load network timezone information

    Following the same logic as in the original implementation, we try
    to load the
    network timezone information only after being registered, and also
    with up to N
    retries. The async operation in charge of the loading can be cancelled
    gracefully, i.e. if the interface is disabled before we get ever
    registered.

 src/mm-iface-modem-time.c | 315
 +++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem-time.h |  14 ++-
 2 files changed, 324 insertions(+), 5 deletions(-)

commit df4e7131240c960d1c351d21e82aad0810188580
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 5 11:59:54 2012 +0100

    broadband-modem: implement the Time interface

 src/mm-broadband-modem.c | 68
 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 67 insertions(+), 1 deletion(-)

commit 16cf2a49f681c1b1e1a23b6a86aef470dc9f4d89
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 5 11:53:54 2012 +0100

    iface-modem-time: new interface to handle the Time DBus interface

 src/Makefile.am           |   2 +
 src/mm-iface-modem-time.c | 457
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-time.h |  76 ++++++++
 3 files changed, 535 insertions(+)

commit 455fc68d8ab2a003d743163f538e8e3de9558ea3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 5 11:43:37 2012 +0100

    libmm-common: new `MMNetworkTimezone' helper object

 libmm-common/Makefile.am           |   4 +
 libmm-common/libmm-common.h        |   1 +
 libmm-common/mm-network-timezone.c | 216
 +++++++++++++++++++++++++++++++++++++
 libmm-common/mm-network-timezone.h |  68 ++++++++++++
 4 files changed, 289 insertions(+)

commit bd9d7011b9ecdd588b74f0948352a4822c8222da
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 5 10:50:01 2012 +0100

    api,dbus: rewrote Time interface to be used with gdbus-codegen

 docs/reference/api/Makefile.am                     |  1 +
 docs/reference/api/ModemManager-dbus-reference.xml |  1 +
 introspection/all.xml                              |  1 +
 .../org.freedesktop.ModemManager.Modem.Time.xml    | 56 ----------------
 .../org.freedesktop.ModemManager1.Modem.Time.xml   | 75
 ++++++++++++++++++++++
 libmm-common/Makefile.am                           |  2 +
 6 files changed, 80 insertions(+), 56 deletions(-)

commit 480fe4b8087ea323f46e8abee6a71323746b6693
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Mar 2 13:06:42 2012 +0100

    docs: new section about plugin-specific modems

 docs/reference/api/Makefile.am                     |    6 +-
 ...nterface-initialization-sequence-subclassed.dia | 1083
 ++++++++++++++++++++
 ...emManager-interface-initialization-sequence.dia |  999
 ++++++++++++++++++
 docs/reference/api/ModemManager-overview.xml       |   51 +-
 4 files changed, 2136 insertions(+), 3 deletions(-)

commit 52ff02323d07d4b27755f7ad49bef5ee53e27109
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 1 23:47:57 2012 +0100

    plugin-manager: avoid race when port deferred until suggested and
    suggestion already there

    It may happen that we launch the supports task in the port AFTER
    having received
    the suggestion.

 src/mm-plugin-manager.c | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

commit f8f09692894dc30e6bfd019554783b7a18de61a2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 1 23:46:37 2012 +0100

    plugin-base: log also when starting to check support

    So that we get logs when net ports are being checked for support,
    which won't be
    probed.

 src/mm-plugin-base.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 9c5c072bab444a269dd4f6c8d847191eafe0c1b6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 1 21:41:12 2012 +0100

    iface-modem: fix signal name

 src/mm-iface-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c590cde7e594d5020c2bc400ce8397a666fed9d9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 1 17:36:09 2012 +0100

    TODO: new possible probing improvement

 TODO | 3 +++
 1 file changed, 3 insertions(+)

commit 47265a80acb81f48332fa175a084fa3e9922b206
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 1 17:35:53 2012 +0100

    TODO: pin retry counts and enabled facility locks now ported from
    master

 TODO | 2 --
 1 file changed, 2 deletions(-)

commit 41fe01b2179f080bf62d52acf2e6d1b8fa45ed90
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 1 17:17:30 2012 +0100

    sim: update unlock retry counts after PIN change/enable operations

 src/mm-sim.c | 57
 ++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 46 insertions(+), 11 deletions(-)

commit cd63df938f4fdf3fb656f715745608a9318d1c74
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 1 13:17:12 2012 +0100

    libmm-common: `MMSimpleStatus' won't be considered internal any more

    Renamed `MMCommonSimpleProperties' to `MMSimpleStatus', and removed
    the
    `MMSimpleStatusProperties' provided in libmm-glib. We'll just use
    the original
    one from libmm-common always.

 cli/mmcli-modem-simple.c                           |  37 +++--
 libmm-common/Makefile.am                           |   8 +-
 libmm-common/libmm-common.h                        |   2 +-
 libmm-common/mm-common-simple-properties.h         |  86 ----------
 ...mmon-simple-properties.c => mm-simple-status.c} | 179
 +++++++++++++--------
 libmm-common/mm-simple-status.h                    |  85 ++++++++++
 libmm-glib/Makefile.am                             |   3 -
 libmm-glib/mm-modem-simple-status-properties.c     | 115 -------------
 libmm-glib/mm-modem-simple-status-properties.h     |  50 ------
 libmm-glib/mm-modem-simple.c                       |  16 +-
 libmm-glib/mm-modem-simple.h                       |  21 ++-
 src/mm-broadband-modem.c                           |   4 +-
 src/mm-iface-modem-3gpp-ussd.c                     |   2 +-
 src/mm-iface-modem-3gpp-ussd.h                     |   2 +-
 src/mm-iface-modem-3gpp.c                          |   8 +-
 src/mm-iface-modem-3gpp.h                          |   2 +-
 src/mm-iface-modem-cdma.c                          |  11 +-
 src/mm-iface-modem-cdma.h                          |   2 +-
 src/mm-iface-modem-location.c                      |   2 +-
 src/mm-iface-modem-location.h                      |   2 +-
 src/mm-iface-modem-messaging.c                     |   2 +-
 src/mm-iface-modem-messaging.h                     |   2 +-
 src/mm-iface-modem-simple.c                        |  10 +-
 src/mm-iface-modem.c                               |  10 +-
 src/mm-iface-modem.h                               |   2 +-
 25 files changed, 264 insertions(+), 399 deletions(-)

commit bb352d5da30413e70a71d14acb952b7bedfe6f99
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 1 12:50:23 2012 +0100

    libmm-common: `MMLocation3gpp' won't be considered internal any more

    Renamed `MMCommonLocation3gpp' to `MMLocation3gpp', and removed the
    `MMModemLocation3gpp' provided in libmm-glib. We'll just use the
    original one
    from libmm-common always.

 cli/mmcli-modem-location.c                         | 14 ++--
 libmm-common/Makefile.am                           |  8 +-
 libmm-common/libmm-common.h                        |  2 +-
 libmm-common/mm-common-location-3gpp.h             | 68 ---------------
 ...m-common-location-3gpp.c => mm-location-3gpp.c} | 96
 +++++++++++++---------
 libmm-common/mm-location-3gpp.h                    | 68 +++++++++++++++
 libmm-glib/Makefile.am                             |  2 -
 libmm-glib/mm-modem-location-3gpp.c                | 48 -----------
 libmm-glib/mm-modem-location-3gpp.h                | 45 ----------
 libmm-glib/mm-modem-location.c                     | 12 +--
 libmm-glib/mm-modem-location.h                     | 24 +++---
 src/mm-iface-modem-location.c                      | 46 +++++------
 12 files changed, 177 insertions(+), 256 deletions(-)

commit 1385eb394f977ee3a7014bd0025fa65cd7e4a25a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 1 12:31:17 2012 +0100

    libmm-common: `MMSimpleConnectProperties' won't be considered internal
    any more

    Renamed `MMCommonConnectProperties' to `MMSimpleConnectProperties',
    and removed
    the `MMModemSimpleConnectProperties' provided in libmm-glib. We'll
    just use the
    original one from libmm-common always.

 cli/mmcli-modem-simple.c                           |   4 +-
 libmm-common/Makefile.am                           |   8 +-
 libmm-common/libmm-common.h                        |   2 +-
 libmm-common/mm-common-connect-properties.h        | 121 ---------------
 ...properties.c => mm-simple-connect-properties.c} | 164
 ++++++++++++++-------
 libmm-common/mm-simple-connect-properties.h        |  98 ++++++++++++
 libmm-glib/Makefile.am                             |   3 -
 libmm-glib/mm-modem-simple-connect-properties.c    | 123 ----------------
 libmm-glib/mm-modem-simple-connect-properties.h    |  71 ---------
 libmm-glib/mm-modem-simple.c                       |  10 +-
 libmm-glib/mm-modem-simple.h                       |   5 +-
 src/mm-iface-modem-simple.c                        |  17 +--
 12 files changed, 230 insertions(+), 396 deletions(-)

commit d306bb082f1237f6437e05b7a166df91f46655fb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 1 12:14:44 2012 +0100

    libmm-common: `MMBearerProperties' won't be considered internal
    any more

    Renamed `MMCommonBearerProperties' to `MMBearerProperties', and
    removed the
    `MMBearerProperties' provided in libmm-glib. We'll just use the
    original one
    from libmm-common always.

 libmm-common/Makefile.am                           |   8 +-
 libmm-common/libmm-common.h                        |   2 +-
 ...-bearer-properties.c => mm-bearer-properties.c} | 200
 +++++++++++++--------
 libmm-common/mm-bearer-properties.h                |  91 ++++++++++
 libmm-common/mm-common-bearer-properties.h         | 107 -----------
 libmm-common/mm-common-connect-properties.c        |  56 +++---
 libmm-common/mm-common-connect-properties.h        |   4 +-
 libmm-glib/Makefile.am                             |   3 -
 libmm-glib/mm-bearer-properties.c                  | 190
 --------------------
 libmm-glib/mm-bearer-properties.h                  |  85 ---------
 libmm-glib/mm-bearer.c                             |   2 +-
 libmm-glib/mm-bearer.h                             |   2 -
 libmm-glib/mm-modem.c                              |   6 +-
 libmm-glib/mm-modem.h                              |   1 -
 plugins/iridium/mm-bearer-iridium.c                |  12 +-
 plugins/iridium/mm-broadband-modem-iridium.c       |   2 +-
 plugins/novatel/mm-broadband-bearer-novatel.c      |   2 +-
 plugins/novatel/mm-broadband-bearer-novatel.h      |  10 +-
 plugins/novatel/mm-broadband-modem-novatel.c       |   2 +-
 src/mm-bearer-list.c                               |   2 +-
 src/mm-bearer-list.h                               |   2 +-
 src/mm-bearer.c                                    |   6 +-
 src/mm-bearer.h                                    |   6 +-
 src/mm-broadband-bearer.c                          |  38 ++--
 src/mm-broadband-bearer.h                          |   2 +-
 src/mm-broadband-modem.c                           |   2 +-
 src/mm-iface-modem-simple.c                        |   2 +-
 src/mm-iface-modem.c                               |   6 +-
 src/mm-iface-modem.h                               |   4 +-
 29 files changed, 301 insertions(+), 554 deletions(-)

commit 323df60ed92d66e985a36a12fb334a0cca9bd1ea
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 1 11:27:46 2012 +0100

    libmm-common: `MMBearerIpConfig' won't be considered internal any more

    Renamed `MMCommonBearerIpConfig' to `MMBearerIpConfig', and removed
    the
    `MMBearerIpConfig' provided in libmm-glib. We'll just use the
    original one
    from libmm-common always.

 libmm-common/Makefile.am                           |   8 +-
 libmm-common/libmm-common.h                        |   2 +-
 ...on-bearer-ip-config.c => mm-bearer-ip-config.c} | 126
 +++++++++++++--------
 libmm-common/mm-bearer-ip-config.h                 |  73 ++++++++++++
 libmm-common/mm-common-bearer-ip-config.h          |  73 ------------
 libmm-glib/Makefile.am                             |   3 -
 libmm-glib/mm-bearer-ip-config.c                   |  56 ---------
 libmm-glib/mm-bearer-ip-config.h                   |  39 -------
 libmm-glib/mm-bearer.c                             |   4 +-
 libmm-glib/mm-bearer.h                             |   1 -
 plugins/iridium/mm-bearer-iridium.c                |  14 +--
 plugins/novatel/mm-broadband-bearer-novatel.c      |  14 +--
 src/mm-bearer.c                                    |  12 +-
 src/mm-bearer.h                                    |   4 +-
 src/mm-broadband-bearer.c                          |  38 +++----
 src/mm-broadband-bearer.h                          |   8 +-
 16 files changed, 205 insertions(+), 270 deletions(-)

commit ef9fb0bfacac348c5bab35a3a99d52270e510d99
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 1 11:11:28 2012 +0100

    libmm-common: `MMSmsProperties' won't be considered internal any more

    Renamed `MMCommonSmsProperties' to `MMSmsProperties', and removed the
    `MMSmsProperties' provided in libmm-glib. We'll just use the
    original one
    from libmm-common always.

 libmm-common/Makefile.am                           |   8 +-
 libmm-common/libmm-common.h                        |   2 +-
 libmm-common/mm-common-sms-properties.h            |  87 ------------
 ...common-sms-properties.c => mm-sms-properties.c} | 149
 +++++++++++++--------
 libmm-common/mm-sms-properties.h                   |  75 +++++++++++
 libmm-glib/Makefile.am                             |   3 -
 libmm-glib/mm-modem-messaging.c                    |   6 +-
 libmm-glib/mm-sms-properties.c                     |  76 -----------
 libmm-glib/mm-sms-properties.h                     |  54 --------
 libmm-glib/mm-sms.h                                |   2 -
 src/mm-iface-modem-messaging.c                     |   4 +-
 src/mm-sms.c                                       |  18 +--
 src/mm-sms.h                                       |   2 +-
 13 files changed, 185 insertions(+), 301 deletions(-)

commit 3ccc78e8588acec9632863d30e310cdc76ad8598
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 1 00:22:22 2012 +0100

    api: `UnlockRetries' will reply a list of per-lock retry counts

    Equivalent to `PinRetryCount' in the previous API. We don't have
    an additional
    property for the retry count of the current lock, as it really
    is duplicating
    information.

 cli/mmcli-modem.c                                  |  32 ++---
 .../org.freedesktop.ModemManager1.Modem.xml        |  11 +-
 libmm-glib/mm-modem.c                              |  18 +--
 libmm-glib/mm-modem.h                              |   2 +-
 src/mm-iface-modem.c                               | 140
 ++++++++++++++++++---
 src/mm-iface-modem.h                               |  16 ++-
 6 files changed, 158 insertions(+), 61 deletions(-)

commit 036711eb1cea191e7acc3c3858eebef850238fa6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 1 00:20:17 2012 +0100

    libmm-common: new `MMUnlockRetries' helper object

 libmm-common/Makefile.am         |   4 +
 libmm-common/libmm-common.h      |   1 +
 libmm-common/mm-unlock-retries.c | 218
 +++++++++++++++++++++++++++++++++++++++
 libmm-common/mm-unlock-retries.h |  78 ++++++++++++++
 4 files changed, 301 insertions(+)

commit 7ab252f079f6d115ed13325f7749edc99c5b5b57
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 29 20:21:12 2012 +0100

    cli: print list of enabled facility locks

 cli/mmcli-modem.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 2e1a322837016c826cf3c51f264d15c6b035aa57
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 29 20:18:48 2012 +0100

    api,header: define facilities flags with bitwise operations instead
    of hex values

    So that glib-mkenums detects that we're talking about flags.

 include/ModemManager-enums.h | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit 9a442b01bc6e53fbeb42ce4d74a83b9a1218f915
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 29 20:17:58 2012 +0100

    api,header: minor alignment fix

 include/ModemManager-enums.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit c66817622c8c0f7bd20cd423b8b813d3df671fa6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 29 20:12:18 2012 +0100

    broadband-modem: implement default facility locks status loading

 src/mm-broadband-modem.c | 151
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 151 insertions(+)

commit 491d8e03f99baded9f59a97daddc06cd223ef4bd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 29 19:36:52 2012 +0100

    iface-modem-3gpp: update facilities mask when SIM PIN lock enabling
    status changes

 src/mm-iface-modem-3gpp.c | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

commit a797d6d68382b546e8b6e22f4f533cc44a7ac7ee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 29 19:36:00 2012 +0100

    sim: signal when the pin lock enabling status changes

 src/Makefile.am     |  1 +
 src/mm-marshal.list |  1 +
 src/mm-sim.c        | 24 +++++++++++++++++++++++-
 src/mm-sim.h        |  8 ++++++++
 4 files changed, 33 insertions(+), 1 deletion(-)

commit eb87c2fe07e209d8226d3f3bcdbe1825fb7b6591
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 29 19:35:34 2012 +0100

    iface-modem-3gpp: load initial set of enabled facility locks

 src/mm-iface-modem-3gpp.c | 34 ++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h |  8 ++++++++
 2 files changed, 42 insertions(+)

commit 75a2b407bdd976b862d5745705afc41b3c3fa7ac
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 29 16:57:41 2012 +0100

    modem-helpers: port facility lock related helpers to use
    `MMModemFacility' enums

 src/mm-modem-helpers.c | 138
 ++++++++++++++++++++-----------------------------
 src/mm-modem-helpers.h |  15 +++---
 2 files changed, 63 insertions(+), 90 deletions(-)

commit 1628f495fe5f38c579f87920ef492a47ef73335e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 29 12:49:46 2012 +0100

    libmm-common,tests: include tests when running make check/distcheck

 libmm-common/tests/Makefile.am | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 8f200940ecebb566e7a978581a8fd566e41564e5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 29 12:49:20 2012 +0100

    tests: fix automake rule dependencies

    We need to ensure all test programs are built.

 src/tests/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 10d9775c541bbcd4de54bfcd774fe7a23c23a620
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 29 11:40:39 2012 +0100

    TODO: new file with a list of pending things and ideas

 TODO | 134
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 insertions(+)

commit 64f49c0c7261d7de2eae03477cd69cf540184041
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 28 23:24:53 2012 +0100

    iface-modem: the Command() method is only allowed when running in
    debug mode

 introspection/org.freedesktop.ModemManager1.Modem.xml |  9 ++++++---
 src/mm-iface-modem.c                                  | 12 ++++++++++++
 2 files changed, 18 insertions(+), 3 deletions(-)

commit 952b9164b9ae2af4d1fd18f77d4b97bfa4d78eab
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 28 23:09:10 2012 +0100

    context: new source files to keep the daemon context

 src/Makefile.am  |  2 ++
 src/main.c       | 38 +++++------------------
 src/mm-context.c | 91
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-context.h | 30 +++++++++++++++++++
 4 files changed, 131 insertions(+), 30 deletions(-)

commit 1701230f5164087bd7c279c35c8797ae1e80f0d5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 28 22:48:00 2012 +0100

    plugin-base: remove the SORT_LAST property

    Plugins that need to get sorted last by the PluginManager can now
    be determined
    just by looking at the post probing filters.

 plugins/cinterion/mm-plugin-cinterion.c |  1 -
 plugins/iridium/mm-plugin-iridium.c     |  1 -
 src/mm-plugin-base.c                    | 23 ++++-------------------
 3 files changed, 4 insertions(+), 21 deletions(-)

commit 03fbdece7178d3b65e4a8ed2825dc45b4c9527ff
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 28 22:46:22 2012 +0100

    plugin: remove unnecessary callback type

 src/mm-plugin.h | 11 -----------
 1 file changed, 11 deletions(-)

commit b6203ab425651e78fdab0219b686c5e24a1bc661
Author: Nathan Williams <njw@chromium.org>
Date:   Tue Feb 28 12:52:34 2012 -0500

    libmm-glib: set the gdbus timeout to a value longer than that remote
    operation timeout

    Lets commands like "mmcli -m 0 --command-timeout=60
    --command='+COPS=?'" work,
    instead of tripping over the 25-second gdbus default timeout first.

    Change-Id: I67034423ca5ab08a07ecf3c9e313082d4860ffb3

 libmm-glib/mm-modem.c | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

commit 6f22eb6a635a9c2f132df1da3082949dc4ef826b
Author: Nathan Williams <njw@chromium.org>
Date:   Tue Feb 28 10:13:10 2012 -0500

    broadband-bearer: don't choke if an APN wasn't specified when parsing
    PDP list

    Change-Id: I1535fdae0659ae049b4a795d85017abe1fea6be8

 src/mm-broadband-bearer.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 94a110960e2401294a86c96575ec2a2d4fd61ce4
Author: Nathan Williams <njw@chromium.org>
Date:   Mon Feb 27 13:33:15 2012 -0500

    broadband-bearer: split out "dial" as a separate phase of the 3gpp
    connection

    So that we can override it in modems that use a different sequence
    to get a net
    connection instead of a PPP connection.

    Change-Id: I9c5635a7635b66eb7bca9ec9552d2d7794bc8827

 src/mm-broadband-bearer.c | 207
 +++++++++++++++++++++++++++++++++++++---------
 src/mm-broadband-bearer.h |  12 +++
 2 files changed, 180 insertions(+), 39 deletions(-)

commit 36fbfab3e6c62ae7e4c7270dc55bf2d61d49bd98
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 28 21:33:21 2012 +0100

    docs: document Modem probing and global state machine

 docs/reference/api/ModemManager-overview.xml | 575
 ++++++++++++++++++++++++++-
 1 file changed, 562 insertions(+), 13 deletions(-)

commit 5f85cfc352ddaf5ce583894c6209c422be3d890f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 28 10:48:17 2012 +0100

    docs: fix path of images

    PNGs are copied over to the HTML directory, so they will always be
    available in
    the same directory as the final HTML files.

 docs/reference/api/ModemManager-overview.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c4581af5d910fd5d823f0c7c36fec4e0acd59388
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 28 10:47:38 2012 +0100

    docs: set `ModemManager' as module name instead of `mm'

 .gitignore                                                     |
 10 +++++-----
 docs/reference/api/Makefile.am                                 |
 10 +++++-----
 .../{mm-dbus-reference.xml => ModemManager-dbus-reference.xml} |  0
 docs/reference/api/{mm-docs.xml => ModemManager-docs.xml}      |
 6 +++---
 .../api/{mm-overview.xml => ModemManager-overview.xml}         |  0
 .../api/{mm-sections.txt => ModemManager-sections.txt}         |  0
 docs/reference/api/{mm.types => ModemManager.types}            |  0
 7 files changed, 13 insertions(+), 13 deletions(-)

commit 21c0731ad96d3e406f061075584e4f26db17607c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 28 01:25:30 2012 +0100

    tests: fix CGDCONT reply test, NULL expected instead of empty string

 src/tests/test-modem-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7f0afa078b860c84ae3d178e8f90dbe94a43dab4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 28 01:01:51 2012 +0100

    build: fix distcheck

    Need to pass the full path of the input files to the glib-mkenums
    call. This is
    because we use an explicit list given in a $(VARIABLE) instead of
    the built-in
    automake variables (e.g. $<)

 src/Makefile.am | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 0c6dad40a0926795cf33da5a4f557302a50a8639
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 28 00:59:50 2012 +0100

    build: get path of `glib-mkenums' from pkg-config

 configure.ac             | 3 +++
 libmm-common/Makefile.am | 8 ++++----
 src/Makefile.am          | 8 ++++----
 3 files changed, 11 insertions(+), 8 deletions(-)

commit 3e511f90c70f7eae68c3452998dbf28c8b1ec764
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 28 00:45:04 2012 +0100

    build: don't distribute generated sources

 libmm-common/Makefile.am |  6 ++++--
 src/Makefile.am          | 22 +++++++++++++++-------
 2 files changed, 19 insertions(+), 9 deletions(-)

commit 1ad7bc885d69c291f643952c08a36fd97eb54c21
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 28 00:17:40 2012 +0100

    build: ensure gtk-doc is enabled when doing dist

 docs/Makefile.am | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit ca9104dcb4a9d84f6fb224510f17bb24e3d823a8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 28 00:17:16 2012 +0100

    build: generate PNG files automatically from DIA files

 .gitignore                                 |   1 +
 configure.ac                               |   8 ++++++++
 docs/reference/api/Makefile.am             |  22 ++++++++++++++++++++--
 docs/reference/api/ModemManager-states.png | Bin 28305 -> 0 bytes
 4 files changed, 29 insertions(+), 2 deletions(-)

commit e26f6ef1769349cdfa81b4265b35f514559ca16c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 28 00:03:10 2012 +0100

    po: fix policy filename to translate

 po/POTFILES.in | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 7d9d003324bb6a466104c7d935758ca29aeac9e5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 23:11:17 2012 +0100

    build: rename the binary from `modem-manager' to `ModemManager'

 .gitignore                                         |   6 ++----
 configure.ac                                       |   2 +-
 data/Makefile.am                                   |   2 +-
 data/{modem-manager.png => ModemManager.png}       | Bin
 data/org.freedesktop.ModemManager1.policy.in       |   2 +-
 data/org.freedesktop.ModemManager1.service.in      |   2 +-
 docs/man/Makefile.am                               |   4 ++--
 docs/man/{modem-manager.8.in => ModemManager.8.in} |  21
 ++++++++++-----------
 src/Makefile.am                                    |  14 +++++++-------
 9 files changed, 25 insertions(+), 28 deletions(-)

commit 12786d21cf6573a9851882cb109d9490ea6904d3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 23:00:11 2012 +0100

    core: remove uses of `MMModemStateReason'

    Use `MMModemStateChangeReason' instead.

 src/mm-iface-modem-3gpp.c | 4 ++--
 src/mm-iface-modem-cdma.c | 8 ++++----
 src/mm-iface-modem.c      | 4 ++--
 src/mm-iface-modem.h      | 4 ++--
 4 files changed, 10 insertions(+), 10 deletions(-)

commit 8b78e037a2b1e81f27e75d3645fbadb34ee9abe1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 22:59:35 2012 +0100

    modem-helpers: temporarily disable facility-related helpers

 src/mm-modem-helpers.c | 5 +++++
 src/mm-modem-helpers.h | 5 ++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

commit f1999ef4a3bb61b82956a93f2cc9c4ec72de47c5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 22:49:43 2012 +0100

    api,header: cleanup public header file

 include/Makefile.am     |   1 -
 include/ModemManager.h  | 152
 +++---------------------------------------------
 include/ModemManager1.h |  32 ----------
 3 files changed, 9 insertions(+), 176 deletions(-)

commit e68db23a97df9cf94ebcb0b63fc83b4cdb0d9b78
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 22:32:53 2012 +0100

    introspection: setup all new files and remove old ones

 data/Makefile.am                                   |   7 -
 include/Makefile.am                                |   6 +-
 introspection/Makefile.am                          |  27 +-
 introspection/all.xml                              |  53 +---
 introspection/mm-mobile-error.xml                  | 318
 -------------------
 introspection/mm-modem-connect-error.xml           |  30 --
 introspection/mm-modem-error.xml                   |  36 ---
 introspection/mm-serial-error.xml                  |  24 --
 introspection/org.freedesktop.DBus.Properties.xml  |  45 ---
 .../org.freedesktop.ModemManager.Modem.Cdma.xml    | 220 -------------
 ...org.freedesktop.ModemManager.Modem.Firmware.xml | 114 -------
 ...org.freedesktop.ModemManager.Modem.Gsm.Card.xml | 154 ----------
 ...freedesktop.ModemManager.Modem.Gsm.Contacts.xml | 104 -------
 .../org.freedesktop.ModemManager.Modem.Gsm.Hso.xml |  19 --
 ....freedesktop.ModemManager.Modem.Gsm.Network.xml | 340
 ---------------------
 .../org.freedesktop.ModemManager.Modem.Gsm.SMS.xml | 158 ----------
 ...org.freedesktop.ModemManager.Modem.Gsm.Ussd.xml |  84 -----
 .../org.freedesktop.ModemManager.Modem.Gsm.xml     | 208 -------------
 ...org.freedesktop.ModemManager.Modem.Location.xml | 253 ---------------
 .../org.freedesktop.ModemManager.Modem.Simple.xml  |  59 ----
 .../org.freedesktop.ModemManager.Modem.xml         | 319
 -------------------
 introspection/org.freedesktop.ModemManager.xml     |  61 ----
 .../org.freedesktop.ModemManager1.Bearer.xml       |   0
 ...rg.freedesktop.ModemManager1.Modem.Contacts.xml |   0
 ...rg.freedesktop.ModemManager1.Modem.Firmware.xml |   0
 ...rg.freedesktop.ModemManager1.Modem.Location.xml |   0
 ...g.freedesktop.ModemManager1.Modem.Messaging.xml |   0
 ...edesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml |   0
 ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml |   0
 ...g.freedesktop.ModemManager1.Modem.ModemCdma.xml |   0
 .../org.freedesktop.ModemManager1.Modem.Simple.xml |   0
 .../org.freedesktop.ModemManager1.Modem.xml        |   0
 .../org.freedesktop.ModemManager1.Sim.xml          |   0
 .../org.freedesktop.ModemManager1.Sms.xml          |   0
 .../org.freedesktop.ModemManager1.xml              |   0
 libmm-common/Makefile.am                           |  26 +-
 new/all.xml                                        |  18 --
 37 files changed, 34 insertions(+), 2649 deletions(-)

commit 6887a6850c5ed75baaae2aa1b40a707b89b7c2d9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 16:36:40 2012 +0100

    marshallers: cleanup unneeded ones

 src/mm-marshal.list | 10 ----------
 1 file changed, 10 deletions(-)

commit c55b5d097e8bfcfbcc956f45ac18e8c795100195
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 16:35:42 2012 +0100

    marshallers: integrate them into the daemon compilation

 .gitignore                           |  2 +-
 Makefile.am                          |  2 +-
 configure.ac                         |  1 -
 marshallers/Makefile.am              | 21 ---------------------
 marshallers/mm-marshal-main.c        |  2 --
 src/Makefile.am                      | 28 +++++++++++++++++++++-------
 {marshallers => src}/mm-marshal.list |  0
 7 files changed, 23 insertions(+), 33 deletions(-)

commit f42eb8684bd1d3d46f93de24c5ac98f18880f7d4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 16:22:17 2012 +0100

    build: look for src/main.c in autogen.sh

 autogen.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 5c73e8d200a16a3f83be475705f61c6e11bec491
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 16:14:58 2012 +0100

    build: remove obsolete files

    This will very likely create lots of conflicts until the branch
    gets merged
    into master, but anyway...

 .../NetworkManager-r4359-use-modem-manager.patch   | 5691
 ----------------
 .../nm-applet-r1053-use-modem-manager.patch        | 2253 -------
 src/mm-callback-info.c                             |  276 -
 src/mm-callback-info.h                             |   87 -
 src/mm-generic-cdma.c                              | 2626 --------
 src/mm-generic-cdma.h                              |  155 -
 src/mm-generic-gsm.c                               | 7020
 --------------------
 src/mm-generic-gsm.h                               |  265 -
 src/mm-modem-base.c                                | 1323 ----
 src/mm-modem-base.h                                |  121 -
 src/mm-modem-cdma.c                                |  433 --
 src/mm-modem-cdma.h                                |  126 -
 src/mm-modem-firmware.c                            |  316 -
 src/mm-modem-firmware.h                            |   72 -
 src/mm-modem-gsm-card.c                            |  702 --
 src/mm-modem-gsm-card.h                            |  134 -
 src/mm-modem-gsm-network.c                         |  647 --
 src/mm-modem-gsm-network.h                         |  158 -
 src/mm-modem-gsm-sms.c                             |  836 ---
 src/mm-modem-gsm-sms.h                             |  114 -
 src/mm-modem-gsm-ussd.c                            |  404 --
 src/mm-modem-gsm-ussd.h                            |   95 -
 src/mm-modem-location.c                            |  331 -
 src/mm-modem-location.h                            |   69 -
 src/mm-modem-simple.c                              |  156 -
 src/mm-modem-simple.h                              |   59 -
 src/mm-modem.c                                     | 1008 ---
 src/mm-modem.h                                     |  300 -
 src/mm-properties-changed-signal.c                 |  352 -
 src/mm-properties-changed-signal.h                 |   40 -
 src/mm-sms-utils.c                                 |  795 ---
 src/mm-sms-utils.h                                 |   49 -
 32 files changed, 27013 deletions(-)

commit 17ef0777976b3897972fcc14e5efc09d6bc60b55
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 16:02:05 2012 +0100

    sms: include policy authorization checks

 src/mm-sms.c | 179
 +++++++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 124 insertions(+), 55 deletions(-)

commit d6edfbd9d585d55e43d9119711353093fda90de3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 16:01:52 2012 +0100

    policy: implement Sms interface rules

 data/org.freedesktop.ModemManager1.conf.polkit | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 333779bda9046a5c3055e9093eb3acd6ef7e6264
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 15:00:35 2012 +0100

    iface-modem-messaging: include policy authorization checks

 src/mm-iface-modem-messaging.c | 169
 +++++++++++++++++++++++++++--------------
 1 file changed, 112 insertions(+), 57 deletions(-)

commit 4bdeea41aefcc388ca3d8e5937033cd90a3b9c17
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 13:15:08 2012 +0100

    policy: implement Messaging interface rules

 data/org.freedesktop.ModemManager1.conf.polkit | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit e2a5ab250e8fdce0090bc517be1ede64fb467fe6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 13:04:12 2012 +0100

    iface-modem-location: include policy authorization checks

 src/mm-iface-modem-location.c | 253
 ++++++++++++++++++++++++++----------------
 1 file changed, 156 insertions(+), 97 deletions(-)

commit 8e1955cb88be5e5ad6f1088efa0ca0792117761d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 12:51:33 2012 +0100

    policy: implement Location interface rules

 data/org.freedesktop.ModemManager1.conf.polkit | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 1d1936e1ce1d7fc616b7bbe29fc1d73963eb6f4a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 12:47:56 2012 +0100

    iface-modem-3gpp-ussd: include policy authorization checks

 src/mm-iface-modem-3gpp-ussd.c | 251
 ++++++++++++++++++++++++++++-------------
 1 file changed, 170 insertions(+), 81 deletions(-)

commit eaa47892b582ebfc613822457ba201616f44706e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 12:47:28 2012 +0100

    policy: implement USSD interface rules

 data/org.freedesktop.ModemManager1.conf.polkit | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit b4bed06f985373acf6460aae61e3e0a167474e6e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 12:23:05 2012 +0100

    bearer: include policy authorization checks

 src/mm-bearer.c | 147
 ++++++++++++++++++++++++++++++++++++++++++++------------
 1 file changed, 117 insertions(+), 30 deletions(-)

commit cf0a4ae0ceb6c3ba30e94beb607f1d7afc2d4301
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 12:22:54 2012 +0100

    policy: implement Bearer interface rules

 data/org.freedesktop.ModemManager1.conf.polkit | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 454e3ab3612dc518f38edf8a3c3fcf8058d94776
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 12:09:18 2012 +0100

    sim: include policy authorization checks

 src/mm-sim.c | 335
 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 276 insertions(+), 59 deletions(-)

commit 986ab0cb233521f0d90577d2600cf0d24ddda8e1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 12:08:59 2012 +0100

    policy: implement Sim interface rules

 data/org.freedesktop.ModemManager1.conf.polkit | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

commit da0aa7af2a884ac484210d04bfaa04ab5786775f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 11:43:27 2012 +0100

    iface-modem-cdma: include policy authorization checks

 src/mm-iface-modem-cdma.c | 283
 +++++++++++++++++++++-------------------------
 src/mm-iface-modem-cdma.h |  18 ---
 2 files changed, 126 insertions(+), 175 deletions(-)

commit 96fdb716e1d3f7da8ba208ad38b001b4de8000a0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 11:43:11 2012 +0100

    policy: implement CDMA interface rules

 data/org.freedesktop.ModemManager1.conf.polkit | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 71a3de448627e41bb342a37b1a8149e862d23ba1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 11:26:43 2012 +0100

    iface-modem-3gpp: include policy authorization checks

 src/mm-iface-modem-3gpp.c | 205
 ++++++++++++++++++++++++++++------------------
 1 file changed, 126 insertions(+), 79 deletions(-)

commit 83586c9a629cb959cf44aaa2fd03a293a24d5491
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 11:26:30 2012 +0100

    policy: implement 3GPP interface rules

 data/org.freedesktop.ModemManager1.conf.polkit | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 6a655f5daf63dd3f74b353a269e49d9496ad8cf2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 11:06:16 2012 +0100

    iface-modem-simple: include policy authorization checks

 src/mm-iface-modem-simple.c | 109
 ++++++++++++++++++++++++++++++--------------
 1 file changed, 75 insertions(+), 34 deletions(-)

commit f2440e9ab2b104d8a9eddbaa5a516461d9fcdf31
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 26 22:53:25 2012 +0100

    policy: implement Simple interface rules

 data/org.freedesktop.ModemManager1.conf.polkit | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 22407477158d6840040b246a260da475acdb54d6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 10:40:03 2012 +0100

    iface-modem: include policy authorization checks

 src/mm-iface-modem.c | 711
 ++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 510 insertions(+), 201 deletions(-)

commit e176d56b32193191ef937a82902a28dabcca834d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 26 22:49:48 2012 +0100

    policy: implement Modem interface rules

 data/org.freedesktop.ModemManager1.conf.polkit | 41
 ++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

commit d5deb2bb1408732ceaee5467f7d5fafbfb5e53e5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 21 12:46:48 2012 +0100

    manager: use new simplified authentication setup

 src/mm-manager.c | 158
 +++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 108 insertions(+), 50 deletions(-)

commit dad31604cb4237d94df0d85ecb61fe46aa42fa78
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 26 22:45:03 2012 +0100

    policy: implement Manager interface rules

 data/org.freedesktop.ModemManager1.conf.polkit | 24
 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

commit d06d76e3796b1fed7efe1990b27497e42f16d984
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 27 10:39:08 2012 +0100

    policy: no need for a rule to manage readable info

 data/org.freedesktop.ModemManager1.policy.in | 9 ---------
 1 file changed, 9 deletions(-)

commit 587bca48f07a70d9036e679de269bc0d9aeab4d6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 26 22:39:12 2012 +0100

    policy: renamed `Sms' action to `Messaging'

 data/org.freedesktop.ModemManager1.policy.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5ab3ec6bce3e756f481bdac11905ae1b383689e0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 21 12:48:23 2012 +0100

    build: require polkit-gobject >= 0.97

    It's new enough, and it lets us use polkit_authority_get_sync().

 configure.ac | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

commit 3e5b42569b02814cf07e936a475e590f0878c1ba
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 21 12:46:36 2012 +0100

    base-modem: use new simplified authentication setup

 src/mm-base-modem.c | 88
 ++++++++++++++++++++++++++++++++++-------------------
 src/mm-base-modem.h | 21 ++++++-------
 2 files changed, 65 insertions(+), 44 deletions(-)

commit 089a98385071527ca17925f8cd63f79cff02f8de
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 21 12:45:50 2012 +0100

    auth: refactor and simplify authentication related setup

    We get rid of the MMAuthRequests; and we leave up to the caller and
    user of the
    MMAuthProvider the handling of request cancellations through the
    provided
    GCancellable.

    Also made GIO-async-friendly methods.

 src/Makefile.am                               |  26 +--
 src/mm-auth-provider-polkit.c                 | 232 ++++++++++++---------
 src/mm-auth-provider-polkit.h                 |  21 +-
 src/mm-auth-provider.c                        | 283
 ++++----------------------
 src/mm-auth-provider.h                        |  92 ++++-----
 src/mm-auth-request-polkit.c                  | 174 ----------------
 src/mm-auth-request-polkit.h                  |  51 -----
 src/mm-auth-request.c                         | 182 -----------------
 src/mm-auth-request.h                         |  70 -------
 src/{mm-auth-provider-factory.c => mm-auth.c} |  34 ++--
 src/mm-auth.h                                 |  27 +++
 11 files changed, 286 insertions(+), 906 deletions(-)

commit 7316f4645bf82a8586507a4f7abf57bf9470d309
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 21 12:26:29 2012 +0100

    iface-modem-3gpp-ussd: fix copyrights

 src/mm-iface-modem-3gpp-ussd.c | 1 +
 src/mm-iface-modem-3gpp-ussd.h | 1 +
 2 files changed, 2 insertions(+)

commit 8e640d3adcabac0373ec0ee916bf665d08cbe2f6
Author: Nathan Williams <njw@google.com>
Date:   Wed Feb 22 08:41:18 2012 +0100

    novatel: new plugin for the Novatel E362

 plugins/Makefile.am                           |  13 +
 plugins/novatel/mm-broadband-bearer-novatel.c | 422
 ++++++++++++++++++++++++
 plugins/novatel/mm-broadband-bearer-novatel.h |  60 ++++
 plugins/novatel/mm-broadband-modem-novatel.c  | 452
 ++++++++++++++++++++++++++
 plugins/novatel/mm-broadband-modem-novatel.h  |  50 +++
 plugins/novatel/mm-plugin-novatel.c           | 111 +++++++
 plugins/novatel/mm-plugin-novatel.h           |  47 +++
 7 files changed, 1155 insertions(+)

commit e992d5cbd1d6bf1d56df6451bd6fdb35d0253c7d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 22 08:26:21 2012 +0100

    charsets: fix compilation with -Werror=maybe-uninitialized

 src/mm-charsets.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 38b7e6e129126caf442738ceb4a4c80502e7bbc1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 20 16:37:15 2012 +0100

    build: so long dbus-glib, and thanks for all the fish

 configure.ac | 7 -------
 1 file changed, 7 deletions(-)

commit 7a892b74cb5473b10b49aee6a9f9793b7c8e826d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 20 16:40:18 2012 +0100

    build: don't build the MMCallbackInfo, we're now fully GIO-Async
    instead

 src/Makefile.am | 2 --
 1 file changed, 2 deletions(-)

commit 680e292914fd9be1ca155e874b8b41ee4a106709
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 20 16:36:09 2012 +0100

    build: fix header dependencies

    We shouldn't depend on any header file from the previous
    implementation.

 plugins/cinterion/mm-plugin-cinterion.c | 3 ++-
 plugins/generic/mm-plugin-generic.c     | 2 +-
 plugins/gobi/mm-plugin-gobi.c           | 2 +-
 plugins/iridium/mm-plugin-iridium.c     | 3 ++-
 plugins/motorola/mm-plugin-motorola.c   | 2 +-
 plugins/nokia/mm-plugin-nokia.c         | 2 +-
 plugins/option/mm-plugin-option.c       | 2 +-
 plugins/option/mm-plugin-option.h       | 1 -
 src/mm-base-modem.h                     | 3 ++-
 src/mm-modem-helpers.h                  | 1 -
 src/tests/test-modem-helpers.c          | 1 +
 11 files changed, 12 insertions(+), 10 deletions(-)

commit 4de848de39111f8e836400ba207977ad5b4add5f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 20 16:27:37 2012 +0100

    tests,sms: print traces if enabled during compilation

 src/tests/test-sms-part.c | 32 +++++++++++++++++++-------------
 1 file changed, 19 insertions(+), 13 deletions(-)

commit 2522acf8998cbf9d9166988d857fe27c61834271
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 20 16:15:13 2012 +0100

    tests,sms: refactor SMS part related tests

    Now using the MMSmsPart setup.

 .gitignore                |   2 +-
 src/Makefile.am           |   4 +-
 src/tests/Makefile.am     |  12 +-
 src/tests/test-sms-part.c | 648
 +++++++++++++++++++++++++++++++++++++++++++
 src/tests/test-sms.c      | 690
 ----------------------------------------------
 5 files changed, 657 insertions(+), 699 deletions(-)

commit 5bee67c032df8d9127c8c0aeb88cbd3c0c844b4b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 20 13:36:18 2012 +0100

    core: use GDBusMethodInvocation in the auth API

 src/mm-auth-provider-polkit.c |  3 +--
 src/mm-auth-provider.c        |  7 +++----
 src/mm-auth-provider.h        |  8 +++-----
 src/mm-auth-request-polkit.c  | 11 +++++------
 src/mm-auth-request-polkit.h  |  6 ++----
 src/mm-auth-request.c         |  6 +++---
 src/mm-auth-request.h         |  8 +++-----
 7 files changed, 20 insertions(+), 29 deletions(-)

commit 5f167fd199ce7cc359aa1d884df9b332aa669a79
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 20 13:13:55 2012 +0100

    Revert "core: avoid using DBusGMethodInvocation in auth API"

    This reverts commit 013fd179f458d87bba9fd7657ffe1bd90169f231.

    We will start using GDBus-only based code from now on.

 src/mm-auth-provider-polkit.c | 29 ++++++++---------------------
 src/mm-auth-provider.c        |  4 ++--
 src/mm-auth-provider.h        |  4 ++--
 src/mm-auth-request-polkit.c  |  9 ++++++---
 src/mm-auth-request-polkit.h  |  3 +--
 src/mm-auth-request.c         |  4 ++--
 src/mm-auth-request.h         |  7 ++-----
 src/mm-modem-cdma.c           |  2 +-
 src/mm-modem-firmware.c       |  6 +++---
 src/mm-modem-gsm-card.c       | 16 ++++++++--------
 src/mm-modem-gsm-network.c    |  2 +-
 src/mm-modem-gsm-sms.c        | 16 ++++++++--------
 src/mm-modem-gsm-ussd.c       |  6 +++---
 src/mm-modem-location.c       |  4 ++--
 src/mm-modem.c                |  4 ++--
 15 files changed, 51 insertions(+), 65 deletions(-)

commit 080d046e643a203b7f37c464e38108f6083943ed
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 20 12:57:08 2012 +0100

    iface-modem: load allowed/preferred modes during modem enabling

 src/mm-iface-modem.c | 59
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h | 10 +++++++++
 2 files changed, 69 insertions(+)

commit 8396d8a82f05a548d5bc5c058713b413964d7c0a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 20 09:53:46 2012 +0100

    option: implement default access technology loading

 plugins/option/mm-broadband-modem-option.c | 339
 ++++++++++++++++++++++++++++-
 1 file changed, 338 insertions(+), 1 deletion(-)

commit 205313b783d63aa4a61520c351f5db74141b5d8e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 19 13:05:33 2012 +0100

    option: start porting the Option plugin

 plugins/Makefile.am                        |  23 ++---
 plugins/option/mm-broadband-modem-option.c |  70 +++++++++++++++
 plugins/option/mm-broadband-modem-option.h |  49 +++++++++++
 plugins/option/mm-plugin-option.c          | 133
 +++++++++++++++++++++++++++++
 plugins/{ => option}/mm-plugin-option.h    |   3 +-
 5 files changed, 266 insertions(+), 12 deletions(-)

commit 725745399ae5596e96176ea20e346a02e9a7852d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 19 11:45:53 2012 +0100

    generic: new Generic-specific source directory

 plugins/Makefile.am                       | 4 ++--
 plugins/{ => generic}/mm-plugin-generic.c | 0
 plugins/{ => generic}/mm-plugin-generic.h | 0
 3 files changed, 2 insertions(+), 2 deletions(-)

commit ab3d53741665d2dff80ee27a1e958efb92ddde17
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 19 11:43:53 2012 +0100

    motorola: fully ported the moto-c plugin

 plugins/Makefile.am                            |  20 +--
 plugins/mm-modem-moto-c-gsm.c                  | 133 -------------------
 plugins/mm-modem-moto-c-gsm.h                  |  45 -------
 plugins/mm-plugin-moto-c.c                     | 172
 -------------------------
 plugins/mm-plugin-moto-c.h                     |  43 -------
 plugins/motorola/mm-broadband-modem-motorola.c |  87 +++++++++++++
 plugins/motorola/mm-broadband-modem-motorola.h |  49 +++++++
 plugins/motorola/mm-plugin-motorola.c          | 119 +++++++++++++++++
 plugins/motorola/mm-plugin-motorola.h          |  42 ++++++
 9 files changed, 307 insertions(+), 403 deletions(-)

commit d255902f9bab5d92b3fbb2e4382bcbb7ca4ed6ef
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 19 10:53:16 2012 +0100

    gobi: remove old sources, plugin fully ported

 plugins/mm-modem-gobi-gsm.c | 175
 --------------------------------------------
 plugins/mm-modem-gobi-gsm.h |  45 ------------
 2 files changed, 220 deletions(-)

commit ecc5b4f26005e618321d6ca5bb127a8fd0091cb5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 19 10:52:36 2012 +0100

    gobi: new Gobi-specific source directory

 plugins/Makefile.am                          | 8 ++++----
 plugins/{ => gobi}/mm-broadband-modem-gobi.c | 0
 plugins/{ => gobi}/mm-broadband-modem-gobi.h | 0
 plugins/{ => gobi}/mm-plugin-gobi.c          | 0
 plugins/{ => gobi}/mm-plugin-gobi.h          | 0
 5 files changed, 4 insertions(+), 4 deletions(-)

commit d09dfbb7d1eed75c28576d0461a62cbec3b5127f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 19 10:50:11 2012 +0100

    gobi: access technology loading implementation

 plugins/mm-broadband-modem-gobi.c | 55
 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 54 insertions(+), 1 deletion(-)

commit 1359c0a9282d46f7cc84786bd2a5ac6033d371d8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 19 10:49:36 2012 +0100

    modem-helpers: updated the string to access technology converter

    We can now return a mask of flags specifying more than one access
    technology,
    and therefore the order is not really important any more, unless
    for special
    cases like looking for substrings of valid expected strings (e.g
    "HSPA" and
    "HSPA+").

    Also, add "LTE" in the list of expected strings.

 src/mm-modem-helpers.c | 57
 +++++++++++++++++++++++++++++---------------------
 src/mm-modem-helpers.h |  2 +-
 2 files changed, 34 insertions(+), 25 deletions(-)

commit 4315208cfa572d83f5c385f746de8bde46aa2f45
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 19 10:47:50 2012 +0100

    iface-modem-cdma: include in the API the mask of all CDMA access
    technologies

 src/mm-iface-modem-cdma.h | 6 ++++++
 1 file changed, 6 insertions(+)

commit 049d4434f9e33e6075817852de1327e4a9f084c9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 19 10:46:01 2012 +0100

    iface-modem-3gpp: include in the API the mask of all 3GPP access
    technologies

 src/mm-iface-modem-3gpp.c | 16 ++--------------
 src/mm-iface-modem-3gpp.h | 12 ++++++++++++
 2 files changed, 14 insertions(+), 14 deletions(-)

commit 39eaeb2c4e5c4311698860c2be203be40f91492b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 19 10:08:02 2012 +0100

    nokia: new Nokia-specific source directory

 plugins/Makefile.am                              | 23
 +++++++++++++----------
 plugins/{ => nokia}/77-mm-nokia-port-types.rules |  0
 plugins/{ => nokia}/mm-broadband-modem-nokia.c   |  0
 plugins/{ => nokia}/mm-broadband-modem-nokia.h   |  0
 plugins/{ => nokia}/mm-plugin-nokia.c            |  0
 plugins/{ => nokia}/mm-plugin-nokia.h            |  0
 6 files changed, 13 insertions(+), 10 deletions(-)

commit 213706c503378460360f5aeb4f43bb7fa8296044
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 19 10:04:43 2012 +0100

    cinterion: remove old sources, plugin fully ported

 plugins/mm-modem-cinterion-gsm.c | 1121
 --------------------------------------
 plugins/mm-modem-cinterion-gsm.h |   45 --
 2 files changed, 1166 deletions(-)

commit a9c406e3c0d0c9c21e43e978ec3d531f3fbec93c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 19 10:04:01 2012 +0100

    cinterion: new Cinterion-specific source directory

 .gitignore                                             | 1 +
 plugins/Makefile.am                                    | 8 ++++----
 plugins/{ => cinterion}/mm-broadband-modem-cinterion.c | 0
 plugins/{ => cinterion}/mm-broadband-modem-cinterion.h | 0
 plugins/{ => cinterion}/mm-plugin-cinterion.c          | 0
 plugins/{ => cinterion}/mm-plugin-cinterion.h          | 0
 6 files changed, 5 insertions(+), 4 deletions(-)

commit fdddafd1ca777f660d2671842164c6e26ff7b72f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 19 09:58:13 2012 +0100

    iridium: new Iridium-specific source directory

 plugins/Makefile.am                                | 16 ++++++++--------
 plugins/{ => iridium}/mm-bearer-iridium.c          |  0
 plugins/{ => iridium}/mm-bearer-iridium.h          |  0
 plugins/{ => iridium}/mm-broadband-modem-iridium.c |  0
 plugins/{ => iridium}/mm-broadband-modem-iridium.h |  0
 plugins/{ => iridium}/mm-plugin-iridium.c          |  0
 plugins/{ => iridium}/mm-plugin-iridium.h          |  0
 plugins/{ => iridium}/mm-sim-iridium.c             |  0
 plugins/{ => iridium}/mm-sim-iridium.h             |  0
 9 files changed, 8 insertions(+), 8 deletions(-)

commit bf7d0c712f0696884a6140b8c00f8bc79158b7e1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Feb 18 10:49:23 2012 +0100

    cinterion: implement frequency band setting

 plugins/mm-broadband-modem-cinterion.c | 245
 +++++++++++++++++++++++++++++++--
 1 file changed, 236 insertions(+), 9 deletions(-)

commit f6b6688cce3e8e373bded63755635e2e308deba6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Feb 18 10:48:54 2012 +0100

    broadband-modem: new method to convert from UTF-8 to the charset in
    the modem

 src/mm-broadband-modem.c | 11 +++++++++++
 src/mm-broadband-modem.h |  6 ++++++
 2 files changed, 17 insertions(+)

commit 3028126bd244506e709093636245aab2b835dce5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Feb 18 10:48:18 2012 +0100

    charsets: new UTF-8 to given charset converter

    UCS-2 strings are always hex-converted.

 src/mm-charsets.c | 86
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-charsets.h |  3 ++
 2 files changed, 89 insertions(+)

commit 6f1a4514da5041ee57437e651e357bc3a3b86418
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Feb 18 08:57:06 2012 +0100

    libmm-common: new bands array comparator

 libmm-common/mm-common-helpers.c         |  38 +++++++++++
 libmm-common/mm-common-helpers.h         |   2 +
 libmm-common/tests/test-common-helpers.c | 106
 +++++++++++++++++++++++++++++++
 3 files changed, 146 insertions(+)

commit 91416a3e3dc1f880a958726e4a8db737bf960a1e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 17 20:09:22 2012 +0100

    cinterion: implement current band list loading

 plugins/mm-broadband-modem-cinterion.c | 242
 +++++++++++++++++++++++++++++++++
 1 file changed, 242 insertions(+)

commit a0583a46873197e07573befeb1c6df041eb2cef8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 17 20:09:12 2012 +0100

    broadband-modem: expose the current charset to UTF-8 converter

    So that subclasses can also use it.

 src/mm-broadband-modem.c | 23 +++++++++++++++++++----
 src/mm-broadband-modem.h |  6 ++++++
 2 files changed, 25 insertions(+), 4 deletions(-)

commit 3595b33648ce6aa78586c820c179c78b84687cf1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 17 19:16:47 2012 +0100

    iface-modem: load current bands during modem enabling

 src/mm-iface-modem.c | 51
 +++++++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-iface-modem.h |  8 ++++++++
 2 files changed, 57 insertions(+), 2 deletions(-)

commit 09d2f062c73a62bc32c21d2bcd9249c8a174fe82
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 17 16:57:12 2012 +0100

    api,dbus: rename `AllowedBands' to just `Bands'

    ModemManager will load:
      1) The list of supported bands. Note that this doesn't mean that
      any possible
         combination of bands is supported, as modems may support only
         specific
         combinations, but at least gives a rough idea of what the modem
         is capable
         of handling.

      2) The list of CURRENT bands. There is no such "Allowed" bands,
      as we do with
         modes, modems will have a specific set of bands being currently
         used, which
         will be reported in the `Bands' property.

    If the modem allows modifying the list of bands to use, this can be
    done with
    the `SetBands()' method. If the modem doesn't support using a specific
    combination of bands, this method will report an error.

 cli/mmcli-modem.c                                  | 104 ++++++++--------
 libmm-common/mm-common-connect-properties.c        |  56 ++++-----
 libmm-common/mm-common-connect-properties.h        |   4 +-
 libmm-glib/mm-modem-simple-connect-properties.c    |   8 +-
 libmm-glib/mm-modem-simple-connect-properties.h    |   2 +-
 libmm-glib/mm-modem.c                              |  58 ++++-----
 libmm-glib/mm-modem.h                              |  30 ++---
 new/org.freedesktop.ModemManager1.Modem.Simple.xml |   2 +-
 new/org.freedesktop.ModemManager1.Modem.xml        |  16 +--
 src/mm-iface-modem-simple.c                        |  42 +++----
 src/mm-iface-modem.c                               | 132
 ++++++++++-----------
 src/mm-iface-modem.h                               |  30 ++---
 12 files changed, 238 insertions(+), 246 deletions(-)

commit 76e52236a44d87bc7aacb141b956146ab67d66eb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 17 09:36:05 2012 +0100

    iridium: create a MMBearerIridium

 plugins/mm-broadband-modem-iridium.c | 45
 +++++++++++++++++++++++++++++++++++-
 1 file changed, 44 insertions(+), 1 deletion(-)

commit 6d8404a6ab9e4fb63654120ade3f076c6f43030f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 20:45:25 2012 +0100

    iridium: implement custom SMS indication enabling

 plugins/mm-broadband-modem-iridium.c | 43
 +++++++++++++++++++++++++++++++++++-
 1 file changed, 42 insertions(+), 1 deletion(-)

commit 4e55b16f9aa7cedb531d1b04b20df87b4f942031
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 20:07:04 2012 +0100

    iridium: close and open the port during disconnection

    The Iridium modem doesn't seem to like only the port flashing
    during the
    disconnection, so we fully close and open again the port.

 plugins/mm-bearer-iridium.c | 46
 ++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 41 insertions(+), 5 deletions(-)

commit b14bf797f1a7bc5501757c5e01830615dbfbba83
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 19:54:48 2012 +0100

    iridium: override generic initialization

    We must send ATZ alone and once reply received, wait some time
    before sending
    the next initialization commands. Otherwise, the next commands
    will receive
    garbage as reply. The only way to handle this is to override the
    whole generic
    initialization phase.

 plugins/mm-broadband-modem-iridium.c | 98
 ++++++++++++++++++++++++++++++++++++
 1 file changed, 98 insertions(+)

commit 7e31470066e1b8e113e73a4732daf4692667d87e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 19:28:53 2012 +0100

    iridium: set bearer service type to 9600bps V.110

 plugins/mm-bearer-iridium.c | 49
 +++++++++++++++++++++++++++++++++++++++------
 1 file changed, 43 insertions(+), 6 deletions(-)

commit 4492adae2e3013ec534fcb5389f216166ececad9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 19:19:53 2012 +0100

    iridium: allow up to 200s to get a proper IP connection

 plugins/mm-bearer-iridium.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 447d8a230dd2f7594b0c35d0d48814fdaf7c74c4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 10:21:07 2012 +0100

    iridium: new MMBearerIridium

 plugins/Makefile.am         |   2 +
 plugins/mm-bearer-iridium.c | 350
 ++++++++++++++++++++++++++++++++++++++++++++
 plugins/mm-bearer-iridium.h |  53 +++++++
 3 files changed, 405 insertions(+)

commit 022272f88c32e500780deb9400a526e5704144d6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 18:58:24 2012 +0100

    iridium: allow only up to 3 consecutive timeouts

 plugins/mm-broadband-modem-iridium.c | 2 ++
 1 file changed, 2 insertions(+)

commit 060ca3ff49438a924255946b6f7cee8cbeceeeea
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 16:22:14 2012 +0100

    iridium: set baudrate to 9600 bps

    This will be set after flashing the port during modem enabling.

 plugins/mm-broadband-modem-iridium.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit 1357880686cfee5a8c5526785100fbf575963cbc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 15:40:41 2012 +0100

    iridium: only CS mode supported by the Iridium modems

 plugins/mm-broadband-modem-iridium.c | 2 ++
 1 file changed, 2 insertions(+)

commit b57d32acbeb0de5b5befa3746e690f3450bd1203
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 17 13:08:33 2012 +0100

    iridium: don't try to scan for networks

    The Iridium network will be the only one reported in the scan results.

 plugins/mm-broadband-modem-iridium.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 35f0b773ef4ba251cdba0b1a7e7245253ca44828
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 15:31:05 2012 +0100

    iridium: implement specific operator name and code retrieval

 plugins/mm-broadband-modem-iridium.c | 52
 +++++++++++++++++++++++++++++++++++-
 1 file changed, 51 insertions(+), 1 deletion(-)

commit 1bcecc9e1d9f990a881c339e34c0f06c39378c8a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 15:18:13 2012 +0100

    iridium: use +CSQF to get signal quality

 plugins/mm-broadband-modem-iridium.c | 55
 ++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

commit 50c5d69be647e9db6aa0ae4546d2f74ab7f08701
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 15:16:55 2012 +0100

    iridium: use SM storage for mem1, mem2 and mem3

 plugins/mm-broadband-modem-iridium.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 2a351a69108584b06e3f99f0414a8b222c213bbf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 14:48:04 2012 +0100

    iridium: don't try to load SIM identifier or operator info

 plugins/Makefile.am                  |  4 +-
 plugins/mm-broadband-modem-iridium.c | 28 ++++++++++++
 plugins/mm-sim-iridium.c             | 87
 ++++++++++++++++++++++++++++++++++++
 plugins/mm-sim-iridium.h             | 52 +++++++++++++++++++++
 4 files changed, 170 insertions(+), 1 deletion(-)

commit 789cf58acee0334990e18fb4793f3f872626e697
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 14:19:57 2012 +0100

    iridium: setup RTS/CTS flow control

 plugins/mm-broadband-modem-iridium.c | 61
 ++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

commit 8456dae53dabfed294f02926424892a2bd81168e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 14:17:24 2012 +0100

    iridium: no need to power up/down the modem

 plugins/mm-broadband-modem-iridium.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

commit 64542961a3efac67992fa4d07dbcdde7af0918f0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 14:11:05 2012 +0100

    iridium: start porting the Iridium plugin to the '06-api' codebase

 plugins/Makefile.am                  |  17 +--
 plugins/mm-broadband-modem-iridium.c |  59 +++++++++
 plugins/mm-broadband-modem-iridium.h |  49 +++++++
 plugins/mm-plugin-iridium.c          | 243
 ++++++++++-------------------------
 plugins/mm-plugin-iridium.h          |   3 +-
 5 files changed, 187 insertions(+), 184 deletions(-)

commit c8f525ee47fcdf70283043141ea2d1ece31d247b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 10:58:53 2012 +0100

    api,header: added new Iridium capability

 include/ModemManager-enums.h | 2 ++
 src/mm-broadband-modem.c     | 1 +
 2 files changed, 3 insertions(+)

commit f72f68b311b5c283494f0ba329c73d053b4a4280
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 14:23:18 2012 +0100

    broadband-modem: allow no whitespaces before CPIN? reply value

 src/mm-broadband-modem.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 2a12322a80d7c6a41c447c4c6bbfc5810b498b0c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 16:00:15 2012 +0100

    modem-helpers: allow leading zeroes in CREG/CGREG responses

 src/mm-modem-helpers.c         | 2 +-
 src/tests/test-modem-helpers.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 5589df8946793f14159bc1b341999fea1428e709
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 20:50:07 2012 +0100

    cinterion: implement custom SMS indication enabling

 plugins/mm-broadband-modem-cinterion.c | 40
 +++++++++++++++++++++++++++++++++-
 1 file changed, 39 insertions(+), 1 deletion(-)

commit f0d516e556d19376bd24cc446f05a6354c20b4e8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 20:40:51 2012 +0100

    broadband-modem: implement default enabling of SMS indications

 src/mm-broadband-modem.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

commit 3dd5ec64ccc845b6c3018fb3b221c29dc586384c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 20:35:56 2012 +0100

    iface-modem-messaging: need to enable/disable SMS indications

 src/mm-iface-modem-messaging.c | 96
 +++++++++++++++++++++++++++++++++++-------
 src/mm-iface-modem-messaging.h | 16 +++++++
 2 files changed, 97 insertions(+), 15 deletions(-)

commit 5ee0f23efaff26b7db1e01b1dfdec22b05931a30
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 17:49:59 2012 +0100

    cli: print the IP timeout value from the bearer

 cli/mmcli-bearer.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit aa2ad5c31949e3bcb5a5ed7a8d66e5c6a69cda62
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 17:49:42 2012 +0100

    libmm-glib: allow retrieving the IP timeout value from the bearer

 libmm-glib/mm-bearer.c |  8 ++++++++
 libmm-glib/mm-bearer.h | 13 +++++++------
 2 files changed, 15 insertions(+), 6 deletions(-)

commit 7fdd08c02ea676df7407a1045b39fe23d80eabe1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 16:43:08 2012 +0100

    api,dbus: new `IpTimeout' property in the Bearer interface

    This IpTimeout property will be read by NetworkManager, and used as
    the time to
    wait for pppd to establish the IP configuration (20s by default).

 new/org.freedesktop.ModemManager1.Bearer.xml | 7 +++++++
 src/mm-bearer.c                              | 4 ++++
 2 files changed, 11 insertions(+)

commit dc1df5bf2fb00b9eda0e98f59bb783c895fdeebf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 17 10:52:28 2012 +0100

    iface-modem-simple: SIM-PIN2 locking does not prevent from connecting

 src/mm-iface-modem-simple.c | 7 +++++--
 src/mm-iface-modem.c        | 4 +++-
 2 files changed, 8 insertions(+), 3 deletions(-)

commit c176117941257156b2da6e094239f5a9a07142fc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 17 10:10:15 2012 +0100

    libmm-common: no need to check for end of string when looking
    for spaces

 libmm-common/mm-common-helpers.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 22342055700384118a6af62b7292a974f526613a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 17 10:07:39 2012 +0100

    libmm-common: allow empty strings passed to the key value parser

 libmm-common/mm-common-helpers.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit c89fd703bbff17fe9f703db444981f70c0b6aa4b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 17:18:20 2012 +0100

    sim: allow subclasses to specify they can't load property values

 src/mm-sim.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

commit 3c41ce5d8b238e6a3a2cf101885e3a2df8efae0e
Author: Nathan Williams <njw@chromium.org>
Date:   Mon Jan 23 11:04:49 2012 -0500

    api,dbus: new `Command' method in the API to send arbitrary AT
    commands

    BUG=chromium-os:25348
    TEST="mmcli -m 0 --command='E0'"
    Change-Id: I320587560fde5780f9d5a4998e32364d36a71ed7

 cli/mmcli-modem.c                           | 67
 +++++++++++++++++++++++++++++
 libmm-glib/mm-modem.c                       | 59
 +++++++++++++++++++++++++
 libmm-glib/mm-modem.h                       | 15 +++++++
 new/org.freedesktop.ModemManager1.Modem.xml | 14 ++++++
 src/mm-broadband-modem.c                    | 31 +++++++++++++
 src/mm-iface-modem.c                        | 56 ++++++++++++++++++++++++
 src/mm-iface-modem.h                        | 10 +++++
 7 files changed, 252 insertions(+)

commit 54c2daf937e3bc6062d5b867c1b0490381de711e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 14:10:19 2012 +0100

    plugin-base: filters for product ID/string also require vendor
    ID/string checks

 src/mm-plugin-base.c | 177
 +++++++++++++++++++++++++++------------------------
 1 file changed, 93 insertions(+), 84 deletions(-)

commit 1f3e67775c608ce49c44cd4b67bcd7ba34840b76
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 14:04:46 2012 +0100

    core: new private boxed types for string and uint16 pairs

 src/mm-private-boxed-types.c | 84
 ++++++++++++++++++++++++++++++++++++++++++++
 src/mm-private-boxed-types.h |  8 +++++
 2 files changed, 92 insertions(+)

commit 85dc060c82b42c45441790201bba23cf9e9034cf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 14:05:21 2012 +0100

    manager: print modem debug info as soon as it gets exported

 src/mm-manager.c | 52
 ++++++++++++++++++++++------------------------------
 1 file changed, 22 insertions(+), 30 deletions(-)

commit 26ac82f60760a366a77ad2eda3577bb05cd5a868
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 10:55:46 2012 +0100

    broadband-modem: minor indentation fixes

 src/mm-broadband-modem.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

commit 2000331f86c3a361206abde6b160dfe366a8704f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 09:57:59 2012 +0100

    broadband-bearer: avoid double free

    Don't free an error which is taken by the async result.

 src/mm-broadband-bearer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 21a722b6169d27ea960ad24ff432f174163ed53a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 13 23:13:39 2012 +0100

    core: don't pass primary port to interface initializations

    They will all get it themselves.

 src/mm-base-modem.c            |  2 --
 src/mm-base-modem.h            |  3 +--
 src/mm-broadband-modem.c       |  9 +--------
 src/mm-broadband-modem.h       |  1 -
 src/mm-iface-modem-3gpp-ussd.c |  6 ------
 src/mm-iface-modem-3gpp-ussd.h |  1 -
 src/mm-iface-modem-3gpp.c      |  6 ------
 src/mm-iface-modem-3gpp.h      |  1 -
 src/mm-iface-modem-cdma.c      |  6 ------
 src/mm-iface-modem-cdma.h      |  1 -
 src/mm-iface-modem-location.c  |  6 ------
 src/mm-iface-modem-location.h  |  1 -
 src/mm-iface-modem-messaging.c | 14 ++++----------
 src/mm-iface-modem-messaging.h |  1 -
 src/mm-iface-modem.c           | 11 -----------
 src/mm-iface-modem.h           |  1 -
 16 files changed, 6 insertions(+), 64 deletions(-)

commit 3de4a2996340844b6808a4ca6e2d31b9b4b791f7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 13 23:00:34 2012 +0100

    broadband-modem: run setup of all ports as first step in
    initialization

    This is run always once all ports grabbed and organized.

 src/mm-broadband-modem.c | 100
 +++++++++++++++++++++++++++++++----------------
 src/mm-broadband-modem.h |   5 +++
 2 files changed, 71 insertions(+), 34 deletions(-)

commit 8b7b614105c784b391f818a2eb6462accd844a4e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 13 22:19:28 2012 +0100

    core: rework port grabbing and organization

    Make port roles more flexible.  We have modems that do PPP
    on interfaces other than the primary interface, and that
    wasn't possible with the old code.  So clean up all that
    logic and move the port organization code into the core
    so we can reduce code in the plugins.

    In the new world order, the plugins say whether the port
    is a QCDM port, an AT port, or ignored.  If it's an AT
    port the plugins get to tag it as primary, secondary, or
    PPP, or any combination of the 3.  This allows for modems
    where PPP should really be done on the secondary port
    (Huawei E220, Sierra devices) so that the primary port
    stays open for command and status.

    After all ports are grabbed by the generic classes, they get
    "organized", which assigns various ports to the roles of
    PRIMARY, SECONDARY, DATA, and QCDM based on specific rules
    and hints that the plugin provided (which are expressed as
    MMAtPortFlags).

    The plugin code is responsible for determining the port
    hints (ie MMAtPortFlags) at probe time, instead of having
    a combination of the plugin and the modem class do the
    job.  This simplifies things greatly for the plugins at
    the expense of more complicated logic in the core.

    This is the port of commit 96505d42ed62327101dcee7c2bf31177b0bb1c9f
    to the 06-api branch.

 plugins/mm-plugin-cinterion.c |   4 +-
 plugins/mm-plugin-generic.c   |   6 +-
 plugins/mm-plugin-gobi.c      |   6 +-
 plugins/mm-plugin-nokia.c     |  10 +-
 src/mm-base-modem.c           | 361
 +++++++++++++++++++++++++-----------------
 src/mm-base-modem.h           |  13 +-
 src/mm-broadband-modem.c      |  54 +++++++
 src/mm-manager.c              |  19 ++-
 src/mm-port-probe.c           |  19 +++
 src/mm-port-probe.h           |  11 +-
 src/mm-port.h                 |   1 -
 11 files changed, 336 insertions(+), 168 deletions(-)

commit 0b39bf91ecde4d19d231e495bc9573a67869c3f2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 13 12:43:57 2012 +0100

    at-serial-port: new AT port specific flags

 src/Makefile.am         |  6 ++++--
 src/mm-at-serial-port.c |  8 +++++---
 src/mm-at-serial-port.h | 16 ++++++++--------
 3 files changed, 17 insertions(+), 13 deletions(-)

commit 11962711e4404f0e70973e196b7d473e29f23d73
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 13 12:32:07 2012 +0100

    at-serial-port: no need to pass port type when creating the object

    We'll just specify the port is AT, not primary or secondary

 src/mm-base-modem.c | 2 +-
 src/mm-port-probe.c | 3 +--
 src/mm-port.h       | 1 +
 3 files changed, 3 insertions(+), 3 deletions(-)

commit f8cc4114adab326b19efcbf3a10f0755cb172eca
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 13 12:27:45 2012 +0100

    qcdm-serial-port: no need to pass port type when creating the object

 src/mm-base-modem.c               | 2 +-
 src/mm-port-probe.c               | 3 +--
 src/mm-qcdm-serial-port.h         | 1 -
 src/tests/test-qcdm-serial-port.c | 1 -
 4 files changed, 2 insertions(+), 5 deletions(-)

commit 44e5ebfec3e4a0d469afb30db8bb84dfa0ad8bfd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 14 16:51:25 2012 +0100

    bearer-list: avoid redefinition of MMBearerLisForeachFunc

 src/mm-bearer-list.c | 2 --
 1 file changed, 2 deletions(-)

commit 66b2b7fb23e30c63eb7e852e4cc42c94e5f2bd41
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 13 22:16:59 2012 +0100

    base-modem: also signal validity when reporting invalid

    Otherwise the manager won't catch invalid modems failing at
    initialization.

 src/mm-base-modem.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 20d8fd92bf76cd98eb0a3ab21827284a7d7ab635
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 13 12:13:55 2012 +0100

    port: no need for custom enum to string converters

 src/mm-port.c | 32 --------------------------------
 src/mm-port.h |  4 ----
 2 files changed, 36 deletions(-)

commit 46a665630de33fede12cb53d255ee727a24bb521
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 13 12:13:32 2012 +0100

    base-modem: use new autogenerated port-enum-string getters

 src/mm-base-modem.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

commit 06260cdced10404b7b9fef5035c5388e5b47111f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 13 12:42:45 2012 +0100

    build: private enums don't depend on the public ones

 src/Makefile.am | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit ec9895536227ccc318e86cb0988de51877c55a66
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 13 12:07:04 2012 +0100

    build: ignore built files

 .gitignore | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

commit 4d3a61d58b3534a1abe1fe2b290832e237068728
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 13 11:59:51 2012 +0100

    build: generate libserial-specific enum types

 src/Makefile.am | 20 +++++++++++++++++++-
 src/mm-port.h   |  5 ++---
 2 files changed, 21 insertions(+), 4 deletions(-)

commit ffdb034413d281361803ebb52fcbb4f569e1b9f2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 13 11:58:06 2012 +0100

    build: renamed files holding daemon-specific enum types

 src/Makefile.am | 20 ++++++++++----------
 src/mm-bearer.c |  2 +-
 2 files changed, 11 insertions(+), 11 deletions(-)

commit 71c3c8d8e55af4b78ad99285f32ee28b6fe87aa0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Feb 11 20:25:06 2012 +0100

    libmm-common: use the new key/value parser in the common bearer
    properties builder

 libmm-common/mm-common-bearer-properties.c | 71
 ++++++++++++------------------
 1 file changed, 28 insertions(+), 43 deletions(-)

commit 591e6413698897fecbb6b96e98004462f6e0e88a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Feb 11 20:09:45 2012 +0100

    libmm-common: use the new key/value parser in the common connect
    properties builder

 libmm-common/mm-common-connect-properties.c | 155
 ++++++++++++++--------------
 1 file changed, 75 insertions(+), 80 deletions(-)

commit f0b9f3954c886f4f73b1c2a39628d5d124195546
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Feb 11 19:09:01 2012 +0100

    libmm-common: use the new key/value parser in the common SMS
    properties builder

 libmm-common/mm-common-sms-properties.c | 70
 +++++++++++++--------------------
 1 file changed, 28 insertions(+), 42 deletions(-)

commit b7938448ea125827a7e54f11d6b548d26653cc37
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Feb 11 19:08:39 2012 +0100

    libmm-common,tests: new tests for the key/value parser

 .gitignore                               |   1 +
 configure.ac                             |   1 +
 libmm-common/Makefile.am                 |   1 +
 libmm-common/tests/Makefile.am           |  20 +++
 libmm-common/tests/test-common-helpers.c | 277
 +++++++++++++++++++++++++++++++
 5 files changed, 300 insertions(+)

commit 7df5874a88c6fc09ad62f655f4da9c0626c224eb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Feb 11 19:08:12 2012 +0100

    libmm-common: new helper key/value parser

 libmm-common/mm-common-helpers.c | 145
 ++++++++++++++++++++++++++++++++++++++-
 libmm-common/mm-common-helpers.h |   9 +++
 2 files changed, 153 insertions(+), 1 deletion(-)

commit 46cbee191c9350d246379d2ec211c3ef9f4836a9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 10 17:59:35 2012 +0100

    broadband-modem: always PDU mode preferred

 src/mm-broadband-modem.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 7f8ca20096af4b19b06223a6a0e664f0386f337e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 10 17:39:11 2012 +0100

    cli: include storage when printing SMS info

 cli/mmcli-sms.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit a35472b0a1d3cb96491f97b439cb72b3032804cf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 10 17:38:55 2012 +0100

    libmm-glib: allow getting SMS storage

 libmm-glib/mm-sms.c | 16 ++++++++++++++++
 libmm-glib/mm-sms.h |  1 +
 2 files changed, 17 insertions(+)

commit 978801ee7b740abe46d7117346d4696f0ec369f0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 10 17:38:39 2012 +0100

    sms: specify storage where the SMS is kept

 src/mm-broadband-modem.c       | 83
 +++++++++++++++++++++++++-----------------
 src/mm-iface-modem-messaging.c |  5 ++-
 src/mm-iface-modem-messaging.h |  3 +-
 src/mm-sms-list.c              |  9 ++++-
 src/mm-sms-list.h              |  1 +
 src/mm-sms.c                   | 18 ++++++++-
 src/mm-sms.h                   |  2 +
 7 files changed, 81 insertions(+), 40 deletions(-)

commit 86dd0816b597d48cddaa0613a2cd1a3dfe9542ff
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 10 17:14:36 2012 +0100

    api,dbus: new `Storage' property in the SMS interface

 new/org.freedesktop.ModemManager1.Sms.xml | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 50d474056dcc9836f4fbd43d3370d0097bacd378
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 10 17:06:23 2012 +0100

    iface-modem-messaging: once all messages initially loaded, set
    default storages

 src/mm-iface-modem-messaging.c | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

commit 8c8e5efa14b9eaee8e24cd8122ec885f0cf1eabd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 10 16:35:20 2012 +0100

    cinterion: SMS storage mem3 doesn't support 'ME'

 plugins/mm-broadband-modem-cinterion.c | 2 ++
 1 file changed, 2 insertions(+)

commit cce2869f1b4d14dce8af6ca1fa471199048c529d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 10 16:34:56 2012 +0100

    broadband-modem: implement default storage settings

 src/mm-broadband-modem.c | 61
 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 60 insertions(+), 1 deletion(-)

commit f7c41b8e4843e488214b2aa7009f3334d62cd873
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 10 16:34:40 2012 +0100

    iface-modem-messaging: use defaults when no specific storage specified

 src/mm-iface-modem-messaging.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

commit 9e3f66393fc03b7d285c4326f23c7962c833dae5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 10 15:43:34 2012 +0100

    iface-modem-messaging: load initial parts from all available storages

 src/mm-broadband-modem.c       | 50 +++++++++++++++++++++++------
 src/mm-iface-modem-messaging.c | 71
 +++++++++++++++++++++++++++++++++++++++---
 src/mm-iface-modem-messaging.h |  1 +
 3 files changed, 108 insertions(+), 14 deletions(-)

commit cd184f33f9f78692dbf9135818e69c98cdf1fcb8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 10 15:39:22 2012 +0100

    test: new tester for CPMS=? results

 src/tests/test-modem-helpers.c | 40
 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

commit 69ecae2dc46f6cd6292f11e3c397234c0cb375e7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 10 14:37:59 2012 +0100

    iface-modem-messaging: new method to set preferred SMS storages

 src/mm-iface-modem-messaging.c | 73
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-messaging.h | 22 +++++++++++++
 2 files changed, 95 insertions(+)

commit e6e7aa1846ec0591f1566a2d111d5775f31f2b74
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 23:48:07 2012 +0100

    broadband-modem: override default preferred mem1/mem2/mem3 storages

 src/mm-broadband-modem.c | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

commit f6ef117d32b690b8fe75b45d278f439a3d1c8b3b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 23:47:36 2012 +0100

    iface-modem-messaging: new properties to define preferred
    mem1/mem2/mem3 storages

 src/mm-iface-modem-messaging.c | 28 +++++++++++++++++++++++++++-
 src/mm-iface-modem-messaging.h |  9 ++++++---
 2 files changed, 33 insertions(+), 4 deletions(-)

commit 55ba297fb8418cde124a5cdc3c1a8837b9e1fd5e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 23:47:10 2012 +0100

    broadband-modem: implement default SMS storage loading

 src/mm-broadband-modem.c | 108
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 108 insertions(+)

commit 7fb1234015f68d3139400b9ec184e6dae1fe0f78
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 23:46:37 2012 +0100

    iface-modem-messaging: load supported SMS storages during
    initialization

 src/mm-iface-modem-messaging.c | 103
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-messaging.h |  15 ++++++
 2 files changed, 118 insertions(+)

commit 09adad847e9982c72e99da9ffb4b7b67d387e12e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 23:45:35 2012 +0100

    modem-helpers: new CPMS format result parser

 src/mm-modem-helpers.c | 92
 ++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h |  5 +++
 2 files changed, 97 insertions(+)

commit 23508ddd7f208c4dcc88ce38a20c0ec4fc49582f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 23:45:15 2012 +0100

    libmm-common: new helpers to work with SMS storage strings

 libmm-common/mm-common-helpers.c | 24 ++++++++++++++++++++++++
 libmm-common/mm-common-helpers.h |  3 +++
 2 files changed, 27 insertions(+)

commit 1e5756c33b3059e661d47f7ae110a5fe75dc5231
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 22:01:38 2012 +0100

    api,header: new `MMSmsStorage' enumeration

 docs/reference/api/mm-sections.txt |  1 +
 include/ModemManager-enums.h       | 22 ++++++++++++++++++++++
 2 files changed, 23 insertions(+)

commit 4b6792dd62ce37fc1a0559355cf106589445412d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 18:37:36 2012 +0100

    sms: implement default sending, either from storage or through the
    generic cmd

 src/mm-sms.c | 152
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 152 insertions(+)

commit ea8b4c80b7adcde5d9beb02f90c09efc3d1992ac
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 18:16:57 2012 +0100

    sms: don't allow sending received messages

 src/mm-sms.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

commit 4e4078ef2eab0750baa38c2b23f3987fc70dfd2e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 18:09:33 2012 +0100

    sms: implement default storing

 src/mm-sms.c | 175
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 175 insertions(+)

commit 183e7c32051339255fc6f6e3069baf8815b1bbe0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 14:55:39 2012 +0100

    sms-part: include the submit-pdu building code

    It currently doesn't do multi-part. When do support that, we may
    end up needing
    to move all this code to mm-sms.c

 src/mm-sms-part.c | 303
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-sms-part.h |  11 ++
 2 files changed, 314 insertions(+)

commit bf5276d4c709adb2bb2d49609e7fc91812ae88d8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 14:39:51 2012 +0100

    broadband-modem: implement the use-pdu-mode flag property

 src/mm-broadband-modem.c | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

commit 6bb4f9cb5774d02e60af5dd243bd0a6ef3334a26
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 14:38:57 2012 +0100

    iface-modem-messaging: handle the flag to use PDU mode as a property

 src/mm-iface-modem-messaging.c | 8 ++++++++
 src/mm-iface-modem-messaging.h | 1 +
 2 files changed, 9 insertions(+)

commit 2622705744eb27f834abc72fdd8518289d486fda
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 14:23:18 2012 +0100

    cli: new `--store' action to store SMS messages

 cli/mmcli-sms.c | 55
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 54 insertions(+), 1 deletion(-)

commit cee94ef536fa759b5fbd6fcbd20860ba1a32f3ce
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 14:23:03 2012 +0100

    libmm-glib: new method to store SMS messages

 libmm-glib/mm-sms.c | 73
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-sms.h | 11 ++++++++
 2 files changed, 84 insertions(+)

commit 556efdd37874f726b7ad6b6a3cf32fffad7972d2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 14:05:48 2012 +0100

    sms-list: refactor SMS removal

    If any of the parts couldn't be removed, an error is reported and
    the SMS is
    left in the list.

 src/mm-sms-list.c | 104
 +++++++++++++++++++++++++++++++++---------------------
 1 file changed, 64 insertions(+), 40 deletions(-)

commit 572565c1e0d9c9b1c136aafcb9a6038d1e31b7fc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 14:05:06 2012 +0100

    sms: delete() just removes the parts from the storage

    It's left to the delete() caller to unexport the SMS object from
    DBus and such.

 src/mm-sms.c | 51 ++++++++++++++++++++++++++++++++-------------------
 src/mm-sms.h |  1 +
 2 files changed, 33 insertions(+), 19 deletions(-)

commit 40a39e4d47f051bda579104958024128812b567c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 14:04:33 2012 +0100

    sms-part: allow reseting part index

    so that we can for example, tell the index is INVALID

 src/mm-sms-part.c | 1 +
 src/mm-sms-part.h | 2 ++
 2 files changed, 3 insertions(+)

commit a8b3b50f456d90e8ea746ec9657ffeec1a0f06bf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 13:28:13 2012 +0100

    sms: 'number' and 'text' are mandatory when creating from properties

 src/mm-sms.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit b61c94016afe8a598f3b7f576430f790c6898a4f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 13:07:29 2012 +0100

    api,dbus: remove the option to send the SMS in the Create() call

    An SMS must be first created with the Messaging interface, and then
    sent using the
    Send() method from the SMS-specific interface.

 cli/mmcli-modem-messaging.c                           | 2 --
 libmm-glib/mm-modem-messaging.c                       | 6 ------
 libmm-glib/mm-modem-messaging.h                       | 2 --
 new/org.freedesktop.ModemManager1.Modem.Messaging.xml | 6 ++----
 src/mm-iface-modem-messaging.c                        | 1 -
 5 files changed, 2 insertions(+), 15 deletions(-)

commit 8a4a7ca4dcd7d92d964733c5c30865354a7a6f82
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 12:50:45 2012 +0100

    broadband-modem: get and use SMS part state when parsing CMGL reply

 src/mm-broadband-modem.c | 51
 +++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 46 insertions(+), 5 deletions(-)

commit 714e4ca44b2dc4d877e28d01e9f402fa0d9066a7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 9 12:48:00 2012 +0100

    sms: export uncomplete multipart messages as well

    Uncompleted multipart SMS will be exported to DBus, where only the
    "state"
    property is valid, so that we allow completely removing those
    uncompleted
    multipart SMS which will never get completed due to one reason
    or another.

 src/mm-broadband-modem.c       |  6 +--
 src/mm-iface-modem-messaging.c |  4 +-
 src/mm-iface-modem-messaging.h |  2 +-
 src/mm-sms-list.c              | 87
 ++++++++++++++++++++----------------------
 src/mm-sms-list.h              |  2 +-
 src/mm-sms.c                   | 22 +++++++++--
 6 files changed, 67 insertions(+), 56 deletions(-)

commit 186584f26f1aa6699ddc970fa6b85f60a27d1820
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 16:31:59 2012 +0100

    broadband-modem: ensure text mode SMS list doesn't pick up too
    much text

    This is the port of commit 2104cd725a5f3f9aeacf4dfc4faa70dba293789d
    to the
    06-api branch.

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3c886d257986022c9d539e740e6beadb4139ed88
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 16:29:59 2012 +0100

    broadband-modem: fix text SMS list regex

    This is a port of commit c7f54a635a84d5861b1d5f819c25de97b8c0ac32
    to the
    06-api branch.

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ad3b3d0ba772c5d4603abcf2cfe6f5a4842fd92c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 16:08:53 2012 +0100

    iface-modem-messaging: don't allow method calls if not enabled

 src/mm-iface-modem-messaging.c | 43
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

commit a1dc38360c57388058d955319cf32afc76e2ab4f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 16:08:29 2012 +0100

    iface-modem: don't force port closing here, it breaks the open/close
    count

 src/mm-iface-modem.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 214a146a2856200f438977822f71b8a20d7095c1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 16:08:04 2012 +0100

    iface-modem: simplify disabling sequence

    Avoid the _ready() function generator macro, not really needed here.

 src/mm-iface-modem.c | 39 +++++++++++++++++++--------------------
 1 file changed, 19 insertions(+), 20 deletions(-)

commit a826e7c8ae11cd6a469bcb726fb0daf8f32cb5bf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 16:07:02 2012 +0100

    cinterion: fix power down sequence

    Need to complete the operation result at some point!

 plugins/mm-broadband-modem-cinterion.c | 40
 +++++++++++++++++++++++++++++-----
 1 file changed, 35 insertions(+), 5 deletions(-)

commit 7bc586258d9d63c05b7e103e79a11a31d70e0a57
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 15:30:03 2012 +0100

    sim: leave up to 10s for CRSM queries

 src/mm-sim.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit d528a2211b58820d23528e1afd187652151f4853
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 15:18:21 2012 +0100

    cli: ensure EOL is added at every error message

 cli/mmcli-modem-3gpp.c      | 4 ++--
 cli/mmcli-modem-cdma.c      | 2 +-
 cli/mmcli-modem-location.c  | 2 +-
 cli/mmcli-modem-messaging.c | 6 +++---
 cli/mmcli-modem-simple.c    | 2 +-
 cli/mmcli-modem.c           | 4 ++--
 cli/mmcli.c                 | 4 ++--
 7 files changed, 12 insertions(+), 12 deletions(-)

commit 470d9b933ef3a324195b1cd15edd10aba57c564d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 14:26:13 2012 +0100

    sms: handle message storing and sending actions from DBus

 src/mm-sms.c | 127
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-sms.h |  17 +++++++-
 2 files changed, 142 insertions(+), 2 deletions(-)

commit fb02fbf7a0f303ea685fe1db1af9810a4234ff84
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 14:25:44 2012 +0100

    sms-part: new symbol to define invalid indexes

    SMS parts with invalid indexes are NOT stored yet in the device

 src/mm-sms-part.h | 1 +
 src/mm-sms.c      | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

commit e07e26c6e188f94c91a621ee7cbdd1f16d8237d2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 14:09:19 2012 +0100

    api,dbus: new method to request storing a SMS messages

 new/org.freedesktop.ModemManager1.Sms.xml | 7 +++++++
 1 file changed, 7 insertions(+)

commit e257c4ac499d0e9e12d27d74de435e4a0fc8d98e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 13:57:00 2012 +0100

    cli: avoid unneeded refs when synchronously looking for bearer/sms/sim

 cli/mmcli-common.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 0833934f11e96916e2ffe188cc6808350b70a95d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 13:51:50 2012 +0100

    cli: added Messaging-specific actions

 cli/Makefile.am             |   1 +
 cli/mmcli-modem-messaging.c | 375
 ++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli.c                 |  11 ++
 cli/mmcli.h                 |   8 +
 4 files changed, 395 insertions(+)

commit 6ff1543c3250be3c55a1f3689cc1692153093221
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 13:30:06 2012 +0100

    cli: added SMS-specific actions

 cli/Makefile.am |   3 +-
 cli/mmcli-sms.c | 252
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli.c     |  11 +++
 cli/mmcli.h     |   8 ++
 4 files changed, 273 insertions(+), 1 deletion(-)

commit 2021ba80fd1dba6edc47a958aeb9c12e5bdbb141
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 13:24:40 2012 +0100

    cli: setup to work with SMS objects

 cli/mmcli-common.c | 275
 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 cli/mmcli-common.h |  14 +++
 2 files changed, 287 insertions(+), 2 deletions(-)

commit d80d06cd6e2b8a441dac610ba396fe0b05c8b63e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 12:57:19 2012 +0100

    cli: fix help, bearers and SIMs can be specified also by index

 cli/mmcli-common.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit e82db676466319ce03998b678c3c89d1385187ee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 12:54:09 2012 +0100

    libmm-glib: implement support for the Messaging interface

 libmm-glib/Makefile.am          |   2 +
 libmm-glib/mm-modem-messaging.c | 552
 ++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-modem-messaging.h |  83 ++++++
 libmm-glib/mm-object.c          |  34 +++
 libmm-glib/mm-object.h          |  29 ++-
 5 files changed, 687 insertions(+), 13 deletions(-)

commit 26075236f6348a942890cdc699e971c6f0cb3620
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 12:53:45 2012 +0100

    libmm-glib: (trivial) fix some return types

 libmm-glib/mm-modem.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 9de213fcc16175635abc03d7c4d2f5b1aea83789
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 00:52:44 2012 +0100

    libmm-glib: methods to create MMSms objects

    We need them, as received messages are signaled just with their path,
    so the
    program listening to those signals will need to create the proxy
    objects itself.

 libmm-glib/mm-sms.c | 37 +++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-sms.h | 13 +++++++++++++
 2 files changed, 50 insertions(+)

commit bfbcf3cfafdf3a026f9bfbd73ee348c810e7f7df
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 00:38:03 2012 +0100

    libmm-glib: new object to handle SMS objects

 libmm-glib/Makefile.am |   3 +
 libmm-glib/mm-sms.c    | 329
 +++++++++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-sms.h    |  66 ++++++++++
 3 files changed, 398 insertions(+)

commit 14baeff88d8eba049ecf306d29ed803ed3c04743
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 00:28:02 2012 +0100

    api,dbus: renamed `To' to `Number' in the SMS interface

 new/org.freedesktop.ModemManager1.Sms.xml | 4 ++--
 src/mm-sms.c                              | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit d30c101e53d974abdb1e9242b301104d0ffd9167
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 00:14:58 2012 +0100

    libmm-glib: new common object to handle SMS properties

    To be used when requesting to create new SMS.

 libmm-glib/Makefile.am         |  3 ++
 libmm-glib/mm-sms-properties.c | 76
 ++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-sms-properties.h | 54 ++++++++++++++++++++++++++++++
 3 files changed, 133 insertions(+)

commit 76aaac23ec3ad86a02fe283179dc5bd022f17b78
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 00:07:57 2012 +0100

    iface-modem-messaging: allow creating new SMS objects

 src/mm-iface-modem-messaging.c | 53
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

commit f414350b24459a6420e7e1f91a76a1ad34cbc1df
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 00:07:12 2012 +0100

    sms: allow creating SMS objects from the common properties

 src/mm-sms.c | 20 ++++++++------------
 src/mm-sms.h | 10 +++-------
 2 files changed, 11 insertions(+), 19 deletions(-)

commit f9a7533ac41fd3fe176d2b3e85ccc9c4748c4d42
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 00:06:47 2012 +0100

    sms-list: allow adding full SMS objects to the list

 src/mm-sms-list.c | 9 +++++++++
 src/mm-sms-list.h | 3 +++
 2 files changed, 12 insertions(+)

commit 9fd2c3a1dcb03d85137357925fe56ffa7fbc9f84
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 00:06:20 2012 +0100

    sms-list: handle NULL paths in SMS objects

    They will have NULL paths when they are not exported yet

 src/mm-sms-list.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

commit 672e9d09e366d02bffd5fcf1bca9e40c53a55416
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 23:43:24 2012 +0100

    libmm-common: new helper object to handle common SMS properties

 libmm-common/Makefile.am                |   4 +
 libmm-common/libmm-common.h             |   1 +
 libmm-common/mm-common-sms-properties.c | 413
 ++++++++++++++++++++++++++++++++
 libmm-common/mm-common-sms-properties.h |  87 +++++++
 4 files changed, 505 insertions(+)

commit 69b8742ca354a396f7df4e72c8ce26b9eb3dcbea
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 23:16:08 2012 +0100

    api,header: renamed `MMModemSmsState' to `MMSmsState'

 docs/reference/api/mm-sections.txt        |  2 +-
 include/ModemManager-enums.h              | 30
 +++++++++++++++---------------
 new/org.freedesktop.ModemManager1.Sms.xml |  2 +-
 src/mm-sms-list.c                         |  8 ++++----
 src/mm-sms.c                              |  6 +++---
 src/mm-sms.h                              |  4 ++--
 6 files changed, 26 insertions(+), 26 deletions(-)

commit c15fbedc03569723b26b39706d93bace50e1ada0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 23:11:06 2012 +0100

    sms: pass known state when creating the MMSms object

 src/mm-sms-list.c |  8 ++++++--
 src/mm-sms.c      | 14 +++++---------
 src/mm-sms.h      |  4 ++--
 3 files changed, 13 insertions(+), 13 deletions(-)

commit c17d6c09a4595663e87ad80202bd6add75254fb4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 22:57:06 2012 +0100

    sms-part: include validity

 src/mm-sms-part.c | 3 +++
 src/mm-sms-part.h | 4 ++++
 src/mm-sms.c      | 1 +
 3 files changed, 8 insertions(+)

commit 0841f123158b747de5a2ea7744644b049de1307d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 22:24:04 2012 +0100

    iface-modem-messaging: allow subclassing SMS object creation methods

 src/mm-broadband-modem.c       |  1 +
 src/mm-iface-modem-messaging.h |  4 +++
 src/mm-sms-list.c              |  2 ++
 src/mm-sms.c                   | 62
 ++++++++++++++++++++++++++++++++----------
 src/mm-sms.h                   | 11 ++++++++
 5 files changed, 65 insertions(+), 15 deletions(-)

commit 61a84528932fcbae61f3fb2275d89595634de0dd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 20:54:47 2012 +0100

    sms: allow sublassing the part deletion procedure

 src/mm-sms-list.c | 14 +++++++-------
 src/mm-sms.c      | 53
 ++++++++++++++++++++++++++++++++++++++++++++---------
 src/mm-sms.h      | 21 +++++++++++++++------
 3 files changed, 66 insertions(+), 22 deletions(-)

commit 9ca03ba9f2cffea4470162ef310ea1bc0830e553
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 20:03:20 2012 +0100

    sms: rename method which creates MMSms from single part

 src/mm-sms-list.c | 8 ++++----
 src/mm-sms.c      | 8 ++++----
 src/mm-sms.h      | 8 ++++----
 3 files changed, 12 insertions(+), 12 deletions(-)

commit 61697b0054a1f34be9626ac17dfbff5aa840dd47
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 19:37:38 2012 +0100

    modem-helpers: use new common charset converter when parsing operator
    name/code

    This is the port of commit 4af8483ae4e32ca3d815f14aaf5f012b0ed98eed
    into the
    06-api branch.

 src/mm-modem-helpers.c | 31 +------------------------------
 1 file changed, 1 insertion(+), 30 deletions(-)

commit 9c5e8d697c966902cd8ac4afd208ba476ce94f53
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 17:51:15 2012 +0100

    broadband-modem: try to get SMS text and number in the current charset

 src/mm-broadband-modem.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

commit a8ca3df9be2a44465380fe68c5ea276cc51a3927
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 17:05:26 2012 +0100

    plugins: always set a proper error domain in GErrors

 plugins/mm-plugin-cinterion.c |  6 +++++-
 plugins/mm-plugin-generic.c   | 12 ++++++++++--
 plugins/mm-plugin-gobi.c      | 11 ++++++++---
 plugins/mm-plugin-nokia.c     | 10 ++++++++--
 4 files changed, 31 insertions(+), 8 deletions(-)

commit 23a615605996415cfdbc8d80831959e5f2679278
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 16:03:20 2012 +0100

    broadband-modem: allow listing SMS parts in Text mode

 src/mm-broadband-modem.c | 170
 ++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 159 insertions(+), 11 deletions(-)

commit ffedaf2ec3ca45d348abf9faf0ef353f81fac782
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 16:02:35 2012 +0100

    sms-part: allow creating MMSmsParts not only from parsing a PDU

 src/mm-sms-part.c | 134
 +++++++++++++++++++++++++++++++++++++++++++-----------
 src/mm-sms-part.h |  48 +++++++++++++++++--
 2 files changed, 152 insertions(+), 30 deletions(-)

commit dc5ff06b4f8c730d8f378ef8d2d5cf985a51e5c5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Feb 6 18:12:15 2012 +0100

    broadband-modem: implement generic unsolicited SMS events handling

 src/mm-broadband-modem.c | 183
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 183 insertions(+)

commit d9f5779bbbbcf0559a5dd0a3a897b5d4241ad186
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 3 13:34:03 2012 +0100

    iface-modem-messaging: allow setting up unsolicited events

 src/mm-iface-modem-messaging.c | 110
 ++++++++++++++++++++++++++---------------
 src/mm-iface-modem-messaging.h |  16 ++++++
 2 files changed, 85 insertions(+), 41 deletions(-)

commit ee13bbe4a3c1e2a95b203787af9d5cbd3a09a567
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 3 13:27:02 2012 +0100

    base-modem: ignore every unsolicited CMTI until we set up messaging

 src/mm-base-modem.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

commit 3912bf062e47db7ab96f178ffb833841223885a3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Feb 3 13:26:22 2012 +0100

    modem-helpers: new common CMTI regex getter

 src/mm-modem-helpers.c | 11 +++++++++++
 src/mm-modem-helpers.h |  2 ++
 2 files changed, 13 insertions(+)

commit 1eb7f60e4cee9295980d14de7d586a0bca24e869
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 22:30:20 2012 +0100

    sms: assemble and export the SMS when its completed

 src/mm-sms-list.c |  35 ++++++++++++-----
 src/mm-sms.c      | 114
 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 src/mm-sms.h      |   9 ++++-
 3 files changed, 138 insertions(+), 20 deletions(-)

commit 6f103c136660eee618d6b38c69d3ba91e3b41921
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 22:29:39 2012 +0100

    sms-list: don't signal completed messages

    We will instead not export an SMS until completed and assembled

 src/mm-iface-modem-messaging.c | 13 -------------
 src/mm-sms-list.c              | 15 ---------------
 src/mm-sms-list.h              |  3 ---
 3 files changed, 31 deletions(-)

commit a91948879c546686797a5ace317a617273d9fc08
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 21:21:48 2012 +0100

    sms: set modem object, so that the SMS are exported in DBus

 src/mm-sms-list.c |  5 +++--
 src/mm-sms.c      | 11 ++++++++---
 src/mm-sms.h      |  6 ++++--
 3 files changed, 15 insertions(+), 7 deletions(-)

commit 0cdc8e8dd7efeee36dc18abd6b9456447e613283
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 21:12:01 2012 +0100

    broadband-modem: don't assume CIEV/CIND signal quality is in the
    [0,5] range

    When running AT+CIND=? we get the real range for the signal quality
    indications,
    like: "signal",(1-7).

    The max value doesn't need to be 5; so if we do get min and max,
    we will
    normalize the returned quality using the proper range and scale it
    to the
    [0,100] range.

 src/mm-broadband-modem.c | 106
 ++++++++++++++++++++++++++++++++---------------
 1 file changed, 73 insertions(+), 33 deletions(-)

commit aee2b32a3551786415041098978640a00df54397
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 21:09:21 2012 +0100

    modem-helpers: allow strings instead of indexes in CIEV unsolicited
    events

    Some modems will report strings instead of indicator indexes, like:
     +CIEV: roam,1

    So allow non-integer indicators.

 src/mm-modem-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit eb37fc158921d2283787d7089c7a6f318ac6c6d6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 19:04:13 2012 +0100

    broadband-modem: log the indexes expected in CIEV unsolicited messages

 src/mm-broadband-modem.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 18ca53b6676ed9eb2cc064d6d8f9acfb48614535
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 19:03:57 2012 +0100

    modem-helpers: update the regex for the AT+CIND=? response

    Cinterion modems seem to include
       "signal",(0-7,99)

    We just get rid of the ',99' part.

 src/mm-modem-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 664f407b99c7b2ec51dc9607bb01123e67145fe4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 18:44:32 2012 +0100

    broadband-modem: by default use PDU mode for SMS operations

    Currently the support for text mode lacks a lot of functionality.

 src/mm-broadband-modem.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

commit 0f94abd3ae4c74719c9b2214be84aaa62f8b4be0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 18:31:58 2012 +0100

    iface-modem-3gpp: avoid segfault with empty MCCMNC

 src/mm-iface-modem-3gpp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit cd5e9c27a37ae2994dfab344ff83912c66cc4c12
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 18:12:44 2012 +0100

    broadband-modem: if locked, don't try to initialize remaining
    interfaces

    Whenever we get unlocked, the modem initialization sequence will be
    run again.

 src/mm-base-modem.c      | 14 ++++++++++++--
 src/mm-broadband-modem.c | 17 +++++++++++++++++
 src/mm-iface-modem.c     | 10 ++++++----
 3 files changed, 35 insertions(+), 6 deletions(-)

commit 47a990390175747b2d213681eda4f41a6edb7a7b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 17:06:19 2012 +0100

    iface-modem-messaging: handle SMS listing

 src/mm-iface-modem-messaging.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

commit 6432c54d7024a36c53bc316b8c697fdd5fca8d68
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 17:06:06 2012 +0100

    api,dbus: return just the list of SMS object paths, not a dictionary

 new/org.freedesktop.ModemManager1.Modem.Messaging.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 19ce344df8986b88190f538e7c8a5c8bbd43ac05
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 17:01:22 2012 +0100

    iface-modem-messaging: handle SMS deletion requests

 src/mm-iface-modem-messaging.c | 79
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)

commit 7956fc4e17dbc53c602c0723739c6390c4a05541
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 16:54:25 2012 +0100

    sms-list: allow deleting an SMS object and its parts

 src/mm-sms-list.c | 83
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-sms-list.h |  8 ++++++
 2 files changed, 91 insertions(+)

commit 9dee04a9717c846ae9de004cf3cacccd811845ee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 16:54:08 2012 +0100

    sms: allow deleting all parts of an SMS

 src/mm-sms.c | 112
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-sms.h |   7 ++++
 2 files changed, 119 insertions(+)

commit 2ede62e45e655eadbcd098dc1e4e746470a79ea6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 16:03:57 2012 +0100

    iface-modem-messaging: emit SMS added/completed/deleted signals

 src/mm-iface-modem-messaging.c | 47
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

commit 75b722541735fa37b32d443de5df978980a205eb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 12:51:15 2012 +0100

    sms-list: signal messages added/completed/deleted

 marshallers/mm-marshal.list |   2 +
 src/mm-sms-list.c           | 128
 +++++++++++++++++++++++++++++++++++++++++++-
 src/mm-sms-list.h           |  13 +++++
 3 files changed, 141 insertions(+), 2 deletions(-)

commit ba0a622616070961c0d8792b741cdd066a3bb966
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 12:47:37 2012 +0100

    sms: new method to check if the SMS has a given part

 src/mm-sms.c | 18 ++++++++++++++++++
 src/mm-sms.h |  4 ++++
 2 files changed, 22 insertions(+)

commit c938a25ca77b5c10dba8fce982cbac79ef2c003f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 11:18:20 2012 +0100

    sms: new methods to handle multipart messages

 src/mm-sms.c | 18 ++++++++++++++----
 src/mm-sms.h |  4 +++-
 2 files changed, 17 insertions(+), 5 deletions(-)

commit 8c5dd282f51a790302e1ac713f63613a95346675
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 11:17:50 2012 +0100

    sms-part: new method to check if the part is from a multipart message

 src/mm-sms-part.c | 16 +++++++++++++---
 src/mm-sms-part.h |  8 +++++---
 2 files changed, 18 insertions(+), 6 deletions(-)

commit c29f06f1e5b0e9d7e6857da142bdc1a184f74ffa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 11:02:22 2012 +0100

    api,dbus: just notify SMS object paths, not their properties

    When notifying added or completed SMS objects, don't return their
    properties as
    they can be retrieved by looking at the specific objects in DBus.

 new/org.freedesktop.ModemManager1.Modem.Messaging.xml | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

commit 157dd69646df6e7750fd91b2120ebc1af385e689
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 10:01:21 2012 +0100

    broadband-modem: default implementation of SMS part list loading

 src/mm-broadband-modem.c | 97
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 97 insertions(+)

commit d996ef84f4b31b376ef71dff28181bd859c9b8d7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 10:00:43 2012 +0100

    iface-modem-messaging: load initial list of SMS parts

 src/mm-iface-modem-messaging.c | 64
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-messaging.h | 15 ++++++++++
 2 files changed, 79 insertions(+)

commit 9079d660a52744f1d53a2d50d96d057775a4f86c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 09:59:53 2012 +0100

    broadband-modem: default implementation of SMS format setting

 src/mm-broadband-modem.c | 117
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 117 insertions(+)

commit 21b1de678d3c457716fd4caffe1b179cb3212a2f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 09:58:32 2012 +0100

    iface-modem-messaging: allow configuring preferred SMS format

 src/mm-iface-modem-messaging.c | 34 ++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-messaging.h |  8 ++++++++
 2 files changed, 42 insertions(+)

commit 14fa4aae1d8c5e07c2eb0e6546e036e868de6b9b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 09:55:43 2012 +0100

    broadband-modem: override the SMS list property

 src/mm-broadband-modem.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

commit 03ee0b44f68fe081e85240f3c9e3a3ed83e5698b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 09:54:28 2012 +0100

    iface-modem-messaging: new property to handle the list of SMS objects

 src/mm-iface-modem-messaging.c | 27 ++++++++++++++++++++++++++-
 src/mm-iface-modem-messaging.h |  1 +
 2 files changed, 27 insertions(+), 1 deletion(-)

commit fba16a2a2c1bccf8bef6181b09fda07752f8f7a2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 09:51:57 2012 +0100

    sms-list: new object to handle SMS objects and SMS parts

 src/Makefile.am   |   2 +
 src/mm-sms-list.c | 170
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-sms-list.h |  59 +++++++++++++++++++
 3 files changed, 231 insertions(+)

commit ad8fbcd1a6b37aabc18b14864eecc17f48a1b927
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 09:49:47 2012 +0100

    sms: new object to handle single-part and multi-part messages

 src/Makefile.am |   2 +
 src/mm-sms.c    | 415
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-sms.h    |  71 ++++++++++
 3 files changed, 488 insertions(+)

commit d41f4226f43fa12a54794497fb54dcbaa72a69ef
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 09:49:15 2012 +0100

    sms-part: new struct to handle parsed SMS parts

 src/Makefile.am   |   2 +
 src/mm-sms-part.c | 444
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-sms-part.h |  43 ++++++
 3 files changed, 489 insertions(+)

commit b34d14ba5b090df33fba46bf0cc3100299026bc9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 09:43:35 2012 +0100

    api,header: include default DBus path prefix for SMS objects

 build-aux/header-generator.xsl | 1 +
 1 file changed, 1 insertion(+)

commit bc375ec7c5611be3a9839f0e93ead3fb2024c632
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 09:42:48 2012 +0100

    libmm-common: include gdbus-codegen generated SMS-related sources

 libmm-common/libmm-common.h | 1 +
 1 file changed, 1 insertion(+)

commit 2bb43e00207f101673cc178d41c667c17ee6ea2f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 1 09:42:29 2012 +0100

    modem-helpers: new CMGF format query result parser

 src/mm-modem-helpers.c | 57
 ++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h |  5 +++++
 2 files changed, 62 insertions(+)

commit 4c6765857b53a204afd70fc247a2f1bc817d82b3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 25 15:57:06 2012 +0100

    broadband-modem: implement default messaging support check

    We'll just:
     * Report unsupported on CDMA-only modems.
     * Check if AT+CNMI=? replies correctly, and if so, assume SMS-based
     messaging
       is supported.

 src/mm-broadband-modem.c | 68
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

commit c9c46b6f51fe756a3260018671627d9d2f98554e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 25 15:55:54 2012 +0100

    iface-modem-messaging: check if modem has messaging capabilities

    The interface won't be exported if the given check fails.

 src/mm-iface-modem-messaging.c | 82
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-messaging.h |  8 +++++
 2 files changed, 90 insertions(+)

commit 52f1c87b06339250cd9cbfb267105cdb264ae73c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 25 13:04:30 2012 +0100

    broadband-modem: implement the Messaging interface

 src/mm-broadband-modem.c | 58
 +++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 55 insertions(+), 3 deletions(-)

commit bc0454badf7df37f67af2e327da6ea54b5f558e6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 25 12:51:08 2012 +0100

    iface-modem-messaging: new interface to handle the Messaging DBus
    interface

 src/Makefile.am                |   2 +
 src/mm-iface-modem-messaging.c | 379
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-messaging.h |  71 ++++++++
 3 files changed, 452 insertions(+)

commit 37bc2103c956b5f99997a8d25267b7353410b1ee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 26 20:57:35 2012 +0100

    broadband-bearer: fix default implementations of connect_3gpp()
    and connect_cdma()

    These implementations must not update neither port nor
    connection_type, as
    these items are specific of the MMBroadbandBearer object, and
    hence not
    available by subclasses.

 src/mm-broadband-bearer.c | 27 ++++++++++++++++++---------
 1 file changed, 18 insertions(+), 9 deletions(-)

commit c9e7e80c3b912b15c8c4f9bdedf627603ff23876
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 26 17:32:59 2012 +0100

    iface-modem-3gpp: update access tech and location even if registration
    didn't change

 src/mm-iface-modem-3gpp.c | 56
 +++++++++++++++++++++++------------------------
 1 file changed, 28 insertions(+), 28 deletions(-)

commit ad37101c0db0cda89b422c4d9d60cb7b61cb3512
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 25 12:50:07 2012 +0100

    api,dbus: don't allow for an SMS object to delete itself

    Managing existence of the SMS objects better done only via the
    Messaging
    interface.

 new/org.freedesktop.ModemManager1.Modem.Messaging.xml | 4 +---
 new/org.freedesktop.ModemManager1.Sms.xml             | 7 -------
 2 files changed, 1 insertion(+), 10 deletions(-)

commit c2e750d5bfa328fe0ba8c3dc1e1d8c818ad74849
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 25 11:45:14 2012 +0100

    sim: avoid passing source of the async object in finish

 src/mm-broadband-modem.c | 4 ++--
 src/mm-sim.c             | 9 ++++++---
 src/mm-sim.h             | 3 +--
 3 files changed, 9 insertions(+), 7 deletions(-)

commit 64de09f052af5f5ecb0bc295bdcdccff803657ee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 25 17:22:20 2012 +0100

    broadband-modem: if failed to initialize an optional interface,
    shut it down

 src/mm-broadband-modem.c | 2 ++
 1 file changed, 2 insertions(+)

commit ffa374c793ac360262e414cab16c40edd1859543
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 24 17:12:46 2012 +0100

    cli: fail if requesting location actions and modem doesn't handle
    locations

 cli/mmcli-modem-location.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit c075363c2c3563d548f12598a30d1a255e8285cb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 24 17:11:18 2012 +0100

    cli: fail if requesting CDMA actions and modem is not CDMA

 cli/mmcli-modem-cdma.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 0527667500463cf858612b6e88b7d2f3e8e58d2e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 24 17:05:45 2012 +0100

    cli: include 3GPP-USSD specific actions

 cli/mmcli-modem-3gpp.c | 226
 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 224 insertions(+), 2 deletions(-)

commit 31ce3e5ae140ffd5a96f8b010d4a281dafb0d17e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 24 16:19:05 2012 +0100

    cli: fail if requesting 3GPP actions and modem is not 3GPP

 cli/mmcli-modem-3gpp.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit a1b199d90338c2756673ff1b3c46cacbb2a6e20c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 24 15:35:42 2012 +0100

    libmm-glib: handle the 3GPP/USSD interface

 libmm-glib/Makefile.am          |   2 +
 libmm-glib/mm-modem-3gpp-ussd.c | 291
 ++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-modem-3gpp-ussd.h |  85 ++++++++++++
 libmm-glib/mm-object.c          |  34 +++++
 libmm-glib/mm-object.h          |   3 +
 5 files changed, 415 insertions(+)

commit e808e04910fbe30b2af5e81e329b7ff27a8bc95b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 24 14:53:26 2012 +0100

    broadband-modem: implement USSD cancellation

 src/mm-broadband-modem.c | 53
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

commit 8acf9e4fbc9532dcd896517acdc9aa4ca273cc86
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 24 14:47:30 2012 +0100

    broadband-modem: implement USSD command sending

 src/mm-broadband-modem.c | 106
 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 104 insertions(+), 2 deletions(-)

commit 2bf40184e058fed71fe4d5815964a433271895ca
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 24 13:10:37 2012 +0100

    iface-modem-3gpp-ussd: allow error reporting in encode/decode

 src/mm-broadband-modem.c       | 186
 +++++++++++++++++++++++++----------------
 src/mm-iface-modem-3gpp-ussd.c |  10 ++-
 src/mm-iface-modem-3gpp-ussd.h |  12 ++-
 3 files changed, 128 insertions(+), 80 deletions(-)

commit 7210e6caf1cc54b43aff9b7d4e62489ab8188799
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 17:59:17 2012 +0100

    iface-modem-3gpp-ussd: handle USSD session initiate/respond/cancel

 src/mm-iface-modem-3gpp-ussd.c | 205
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp-ussd.h |  17 ++++
 2 files changed, 222 insertions(+)

commit f3ee74c1e871f23564d7e6c5198ed26a8dd35833
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 15:23:47 2012 +0100

    broadband-modem: implement default handling of USSD URCs

 src/mm-broadband-modem.c | 133
 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 132 insertions(+), 1 deletion(-)

commit e975543316f6bf95a21b2db37ec48dd43ef0cec0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 17:55:56 2012 +0100

    broadband-modem: implement default USSD encode/decode

 src/mm-broadband-modem.c       | 43
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp-ussd.h |  4 ++++
 2 files changed, 47 insertions(+)

commit 3ea437d522879e4dd6ddcf632512f587f2adb227
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 17:54:46 2012 +0100

    iface-modem-3gpp-ussd: allow subclassing encode/decode

 src/mm-iface-modem-3gpp-ussd.c | 17 +++++++++++++++++
 src/mm-iface-modem-3gpp-ussd.h | 14 ++++++++++++++
 2 files changed, 31 insertions(+)

commit 5d330154a5b00a69feb64dc601e60094678f7c0d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 17:53:57 2012 +0100

    iface-modem-3gpp-ussd: allow setting properties from implementations

 src/mm-iface-modem-3gpp-ussd.c | 51
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp-ussd.h |  8 +++++++
 2 files changed, 59 insertions(+)

commit f0bbe7aa114db3d2a3044e6e1ec4ac9d63a6509c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 17:48:51 2012 +0100

    api,dbus: USSD session state is given as a
    `MMModem3gppUssdSessionState'

 new/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4718ba00557295b1955e13ab138b5a784c840dfc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 15:23:27 2012 +0100

    broadband-modem: implement generic URC setup/cleanup

 src/mm-broadband-modem.c | 79
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)

commit fdbb07ca427a8dbc9885fa2166a16d27b5d85e59
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 15:22:14 2012 +0100

    iface-modem-3gpp-ussd: implement logic to setup/cleanup URC message
    handlers

 src/mm-iface-modem-3gpp-ussd.c | 88
 ++++++++++++++++++++++++++++++++----------
 src/mm-iface-modem-3gpp-ussd.h | 16 ++++++++
 2 files changed, 84 insertions(+), 20 deletions(-)

commit 259ce3439bbc52dbb2e3e219bbe9accc844fa634
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 15:21:20 2012 +0100

    iface-modem-3gpp-ussd: set initial property defaults

 src/mm-iface-modem-3gpp-ussd.c | 3 +++
 1 file changed, 3 insertions(+)

commit 3e866b2330b224be47e7d19b2e4dbac483fdb946
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 15:20:39 2012 +0100

    api,header: new `MM_MODEM_3GPP_USSD_SESSION_STATE_UNKNOWN'

    To be set when USSD is not enabled.

 include/ModemManager-enums.h | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 81d130b2bb92eeb7736b04e325fe739cea87c6f0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 15:19:28 2012 +0100

    base-modem: initially set the unsolicited CUSD handler with NULL
    callback

 src/mm-base-modem.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit f37a1a2b62ab40e907364f000372eb8a7daa9d95
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 15:19:00 2012 +0100

    modem-helpers: new method to get common CUSD regex

 src/mm-modem-helpers.c | 11 +++++++++++
 src/mm-modem-helpers.h |  2 ++
 2 files changed, 13 insertions(+)

commit c9c2a9aa4d0641056a8d36afb60b92c4f93748d9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 12:05:59 2012 +0100

    broadband-modem: default URC enabling/disabling implementation

 src/mm-broadband-modem.c | 77
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

commit b28af06d1cf09ec513c3564e4f7ead4f7f2721bf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 12:01:33 2012 +0100

    iface-modem-3gpp-ussd: implement logic to enable/disable URCs

 src/mm-iface-modem-3gpp-ussd.c | 68
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp-ussd.h | 16 ++++++++++
 2 files changed, 84 insertions(+)

commit 1f01274a5fe9478d9cfbbe15d2971cbe033ce84b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 11:44:24 2012 +0100

    broadband-modem: implement generic USSD support check

 src/mm-broadband-modem.c | 55
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

commit e491dc2b9c18f48261b42bbe6cc01eb1ae309e60
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 11:44:06 2012 +0100

    iface-modem-3gpp-ussd: check if USSD supported

 src/mm-iface-modem-3gpp-ussd.c | 85
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp-ussd.h |  8 ++++
 2 files changed, 93 insertions(+)

commit a54226a0dda5666b9df5324fbfbc5208795308d8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 10:49:50 2012 +0100

    broadband-modem: implement the 3GPP/USSD interface

 src/mm-broadband-modem.c | 79
 ++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 67 insertions(+), 12 deletions(-)

commit b65f96aec73e0b4cba3e9e1fa76438b7e68f300a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 10:49:24 2012 +0100

    iface-modem-3gpp-ussd: new interface for USSD related actions

 src/Makefile.am                |   2 +
 src/mm-iface-modem-3gpp-ussd.c | 387
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp-ussd.h |  73 ++++++++
 3 files changed, 462 insertions(+)

commit 18531e5a2d4ee4a96bc789adcd94bf0209fffd81
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 22 18:39:14 2012 +0100

    cinterion: implement supported bands loading logic

 plugins/mm-broadband-modem-cinterion.c | 54
 ++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

commit 45ca92ee2e6cc4537e1d8be4594cff652d35958b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 22 18:00:36 2012 +0100

    cinterion: implement allowed modes setting logic

 plugins/mm-broadband-modem-cinterion.c | 121
 +++++++++++++++++++++++++++++++++
 1 file changed, 121 insertions(+)

commit a6301ee0c461f5f9af800877d56fb3af6fc15d7b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 22 15:54:05 2012 +0100

    cinterion: implement access technology loading logic

 plugins/mm-broadband-modem-cinterion.c | 250
 +++++++++++++++++++++++++++++++++
 1 file changed, 250 insertions(+)

commit 8321bd5875a5aedb845d8b196ae6db75c3f769d2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 22 12:55:23 2012 +0100

    iface-modem: periodically request to update current access
    technologies

 src/mm-iface-modem.c | 136
 ++++++++++++++++++++++++++++++++++++++++++++++++---
 src/mm-iface-modem.h |  10 ++++
 2 files changed, 140 insertions(+), 6 deletions(-)

commit 59e903820d21dc041443ebb05348ee305d269429
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 22 12:55:00 2012 +0100

    api,header: new MM_ACCESS_TECHNOLOGY_ANY

    Helps as a mask covering all the available access technologies.

 include/ModemManager-enums.h | 2 ++
 1 file changed, 2 insertions(+)

commit 65455558bef9dd885805f650a2afea149aedf546
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 22 10:44:34 2012 +0100

    iface-modem: s/access_tech/access_technologies

 src/mm-iface-modem-3gpp.c | 12 ++++++------
 src/mm-iface-modem-cdma.c | 24 ++++++++++++------------
 src/mm-iface-modem.c      |  6 +++---
 src/mm-iface-modem.h      |  6 +++---
 4 files changed, 24 insertions(+), 24 deletions(-)

commit 6d5c98b30c6cc19ae7bac33171e33244358fd746
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 22 00:14:39 2012 +0100

    cinterion: implement custom unsolicited events enabling command

 plugins/mm-broadband-modem-cinterion.c | 46
 ++++++++++++++++++++++++++++++++--
 1 file changed, 44 insertions(+), 2 deletions(-)

commit 5667339ead6df6d4877e7c15233227da1e090a32
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 22 00:14:09 2012 +0100

    broadband-modem: implement the default setup/enable unsolicited
    events logic

 src/mm-broadband-modem.c | 106
 +++++++++++++++++++++++++++++++++--------------
 1 file changed, 76 insertions(+), 30 deletions(-)

commit 3acdf7b9b8fe499750a3791c282cf00b5899c6d3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 22 00:13:43 2012 +0100

    iface-modem-3gpp: split unsolicited events setup and enabling

    Configuring unsolicited events involves:

     * Setup unsolicited events. This handles the setup of the unsolicited
     message
       handlers in the AT ports, including the setup of the callback to
       get called
       when the unsolicited messages are received.

     * Enable unsolicited events. This tells the modem to actually
     send the
       unsolicited messages.

     * Disable unsolicited events. This tells the modem to stop sending
     unsolicited
       messages.

     * Cleanup unsolicited events. This removes the unsolicited message
     handlers
       in the AT ports.

 src/mm-iface-modem-3gpp.c | 94
 +++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-iface-modem-3gpp.h | 16 ++++++++
 2 files changed, 107 insertions(+), 3 deletions(-)

commit 050c30db1c5ac9ed5003b73fd4cbf0fe56f3008f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 21 18:24:26 2012 +0100

    iface-modem-simple: don't create a bearer if we can reuse an
    existing one

 src/mm-iface-modem-simple.c | 38 ++++++++++++++++++++++++--------------
 1 file changed, 24 insertions(+), 14 deletions(-)

commit 77999f3bcec7753bdcc5a51da4c271c78157f051
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 21 18:24:06 2012 +0100

    bearer-list: new method to look for a bearer using its properties

 src/mm-bearer-list.c | 14 ++++++++++++++
 src/mm-bearer-list.h |  3 +++
 2 files changed, 17 insertions(+)

commit 718093dc59f2cce7556d28efa4a26866b39e4c2e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 21 18:08:41 2012 +0100

    broadband-bearer: implement comparison with bearer properties

 src/mm-broadband-bearer.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

commit 1603fd1109d6056320472e072c5ec3698a95c81c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 21 18:08:03 2012 +0100

    bearer: allow comparing current bearer with a set of properties

 src/mm-bearer.c | 9 +++++++++
 src/mm-bearer.h | 7 +++++++
 2 files changed, 16 insertions(+)

commit cf4633649443e8292529f34f055562dbf7df089e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 21 16:34:20 2012 +0100

    cli: allow specifying bearers and SIMs by index

    So, these two are equivalent:
       $> mmcli -b 0
       $> mmcli -b /org/freedesktop/ModemManager1/Bearer/0

    and also this two:
       $> mmcli -s 0
       $> mmcli -s /org/freedesktop/ModemManager1/SIM/0

 cli/mmcli-common.c | 138
 ++++++++++++++++++++++++++++++++++++++---------------
 cli/mmcli-common.h |  12 ++---
 2 files changed, 106 insertions(+), 44 deletions(-)

commit 885042e3651a8a3ead8928c233522bd41297bd63
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 21 16:11:16 2012 +0100

    api,header: define common object prefixes in the daemon header

 build-aux/header-generator.xsl | 9 +++++++--
 src/mm-bearer.h                | 3 ---
 src/mm-manager.c               | 2 +-
 src/mm-sim.h                   | 3 ---
 4 files changed, 8 insertions(+), 9 deletions(-)

commit 93a776b17c3265c952fd071bbd8bbd2c70d83e73
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 21 15:58:51 2012 +0100

    sim: allow subclassing pin change/enabling

 src/mm-sim.c | 188
 ++++++++++++++++++++++++++++++++++++++++++++++-------------
 src/mm-sim.h |  20 +++++++
 2 files changed, 168 insertions(+), 40 deletions(-)

commit c65c5aedc334d5eaa0a186c183f79b2c5645379f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 21 15:43:31 2012 +0100

    sim: allow subclassing pin/puk sending operations

 src/mm-iface-modem-simple.c |   1 -
 src/mm-sim.c                | 164
 +++++++++++++++++++++++++++++++++++++-------
 src/mm-sim.h                |  29 +++++++-
 3 files changed, 166 insertions(+), 28 deletions(-)

commit 72afc058bffff9753cd1cc612b01adaf4143ed5b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 21 12:41:15 2012 +0100

    sim: allow subclassing the SIM object

    Plugins can subclass the MMSim object and provide custom
    implementations of the
    actions performed by the object.

 src/mm-sim.c | 23 +++++++++++++++++------
 src/mm-sim.h | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 49 insertions(+), 6 deletions(-)

commit 24c28c2692c776ded60c54766a8bdbf3c298bde1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 21 12:25:36 2012 +0100

    sim: export only valid objects

 src/mm-sim.c | 48 ++++++++++++++++++++++++++++++++----------------
 src/mm-sim.h |  5 +++++
 2 files changed, 37 insertions(+), 16 deletions(-)

commit 418e0ac5596bc305c3806f4f85a0d94a2077de74
Author: Nathan Williams <njw@google.com>
Date:   Sat Jan 21 11:16:22 2012 +0100

    libmm-common: CDMA sid/nid are uint, not enum

 libmm-common/mm-common-simple-properties.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 4aeadbb7765e3b55c0bcfbeb13f5fd3b3e721e40
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 20 12:30:12 2012 +0100

    iface-modem: proper fallback state when bearer connection fails

 src/mm-iface-modem.c | 60
 ++++++++++++++++++++++++++++++++++------------------
 1 file changed, 40 insertions(+), 20 deletions(-)

commit a2203d7d14379a47ff96afc9a7820ee11cc542fd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 20 11:51:26 2012 +0100

    broadband-bearer: expose properties used by the bearer implementation

 src/mm-broadband-bearer.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit 9feb177e212f07351b7d485da375dc736f3d9bd6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 20 11:51:02 2012 +0100

    bearer: expose IP config dictionaries with unknown method

 src/mm-bearer.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 507b48dcd99e70b08a0cc80eb196942ab57ad957
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 20 11:47:20 2012 +0100

    cli: IP config getters return newly created objects

 cli/mmcli-bearer.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 2a5e9b46b6b27b8c0a7b26f0087f97259cbab71f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 20 11:46:52 2012 +0100

    libmm-glib: use the common IP config object from libmm-common

 libmm-glib/Makefile.am           |   3 +
 libmm-glib/mm-bearer-ip-config.c |  56 ++++++++++
 libmm-glib/mm-bearer-ip-config.h |  39 +++++++
 libmm-glib/mm-bearer.c           | 222
 +++------------------------------------
 libmm-glib/mm-bearer.h           |  28 +----
 5 files changed, 115 insertions(+), 233 deletions(-)

commit f797beefacc321b680b4813b7efc734d099b5f33
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 20 11:46:28 2012 +0100

    libmm-common: build dictionary even if IP config object not given

 libmm-common/mm-common-bearer-ip-config.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

commit af1f8ed6b35de3ac08263e8ee1de8783f54ffa20
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 20 10:54:45 2012 +0100

    broadband-modem: disconnect all bearers when disabling

 src/mm-broadband-modem.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

commit a33b05cc10e3317b2fddea709da4938c239c506e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:40:14 2012 +0100

    broadband-bearer: reimplement CDMA and 3GPP disconnection logic

 src/mm-broadband-bearer.c | 384
 +++++++++++++++++++++++++++++++++++-----------
 src/mm-broadband-bearer.h |  24 +++
 2 files changed, 320 insertions(+), 88 deletions(-)

commit 9ab4ad28ff8bdd62ba16012fc0af4f950720da02
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 20 10:53:44 2012 +0100

    bearer-list: new async method to disconnect all bearers

 src/mm-bearer-list.c | 87
 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-bearer-list.h |  7 +++++
 2 files changed, 93 insertions(+), 1 deletion(-)

commit 43ac87170cffe9da225dc3a0e6dd2c0e6a487ca3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 17:51:08 2012 +0100

    bearer: don't handle reasons to forbid connection in the generic
    Bearer object

 src/mm-bearer.c | 67
 ++++++++-------------------------------------------------
 src/mm-bearer.h | 21 ++++++------------
 2 files changed, 15 insertions(+), 73 deletions(-)

commit 6ae1785b644d26ec8e1344e6f55e13f9b8522961
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:41:19 2012 +0100

    broadband-bearer: don't connect if roaming forbidden or unregistered

 src/mm-broadband-bearer.c | 236
 +++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 214 insertions(+), 22 deletions(-)

commit 015756e57299b9fbd1fe62f48962951ede5fb517
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:39:40 2012 +0100

    broadband-bearer: reimplement CDMA and 3GPP connection logic

 src/mm-broadband-bearer.c | 666
 ++++++++++++++++++++++++++--------------------
 src/mm-broadband-bearer.h |  32 +++
 2 files changed, 413 insertions(+), 285 deletions(-)

commit 1d450d7c4eba60d5d85c3feba0a3f9abcd527696
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:36:34 2012 +0100

    broadband-modem: by default, just create a single broadband bearer

 src/mm-broadband-modem.c | 86
 +++++++-----------------------------------------
 1 file changed, 12 insertions(+), 74 deletions(-)

commit c6b9aead8140a20aa89ffca9b4fc585c533b8b39
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:34:51 2012 +0100

    bearer: subclasses need to report IPv4/v6 config when connection ready

 src/mm-bearer.c | 45 ++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-bearer.h |  3 +++
 2 files changed, 47 insertions(+), 1 deletion(-)

commit aa36af424dfb0962605c209529c0bc217e04b83f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:34:11 2012 +0100

    bearer: number in Connect() no longer needed

 src/mm-bearer.c | 6 +-----
 src/mm-bearer.h | 2 --
 2 files changed, 1 insertion(+), 7 deletions(-)

commit a400db4b5c79052a46fe07474b56fda58488c21e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:32:55 2012 +0100

    bearer: remove allow-roaming, only meaningful in the broadband bearer

 src/mm-bearer.c | 24 ------------------------
 src/mm-bearer.h |  3 ---
 2 files changed, 27 deletions(-)

commit 22846fc46f17a29638e086600f00b96f15701ba5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:30:45 2012 +0100

    cli: remove `--connect-with-number' option, no longer needed

 cli/mmcli-bearer.c | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

commit 98d7edadb5b50663c4c26285e58459476896ad98
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:30:28 2012 +0100

    libmm-glib: number no longer needed in Connect()

 libmm-glib/mm-bearer.c | 10 ----------
 libmm-glib/mm-bearer.h |  2 --
 2 files changed, 12 deletions(-)

commit 009582b6fd763b1516077b4db882152b061263b4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:30:07 2012 +0100

    api,dbus: remove optional 'number' in bearer Connect() call

    We can already give the number as a parameter in the dictionary
    when creating
    the Bearer object.

 new/org.freedesktop.ModemManager1.Bearer.xml | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

commit ff7406005d0ea802fc1ffe3f352ce1108a716b97
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:29:06 2012 +0100

    libmm-common: new helper object to handle Bearer IP config

 libmm-common/Makefile.am                  |   4 +
 libmm-common/libmm-common.h               |   1 +
 libmm-common/mm-common-bearer-ip-config.c | 296
 ++++++++++++++++++++++++++++++
 libmm-common/mm-common-bearer-ip-config.h |  73 ++++++++
 4 files changed, 374 insertions(+)

commit fa17f900825b44a56ebc1f34b6e07b5162fd1066
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:27:40 2012 +0100

    bearer-3gpp, bearer-cdma: removed, they were mixed in broadband-bearer

 src/Makefile.am      |   4 -
 src/mm-bearer-3gpp.c | 946
 ---------------------------------------------------
 src/mm-bearer-3gpp.h |  71 ----
 src/mm-bearer-cdma.c | 833 ---------------------------------------------
 src/mm-bearer-cdma.h |  69 ----
 5 files changed, 1923 deletions(-)

commit 2b1aabe4fd8c177b87522af9b2139f13ec1c2672
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:26:37 2012 +0100

    iface-modem-3gpp: 3GPP bearer creation removed

 src/mm-iface-modem-3gpp.c | 258
 ----------------------------------------------
 src/mm-iface-modem-3gpp.h |  18 ----
 2 files changed, 276 deletions(-)

commit 63f209d6da0cc2349c6911876a11814e98e3acd2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:26:24 2012 +0100

    iface-modem-cdma: CDMA bearer creation removed

 src/mm-iface-modem-cdma.c | 59
 -----------------------------------------------
 src/mm-iface-modem-cdma.h | 18 ---------------
 2 files changed, 77 deletions(-)

commit 24dd208b59310deb6fce4b35495c6dc854c74920
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 15:25:58 2012 +0100

    iface-modem-simple: remove dual 3GPP/CDMA bearers logic

    Just rely on a single Bearer object created.

 src/mm-iface-modem-simple.c | 400
 +++++---------------------------------------
 1 file changed, 41 insertions(+), 359 deletions(-)

commit a3b5c9faef4ef27cc0f7e67d0c639bf929b884b2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 18 23:39:42 2012 +0100

    broadband-bearer: new generic 3GPP+CDMA bearer

 src/Makefile.am           |    2 +
 src/mm-broadband-bearer.c | 1480
 +++++++++++++++++++++++++++++++++++++++++++++
 src/mm-broadband-bearer.h |   69 +++
 3 files changed, 1551 insertions(+)

commit 6c2dc9eef18952f9c612d8307865e00db9c4a36a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 18 23:39:19 2012 +0100

    bearer: set unique path when the bearer gets exported

 src/mm-bearer.c | 27 +++++++++++++++++++++------
 src/mm-bearer.h |  1 +
 2 files changed, 22 insertions(+), 6 deletions(-)

commit 2ca4d36e5e47bf47e076c8a3cd55ebe12950c31a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 01:16:15 2012 +0100

    libmm-common: 3gpp location doesn't use any of our enum/flags

 libmm-common/mm-common-location-3gpp.c | 1 -
 1 file changed, 1 deletion(-)

commit d5b74be89924d7562b198d5f2fec23520048eae6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 00:59:41 2012 +0100

    build: fix errors template

    Equivalent to the fix in d15b1f201 applied to the enums template.

    Spotted by Nathan Williams.

 build-aux/mm-errors-template.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 332d1a089113ddf89ec3a0fbb556d54ac23cd7c8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 19 00:58:30 2012 +0100

    build: add missing build dependency in libmm-common

    Spotted by Nathan Williams.

 libmm-common/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit 8d25f46292c5155f498feff7ee78ccbec0d6ec9f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 18 18:01:44 2012 +0100

    build: we no longer need to have the DBus.Properties introspection XML

    Not needed in gdbus-based code.

 new/org.freedesktop.DBus.Properties.xml | 45
 ---------------------------------
 1 file changed, 45 deletions(-)

commit c753649361d0339f8b491aca2ef53cdc11727075
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 18 13:45:40 2012 +0100

    cli: use new enums/flags string getters/builders

 cli/mmcli-bearer.c       |  6 ++--
 cli/mmcli-common.c       | 91
 ------------------------------------------------
 cli/mmcli-common.h       | 10 +-----
 cli/mmcli-modem-3gpp.c   |  4 +--
 cli/mmcli-modem-simple.c | 12 +++----
 cli/mmcli-modem.c        | 30 ++++++++--------
 6 files changed, 27 insertions(+), 126 deletions(-)

commit a3532e7730b9f776c5590f2680f444306e411bdd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 18 13:45:32 2012 +0100

    libmm-common: flags string builders are now all autogenerated

 libmm-common/mm-common-helpers.c | 141
 ++-------------------------------------
 libmm-common/mm-common-helpers.h |   7 +-
 2 files changed, 8 insertions(+), 140 deletions(-)

commit 69e860329b92796fc9d7e648f67ae09a77d41840
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 18 13:44:51 2012 +0100

    libmm-glib: no need to expose custom flags string builders

 libmm-glib/mm-modem.c | 58
 ---------------------------------------------------
 libmm-glib/mm-modem.h |  6 ------
 2 files changed, 64 deletions(-)

commit 7e36f04b37c14a518370dd5be2e99b7c629b5214
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 18 13:43:49 2012 +0100

    core: use new enums/flags string getters/builders

 src/mm-bearer-cdma.c        |  9 ++------
 src/mm-bearer.c             | 20 ++++-------------
 src/mm-broadband-modem.c    |  2 +-
 src/mm-iface-modem-3gpp.c   | 16 +++-----------
 src/mm-iface-modem-simple.c |  8 +------
 src/mm-iface-modem.c        | 54
 +++++++++++++--------------------------------
 src/mm-modem-helpers.c      | 30 +++++--------------------
 src/mm-sim.c                | 18 ++++-----------
 8 files changed, 36 insertions(+), 121 deletions(-)

commit 04fc34fab89483e9cfdaf7b273a867b72e622fbc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 18 13:43:23 2012 +0100

    build: autogenerate enum/flags string getter/builders

    Each enum will have its own #_get_string (),
    and each flags will have its own #_build_string_from_mask ().

 build-aux/mm-enums-template.c | 96
 ++++++++++++++++++++++++++++++++++++-------
 build-aux/mm-enums-template.h | 14 +++++++
 libmm-common/Makefile.am      |  4 +-
 src/Makefile.am               |  4 +-
 4 files changed, 99 insertions(+), 19 deletions(-)

commit f8cb1269e31526813450cae4fd7382842fee242d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 18 11:22:27 2012 +0100

    cli: include Location-related actions

 cli/Makefile.am            |   1 +
 cli/mmcli-modem-location.c | 327
 +++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli.c                |  11 ++
 cli/mmcli.h                |   8 ++
 4 files changed, 347 insertions(+)

commit b05430cb289e058ec118be13e4b0a813c46b1fb2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 18 10:41:26 2012 +0100

    libmm-glib: include support for the Location interface

    We hide the location signaling; not sure if we should even support it.

 libmm-glib/Makefile.am              |   4 +
 libmm-glib/mm-modem-location-3gpp.c |  48 ++++++++
 libmm-glib/mm-modem-location-3gpp.h |  45 +++++++
 libmm-glib/mm-modem-location.c      | 238
 ++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-modem-location.h      |  78 ++++++++++++
 libmm-glib/mm-object.c              |  34 ++++++
 libmm-glib/mm-object.h              |   3 +
 7 files changed, 450 insertions(+)

commit 3b443b6954046cb7cc1c7576a3720af0b987d573
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 18 09:44:43 2012 +0100

    libmm-common: fix usage of main library header

 libmm-common/libmm-common.h   | 1 +
 src/mm-iface-modem-location.c | 1 -
 src/mm-iface-modem-simple.c   | 1 -
 3 files changed, 1 insertion(+), 2 deletions(-)

commit bcdd376b6bd9443e2a7001230a8189bb243d658a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 17 23:43:55 2012 +0100

    iface-modem-3gpp, broadband-modem: update LAC/CI 3gpp-based location

 src/mm-broadband-modem.c  |  51 +++++++++------
 src/mm-iface-modem-3gpp.c | 161
 ++++++++++++++++++++++++++++++++++++----------
 src/mm-iface-modem-3gpp.h |   8 ++-
 3 files changed, 164 insertions(+), 56 deletions(-)

commit 71125777d38126f41c18a2b04a0dbfdb6b2628d6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 17 23:43:20 2012 +0100

    iface-modem-location: handle 3GPP location

 src/mm-iface-modem-location.c | 208
 ++++++++++++++++++++++++++++++++++++------
 src/mm-iface-modem-location.h |   9 ++
 2 files changed, 190 insertions(+), 27 deletions(-)

commit 5fa8918847fffa7f373c2f863ed765091db659d3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 17 23:42:50 2012 +0100

    libmm-common: new helper object to handle 3GPP location

 libmm-common/Makefile.am               |   3 +
 libmm-common/mm-common-location-3gpp.c | 263
 +++++++++++++++++++++++++++++++++
 libmm-common/mm-common-location-3gpp.h |  68 +++++++++
 3 files changed, 334 insertions(+)

commit f94d8ce30a49af868d7b58b9dd3ba7d71d8bb73c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 17 23:42:30 2012 +0100

    api: include '3gpp' prefix for LAC/CI location, instead of 'gsm'

 include/ModemManager-enums.h                         | 4 ++--
 new/org.freedesktop.ModemManager1.Modem.Location.xml | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

commit 182a9542055bbc4b560672e70d7383bffb395378
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 16 20:04:27 2012 +0100

    broadband-modem: enable/disable the Location interface

 src/mm-broadband-modem.c | 57
 +++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 44 insertions(+), 13 deletions(-)

commit 74f29981c8db7f27b061d9740b1472efcec952d5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 16 20:02:47 2012 +0100

    broadband-modem: load default location reporting capabilities

    Currently, only LAC/CI if the modem has 3GPP capabilities.

 src/mm-broadband-modem.c | 45
 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

commit 03c5f4e6fbb5d5f2750f23deb5832b5eaa5c5197
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 16 19:39:00 2012 +0100

    iface-modem-location: handle enabling/disabling location gathering

 src/mm-iface-modem-location.c | 429
 +++++++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem-location.h |  32 ++++
 2 files changed, 458 insertions(+), 3 deletions(-)

commit d7f98cf27781babb5fb9b051c1b3be228232177e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 16 17:13:24 2012 +0100

    broadband-modem: implement the Location interface

 src/mm-broadband-modem.c | 69
 ++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 55 insertions(+), 14 deletions(-)

commit 1b45b6a015b7d1270959cc4dabbf01159fd5e2f4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 16 17:13:13 2012 +0100

    api,dbus: we won't enable the modem if we're enabling location

 new/org.freedesktop.ModemManager1.Modem.Location.xml | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

commit d0a845c81933493281043cfe94c622791638b825
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 16 17:11:44 2012 +0100

    iface-modem-location: new interface for Location-related stuff

 src/Makefile.am               |   2 +
 src/mm-iface-modem-location.c | 295
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-location.h |  63 +++++++++
 3 files changed, 360 insertions(+)

commit 38578f13b5b07f9a57b9407a2e2b8b34a8671f8e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 16 15:58:16 2012 +0100

    docs: include initial state machine documentation

 docs/reference/api/Makefile.am             |    3 +
 docs/reference/api/ModemManager-states.dia | 1210
 ++++++++++++++++++++++++++++
 docs/reference/api/ModemManager-states.png |  Bin 0 -> 28305 bytes
 docs/reference/api/mm-overview.xml         |   79 +-
 4 files changed, 1272 insertions(+), 20 deletions(-)

commit b52e223f3026a60223a819899776f9b77c26380a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 16 15:25:20 2012 +0100

    docs: improved DBus interface documentation

 docs/reference/api/Makefile.am           |   2 +
 docs/reference/api/mm-dbus-reference.xml | 179
 +++++++++++++++++++++++++++++++
 docs/reference/api/mm-docs.xml           | 124 ++++++---------------
 3 files changed, 213 insertions(+), 92 deletions(-)

commit bb88a63a72af3dd5b87a381a363aff4cc782eca1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 16 10:03:33 2012 +0100

    cli: add CDMA-related option group, and enable activation request

 cli/Makefile.am        |   1 +
 cli/mmcli-modem-cdma.c | 207
 +++++++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli.c            |  11 +++
 cli/mmcli.h            |   8 ++
 4 files changed, 227 insertions(+)

commit 231e54f037964bb08686e006c32eecbbe70c878e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 16 10:03:03 2012 +0100

    libmm-glib: implement CDMA activation request

 libmm-glib/mm-modem-cdma.c | 42
 ++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-modem-cdma.h | 13 +++++++++++++
 2 files changed, 55 insertions(+)

commit 4bf03a24a1400204bcbdbf3dccb0d07fea8673eb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 16 09:52:34 2012 +0100

    api,header: treat CDMA activation errors as any other error

 docs/reference/api/mm-sections.txt                 |  2 +-
 include/ModemManager-enums.h                       | 28
 ----------------------
 include/ModemManager-errors.h                      | 28
 ++++++++++++++++++++++
 ...g.freedesktop.ModemManager1.Modem.ModemCdma.xml |  2 +-
 4 files changed, 30 insertions(+), 30 deletions(-)

commit 6238ba8568323db3c7a52f19f691cf6105b9c585
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 16 09:51:57 2012 +0100

    api,dbus: don't return immediate CDMA activation errors

    Seems like an unnecessary complication, as the client anyway needs
    to handle
    asynchronously reported errors.

 new/org.freedesktop.ModemManager1.Modem.ModemCdma.xml | 7 +------
 src/mm-iface-modem-cdma.c                             | 4 +---
 2 files changed, 2 insertions(+), 9 deletions(-)

commit 15f2c56f8978dafcc0db7744f1a95fae52e8c91e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 14 22:53:11 2012 +0100

    cinterion: avoid after-power-up step

    Split the after power up step into:
     * querying supported functionality status during the first power-down
     request.
     * querying supported networks during supported modes loading.

 plugins/mm-broadband-modem-cinterion.c | 209
 ++++++++++++++++++++-------------
 1 file changed, 125 insertions(+), 84 deletions(-)

commit d76f545322dea8c8391a3940e623e0771014f8d4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 13 17:32:33 2012 +0100

    plugin-base: use MM_TYPE_POINTER_ARRAY for custom init callbacks

 src/mm-plugin-base.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

commit 0358c787c0dcc49e0350389a4480cb35a4adbfe0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 13 17:32:11 2012 +0100

    core: new boxed type for NULL-terminated array of gpointers

 src/mm-private-boxed-types.c | 36 ++++++++++++++++++++++++++++++++++++
 src/mm-private-boxed-types.h |  3 +++
 2 files changed, 39 insertions(+)

commit af41076e7dbc05f2b92e567cb583e0bc7de4c987
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 13 17:18:40 2012 +0100

    plugin-base: use MM_TYPE_UINT16_ARRAY for vendor/product ID properties

 src/mm-plugin-base.c | 35 +++++++++++++++++++----------------
 1 file changed, 19 insertions(+), 16 deletions(-)

commit 2052b8184f0581e562d7caccc319e78bb6d27b65
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 13 17:17:53 2012 +0100

    core: new boxed type for 0-terminated array of guint16 values

 src/Makefile.am              |  2 ++
 src/mm-private-boxed-types.c | 52
 ++++++++++++++++++++++++++++++++++++++++++++
 src/mm-private-boxed-types.h | 28 ++++++++++++++++++++++++
 3 files changed, 82 insertions(+)

commit 536865040e79076a5dbbbceb23501b4f15df249e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 13 17:01:24 2012 +0100

    plugin-base: use GStrv boxed types for string array properties

 src/mm-plugin-base.c | 85
 +++++++++++++++++++++++++++-------------------------
 1 file changed, 45 insertions(+), 40 deletions(-)

commit 771e3c4ff70717b51158d64c011505e32c92ac14
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 13 16:01:48 2012 +0100

    nokia: plugin fully ported to the new codebase

 plugins/mm-modem-nokia.c | 131
 -----------------------------------------------
 plugins/mm-modem-nokia.h |  45 ----------------
 2 files changed, 176 deletions(-)

commit 983f081f309d28b391422aa53bb36da8b1b61fc0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 13 15:59:39 2012 +0100

    nokia: include port type hints

    Ported commit 44194ac to the new codebase.

 plugins/mm-plugin-nokia.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

commit 0d5c23742891aa6f9ae715875882ce16d42bcb41
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 13 12:39:37 2012 +0100

    bearer-cdma: use #777 as default number to dial when none given
    explicitly

 src/mm-bearer-cdma.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

commit e5c5411d0514f121e9c98c2b49b6d9a11a60cc1a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 13 11:41:47 2012 +0100

    broadband-modem: redefine generic supported mode loading
    implementation

     * assume CDMA1x is 2G
     * consider CS/PS/CDMA1x/EVDO network support flags specified by
     the plugins

 src/mm-broadband-modem.c | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

commit 8adc9cd699503885d9878403834d2a7f674cc661
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jan 13 11:26:28 2012 +0100

    broadband-modem: we can expect non-LTE 3GPP+CDMA modems

 src/mm-broadband-modem.c    | 19 +++++--------------
 src/mm-iface-modem-simple.c |  4 ++--
 2 files changed, 7 insertions(+), 16 deletions(-)

commit c0e0649a821d7370087931af9546c506248f4530
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 12 17:52:44 2012 +0100

    core,plugins: handle missing `last_command' flags

    These didn't get compilation errors when
    `MMBaseModemAtResponseProcessor'
    was changed, as we're doing an explicit casting.

 plugins/mm-broadband-modem-cinterion.c | 2 ++
 src/mm-bearer-3gpp.c                   | 2 ++
 src/mm-broadband-modem.c               | 1 +
 3 files changed, 5 insertions(+)

commit 31131a1f669a9eadded03b739ec499fba4097a2f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 12 17:41:15 2012 +0100

    cli: print properties only if registered in the specific network(s)

    If registered in the 3GPP network, print 3GPP-specific properties;
    and if
    registered in a CDMA network, print CDMA-specific properties.

 cli/mmcli-modem-simple.c | 92
 ++++++++++++++++++++++++++++--------------------
 1 file changed, 53 insertions(+), 39 deletions(-)

commit 5f5ad3843122f74dfd6609d84eab9621d2228446
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 12 17:22:35 2012 +0100

    cli: include CDMA-specific properties in the simple status report

 cli/mmcli-modem-simple.c | 38 +++++++++++++++++++++++++++++++++-----
 1 file changed, 33 insertions(+), 5 deletions(-)

commit 801a129fe96dcda13dfc0f786e4505f1871f99ae
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 12 17:16:15 2012 +0100

    iface-modem-cdma: bind CDMA-specific properties for the simple status

 src/mm-iface-modem-cdma.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

commit 6c36ae9101489f8b43b78a6616c808956c3acc69
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 12 17:15:57 2012 +0100

    libmm-glib: include CDMA-specific items in the simple status
    properties

 libmm-glib/mm-modem-simple-status-properties.c | 37
 ++++++++++++++++++++++++++
 libmm-glib/mm-modem-simple-status-properties.h |  5 ++++
 2 files changed, 42 insertions(+)

commit 263f106b33825700c7cf1ee1ff4994e9b016e68f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 12 17:10:18 2012 +0100

    libmm-common: include CDMA-specific items in the simple properties

 libmm-common/mm-common-simple-properties.c | 137
 ++++++++++++++++++++++++++++-
 libmm-common/mm-common-simple-properties.h |  11 +++
 2 files changed, 147 insertions(+), 1 deletion(-)

commit 9324c9cbb7e6d1a8a3087e1f32a39f80a9cd0ddb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 12 17:09:47 2012 +0100

    api,dbus: include CDMA-specific properties in the simple status query

 new/org.freedesktop.ModemManager1.Modem.Simple.xml | 28
 ++++++++++++++++++++++
 1 file changed, 28 insertions(+)

commit 71fbd2248c20d583300259648703df2f81139dac
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 12 16:42:29 2012 +0100

    api,dbus: prefix with 'm3gpp' the 3GPP-specific entries returned in
    the simple status

    Note that we cannot have properties starting with a digit :-/

 libmm-common/mm-common-simple-properties.h         |  7 +++--
 new/org.freedesktop.ModemManager1.Modem.Simple.xml | 36
 +++++++++++-----------
 2 files changed, 22 insertions(+), 21 deletions(-)

commit 8c704ea7a25c2efc1927d63b42853a4d13b55965
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 12 16:34:04 2012 +0100

    libmm-glib: prefix with '3gpp' the 3GPP-specific simple status
    properties

 cli/mmcli-modem-simple.c                       | 6 +++---
 libmm-glib/mm-modem-simple-status-properties.c | 6 +++---
 libmm-glib/mm-modem-simple-status-properties.h | 7 ++++---
 3 files changed, 10 insertions(+), 9 deletions(-)

commit d2af326e1a4a6223930ae6af8c336c478a0437f5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 12 16:33:34 2012 +0100

    libmm-common: prefix with '3gpp' the 3GPP-specific simple properties

 libmm-common/mm-common-simple-properties.c     | 50
 +++++++++++++-------------
 libmm-common/mm-common-simple-properties.h     |  6 ++--
 libmm-glib/mm-modem-simple-status-properties.c |  6 ++--
 3 files changed, 31 insertions(+), 31 deletions(-)

commit f07101943cdd3d74fe3f2600953d6085bc670e24
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 12 14:07:58 2012 +0100

    iface-modem-simple: new connection logic when more than one bearer
    around

    For mixed 3GPP+CDMA modems, we first try to connect the 3GPP bearers,
    and then
    the CDMA ones.

 src/mm-iface-modem-simple.c | 400
 ++++++++++++++++++++++++++++++++++++++++----
 src/mm-iface-modem.c        |  47 ++----
 src/mm-iface-modem.h        |   1 -
 3 files changed, 385 insertions(+), 63 deletions(-)

commit d19cf55f8f35bd82408ecfce012cdebe0ed2183f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 12 14:06:07 2012 +0100

    libmm-common: allow duplicating the bearer properties object

 libmm-common/mm-common-bearer-properties.c | 17 +++++++++++++++++
 libmm-common/mm-common-bearer-properties.h |  2 ++
 2 files changed, 19 insertions(+)

commit 8782df1b152b0ade1970282fb799ac6608fa3483
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 12 10:57:05 2012 +0100

    broadband-modem: on mixed CDMA+LTE modems, guess which kind of bearer
    to create

 src/mm-broadband-modem.c | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

commit 744fe5712df5de050f2942c1cb692a53d2eead70
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 11 16:25:51 2012 +0100

    iface-modem-simple: build 3GPP+CDMA registration check logic

    For mixed 3GPP+CDMA modems, we check registrations in both 3GPP
    and CDMA
    networks, and we stop checks when we find ourselves registered in
    either one
    or the other.

 src/mm-iface-modem-simple.c | 165
 +++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 155 insertions(+), 10 deletions(-)

commit a0255273f0195c234062f326dfdc46c45d3116eb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 11 16:24:29 2012 +0100

    iface-modem-cdma: let caller decide the maximum registration timeout

 src/mm-broadband-modem.c  | 9 ++++-----
 src/mm-iface-modem-cdma.c | 2 ++
 src/mm-iface-modem-cdma.h | 2 ++
 3 files changed, 8 insertions(+), 5 deletions(-)

commit cc4e469b1a91a5c1f247706acddebd406db46702
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 11 16:24:02 2012 +0100

    iface-modem-3gpp: let caller decide the maximum registration timeout

 src/mm-broadband-modem.c  | 15 +++++++--------
 src/mm-iface-modem-3gpp.c |  7 +++++--
 src/mm-iface-modem-3gpp.h |  4 +++-
 3 files changed, 15 insertions(+), 11 deletions(-)

commit 787a651f198c1c85635e1f8598d4ffb9752d1dd4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 11 13:44:02 2012 +0100

    broadband-modem: implement CDMA registration method

    Will wait up to 60s to be registered in the CDMA network.

 src/mm-broadband-modem.c | 167
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 167 insertions(+)

commit 0b8ad7025013d88a38c63a1adf5ca13aa0abb226
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 11 13:43:12 2012 +0100

    iface-modem-cdma: provide a method to register in the CDMA network

    This will really not be like the 3GPP method. In 3GPP we can request
    to do
    auto-registration, or request to lock to a specific Operator. Once
    that done,
    we wait for unsolicited registration messages and also perform peridic
    registration checks.

    In the case of the CDMA network, the registration seems to be always
    automatic.
    Therefore, this method to register in the CDMA network will just
    make sure that
    we got registered, by waiting up to N seconds while doing periodic
    registration
    checks.

 src/mm-iface-modem-cdma.c | 57
 ++++++++++++++++++++++++++++++++++++++++++-----
 src/mm-iface-modem-cdma.h | 16 +++++++++++++
 2 files changed, 68 insertions(+), 5 deletions(-)

commit 165a4dcb943d2d81fc3ec371d19695afb4e3508a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 11 13:35:46 2012 +0100

    cli: split the command to register in a 3GPP network

    We provide `--3gpp-register-home' to request automatic
    registration. This will
    try to register in the home network if available; and if not
    available, in any
    other network being allowed.

    We also provide `--3gpp-register-in-operator' to try to lock the
    registration
    in the network of a given specific operator, specified by MCCMNC.

 cli/mmcli-modem-3gpp.c | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

commit e7e1a4d15687394d5e4edace29ac2da76d088fe2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 11 13:33:44 2012 +0100

    api,dbus: MCCMNC identifies the operator (country+network), not just
    the network

    MCCMNC = MCC (Mobile Country Code) + MNC (Mobile Network Code)

 new/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 205dc51cb55fdaa1f12c48e8d92257153dfb68f1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 11 12:20:24 2012 +0100

    broadband-modem: refactor the code a bit

     * Include interface-specific prefixes in methods implemented (e.g.
       'modem_3gpp_' for all 3GPP interface method implementations.

     * Pack together in the private struct variables required in the
     implementation
       of a given interface.

 src/mm-broadband-modem.c | 1094
 +++++++++++++++++++++++-----------------------
 1 file changed, 554 insertions(+), 540 deletions(-)

commit b74c01478ed4bbb79e0174eea436208638e3b257
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 11 01:31:21 2012 +0100

    broadband-modem: set auto registration with AT+COPS=0

    This is, remove the use of "AT+COPS=0,,". The extra commas break
    its use in a
    Nokia C7, and the proper/clean way to do it anyway is to avoid using
    the commas.

 src/mm-broadband-modem.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit d3c25e54c432445fb22a64fd99a7624a28b7b1d2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 9 21:07:50 2012 +0100

    cli: print CDMA-related info from the modem

 cli/mmcli-modem.c | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

commit c5fdd839056d13b13e017fe1fb2d76d6c8424db2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 9 21:07:35 2012 +0100

    cli: new helper to get the CDMA registration state string

 cli/mmcli-common.c | 13 +++++++++++++
 cli/mmcli-common.h |  1 +
 2 files changed, 14 insertions(+)

commit a71393f227da1d4aa2ca1b237ec9c5061c25434f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 9 21:07:10 2012 +0100

    libmm-glib: handle the CDMA interface

 libmm-glib/Makefile.am     |   2 +
 libmm-glib/mm-modem-cdma.c | 212
 +++++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-modem-cdma.h |  53 ++++++++++++
 libmm-glib/mm-object.c     |  16 ++++
 libmm-glib/mm-object.h     |   3 +
 5 files changed, 286 insertions(+)

commit 713937f1f0b317ca3d911274a3600baa64835979
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 9 14:03:30 2012 -0600

    manager: make sure modems get exported when all their ports are
    finished

    My LG Rumor2 phone (ttyACM0 - AT, ttyUSB0 - QCDM) was never getting
    exported after the QCDM port finished probing.  Not entirely sure
    why, but we should check whether we need to export a modem or not
    any time a port gets grabbed.

 src/mm-manager.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit ded020efeb25b88b0c80319e5279936ec03c0b63
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 9 13:18:21 2012 -0600

    gobi: ensure QCDM ports are correctly grabbed

    Need to suggest that it's QCDM since the MMPortProbe stuff
    doesn't get passed through to mm_base_modem_grab_port() so
    we can't detect QCDM ports automatically there.

 plugins/mm-plugin-gobi.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit c697027cee5dbfb9f90a5c3c6be85da71a4bcf5d
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 9 13:15:06 2012 -0600

    broadband-modem: fix check for QCDM capability

    has_qcdm_port was never set to TRUE anywhere...

 src/mm-broadband-modem.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 0ccfcbd986ed28fa71d555dc3e6dec2270d36e16
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 9 12:58:50 2012 -0600

    gobi: port to 06-api

 plugins/Makefile.am               |  22 ++---
 plugins/mm-broadband-modem-gobi.c |  72 ++++++++++++++++
 plugins/mm-broadband-modem-gobi.h |  49 +++++++++++
 plugins/mm-plugin-gobi.c          | 170
 +++++++++++---------------------------
 plugins/mm-plugin-gobi.h          |   2 -
 5 files changed, 182 insertions(+), 133 deletions(-)

commit 98755bd508fd7476ebfc6700b283bda8648b4ea5
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 9 12:42:51 2012 -0600

    broadband-modem: ignore early AT error responses for modem info

    Where we have multiple commands that are all supposed to return
    the same thing (ie, GMM/CGMM, CSQ/CSQ?) but some modems
    support one and not the other, don't exit the sequence early if
    the modem doesn't support one of them.

    Gobi modems with CDMA firmware don't support the Cxxx variants
    so the returned ERROR (CME error 100) made the generic parser
    break out of the AT sequence without trying the additional
    commands that are supported.

 src/mm-broadband-modem.c | 44
 ++++++++++++++++++++++++++++++++++----------
 1 file changed, 34 insertions(+), 10 deletions(-)

commit cb2d6d610524f32fd95633e4a491ba88f983e956
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 9 12:40:30 2012 -0600

    base-modem-at: indicate sequence status to response parsers

    Let parsers know if this command is the last in a sequence since
    they may want to handle errors differently if that's the case.

 src/mm-base-modem-at.c   | 6 ++++++
 src/mm-base-modem-at.h   | 5 ++++-
 src/mm-broadband-modem.c | 5 +++++
 3 files changed, 15 insertions(+), 1 deletion(-)

commit 4e06e0e67d1f4180e0ea2c86aae3f63701c176d7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 9 15:08:36 2012 +0100

    bearer-cdma: implement bearer connection and disconnection

 src/mm-bearer-cdma.c   | 414
 ++++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-helpers.c |  23 +++
 src/mm-modem-helpers.h |   2 +
 3 files changed, 436 insertions(+), 3 deletions(-)

commit 9641c6375988e5dcd2602bf54c707336acd01ab8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 9 15:08:06 2012 +0100

    bearer-cdma: new property for the number to dial

 src/mm-bearer-cdma.c | 19 +++++++++++++++++++
 src/mm-bearer-cdma.h |  1 +
 2 files changed, 20 insertions(+)

commit d1cfdd974cefb6ec87d6bc2889320ac8373dd4be
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 9 13:30:00 2012 +0100

    bearer-cdma: when specific RM protocol given to be used, ensure it
    is supported

    If the requested RM protocol is not supported, the CDMA Bearer
    creation will
    fail.

 src/mm-bearer-cdma.c   | 69 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.c | 81
 ++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h |  8 +++++
 3 files changed, 158 insertions(+)

commit 070c27701305dfa5c549f072d09785a12d6f03f5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 9 12:09:48 2012 +0100

    bearer-cdma: make it async-initable

    We'll run some checks before having the object fully created.

 src/mm-bearer-cdma.c | 167
 +++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 135 insertions(+), 32 deletions(-)

commit 2a0deb47f4e170b6cf7b20e72355dab86e0518b9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 9 12:07:51 2012 +0100

    bearer-cdma: avoid the need of the modem object during new_finish()

 src/mm-bearer-cdma.c      |  4 ++--
 src/mm-bearer-cdma.h      |  4 ++--
 src/mm-broadband-modem.c  |  4 ++--
 src/mm-iface-modem-cdma.c | 20 ++++++++++----------
 src/mm-iface-modem-cdma.h | 16 ++++++++--------
 5 files changed, 24 insertions(+), 24 deletions(-)

commit 56956a36adcb11e7c789f8ef6518a2afae990f84
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 9 12:05:17 2012 +0100

    bearer-cdma: allow subclasses to use the same unique path generator

 src/mm-bearer-cdma.c | 13 +++++++++++--
 src/mm-bearer-cdma.h |  3 +++
 2 files changed, 14 insertions(+), 2 deletions(-)

commit 91eb041a635c3dfd4703c0f77110349d4a58199a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 23:54:24 2012 +0100

    bearer-3gpp: avoid the need of the modem object during new_finish()

 src/mm-bearer-3gpp.c      |  4 ++--
 src/mm-bearer-3gpp.h      |  4 ++--
 src/mm-broadband-modem.c  |  4 ++--
 src/mm-iface-modem-3gpp.c | 19 ++++++++++---------
 src/mm-iface-modem-3gpp.h | 16 ++++++++--------
 5 files changed, 24 insertions(+), 23 deletions(-)

commit ba9bdb37a9c7d026b764c27e59ef0d33bcb9c501
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 23:49:53 2012 +0100

    bearer-3gpp: allow subclasses to use the same unique path generator

 src/mm-bearer-3gpp.c | 11 +++++++++--
 src/mm-bearer-3gpp.h |  3 +++
 2 files changed, 12 insertions(+), 2 deletions(-)

commit 3d6df6a1f4c17d903b69efee6e23d7be1bd3d920
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 23:46:48 2012 +0100

    bearer: export the object whenever both path and connection are set

 src/mm-bearer.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit 816a1318cb75460d1a61e8483d3671a133ac90b1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 23:46:05 2012 +0100

    sim: minor code simplification

 src/mm-sim.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

commit a534afa84d1affcc10b6fc7b414d8f9df8307dd3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 23:45:51 2012 +0100

    sim: handle initialization failures properly

    We should't use MM_SIM() on possibly NULL values.

 src/mm-sim.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

commit 7db16d2279891d1014999bd3eaa8a9e6c6496e88
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 22:14:35 2012 +0100

    bearer: make bearer creation an asynchronous operation

    We may want to do some checks while creating a new bearer.

 src/mm-bearer-3gpp.c      |  41 ++++++++++++----
 src/mm-bearer-3gpp.h      |  12 +++--
 src/mm-bearer-cdma.c      |  28 +++++++++--
 src/mm-bearer-cdma.h      |  12 +++--
 src/mm-broadband-modem.c  | 119
 +++++++++++++++++++++++++++++-----------------
 src/mm-iface-modem-3gpp.c |  33 ++++++++-----
 src/mm-iface-modem-3gpp.h |  20 +++++---
 src/mm-iface-modem-cdma.c |  34 ++++++++-----
 src/mm-iface-modem-cdma.h |  20 +++++---
 9 files changed, 221 insertions(+), 98 deletions(-)

commit 6a38bcf1a12acd9d2230873d18d13853eb40e76d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 19:20:56 2012 +0100

    broadband-modem: setup 3GPP and CDMA bearer creation logic

    On mixed CDMA+LTE modems, just default to create a 3GPP bearer.

 src/mm-broadband-modem.c | 39 +++++++++++++++++++++++++++++++--------
 1 file changed, 31 insertions(+), 8 deletions(-)

commit cc4f662239acee20d69356a3f47b004d5e275138
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 19:20:36 2012 +0100

    iface-modem-cdma: setup creation of CDMA bearers

 src/mm-iface-modem-cdma.c | 49
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-cdma.h | 10 ++++++++++
 2 files changed, 59 insertions(+)

commit 06ea25c0d480303e56c7f1b8b7bcd12b8e9b05c2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 19:16:50 2012 +0100

    bearer-cdma: new bearer to handle connections in CDMA networks

 src/Makefile.am      |   2 +
 src/mm-bearer-cdma.c | 194
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-bearer-cdma.h |  61 ++++++++++++++++
 3 files changed, 257 insertions(+)

commit 531c1fa6602ec8d6af8808fc37aa290369a973ec
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 19:06:43 2012 +0100

    bearer: set allow-roaming as property at generic bearer object level

 src/mm-bearer-3gpp.c      | 26 +-------------------------
 src/mm-bearer-3gpp.h      |  2 --
 src/mm-bearer.c           | 24 ++++++++++++++++++++++++
 src/mm-bearer.h           |  3 +++
 src/mm-iface-modem-3gpp.c |  4 ++--
 5 files changed, 30 insertions(+), 29 deletions(-)

commit 7f975a30b32375ed7bbfadc71e17c2dfa4937c30
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 19:05:19 2012 +0100

    build: remove glib-mkenums generated files during make clean

 src/Makefile.am | 3 +++
 1 file changed, 3 insertions(+)

commit ad95567e88eadf452c7e48a1d97bac4b741c206b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 16:15:39 2012 +0100

    cli: print Rm protocol in bearer info

 cli/mmcli-bearer.c |  7 +++++--
 cli/mmcli-common.c | 13 +++++++++++++
 cli/mmcli-common.h |  4 +++-
 3 files changed, 21 insertions(+), 3 deletions(-)

commit 014a9eddab6c1787470caad58c0626a551fdc842
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 16:08:21 2012 +0100

    libmm-glib: allow passing Rm protocol to bearer properties

 libmm-glib/mm-bearer-properties.c | 17 +++++++++++++++++
 libmm-glib/mm-bearer-properties.h |  5 +++++
 2 files changed, 22 insertions(+)

commit 1c447ba85b4ec22a42e1c9f5d3e0bb7ae2c11bdc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 16:04:58 2012 +0100

    libmm-common: expect 'rm-protocol' in the common bearer properties

 libmm-common/mm-common-bearer-properties.c | 35
 +++++++++++++++++++++++++++++-
 libmm-common/mm-common-bearer-properties.h |  5 +++++
 libmm-common/mm-common-helpers.c           | 23 ++++++++++++++++++++
 libmm-common/mm-common-helpers.h           | 18 ++++++++-------
 4 files changed, 72 insertions(+), 9 deletions(-)

commit fa0dba6a6e797d532a7f130f5b1f9a2561e72989
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 16:03:49 2012 +0100

    api,dbus: expect 'rm-protocol' in Simple Connect() and CreateBearer()

 new/org.freedesktop.ModemManager1.Modem.Simple.xml | 7 +++++++
 new/org.freedesktop.ModemManager1.Modem.xml        | 2 ++
 2 files changed, 9 insertions(+)

commit aaf92347477fbb1bd39bd3ff778794ece96db696
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Jan 8 16:03:12 2012 +0100

    api,header: new enum to specify Rm protocol

 docs/reference/api/mm-sections.txt |  1 +
 include/ModemManager-enums.h       | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+)

commit d178fb1f09f3b28f664942424684f156b931269c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 7 22:53:20 2012 +0100

    plugin-manager: fix loop of deferred tasks when no best plugin found

    If deferring tasks until result suggested, and we never got a
    suggestion, the
    tasks may have been left deferred in loop forever. We now remove
    the defer
    timeout in the case of waiting for suggestion, and ensure that we
    cancel tasks
    if the last valid probing ended without best plugin found.

 src/mm-plugin-manager.c | 113
 ++++++++++++++++++++++++++++++++++--------------
 1 file changed, 81 insertions(+), 32 deletions(-)

commit 4d19a66722e85e2e776092161b7d7515d295cafe
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 7 17:26:43 2012 +0100

    cli: fix invalid write when completing async operation

    Don't use the same context to pass the results to finalize().

 cli/mmcli-common.c | 47 ++++++++++++++++++++++++++++-------------------
 1 file changed, 28 insertions(+), 19 deletions(-)

commit 2c0c66846271c41d1573d9260bd76ef2009c9f5a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 7 16:31:13 2012 +0100

    iface-modem-cdma: load NID if available in the CDMA status QCDM
    response

 src/mm-broadband-modem.c  | 14 ++++++++++++--
 src/mm-iface-modem-cdma.c | 16 +++++++++++++---
 src/mm-iface-modem-cdma.h |  4 +++-
 3 files changed, 28 insertions(+), 6 deletions(-)

commit 4016a1ec200ca01ac6a39ea791f8d6ee91591a19
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 20:26:48 2012 +0100

    build: require glib 2.30.2

    So that we get the following fix in glib-mkenums:
    https://bugzilla.gnome.org/show_bug.cgi?id=661797

 build-aux/mm-enums-template.h | 2 +-
 configure.ac                  | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

commit e8aeb59293063cb4cfedddcaf27da665f9d968e0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 20:01:30 2012 +0100

    cli: use g_list_free_full() when possible

 cli/mmcli-common.c     | 21 +++++++--------------
 cli/mmcli-manager.c    |  3 +--
 cli/mmcli-modem-3gpp.c |  3 +--
 3 files changed, 9 insertions(+), 18 deletions(-)

commit 20acb274dcd1924d64b56021fd0c3125c95d9fee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 20:01:16 2012 +0100

    libmm-glib: use g_list_free_full() when possible

 libmm-glib/mm-modem.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 48d5ac66824848ee31fcbaeb9600d5e276b3ab70
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 20:01:05 2012 +0100

    core: use g_list_free_full() when possible

 src/mm-bearer-list.c        | 5 +----
 src/mm-iface-modem-3gpp.c   | 3 +--
 src/mm-iface-modem-simple.c | 5 +----
 src/mm-modem-helpers.c      | 6 ++----
 4 files changed, 5 insertions(+), 14 deletions(-)

commit a0f7db513f712316636ddfb31a6fcec569c9f54b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 19:07:43 2012 +0100

    iface-modem-cdma: setup periodic registration checks

 src/mm-iface-modem-cdma.c | 110
 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 110 insertions(+)

commit abf0d1afc139738075ab8c5e5769a7b42aeac181
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 19:06:52 2012 +0100

    iface-modem-cdma: report state changes with subsystem ID

    Different subsystem IDs used for CDMA1x and EVDO

 src/mm-iface-modem-cdma.c | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

commit 8b78c394142c74101e0a4f4e02794422898044cf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 19:05:43 2012 +0100

    iface-modem-3gpp: report state changes with subsystem ID

 src/mm-iface-modem-3gpp.c | 32 ++++++++++++++++++--------------
 1 file changed, 18 insertions(+), 14 deletions(-)

commit 0b8d0c697d68efd9cf2828508c06cb03cd4b1145
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 19:05:15 2012 +0100

    iface-modem: get consolidated state from all subsystems

    We don't want, e.g.,  REGISTERED->ENABLED transitions when 3GPP gets
    unregistered but we're still registered in CDMA.

 src/mm-iface-modem.c | 110
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |   4 ++
 2 files changed, 114 insertions(+)

commit 6d76f1755f480fa9c3a4858e250d8b85d423d1b5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 16:32:55 2012 +0100

    broadband-modem: implement default detailed CDMA registration getter

    Fully based on Sprint commands

 src/mm-broadband-modem.c | 201
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 201 insertions(+)

commit a767c2c523eafec72462da66b62a552e72f4d78f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 16:32:14 2012 +0100

    broadband-modem: skip CDMA registration check steps on default
    implementation

    If we know that there is no QCDM port, skip QCDM-based checks.
    If we know there are Sprint commands, skip CDMA1x Serving System
    check.
    If we know there are no Sprint commands, skip detailed registration
    getter.

 src/mm-broadband-modem.c | 178
 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 177 insertions(+), 1 deletion(-)

commit 9b860021a0fa9a0f3a9a513ced53b4d34f853b31
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 16:29:31 2012 +0100

    broadband-modem: set NO_NETWORK error if we couldn't get SID from
    CDMA1x SS checks

 src/mm-broadband-modem.c | 23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

commit 9f8e81277fc5441f0c49f92c13ef4e2c59ec05d0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 16:26:29 2012 +0100

    iface-modem-cdma: allow to configure which registration steps to run

    Implementations of the CDMA interface are allowed to specify which
    steps in the
    registration checks can be skipped. For example, if no QCDM ports
    are available,
    there won't be any need to try QCDM-based checks; or if Sprint
    commands are
    available, there won't be any need to run CDMA1x Serving System
    checks.

 src/mm-iface-modem-cdma.c | 130
 +++++++++++++++++++++++++++++++++++-----------
 src/mm-iface-modem-cdma.h |  13 +++++
 2 files changed, 114 insertions(+), 29 deletions(-)

commit ad05cd2916563d218cf48a1c9327c3a689896796
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 11:41:56 2012 +0100

    iface-modem-cdma: last step to get detailed registration state

 src/mm-iface-modem-cdma.c | 106
 ++++++++++++++++++++++++++++++++++++++--------
 src/mm-iface-modem-cdma.h |  15 ++++++-
 2 files changed, 102 insertions(+), 19 deletions(-)

commit d0d3d1f54555bd12ce726aa42524c776a82a174d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 02:17:09 2012 +0100

    plugin-base: keep track of the probe for the net port, even if it
    wasn't run

 src/mm-plugin-base.c | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

commit 16ed08cc851df2ce9501210feba55c0d86887032
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 02:15:07 2012 +0100

    port-probe: avoid warnings when probe was for a net device

    net devices aren't really probed

 src/mm-port-probe.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

commit 32a0c8fbb7d5fa76e963aec2e288a0e2dcc214a4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 01:30:08 2012 +0100

    plugin-manager: new defer-until-suggested support check result
    handling

    'net' ports will be supported as soon as there is another port
    reporting
    successful support.

 src/mm-plugin-base.c    | 15 +++++++++------
 src/mm-plugin-manager.c | 25 ++++++++++++++++++++++++-
 src/mm-plugin.h         |  2 +-
 3 files changed, 34 insertions(+), 8 deletions(-)

commit 65c14607cd8233217116e19e7c30067257a6f03c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jan 5 01:14:11 2012 +0100

    broadband-modem: add LTE capability checks

 src/mm-broadband-modem.c | 2 ++
 1 file changed, 2 insertions(+)

commit e28183274f6b10af42f2ec9e6e77f1a9cb01ee03
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 4 22:47:36 2012 +0100

    broadband-modem: implement default serving system and service status
    retrieval

 src/mm-broadband-modem.c  | 330
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-cdma.c |  12 +-
 2 files changed, 340 insertions(+), 2 deletions(-)

commit 9efabb8fcb9aa0c8e7d8afb3e313082fc9773e64
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 4 22:42:47 2012 +0100

    modem-helpers: new CDMA helper parsers

 src/mm-iface-modem-cdma.c |  4 +--
 src/mm-iface-modem-cdma.h |  3 ---
 src/mm-modem-helpers.c    | 68
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h    |  8 ++++++
 4 files changed, 78 insertions(+), 5 deletions(-)

commit 44289da5316d8a90d6016d181d828d754a4e2096
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 4 18:36:55 2012 +0100

    iface-modem-cdma: run all registration checks during CDMA interface
    enable

 src/mm-iface-modem-cdma.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

commit 11038be07f9ccc00f8413c85c6ab912467a680f7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 4 12:12:06 2012 +0100

    broadband-modem: implement CDMA registration state and network
    supported properties

 src/mm-broadband-modem.c | 313
 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 312 insertions(+), 1 deletion(-)

commit 91e146e1feb69bb0e85be46f8377908425366fbe
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 4 12:04:48 2012 +0100

    iface-modem-cdma: start implementing CDMA registration state logic

    QCDM-based Call Manager and HDR state for now.

 src/mm-iface-modem-cdma.c | 486
 +++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem-cdma.h |  64 +++++-
 2 files changed, 543 insertions(+), 7 deletions(-)

commit 14269e11386f41e89b821e40907ba6f4af81f72f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 4 10:49:07 2012 +0100

    broadband-modem: implement ESN retrieval

 src/mm-broadband-modem.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

commit 0c6b505a6bd485d9bf65c105ed6bd7b35c930040
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 4 10:45:33 2012 +0100

    iface-modem-cdma: load ESN during initialization

 src/mm-iface-modem-cdma.c | 60
 ++++++++++++++++++++++++++++++++---------------
 src/mm-iface-modem-cdma.h |  8 +++++++
 2 files changed, 49 insertions(+), 19 deletions(-)

commit 08a950ffb644574d4bf2a8b214728cdeab0a1a27
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 22:00:09 2012 +0100

    iface-modem-simple: plug memleak

 src/mm-iface-modem-simple.c | 1 +
 1 file changed, 1 insertion(+)

commit 45adc5054edeb4aed9de48e2f354f05e85e8d49f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 21:43:37 2012 +0100

    iface-modem-3gpp: fix registration state context creation

 src/mm-iface-modem-3gpp.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

commit cb2612d0cee5d676564a14749a28021cf412354d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 21:43:20 2012 +0100

    iface-modem: fix signal quality context creation

 src/mm-iface-modem.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit 5edb863eded7bef4e3a83b2900b3b3fdc262319f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 20:27:18 2012 +0100

    iface-modem: make old compilers happy

 src/mm-iface-modem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 3789c10819ddd1263bdd4e2066a6d79845177e31
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 20:19:30 2012 +0100

    api,header: add explanation for the MMModemCdmaActivationErrors

 include/ModemManager-enums.h | 2 ++
 1 file changed, 2 insertions(+)

commit ee07cc51ea52731180628219627ace508de7701a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 20:18:24 2012 +0100

    iface-modem: fix checks for single technology capabilities

 src/mm-iface-modem.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 7b884c46351bde98a371007b37e2ae13c8284ca6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 19:59:10 2012 +0100

    base-modem-at: always unref the modem object in AT command/sequence
    contexts

 src/mm-base-modem-at.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

commit 1304b659569db42c6b69b8a1f20041a6cb6a4012
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 19:58:36 2012 +0100

    base-modem: log when fully disposing the object

 src/mm-base-modem.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 8af488b4524300ac900df0d19e5ce47e09962e7c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 19:58:23 2012 +0100

    base-modem: use g_clear_object() before setting new objects

 src/mm-base-modem.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit c3f1a7ec98277fd68db12c61c30e6c5753a63fcd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 19:57:43 2012 +0100

    bearer: use g_clear_object() before setting new objects

 src/mm-bearer.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

commit 1097993212176e69079ad23ed32e0691f7e29df1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 19:57:14 2012 +0100

    broadband-modem: use g_clear_object() before setting new objects

 src/mm-broadband-modem.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

commit 8610fd47b366cf7be49ed0ad89576fd3d84e57a2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 19:56:16 2012 +0100

    iface-modem: plug small leak

 src/mm-iface-modem.c | 2 ++
 1 file changed, 2 insertions(+)

commit 8c0d67a81a4658102be6338b6dd5bc8338cf7f8c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 19:55:57 2012 +0100

    sim: use g_clear_object() before setting new objects

 src/mm-sim.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

commit f3bc54eb40ce17a81b71de550dff78d795a09241
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 19:54:58 2012 +0100

    libmm-common: plug small leak in the common simple properties

 libmm-common/mm-common-simple-properties.c | 1 +
 1 file changed, 1 insertion(+)

commit a68847a091074364f57be671fb405dd340cfa9d9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 17:07:08 2012 +0100

    iface-modem-3gpp: if modem is LTE-only, assume no CS network is
    expected

 src/mm-iface-modem-3gpp.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit ffae95a46b66190484f414d40e50434aa278d34d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 17:06:45 2012 +0100

    iface-modem: new helpers to check if modem has LTE capabilities

 src/mm-iface-modem.c   | 32 ++++++++++++++++++++++++++++----
 src/mm-iface-modem.h   |  2 ++
 src/mm-modem-helpers.h |  8 +++++---
 3 files changed, 35 insertions(+), 7 deletions(-)

commit 3c703dd5a33714852fe0dc32879d6ea8aec7c849
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 16:53:59 2012 +0100

    iface-modem-3gpp: new properties to tell whether PS/CS networks
    are supported

    E.g, Iridium modems won't support PS networks, and LTE-only modems
    won't support
    CS networks.

 src/mm-broadband-modem.c  |  26 ++++++++++++
 src/mm-iface-modem-3gpp.c | 101
 ++++++++++++++++++++++++++++++++++++++++------
 src/mm-iface-modem-3gpp.h |   2 +
 3 files changed, 117 insertions(+), 12 deletions(-)

commit 517d47b69984d8c9f7703945d78a0344984c0223
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 16:15:21 2012 +0100

    iface-modem-3gpp: update PS/CS registration states separately

    But provide a consolidate state in the interface.

 src/mm-broadband-modem.c  | 108
 ++++++++++++++++++----------------------------
 src/mm-iface-modem-3gpp.c |  88 +++++++++++++++++++++++++++++++++++--
 src/mm-iface-modem-3gpp.h |  12 +++---
 3 files changed, 133 insertions(+), 75 deletions(-)

commit 6abcfd54a6c3b45b38c0bc4a999b39f0c683de35
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 13:23:36 2012 +0100

    iface-modem-cdma: load MEID during initialization

 src/mm-iface-modem-cdma.c | 39 +++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-cdma.h |  8 ++++++++
 2 files changed, 47 insertions(+)

commit 863bfe9ecd4a5a9e8fba087ee05de04523f8b9d0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 13:08:28 2012 +0100

    broadband-modem: implement the CDMA interface

 src/mm-broadband-modem.c | 56
 +++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 51 insertions(+), 5 deletions(-)

commit f5d894f5a2620565140fcfb92ff9790e509c2436
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jan 3 13:02:11 2012 +0100

    iface-modem-cdma: new interface to handle CDMA specific actions

 src/Makefile.am           |   2 +
 src/mm-iface-modem-cdma.c | 728
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-cdma.h | 109 +++++++
 3 files changed, 839 insertions(+)

commit ad9df4a5d1b848641903f283095f4117a62aa662
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 17:04:54 2011 +0100

    broadband-modem: implement QCDM-based signal quality retrieval

    Will work for CDMA modems with QCDM ports.

 src/mm-broadband-modem.c | 226
 +++++++++++++++++++++++++++++++++++------------
 1 file changed, 170 insertions(+), 56 deletions(-)

commit 94846a2f51bf3ca40ec945de690e74dbb5f0ce97
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 17:04:16 2011 +0100

    base-modem: make public the method to get best AT port

    Sometimes, we want to check whether a given port is available to
    send commands,
    and fallback to some other method if so (e.g. using a QCDM port).

 src/mm-base-modem-at.c | 32 +++-----------------------------
 src/mm-base-modem.c    | 26 ++++++++++++++++++++++++++
 src/mm-base-modem.h    |  2 ++
 3 files changed, 31 insertions(+), 29 deletions(-)

commit edc117406888f489d4ebd29b6d08ea67d60bb99c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 15:41:19 2011 +0100

    broadband-modem: try +CSQ? if +CSQ fails

    As done in the generic CDMA implementation

 src/mm-broadband-modem.c | 43 ++++++++++++++++++++++++++++---------------
 1 file changed, 28 insertions(+), 15 deletions(-)

commit d5af2286e2ecd18e653ea63c601d7528af56a45c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 15:28:57 2011 +0100

    iface-modem-3gpp: indicators and unsolicited events are 3GPP-specific

    Moved code from the Modem interface, as this is really 3GPP-specific

 src/mm-broadband-modem.c  |  28 +++++-----
 src/mm-iface-modem-3gpp.c | 130
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h |  24 +++++++++
 src/mm-iface-modem.c      | 127
 --------------------------------------------
 src/mm-iface-modem.h      |  24 ---------
 5 files changed, 167 insertions(+), 166 deletions(-)

commit 5c3154bbba15fd5ec450850ff0d9f5fe12b62c98
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 15:23:53 2011 +0100

    Revert "broadband-modem: skip indicators and unsolicited events
    setup in CDMA-only modems"

    This reverts commit b16f9bbba6aeb8b54a81192dca76d57ac0e88aae.

 src/mm-broadband-modem.c | 49
 ++++++++----------------------------------------
 1 file changed, 8 insertions(+), 41 deletions(-)

commit 611970a4242ae87132f226079d34b05f18c73e5a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 15:00:09 2011 +0100

    broadband-modem: remove obsolete commented code

 src/mm-broadband-modem.c | 14 --------------
 1 file changed, 14 deletions(-)

commit 41bf8413342eeb6aab270495e3bfb4842faba0a2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 14:59:36 2011 +0100

    generic: allow QCDM ports

 plugins/mm-plugin-generic.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

commit def30139d7feb32fdc8a6c5e18a7f95d1d4417dc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 13:31:33 2011 +0100

    cli: report as 'none' when no SIM path is given

    Instead of giving '/'

 cli/mmcli-modem.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 7043b2ef6ef0da5c4253a95e215f6ad86de7b320
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 13:18:48 2011 +0100

    broadband-modem: skip indicators and unsolicited events setup in
    CDMA-only modems

 src/mm-broadband-modem.c | 49
 ++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 41 insertions(+), 8 deletions(-)

commit ae5da014032ff195661856214144774662c3caf9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 13:13:56 2011 +0100

    broadband-modem: skip supported charsets check in CDMA-only modems

 src/mm-broadband-modem.c | 82
 +++++++++++++++++++++++++++++++++++-------------
 1 file changed, 60 insertions(+), 22 deletions(-)

commit f4acff17daf158071e9a0e965e80131dfc91b2c5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 12:57:10 2011 +0100

    broadband-modem: skip SIM creation in CDMA-only modems

 src/mm-broadband-modem.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

commit bda0d0c1d4e5bf06cd1296c140e4f03ecba6836c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 12:56:55 2011 +0100

    iface-modem: allow implementations to return no SIM and no error

    That would mean that the implementation doesn't want to handle a
    SIM object
    around, maybe because it doesn't support it properly, or because
    there is
    no SIM at all (e.g. CDMA-only modems).

 src/mm-iface-modem.c | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

commit 34bf2e6dd1405cd15ff727c0401482a14cd1bdbd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 12:46:55 2011 +0100

    broadband-modem: helper comments when setting interface implementation

 src/mm-broadband-modem.c | 44
 ++++++++++++++++++++++++++++----------------
 1 file changed, 28 insertions(+), 16 deletions(-)

commit 89646f2b6480facd5a028b72de181640acb6f153
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 12:46:10 2011 +0100

    broadband-modem: check for 3GPP using capabilities, not availability
    of the interface

 src/mm-broadband-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e107528f8798e78c91a65752333c72559ad81168
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 12:45:03 2011 +0100

    broadband-modem: skip unlock check in CDMA-only modems

 src/mm-broadband-modem.c | 52
 +++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 45 insertions(+), 7 deletions(-)

commit 021ff8a35bf7833d6c34459f400ea2e80857fa21
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 11:36:48 2011 +0100

    iface-modem: open/close secondary AT/QCDM ports during enable/disable

 src/mm-iface-modem.c | 67
 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 61 insertions(+), 6 deletions(-)

commit be7cee24f3fd8c21245dd6c5c8c53bf95a8a1d2f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 11:34:58 2011 +0100

    iface-modem: place all tags/quarks handled together

 src/mm-iface-modem.c | 73
 +++++++++++++++++++++++++++-------------------------
 1 file changed, 38 insertions(+), 35 deletions(-)

commit d28171b1db0ac5b5186ab4c1b38a0b19a8662a3f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 11:13:34 2011 +0100

    broadband-modem: don't try +CGSN in CDMA-only modems

 src/mm-broadband-modem.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit 0f7716887c0839515a55863397423df24fa7c2bd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 31 11:12:19 2011 +0100

    iface-modem: new methods to check for specific capabilities being
    supported

 src/mm-iface-modem.c | 36 ++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |  5 +++++
 2 files changed, 41 insertions(+)

commit dd3d1c0337e54366d8da3558f05f5f4f0a572017
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 23:48:11 2011 +0100

    broadband-modem: provide default implementation of MMSim creation

 src/mm-broadband-modem.c | 61
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

commit ba5321adf153bed36a3328b6178e3746c17140ce
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 23:47:39 2011 +0100

    iface-modem: let different SIM object creation implementations

    We let objects implementing the Modem interface to provide their
    own SIM
    creation method. This allows plugins to subclass MMSim themselves.

 src/mm-iface-modem.c | 69
 +++++++++++++++++++++++++++++-----------------------
 src/mm-iface-modem.h |  9 +++++++
 2 files changed, 47 insertions(+), 31 deletions(-)

commit 7d2626ea4495ffaac5a180ae167fe264b355c990
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 23:46:28 2011 +0100

    sim: new SIM path getter

 src/mm-sim.c | 8 ++++++++
 src/mm-sim.h | 2 ++
 2 files changed, 10 insertions(+)

commit e4486fd5f0aacb0c80ee49e89f4cd188a849291d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 19:27:24 2011 +0100

    base-modem: store the AT sequence context GDestroyNotify callback

 src/mm-base-modem-at.c | 1 +
 1 file changed, 1 insertion(+)

commit b18a801df3b0467f0c3c02eb055a7e19f8a879d5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 19:16:04 2011 +0100

    libmm-common: fix build dependencies

    Added proper rules in the Makefile so that those files which need the
    glib-mkenums generated files are built always once the prerequisites
    are all
    ready.

    Also, avoid including libmm-common.h from within source files of
    the library.

 libmm-common/Makefile.am                    | 7 +++++++
 libmm-common/mm-common-bearer-properties.c  | 4 ++--
 libmm-common/mm-common-connect-properties.c | 4 ++--
 libmm-common/mm-common-simple-properties.c  | 5 +++--
 4 files changed, 14 insertions(+), 6 deletions(-)

commit 5c1d18d15675d43d9b3bb42adf6911e03823ad88
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 18:33:21 2011 +0100

    port-probe: store the task always before completing it

    If we already got all needed probing results, we complete the
    task without
    launching any new probing, but still, we need to store it internally
    so
    that it's properly disposed.

 src/mm-port-probe.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit 51dc93e3d50129a25985e84a4c8953392a975af6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 18:32:08 2011 +0100

    manager: plug small leak

 src/mm-manager.c | 1 +
 1 file changed, 1 insertion(+)

commit bf69930edee26994bce706b394718921bdb9ea56
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 17:24:14 2011 +0100

    iface-modem: ensure initial allowed modes is a subset of supported
    modes

    Also make loading supported modes a mandatory method that must be
    provided by
    objects implementing the Modem interface.

 src/mm-iface-modem.c | 35 ++++++++++++++++++++++++++++++-----
 1 file changed, 30 insertions(+), 5 deletions(-)

commit f0c5e5145ed8fa9eaab78e794f820d5eb98ed523
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 17:09:01 2011 +0100

    iface-modem-simple: include setting bands during simple Connect()

 src/mm-iface-modem-simple.c | 53
 +++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 51 insertions(+), 2 deletions(-)

commit a34f51b0a5e694514a6d32dac60809303ecf9969
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 16:53:19 2011 +0100

    cli: new `--set-allowed-bands'

 cli/mmcli-modem.c | 85
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 84 insertions(+), 1 deletion(-)

commit 6002ad1b70722c1960d9ae923150aca6c4041d2c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 16:52:58 2011 +0100

    iface-modem: run checks when trying to set allowed bands

    Allowed bands must be a subset of the supported bands.

 src/mm-iface-modem.c | 125
 ++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 98 insertions(+), 27 deletions(-)

commit aae179463b6dab0a8e7cc25af94f67ac65b9628f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 15:39:59 2011 +0100

    broadband-modem: implement default supported mode loading

    Try to guess the supported modes, based on the current capabilities.

 src/mm-broadband-modem.c | 55
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

commit 148025c3818b4f4f64361314056470e49a9ff2f6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 15:39:19 2011 +0100

    cli: new `--set-allowed-modes' and `--set-preferred-modes' actions

 cli/mmcli-modem.c | 128
 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 126 insertions(+), 2 deletions(-)

commit 1be7c274535a17ca05b8eeb7c1b0cc58029dc5dd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 15:38:55 2011 +0100

    iface-modem: run checks when trying to set allowed modes

    Allowed modes being set must be a subset of Supported modes.
    Preferred mode being set must be a subset of Allowed modes.

 src/mm-iface-modem.c | 105
 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 92 insertions(+), 13 deletions(-)

commit 9a4940c4b20d6729cfeff52dd6ca0af3bfae7ba8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 15:37:37 2011 +0100

    libmm-common: handle strings coming in capitals when building bands
    or modes

 libmm-common/mm-common-helpers.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit ebbfe9cb61e95964df2b0ae52147ac30a0db86cc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 15:36:51 2011 +0100

    libmm-common: print modes string with capitals for the acronyms

 libmm-common/mm-common-helpers.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 15079bcb2d0b916c2077c18527b82170ce54b52b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 15:35:32 2011 +0100

    api,header: fix flags to ensure they all start with 1

 include/ModemManager-enums.h | 42
 +++++++++++++++++++++---------------------
 1 file changed, 21 insertions(+), 21 deletions(-)

commit cc55734a01566e73f214526f124b87baa548e19d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 15:35:01 2011 +0100

    api,header: don't use '1G' for modem modes, use 'CS' instead.

    1G is not the proper way to define GSM, which is already 2G. Use
    CS instead,
    which will include all circuit-switched broadband modem technologies.

 include/ModemManager-enums.h     | 2 +-
 libmm-common/mm-common-helpers.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit a71e27af961b356ad2a80ebbce2c3036767eadfa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 12:29:38 2011 +0100

    iface-modem-3gpp: setup context struct for periodic registration
    checks

 src/mm-iface-modem-3gpp.c | 81
 +++++++++++++++++++++++++++++++----------------
 1 file changed, 53 insertions(+), 28 deletions(-)

commit da9d070e8b738519b4828bed5a70d8d27f90acab
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 29 23:16:49 2011 +0100

    iface-modem: don't run signal quality check if last update was less
    than 15s ago

 src/mm-iface-modem.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

commit 73eeffbd5e388034011e162dd29906e42a0b85a7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 29 23:16:14 2011 +0100

    iface-modem: handle struct signal quality check/update contexts as
    object data

 src/mm-iface-modem.c | 169
 +++++++++++++++++++++++++++++++--------------------
 1 file changed, 103 insertions(+), 66 deletions(-)

commit d05a7a0a3edc99b4deef527aa91a5a814c1bf409
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 29 22:24:55 2011 +0100

    broadband-modem: handle signal quality changes reported by unsolicited
    CIEV

 src/mm-broadband-modem.c | 131
 ++++++++++++++++++++++++++++++++---------------
 1 file changed, 89 insertions(+), 42 deletions(-)

commit b0d3f5939751ad09a51c3dcd6c9bb6446d743ff1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 29 22:24:31 2011 +0100

    base-modem: fully ignore CIEV messages on startup

 src/mm-base-modem.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit d5e6776a525940bb7be72c9710aee049d242faab
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 29 22:24:03 2011 +0100

    modem-helpers: new common regex for CIEV unsolicited messages

 src/mm-modem-helpers.c | 11 +++++++++++
 src/mm-modem-helpers.h |  2 ++
 2 files changed, 13 insertions(+)

commit d9338049c6213ef165d7d2dc8a73c7fcb3c82921
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 29 21:46:25 2011 +0100

    broadband-modem: implement indicators setup and unsolicited event
    handling

 src/mm-broadband-modem.c | 264
 ++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 206 insertions(+), 58 deletions(-)

commit 953be3e81da7e0b6f9b64b19516b83098efda949
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 29 11:31:27 2011 +0100

    iface-modem: new methods to setup/cleanup unsolicited result codes

 src/mm-iface-modem.c | 128
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |  24 ++++++++++
 2 files changed, 152 insertions(+)

commit b29acbb239c3a08f3c27601109d5354bb1b35530
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 29 11:46:40 2011 +0100

    iface-modem: renamed `modem_charset' to `setup_charset'

    And changed broadband modem accordingly.

 src/mm-broadband-modem.c | 30 +++++++++++++++---------------
 src/mm-iface-modem.c     | 16 ++++++++--------
 src/mm-iface-modem.h     |  4 ++--
 3 files changed, 25 insertions(+), 25 deletions(-)

commit 7b506bc8a6931568edc97b444e64e620b13c671b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 29 11:37:52 2011 +0100

    iface-modem: renamed `modem_flow_control' to `setup_flow_control'

    Changed broadband modem and Cinterion plugin accordingly.

 plugins/mm-broadband-modem-cinterion.c | 14 +++++++-------
 src/mm-broadband-modem.c               | 12 ++++++------
 src/mm-iface-modem.c                   | 10 +++++-----
 src/mm-iface-modem.h                   |  4 ++--
 4 files changed, 20 insertions(+), 20 deletions(-)

commit 08b7620b7ab690c2b8f63247452b18adce7ae704
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 20:59:01 2011 +0100

    broadband-modem: implement on demand signal quality checks with
    AT+CIND?

 src/mm-broadband-modem.c | 128
 ++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 120 insertions(+), 8 deletions(-)

commit e06d42c868745af69f63b8f9ca418b07b70602de
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 20:33:08 2011 +0100

    broadband-modem: implement on demand signal quality checks with AT+CSQ

    Still need to implement CIND-based signal quality checks.

 src/mm-broadband-modem.c | 119
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 119 insertions(+)

commit f0433a4dda362a5d8658c154abf356f1fc5f5c82
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 20:31:48 2011 +0100

    iface-modem: setup periodic signal quality checks

 src/mm-iface-modem.c | 370
 ++++++++++++++++++++++++++++++---------------------
 src/mm-iface-modem.h |   5 +-
 2 files changed, 221 insertions(+), 154 deletions(-)

commit eb1c7afc8cd86f3c55b850bf2c4a0d16d5db15fb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 15:08:39 2011 +0100

    cli: implement `--simple-status'

 cli/mmcli-modem-simple.c | 114
 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 112 insertions(+), 2 deletions(-)

commit fa5064ece35a1af500d03b1709f793b8432f6f4b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 14:43:32 2011 +0100

    libmm-glib: implement handling of GetStatus() calls in the Simple
    interface

 libmm-glib/mm-modem-simple.c | 50
 ++++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-modem-simple.h | 11 ++++++++++
 2 files changed, 61 insertions(+)

commit f58a23c9c20c1a4a4a1987e8e0d9b3d988eaee59
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 14:30:49 2011 +0100

    libmm-glib: new interface to handle simple status properties

 libmm-glib/Makefile.am                         |  3 +
 libmm-glib/mm-modem-simple-status-properties.c | 78
 ++++++++++++++++++++++++++
 libmm-glib/mm-modem-simple-status-properties.h | 44 +++++++++++++++
 3 files changed, 125 insertions(+)

commit 1745d8c9ebf00dc06ff4f2172d754b54c2ec9fbc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 14:30:20 2011 +0100

    libmm-common: let the simple properties object be built from a
    dictionary

 libmm-common/mm-common-simple-properties.c | 64
 ++++++++++++++++++++++++++++++
 libmm-common/mm-common-simple-properties.h |  3 ++
 2 files changed, 67 insertions(+)

commit 0edf4037349ab087925de1e47faf609c78f225e8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 14:29:34 2011 +0100

    build: fix libmm-glib library headers

    Remove headers from libmm-common, and include all public headers.

 libmm-glib/Makefile.am | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit 045d0c2df8492c23782a6944740f80690aec6786
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 14:02:00 2011 +0100

    broadband-modem: run property bindings for simple status on each
    interface

    Once an interface gets initialized, we run the property binding
    method in the
    interface in order to get the simple properties bound.

 src/mm-broadband-modem.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

commit 2eb3dbb010c743f196c0e5e1a7127b333a0627d0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 14:00:30 2011 +0100

    iface-modem-3gpp: implement property binding for the simple status

 src/mm-iface-modem-3gpp.c | 29 +++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h |  4 ++++
 2 files changed, 33 insertions(+)

commit 0c009a2c4aad1ccbc6a74044750a4ea5d49c4061
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 14:00:15 2011 +0100

    iface-modem: implement property binding for the simple status

 src/mm-iface-modem.c | 110
 +++++++++++++++++++++++++++++++--------------------
 src/mm-iface-modem.h |   3 ++
 2 files changed, 71 insertions(+), 42 deletions(-)

commit 93880155f0e38b54a0886c7cebb05075293c86f4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 13:59:48 2011 +0100

    iface-modem-simple: implement GetStatus()

 src/mm-iface-modem-simple.c | 28 +++++++++++++++++++++++++---
 src/mm-iface-modem-simple.h |  3 ++-
 2 files changed, 27 insertions(+), 4 deletions(-)

commit ba1a448717d29885492ac1e9644df19324e7bfd0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 13:58:16 2011 +0100

    api,dbus: improve GetStatus() documentation in the Simple interface

    * We will also return 'registration-state' in 3GPP networks
    * Specified that 'operator-code' and 'operator-name' are only set if
      registered in a 3GPP network.

 new/org.freedesktop.ModemManager1.Modem.Simple.xml | 22
 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

commit 111cd56a2bf25a76e5634807f393e8a9f5b04bbc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 13:49:32 2011 +0100

    libmm-common: new helper object to handle simple properties from
    all interfaces

 libmm-common/Makefile.am                   |   3 +
 libmm-common/libmm-common.h                |   1 +
 libmm-common/mm-common-simple-properties.c | 361
 +++++++++++++++++++++++++++++
 libmm-common/mm-common-simple-properties.h |  71 ++++++
 4 files changed, 436 insertions(+)

commit b0272444cbafe3c845790e8c3a73be4c13b5862e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 13:48:27 2011 +0100

    libmm-common: new helpers to work with bands arrays

 libmm-common/mm-common-helpers.c | 92
 +++++++++++++++++++++++++++++++---------
 libmm-common/mm-common-helpers.h | 13 ++++--
 2 files changed, 82 insertions(+), 23 deletions(-)

commit 0cdb293452cb62830326e465e521830914b705bf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 27 16:35:49 2011 +0100

    cli: new `simple-disconnect' command

    This command doesn't expect any argument, it will disconnect all
    available
    bearers. You can disconnect specific bearers using `--bearer' and
    `--disconnect'.

 cli/mmcli-modem-simple.c | 63
 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 61 insertions(+), 2 deletions(-)

commit dd4b073e089c833609aea5b0da0bc65b41f5a91b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 27 16:34:09 2011 +0100

    libmm-glib: handle simple Disconnect()

 libmm-glib/mm-modem-simple.c | 42
 +++++++++++++++++++++++++++++++++++++++++-
 libmm-glib/mm-modem-simple.h | 22 ++++++++++++----------
 2 files changed, 53 insertions(+), 11 deletions(-)

commit adcc33d0eace99c4f0990cb69d714a31dc2603eb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 27 16:05:35 2011 +0100

    iface-modem-simple: implement Disconnect()

 src/mm-iface-modem-simple.c | 117
 ++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 114 insertions(+), 3 deletions(-)

commit e435deb2ba6ca3309a2aaeee59bd358a2b594b4e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 27 15:34:00 2011 +0100

    iface-modem-simple: implement bearer creation and connection during
    Connect()

 src/mm-iface-modem-simple.c | 68
 ++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 61 insertions(+), 7 deletions(-)

commit 4ccc00fc6d333e16683f50941ed708acee56d36f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 27 15:33:33 2011 +0100

    iface-modem: return a MMBearer reference when creating a new bearer

    Not just the bearer path.

 src/mm-iface-modem.c | 67
 +++++++++++++++++++++++++++++-----------------------
 src/mm-iface-modem.h | 15 ++++++------
 2 files changed, 45 insertions(+), 37 deletions(-)

commit b232cc4f111ac449aca33c41d47789344cd5dcbd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 27 15:32:44 2011 +0100

    bearer: allow launching connection not only via DBus

 src/mm-bearer.c | 109
 +++++++++++++++++++++++++++++++++++++++++---------------
 src/mm-bearer.h |   8 +++++
 2 files changed, 88 insertions(+), 29 deletions(-)

commit b37c951cb1a447d0c6b8f8988da98fac8b9de223
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 27 15:32:14 2011 +0100

    bearer-list: new method to remove all existing bearers

 src/mm-bearer-list.c | 19 ++++++++++++++-----
 src/mm-bearer-list.h |  1 +
 2 files changed, 15 insertions(+), 5 deletions(-)

commit 93732cf0757b7320f371ce0ac9681b95b5b98e73
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 27 14:36:54 2011 +0100

    bearers: base bearer creation in the new bearer properties object

 src/mm-bearer-3gpp.c      |  27 ++++++------
 src/mm-bearer-3gpp.h      |   5 +--
 src/mm-bearer.c           |  34 +++------------
 src/mm-bearer.h           |   6 +--
 src/mm-broadband-modem.c  |  11 +++--
 src/mm-iface-modem-3gpp.c |  70 ++++---------------------------
 src/mm-iface-modem-3gpp.h |  15 +++----
 src/mm-iface-modem.c      | 105
 +++++++++++++++++++++++++++++++++++++---------
 src/mm-iface-modem.h      |  11 ++++-
 9 files changed, 141 insertions(+), 143 deletions(-)

commit e08ce775c554ab2d4cba445cac93980273f2182a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 27 13:56:47 2011 +0100

    libmm-common: let the connection properties use bearer properties
    internally

    Removes lots of duplicated code.

 libmm-common/mm-common-bearer-properties.c  | 143 +++++++++------
 libmm-common/mm-common-bearer-properties.h  |  10 ++
 libmm-common/mm-common-connect-properties.c | 267
 +++++++++++-----------------
 libmm-common/mm-common-connect-properties.h |   5 +
 4 files changed, 206 insertions(+), 219 deletions(-)

commit 10a4360d83488c29abaf525ed22da20b937c9a78
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 27 12:11:09 2011 +0100

    bearer: provide reason of why connection is forbidden

 src/mm-bearer.c           | 67
 ++++++++++++++++++++++++++++++-----------------
 src/mm-bearer.h           | 19 +++++++++-----
 src/mm-iface-modem-3gpp.c | 48 +++++++++++++++++++++------------
 3 files changed, 87 insertions(+), 47 deletions(-)

commit 6cdc6a4f731b0b9afe959bc10bc7386ff6735607
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 27 11:23:41 2011 +0100

    cli: use the new properties handler object in bearer

 cli/mmcli-bearer.c |  31 ++++++-----
 cli/mmcli-modem.c  | 150
 ++++++++---------------------------------------------
 2 files changed, 39 insertions(+), 142 deletions(-)

commit fe7f71b67753a471b8119ccc5cad28d6ec8bf1f0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 27 10:51:23 2011 +0100

    libmm-common,libmm-glib: new object to handle bearer creation
    properties

 libmm-common/Makefile.am                   |   3 +
 libmm-common/libmm-common.h                |   1 +
 libmm-common/mm-common-bearer-properties.c | 368
 +++++++++++++++++++++++++++++
 libmm-common/mm-common-bearer-properties.h |  90 +++++++
 libmm-glib/Makefile.am                     |   2 +
 libmm-glib/mm-bearer-properties.c          | 173 ++++++++++++++
 libmm-glib/mm-bearer-properties.h          |  80 +++++++
 libmm-glib/mm-bearer.c                     | 169 +------------
 libmm-glib/mm-bearer.h                     |  28 +--
 libmm-glib/mm-modem.c                      |  71 ++----
 libmm-glib/mm-modem.h                      |  20 +-
 11 files changed, 750 insertions(+), 255 deletions(-)

commit 8ff310be28450c780e63d12aef0289da601d0fa6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 27 10:17:34 2011 +0100

    iface-modem-simple: use the new connect properties object

 src/mm-iface-modem-simple.c | 98
 ++++++++++++---------------------------------
 1 file changed, 26 insertions(+), 72 deletions(-)

commit 3c90793f225c697b4fef7da23fcac9bd47a34be2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 26 21:31:27 2011 +0100

    cli: use the new properties handler object in simple Connect()

 cli/mmcli-modem-simple.c | 130
 ++++-------------------------------------------
 1 file changed, 11 insertions(+), 119 deletions(-)

commit dcecb94631935584919c2cce6a814b78772ac0aa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 26 21:31:07 2011 +0100

    libmm-common,libmm-glib: new object to handle properties in simple
    Connect()

    Instead of using type unsafe properties passed to the connect()
    call, we build
    a new object which does the handling of the properties to be passed.

 .gitignore                                      |   4 +-
 libmm-common/Makefile.am                        |   3 +
 libmm-common/libmm-common.h                     |   1 +
 libmm-common/mm-common-connect-properties.c     | 580
 ++++++++++++++++++++++++
 libmm-common/mm-common-connect-properties.h     | 116 +++++
 libmm-common/mm-common-helpers.c                |  74 ++-
 libmm-common/mm-common-helpers.h                |   8 +-
 libmm-glib/Makefile.am                          |   2 +
 libmm-glib/mm-modem-simple-connect-properties.c | 123 +++++
 libmm-glib/mm-modem-simple-connect-properties.h |  71 +++
 libmm-glib/mm-modem-simple.c                    |  86 +---
 libmm-glib/mm-modem-simple.h                    |  21 +-
 12 files changed, 983 insertions(+), 106 deletions(-)

commit 034381250277751741f134123fc61c0c5405adea
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 26 21:29:18 2011 +0100

    libmm-common: new modes string parser

 libmm-common/mm-common-helpers.c | 38
 ++++++++++++++++++++++++++++++++++++++
 libmm-common/mm-common-helpers.h |  1 +
 2 files changed, 39 insertions(+)

commit 6cfccb14526a6b0fa27f680cb76d7bef165cd169
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 26 21:29:01 2011 +0100

    libmm-common,libmm-glib: new modes string builder

 libmm-common/mm-common-helpers.c | 40
 ++++++++++++++++++++++++++++++++++++++++
 libmm-common/mm-common-helpers.h |  1 +
 libmm-glib/mm-modem.c            | 14 ++++++++++++++
 libmm-glib/mm-modem.h            |  1 +
 4 files changed, 56 insertions(+)

commit aa3d98d0ff6ff75cdeb8106b7d9e1108eef4994e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 26 21:27:57 2011 +0100

    libmm-common: new bands string parser

 libmm-common/mm-common-helpers.c | 49
 ++++++++++++++++++++++++++++++++++++++++
 libmm-common/mm-common-helpers.h |  4 ++++
 2 files changed, 53 insertions(+)

commit d81d1d9d6a05e8c0024e887158c585c0c1540633
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 26 21:26:23 2011 +0100

    libmm-common: handle exact mask matches when building capabilities
    string

 libmm-common/mm-common-helpers.c | 34 +++++++++++++++++++++-------------
 1 file changed, 21 insertions(+), 13 deletions(-)

commit 9868d757c75f8d06ca435ae99bc8caa8f36a00ac
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 26 19:25:56 2011 +0100

    cli: print supported/allowed bands in modem info

 cli/mmcli-modem.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

commit 5e0df902721c251d6876e5ff3e509284a92676e6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 26 19:25:34 2011 +0100

    libmm-common, libmm-glib: new bands string builder

 libmm-common/mm-common-helpers.c | 32 ++++++++++++++++++++++++++++++++
 libmm-common/mm-common-helpers.h |  2 ++
 libmm-glib/mm-modem.c            | 16 ++++++++++++++++
 libmm-glib/mm-modem.h            |  2 ++
 4 files changed, 52 insertions(+)

commit b224f1889428780dc0656ed9fc60750c144a138e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 26 19:06:59 2011 +0100

    cli: modem options check always last, even when shutting down

 cli/mmcli.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 9d7e3de4cd7d607dc797b8b6adf93eb75a018b6e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 26 18:50:16 2011 +0100

    api: MMModemBand is now an enum, not flags

    We don't want to handle bands as flags, in order to avoid the need
    of 64-bits
    for the enum. This change implies that setting allowed bands will
    be done by
    giving an array of uint32 values, signature "au".

 cli/mmcli-modem-simple.c                           |   6 +-
 include/ModemManager-enums.h                       |  70 ++++++-------
 libmm-common/mm-common-helpers.c                   |  41 ++++++++
 libmm-common/mm-common-helpers.h                   |   5 +
 libmm-glib/mm-modem-simple.h                       |   2 +-
 libmm-glib/mm-modem.c                              |  59 +++++++----
 libmm-glib/mm-modem.h                              |  14 ++-
 new/org.freedesktop.ModemManager1.Modem.Simple.xml |  12 +--
 new/org.freedesktop.ModemManager1.Modem.xml        |  12 +--
 src/mm-iface-modem.c                               | 114
 +++++++++++++++++++--
 src/mm-iface-modem.h                               |  10 +-
 11 files changed, 258 insertions(+), 87 deletions(-)

commit a142a209eca617cd3cf4edc6436408e1e9c9f878
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Dec 24 19:53:31 2011 +0100

    broadband-modem: update registration state when disabling

 src/mm-broadband-modem.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 5c74c53354000968e55097a42631a202b935318b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 23 13:45:59 2011 +0100

    iface-modem: don't update access tech if it didn't change

 src/mm-iface-modem.c | 51
 +++++++++++++++++++++++++++++----------------------
 1 file changed, 29 insertions(+), 22 deletions(-)

commit 54d718efe51d4e19a6cda3c9f4bac92a4ed1496e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 23 13:13:57 2011 +0100

    broadband-modem: try to simplify 3GPP network registration

    When requesting to register in the network manually, we will poll
    every once
    in a while to check whether we got registered or not. We remove
    the registration
    timeout and we handle the case where it never gets registered by
    allowing a
    maximum number of registration checks in our request.

 src/mm-broadband-modem.c | 269
 ++++++++++++++++++++++-------------------------
 1 file changed, 128 insertions(+), 141 deletions(-)

commit 21d3aed12536509ca3694374a2dc5abad619e577
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 22 20:44:18 2011 +0100

    cli: implement actions from the Simple interface

 cli/Makefile.am          |   1 +
 cli/mmcli-modem-simple.c | 319
 +++++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli.c              |  11 ++
 cli/mmcli.h              |   8 ++
 4 files changed, 339 insertions(+)

commit 90b4323b8a5499ac6f18e99477778f9e9c4e20ee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 22 20:44:02 2011 +0100

    libmm-glib: handle the Simple interface

 libmm-glib/Makefile.am       |   2 +
 libmm-glib/mm-modem-simple.c | 265
 +++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-modem-simple.h |  79 +++++++++++++
 libmm-glib/mm-object.c       |  34 ++++++
 libmm-glib/mm-object.h       |   3 +
 5 files changed, 383 insertions(+)

commit ab9c7d90132ea685313eaba548f897832807614e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 22 20:43:19 2011 +0100

    iface-modem-simple: implement Connect()

 src/mm-iface-modem-simple.c | 401
 ++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 373 insertions(+), 28 deletions(-)

commit 4387fa183cc96c7d853bddbd339fe4fecab4cb8d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 22 20:42:50 2011 +0100

    broadband-modem: use new common method to check if modem is 3GPP

 src/mm-broadband-modem.c | 7 +------
 src/mm-modem-helpers.h   | 6 ++++++
 2 files changed, 7 insertions(+), 6 deletions(-)

commit 473ca46ad9fda23a8c3bd9a8124e337091aeaf39
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 22 20:41:39 2011 +0100

    iface-modem-3gpp: allow requesting to register internally, not just
    via DBus

 src/mm-iface-modem-3gpp.c | 59
 +++++++++++++++++++++++++++++++++++++++--------
 src/mm-iface-modem-3gpp.h |  9 ++++++++
 2 files changed, 59 insertions(+), 9 deletions(-)

commit c9c94211025dd65bfec43d43019ee9366d0ec721
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 22 20:41:11 2011 +0100

    iface-modem: allow setting allowed modes and bands internally,
    not just via DBus

 src/mm-iface-modem.c | 200
 +++++++++++++++++++++++++++++++++++++--------------
 src/mm-iface-modem.h |  22 ++++++
 2 files changed, 170 insertions(+), 52 deletions(-)

commit 937baa1a0a39aa21008224cd9c9f67b8b7f21653
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 22 20:39:57 2011 +0100

    sim: allow sending PIN code internally, not just via DBus

 src/mm-sim.c | 159
 ++++++++++++++++++++++++++++++++++++++++++-----------------
 src/mm-sim.h |  10 +++-
 2 files changed, 122 insertions(+), 47 deletions(-)

commit 0cb3be0618d30a1fb8c8bfd9cb47139221eb6522
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 22 20:39:27 2011 +0100

    api,dbus: let Connect() return just the bearer path

    Also renamed some of the properties that can be passed, trying to
    consolidate a
    common set of names.

 new/org.freedesktop.ModemManager1.Modem.Simple.xml | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

commit 8a636f6b16641ca90a5b87be412713cce15af45f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 21:55:44 2011 +0100

    broadband-modem: handle state checks during Enable() and Disable()

    Before it was done in the interface; but we should really be doing
    it in the
    implementation; so that mm_base_modem_enable()/disable() also has
    the state
    checks.

 src/mm-broadband-modem.c | 126
 +++++++++++++++++++++++++++++++++++++++-------
 src/mm-iface-modem.c     | 127
 ++++++-----------------------------------------
 2 files changed, 122 insertions(+), 131 deletions(-)

commit 9a80f5816568b52ee8e159e4b5775a02b3d095cf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 19:57:57 2011 +0100

    broadband-modem: implement the Simple interface

 src/mm-broadband-modem.c | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

commit 7ea8bf59fb1ed202320aa525c83d56e290d494fe
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 19:57:47 2011 +0100

    iface-modem-simple: new interface to handle the Simple interface

 src/Makefile.am             |   2 +
 src/mm-iface-modem-simple.c | 136
 ++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-simple.h |  43 ++++++++++++++
 3 files changed, 181 insertions(+)

commit ea934148304388f02435253f371c1af201f9116d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 19:52:03 2011 +0100

    broadband-modem: shutdown 3GPP interface when disposing

 src/mm-broadband-modem.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 88e8c4835b50c8967e3caa120b7cbc898a7875b7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 17:34:43 2011 +0100

    cli: implement SIM related actions

 cli/Makefile.am    |   3 +-
 cli/mmcli-common.c | 247 +++++++++++++++++++++++++---
 cli/mmcli-common.h |  14 ++
 cli/mmcli-modem.c  |  62 +++----
 cli/mmcli-sim.c    | 475
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli.c        |  13 +-
 cli/mmcli.h        |   8 +
 7 files changed, 762 insertions(+), 60 deletions(-)

commit 241c29491873d527ac44272cbf4214e955ec5be6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 15:27:10 2011 +0100

    cli: include 3GPP related stuff when printing modem info

 cli/mmcli-common.c | 13 +++++++++++++
 cli/mmcli-common.h |  1 +
 cli/mmcli-modem.c  | 19 +++++++++++++++++++
 3 files changed, 33 insertions(+)

commit 6583bd61e13e842ab6b016cb0947432f1e3aea26
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 15:16:07 2011 +0100

    cli: implement 3GPP related actions

 cli/Makefile.am        |   1 +
 cli/mmcli-common.c     |  13 +++
 cli/mmcli-common.h     |   9 +-
 cli/mmcli-modem-3gpp.c | 298
 +++++++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli.c            |  11 ++
 cli/mmcli.h            |   8 ++
 6 files changed, 336 insertions(+), 4 deletions(-)

commit 73ca5dcb24c131d3e3a99a89dcd6f1329c9d90f4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 15:15:28 2011 +0100

    cli: don't recheck group options if already done

 cli/mmcli-bearer.c  | 7 ++++++-
 cli/mmcli-manager.c | 7 ++++++-
 cli/mmcli-modem.c   | 7 ++++++-
 3 files changed, 18 insertions(+), 3 deletions(-)

commit 8fc2050e768157076dfa5445d52541904602e832
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 15:14:40 2011 +0100

    libmm-glib: provide a list of opaque structs with network info in
    scan reply

 libmm-glib/mm-modem-3gpp.c | 138
 +++++++++++++++++++++++++++++++++++++++++----
 libmm-glib/mm-modem-3gpp.h |  31 ++++++----
 2 files changed, 145 insertions(+), 24 deletions(-)

commit 6cce67a45103052b2adba360ba5d438923fa907c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 15:14:10 2011 +0100

    modem-helpers: MMModemAccessTechnology is flags, not enum

 src/mm-modem-helpers.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 16f2b7bdb8ffdb84e7bd142bde91c7670c63a3e7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 13:05:25 2011 +0100

    cli: specify common options in a new group

    Actions on modems from specific interfaces, like 3GPP, will also
    need the modem
    to be specified.

    The new 'Common' option group will handle all options to specify
    objects.

 cli/mmcli-bearer.c | 11 +++--------
 cli/mmcli-common.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli-common.h |  4 ++++
 cli/mmcli-modem.c  | 13 +++++--------
 cli/mmcli.c        |  3 +++
 5 files changed, 59 insertions(+), 16 deletions(-)

commit 265a516f42a0ff8d2b421aa199e54d779f0c153f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 12:27:14 2011 +0100

    cli: add debug logs when parsing properties to create a bearer

 cli/mmcli-modem.c | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

commit 9f960e986571ed4b17bc0fd3aa81bc2e82ecf5f2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 11:19:00 2011 +0100

    cli: print properties used when bearer was created

 cli/mmcli-bearer.c | 36 +++++++++++++++++++++++++++---------
 1 file changed, 27 insertions(+), 9 deletions(-)

commit 215b9c1a31e182cd34c792995e08b1ea56de5507
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 11:18:46 2011 +0100

    libmm-glib: allow getting properties used when the bearer was created

 libmm-glib/mm-bearer.c | 175
 +++++++++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-bearer.h |  24 +++++++
 2 files changed, 199 insertions(+)

commit a422f5619fbcc99dd1e14905ecad52583b168847
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 11:13:45 2011 +0100

    libmm-glib: generic warning if IP config dictionary has unexpected
    contents

 libmm-glib/mm-bearer.c | 44 +++++++++++++++-----------------------------
 libmm-glib/mm-bearer.h |  8 ++------
 2 files changed, 17 insertions(+), 35 deletions(-)

commit dcfe2e53901a2417c822a9d3558ede5174e2e4bc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 10:30:27 2011 +0100

    3gpp: control 3GPP bearer creation in the 3GPP modem interface

    And implement bearer connection allowance based on roaming status.

 src/mm-bearer-3gpp.c      |  57 --------------------
 src/mm-bearer-3gpp.h      |   4 +-
 src/mm-broadband-modem.c  |  40 +++++++-------
 src/mm-iface-modem-3gpp.c | 132
 ++++++++++++++++++++++++++++++++++++++--------
 src/mm-iface-modem-3gpp.h |  15 ++++++
 5 files changed, 144 insertions(+), 104 deletions(-)

commit 4c5244193278cbf3c0cd844152f6648c5cf598e0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 21 10:29:40 2011 +0100

    bearer-3gpp: provide getters for the properties

 src/mm-bearer-3gpp.c | 20 ++++++++++++++++++++
 src/mm-bearer-3gpp.h |  4 ++++
 2 files changed, 24 insertions(+)

commit 405f7c8660218d363bef10b7ae36b9374cd05b32
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 21:44:03 2011 +0100

    cli: allow passing the new 'allow-roaming' in the bearer creation
    string

 cli/mmcli-modem.c | 51
 ++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 36 insertions(+), 15 deletions(-)

commit 6f98da93100d3635b173edb1802678be03775c9e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 21:43:22 2011 +0100

    libmm-glib: handle new 'allow-roaming' property when creating bearers

 libmm-glib/mm-modem.c | 21 ++++++++++++++-------
 libmm-glib/mm-modem.h | 11 ++++++-----
 2 files changed, 20 insertions(+), 12 deletions(-)

commit e385b5b07972129488ad049224af807610cf3be7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 21:42:39 2011 +0100

    api,core: new 'allow-roaming' property to be set when creating
    a bearer

    This new boolean property, applicable to 3GPP bearers, will specify
    whether 3GPP
    bearers are allowed to get connected when registered in a roaming
    network.

 new/org.freedesktop.ModemManager1.Bearer.xml |  2 +-
 new/org.freedesktop.ModemManager1.Modem.xml  | 14 ++++---
 src/mm-bearer-3gpp.c                         | 59
 ++++++++++++++++++++++------
 src/mm-bearer-3gpp.h                         | 10 +++--
 src/mm-bearer.c                              | 19 ++++++---
 5 files changed, 74 insertions(+), 30 deletions(-)

commit fdd05ee977479206774627a38e57a002146787c6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 19:14:46 2011 +0100

    cli: on modem actions creating/listing bearers, just print bearer path

 cli/mmcli-modem.c | 78
 +++----------------------------------------------------
 1 file changed, 4 insertions(+), 74 deletions(-)

commit a7b414e8a9976c3030f8c0bf61be316c6230103c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 18:49:48 2011 +0100

    cli: report access technologies in use by the modem

 cli/mmcli-modem.c | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

commit 52c5f6051bb12800194023afdb2a01109c035a8e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 18:49:23 2011 +0100

    libmm-glib: new helper method to build a string with access
    technologies

 libmm-glib/mm-modem.c | 14 ++++++++++++++
 libmm-glib/mm-modem.h |  1 +
 2 files changed, 15 insertions(+)

commit 4495ba180e9d39ff8ae113387cc69eb3004b5612
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 18:48:54 2011 +0100

    core: implement Access Technology reporting

    For 3GPP modems only for now..

 libmm-common/mm-common-helpers.c | 39
 +++++++++++++++++++++++++++++++++++++++
 libmm-common/mm-common-helpers.h |  1 +
 src/mm-broadband-modem.c         | 11 +++++++----
 src/mm-iface-modem-3gpp.c        | 26 ++++++++++++++++++++++++--
 src/mm-iface-modem-3gpp.h        |  3 ++-
 src/mm-iface-modem.c             | 37
 +++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h             |  5 +++++
 7 files changed, 115 insertions(+), 7 deletions(-)

commit 516b0973318fa9cc4e928e1d47f5a40105d382b6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 18:43:43 2011 +0100

    api,enums: renamed `MMModemAccessTech' to `MMModemAccessTechnology'

    This one was the last enum without full name.

 docs/reference/api/mm-sections.txt                 |   2 +-
 include/ModemManager-enums.h                       |  70 ++++----
 libmm-glib/mm-modem.c                              |   8 +-
 libmm-glib/mm-modem.h                              |   2 +-
 ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml |   4 +-
 new/org.freedesktop.ModemManager1.Modem.Simple.xml |   2 +-
 new/org.freedesktop.ModemManager1.Modem.xml        |   4 +-
 src/mm-broadband-modem.c                           |   4 +-
 src/mm-iface-modem-3gpp.c                          |   2 +-
 src/mm-iface-modem.c                               |   2 +-
 src/mm-modem-helpers.c                             |  30 ++--
 src/mm-modem-helpers.h                             |   4 +-
 src/tests/test-modem-helpers.c                     | 198
 ++++++++++-----------
 13 files changed, 166 insertions(+), 166 deletions(-)

commit b6a3ccd5781da0d2d2dbfa404a3c643ae9e8bf13
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 18:34:06 2011 +0100

    modem-helpers: renamed 3GPP registration related helpers with
    `mm_3gpp' prefix

 src/mm-base-modem.c            |  4 ++--
 src/mm-broadband-modem.c       | 40
 ++++++++++++++++++++--------------------
 src/mm-modem-helpers.c         | 18 +++++++++---------
 src/mm-modem-helpers.h         | 20 +++++++++-----------
 src/tests/test-modem-helpers.c | 10 +++++-----
 5 files changed, 45 insertions(+), 47 deletions(-)

commit e2e0812272828a1f374233522972f19ca247a2e2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 18:32:02 2011 +0100

    api,dbus: renamed `AccessTechnology' to `AccessTechnologies'

    We are reporting a bitmask of flags, not just one value.

 libmm-glib/mm-modem.c                       |  4 ++--
 libmm-glib/mm-modem.h                       |  2 +-
 new/org.freedesktop.ModemManager1.Modem.xml | 10 +++++-----
 src/mm-iface-modem.c                        |  2 +-
 4 files changed, 9 insertions(+), 9 deletions(-)

commit ff60251733c9fb5001071c9834839c44a48ef066
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 18:29:42 2011 +0100

    api,enums: let MMModemAccessTech be flags instead of enum

    We should be able to report more than one access technology used at
    a given
    time.

 include/ModemManager-enums.h | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

commit e86c8554cc60f8349cd121a3b5b46b0b800a8f04
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 16:05:40 2011 +0100

    broadband-modem: bearer connection allowance handled in ifaces

 src/mm-broadband-modem.c  | 14 --------------
 src/mm-iface-modem-3gpp.c |  1 +
 2 files changed, 1 insertion(+), 14 deletions(-)

commit ddac446e86319156eb520da159d2a661047afd4e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 16:04:24 2011 +0100

    iface-modem-3gpp: disable periodic registration checks

 src/mm-iface-modem-3gpp.c | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)

commit 4b27149cf4170d92a5ae91d3f36107270695828c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 15:02:33 2011 +0100

    iface-modem-3gpp: when disabling, disconnect all 3GPP bearers

 src/mm-iface-modem-3gpp.c | 134
 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 134 insertions(+)

commit 855824d7da3604e53723e6df428dc55f4f686564
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 15:02:16 2011 +0100

    bearer: allow disconnection also with internal requests

 src/mm-bearer.c | 87
 ++++++++++++++++++++++++++++++++++++++++++++-------------
 src/mm-bearer.h |  7 +++++
 2 files changed, 75 insertions(+), 19 deletions(-)

commit ee9cbbfcfb5b77d84f0c096317dc268226149a42
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 13:57:11 2011 +0100

    bearer,bearer-3gpp: implement connection request cancellation

    We allow connection requests to get cancelled, either via DBus calls
    or any
    other method.

 src/mm-bearer-3gpp.c |  54 ++++++++++++
 src/mm-bearer.c      | 228
 +++++++++++++++++++++++++++++++++++++++++++++------
 src/mm-bearer.h      |   1 +
 3 files changed, 256 insertions(+), 27 deletions(-)

commit 96defb4cd2ca24e8b76e63c1f74d14b3abcd6d3a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 13:55:54 2011 +0100

    iface-modem-3gpp: if we get unregistered ensure we have disconnected
    3GPP bearers

    It is actually very likely that we get automatically the bearer
    disconnected when
    we get unregistered in the network, but anyway.

 src/mm-iface-modem-3gpp.c | 57
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

commit e71a9ef971119e342afffaa9867f6011f9e9ce5a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 10:45:54 2011 +0100

    iface-modem: handle connection related states

    Moved from broadband-modem. All this logic is really common not
    specific to the
    generic implementation.

 src/mm-broadband-modem.c | 61 ----------------------------------------
 src/mm-iface-modem.c     | 72
 ++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 70 insertions(+), 63 deletions(-)

commit dd2006797565dce831d5e9fd891ac1bd75fa0a75
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Dec 20 10:34:36 2011 +0100

    iface-modem: while connected, ignore registration state changes

 src/mm-iface-modem-3gpp.c |  4 ----
 src/mm-iface-modem.c      | 33 ++++++++++++++++++++++++++++++++-
 2 files changed, 32 insertions(+), 5 deletions(-)

commit 534aeb0c8ac83126048353b8f30128cd6f1cd92a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 20:40:54 2011 +0100

    cli: always keep a MMManager around

    In order to receive signals in the GDBusObjects retrieved from the
    GDBusObjectManagerClient, we need to keep a reference of the client
    around.

 cli/mmcli-bearer.c |  15 +++++-
 cli/mmcli-common.c | 146
 ++++++++++++++++++++++++++++++++++++++---------------
 cli/mmcli-common.h |  14 +++--
 cli/mmcli-modem.c  |  11 ++--
 4 files changed, 134 insertions(+), 52 deletions(-)

commit cd6caf61061e18736ecf0ddd4834c1ad1fbcb7c2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 19:05:18 2011 +0100

    broadband-modem: handle connection related states in the modem

    As a modem can have more than one bearer, the mapping between the
    bearer state
    and the modem state is not direct.

 src/mm-broadband-modem.c | 61
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

commit 9962f5cbde7e16a93897846a209d990b362b6942
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 18:42:49 2011 +0100

    bearer: new `bearer-state' property

 .gitignore      |  2 ++
 src/Makefile.am | 18 ++++++++++++++++++
 src/mm-bearer.c | 56
 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 src/mm-bearer.h | 10 ++++++++++
 4 files changed, 82 insertions(+), 4 deletions(-)

commit cadc27ca0ee20fd312a73751a298c4227e753036
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 18:20:12 2011 +0100

    core,libmm-glib: include ony `libmm-common.h'

    Don't include one by one all the headers from libmm-common, just
    include the
    global `libmm-common.h' which includes all the others.

 libmm-glib/libmm-glib.h   | 7 +++++--
 src/mm-bearer-3gpp.c      | 4 +---
 src/mm-bearer-list.c      | 4 +---
 src/mm-bearer.c           | 5 +----
 src/mm-broadband-modem.c  | 4 +---
 src/mm-iface-modem-3gpp.c | 5 +----
 src/mm-iface-modem.c      | 6 +-----
 src/mm-modem-helpers.c    | 3 +--
 src/mm-sim.c              | 6 +-----
 9 files changed, 13 insertions(+), 31 deletions(-)

commit 60819197441e191c662f93da2691c4cb1a13385e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 18:08:24 2011 +0100

    libmm-common: make it installable

    We'll install libmm-common and its headers, which will be used
    by libmm-glib
    and the ModemManager daemon.

 cli/Makefile.am             |  1 +
 configure.ac                |  6 +++++-
 libmm-common/Makefile.am    | 21 ++++++++++++++++++---
 libmm-common/libmm-common.h | 34 ++++++++++++++++++++++++++++++++++
 4 files changed, 58 insertions(+), 4 deletions(-)

commit d22def9309d4051ebd82b76f6704f65ad39d98b5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 17:24:33 2011 +0100

    build: let enum and error templates be completely generic

    Don't include anything in the templates specific to the file to be
    built, like
    #ifdef guards in headers or #include in sources.

 build-aux/Makefile.am                              |  8 ++++----
 ...-enums-types.c.template => mm-enums-template.c} |  2 --
 ...-enums-types.h.template => mm-enums-template.h} |  3 ---
 ...rrors-types.c.template => mm-errors-template.c} |  3 ---
 ...rrors-types.h.template => mm-errors-template.h} |  6 +-----
 libmm-common/Makefile.am                           | 22
 ++++++++++++++--------
 6 files changed, 19 insertions(+), 25 deletions(-)

commit 4b8b99ee96f16e3f2d623cb896a4d1bf7f12820f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 16:25:31 2011 +0100

    bearer-3gpp: set ip method when connecting the bearer

    Currently, assume PPP when we have an AT data port, and DHCP
    otherwise.

 src/mm-bearer-3gpp.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit 85b14b0008f217c3124e381c998fcf7ead6d999b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 14:57:44 2011 +0100

    cli: new Bearer related options

 cli/Makefile.am    |   6 +-
 cli/mmcli-bearer.c | 353
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli.c        |  11 ++
 cli/mmcli.h        |   8 ++
 4 files changed, 374 insertions(+), 4 deletions(-)

commit 9e1b2105fb9b7454774a0414fa3f5958d79e8211
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 14:05:59 2011 +0100

    cli: default to showing modem info if no action specified

 cli/mmcli-modem.c | 17 +++++++++--------
 cli/mmcli.c       |  5 ++++-
 2 files changed, 13 insertions(+), 9 deletions(-)

commit c2e4d9cea709d8175e475359a2a611d3b3dcf0e4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 13:03:48 2011 +0100

    cli: new helper to look for specific MMBearer objects

 cli/mmcli-common.c | 196
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli-common.h |   9 +++
 2 files changed, 205 insertions(+)

commit 803bc339cf5698040c5db76886398febc6e624e7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 12:29:40 2011 +0100

    cli: implement bearer creating and listing based on the new MMBearer

 cli/mmcli-modem.c | 126
 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 102 insertions(+), 24 deletions(-)

commit 0dec4b447e40031b415151c7fe41a6b5e2e0099c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 12:29:12 2011 +0100

    cli: don't unref cancellable if already done

 cli/mmcli.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 55654d5b462f59ec5d6d77de759a1b7012f3d5c6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 12:28:49 2011 +0100

    cli: new helper to get name of MMBearerIpMethod

 cli/mmcli-common.c | 13 +++++++++++++
 cli/mmcli-common.h |  7 ++++---
 2 files changed, 17 insertions(+), 3 deletions(-)

commit dae3f9570422fd14f630fa1c060bc26e0f27481c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 11:59:16 2011 +0100

    libmm-glib: get a list of MMBearer objects when listing bearers in
    the MMModem

 libmm-glib/mm-modem.c | 222
 ++++++++++++++++++++++++++++++++++++++++----------
 libmm-glib/mm-modem.h |   4 +-
 2 files changed, 181 insertions(+), 45 deletions(-)

commit c6d7fb893afa1ff10cc732105618070ad38bb488
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 10:06:27 2011 +0100

    libmm-glib: get the MMBearer object when creating it in the MMModem

 libmm-glib/mm-modem.c | 166
 +++++++++++++++++++++++++++++++++++++-------------
 libmm-glib/mm-modem.h |  29 ++++-----
 2 files changed, 139 insertions(+), 56 deletions(-)

commit dad4bb3493d0eca6bc629a350d772bdbb4ef0837
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 19 10:05:32 2011 +0100

    libmm-glib: new MMBearer object

 libmm-glib/Makefile.am |   4 +-
 libmm-glib/mm-bearer.c | 545
 +++++++++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-bearer.h |  96 +++++++++
 3 files changed, 644 insertions(+), 1 deletion(-)

commit b7960f82acce3093d47f1330a00405be9c25443b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 15 22:10:21 2011 +0100

    manager: don't try to export already exported modems

 src/mm-manager.c | 42 ++++++++++++++++++++++++++----------------
 1 file changed, 26 insertions(+), 16 deletions(-)

commit 7e99d9415bafa0cfba8f9260354c9b3b5ae31b14
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 15 21:28:33 2011 +0100

    broadband-modem: allow 3GPP bearer connection if registered in
    3GPP network

 src/mm-broadband-modem.c | 53
 ++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 42 insertions(+), 11 deletions(-)

commit 770ea5310987f89154b7cf14eed900bcecd0ca28
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 15 21:28:09 2011 +0100

    bearer: fail connecting try if not allowed to connect

 src/mm-bearer.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit 3d1d4c42e5a2774251a88f8a01bfe5a964f0824f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 15 21:27:36 2011 +0100

    bearer-list: allow iterating over the bearers in the list

 src/mm-bearer-list.c | 10 ++++++++++
 src/mm-bearer-list.h |  6 ++++++
 2 files changed, 16 insertions(+)

commit 00b2e2d2dd72e920fae5b1d6f12a4158a775d604
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 15 20:41:49 2011 +0100

    bearer: new property to define whether the bearer is allowed to
    connect

    Modems will allow bearers to get connected once they are registered
    in the
    network.

 src/mm-bearer.c | 32 +++++++++++++++++++++++++++++++-
 src/mm-bearer.h | 10 +++++++---
 2 files changed, 38 insertions(+), 4 deletions(-)

commit 48f0061355780dfb6ebc61c0df94abd338872846
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 15 20:25:48 2011 +0100

    bearer-3gpp: implement 3GPP-specific bearer

    Implement basic functionality of a 3GPP based bearer, including
    connnection and
    disconnection.

 src/Makefile.am          |   2 +
 src/mm-bearer-3gpp.c     | 869
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-bearer-3gpp.h     |  63 ++++
 src/mm-bearer.c          | 305 +++++------------
 src/mm-bearer.h          |  35 +-
 src/mm-broadband-modem.c |  12 +-
 6 files changed, 1041 insertions(+), 245 deletions(-)

commit c855e5be2da80bdb3b6226073d8782a7154945fa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 15 20:24:19 2011 +0100

    iface-modem: minor fix, remove unneeded variables in the
    initialization context

 src/mm-iface-modem.c | 2 --
 1 file changed, 2 deletions(-)

commit c133c3284d03afb537c6467fc322d8174eb91fb4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 15 20:23:35 2011 +0100

    base-modem: allow retrieving non-connected data ports

    Bearers will ask for data ports that can be used for
    connections. Right now,
    only one data port is expected to be handled, but we don't impose any
    restriction in the API.

 src/mm-base-modem.c | 16 +++++++++++++---
 src/mm-base-modem.h |  1 +
 2 files changed, 14 insertions(+), 3 deletions(-)

commit 88077cbbe83a8d6beaed92a3277cab3ba0e429d3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 15 20:21:57 2011 +0100

    iface-modem: treat several SIM related errors as fatal

    If the SIM is not inserted or the modem reports SIM failures, just
    abort the
    initialization process. We don't want to export modems which cannot
    be used.

    I know at least of one modem (wavecom) which supports SIM insertion
    while
    connected, but being such a corner case, probably not worth
    supporting it.

 src/mm-iface-modem.c | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

commit 5f4655c57415e5fe28581fbe6e29f334d1517c17
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 15 19:57:18 2011 +0100

    helpers: implement CGDCONT reply parsing

    New method to parse the PDP query reply, and build a list of structs
    with the
    found info.

 src/mm-modem-helpers.c         | 77
 ++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         | 12 ++++++-
 src/tests/test-modem-helpers.c | 53 +++++++++++++++++++++++++++++
 3 files changed, 141 insertions(+), 1 deletion(-)

commit d7f4a5e134d5bb2e02d29e1b9cfbed1bf9261d39
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 12 20:38:17 2011 +0100

    bearer: populate Properties used when creating the Bearer

 src/mm-bearer.c | 2 ++
 1 file changed, 2 insertions(+)

commit 473f45cc99c0475c13de095dec1ca282ced02a11
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 12 20:37:40 2011 +0100

    api: expose in the Bearer the dict of properties used when creating it

 new/org.freedesktop.ModemManager1.Bearer.xml | 7 +++++++
 1 file changed, 7 insertions(+)

commit 776cc66e2c8cd366a9179d66cd193a1ea09a76ea
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 12 20:22:51 2011 +0100

    iface-modem: implement all bearer list operations in the interface

    Bearer list operations, except for Bearer creation, are so generic
    that the
    interface itself can implement it for every object implementing
    the interface.
    This implementation is based on a new MMBearerList object.

 src/Makefile.am          |   2 +
 src/mm-bearer-list.c     | 264
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-bearer-list.h     |  68 ++++++++++++
 src/mm-broadband-modem.c | 148 ++++----------------------
 src/mm-iface-modem.c     | 218 +++++++++++++++++++-------------------
 src/mm-iface-modem.h     |  42 +-------
 6 files changed, 468 insertions(+), 274 deletions(-)

commit 0793522d287ffd8d37886d927645743d0fec77a0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 12 20:18:05 2011 +0100

    errors: new TOO_MANY and NOT_FOUND core errors

 include/ModemManager-errors.h   | 4 ++++
 libmm-common/mm-errors-quarks.c | 2 ++
 2 files changed, 6 insertions(+)

commit 667e3edfbd62d4b2f9ceb90eaaf38571441eaf36
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 12 17:54:14 2011 +0100

    bearer: ensure only valid bearers are exported

    We setup bearer export in DBus only if the input properties are
    the expected
    ones.

 src/mm-bearer.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

commit e00d3127d5589dd1ae72e87f4330ce7502ea0921
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Dec 11 19:48:29 2011 +0100

    cli: implement bearer creation, deletion and listing

 cli/mmcli-modem.c | 281
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 281 insertions(+)

commit 6a07753ba0647336503b129980054597db5958f2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Dec 11 19:48:08 2011 +0100

    libmm-glib: handle bearer creation, deletion and listing

 libmm-glib/mm-modem.c | 235
 ++++++++++++++++++++++++++++++++++++++++++++------
 libmm-glib/mm-modem.h |  33 +++++--
 2 files changed, 235 insertions(+), 33 deletions(-)

commit 82693cf523456058f03a06d6e9e449e1df7caac2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 9 19:10:08 2011 +0100

    cli: enable printing modem info

 cli/mmcli-common.c |  13 +++
 cli/mmcli-common.h |   1 +
 cli/mmcli-modem.c  | 329
 +++++++++++++++++++++++------------------------------
 3 files changed, 156 insertions(+), 187 deletions(-)

commit 46248460156fd8d558372df3c1a06f9d06aad15e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 9 18:54:13 2011 +0100

    libmm-glib: return NULL instead of empty strings

 libmm-glib/Makefile.am     |  1 +
 libmm-glib/mm-helpers.h    | 45 +++++++++++++++++++++++++++++++++++
 libmm-glib/mm-modem-3gpp.c | 25 +++++++++++++-------
 libmm-glib/mm-modem.c      | 59
 ++++++++++++++++++++++++++++++----------------
 libmm-glib/mm-sim.c        | 25 +++++++++++++-------
 5 files changed, 118 insertions(+), 37 deletions(-)

commit 62469445101babdff53d238e602d7e988dbaa0cb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 9 17:58:20 2011 +0100

    cli: allow option groups to force async/sync operations

    Some operations are clearly asynchronous (e.g. monitoring modem
    state), while
    others are clearly synchronous (e.g. printing modem info). So just
    allow option
    groups to force the operation to be async or sync based on the
    detected action.

 cli/mmcli-manager.c |  3 +++
 cli/mmcli-modem.c   | 24 ++++++++++--------------
 cli/mmcli.c         | 35 ++++++++++++++++++++++++-----------
 cli/mmcli.h         |  4 +++-
 4 files changed, 40 insertions(+), 26 deletions(-)

commit ec8da67921c648dbe2e3b82c2392f7196229c914
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 9 17:27:56 2011 +0100

    libmm-glib: new API method to build a string of capabilities from
    a bitmask

 libmm-glib/mm-modem.c | 16 ++++++++++++++++
 libmm-glib/mm-modem.h |  4 +++-
 2 files changed, 19 insertions(+), 1 deletion(-)

commit 4d594c50e8d9e286300e048b700c86b9a49c590b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 9 17:27:21 2011 +0100

    libmm-common: capabilities string builder moved from core

    Keep in libmm-common the capabilities string builder.

 libmm-common/Makefile.am         |  4 +++-
 libmm-common/mm-common-helpers.c | 50
 ++++++++++++++++++++++++++++++++++++++++
 libmm-common/mm-common-helpers.h | 24 +++++++++++++++++++
 src/mm-broadband-modem.c         | 34 ++-------------------------
 4 files changed, 79 insertions(+), 33 deletions(-)

commit 038448312169d72a9e72b266998f52314d291694
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 9 16:45:34 2011 +0100

    nokia: start porting the Nokia plugin to the new codebase

 plugins/Makefile.am                |  23 ++--
 plugins/mm-broadband-modem-nokia.c | 135 +++++++++++++++++++++
 plugins/mm-broadband-modem-nokia.h |  49 ++++++++
 plugins/mm-plugin-nokia.c          | 237
 ++++++++++++++-----------------------
 4 files changed, 288 insertions(+), 156 deletions(-)

commit 88cc35b850de43ce5068495324f163e7326f642a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 9 16:44:58 2011 +0100

    cinterion: ignore non-AT ports

 plugins/mm-plugin-cinterion.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

commit 68b0ac6e197649900e05ee53467699de12ba4809
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 9 16:44:19 2011 +0100

    broadband-modem: by default only send init command once

    Will handle sending it twice only for Nokia phones.

 src/mm-broadband-modem.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

commit c15181ae37a7ef9a4ae6e95c3bc3372b1a9d740b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 9 16:43:42 2011 +0100

    port-probe: always complete probing task in idle

 src/mm-port-probe.c | 26 ++++++--------------------
 1 file changed, 6 insertions(+), 20 deletions(-)

commit ed83d540873a8818fe4b28a859740eb1665e40cf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 9 16:43:25 2011 +0100

    port-probe: plug small leak when reporting error in AT command
    response

 src/mm-port-probe.c | 1 +
 1 file changed, 1 insertion(+)

commit 6a3e91ee836cb5145485468e0f0f281a08742c84
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 9 15:45:26 2011 +0100

    cli: use the new libmm-glib API fixes

 cli/mmcli-common.c  |  48 +++++++++++++++++-----
 cli/mmcli-common.h  |  19 +++++----
 cli/mmcli-manager.c |  14 +++----
 cli/mmcli-modem.c   | 114
 +++++++++++++++-------------------------------------
 4 files changed, 90 insertions(+), 105 deletions(-)

commit 7acacbbfd76bb59f0e0b370b66cb283ddeb5bbd4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 9 15:44:56 2011 +0100

    libmm-glib: simplify handling of interfaces

    Avoid trying to merge all interfaces into the same set of APIs,
    and keep having
    a specific object (proxy) for each interface handled by the
    GDBusObjects
    reported listed by the GDBusObjectManager.

 libmm-glib/Makefile.am     |   4 +
 libmm-glib/libmm-glib.h    |   6 +-
 libmm-glib/mm-modem-3gpp.c | 302 ++++++++++++++++++
 libmm-glib/mm-modem-3gpp.h |  77 +++++
 libmm-glib/mm-modem.c      | 768
 ++++++++++++++++++++-------------------------
 libmm-glib/mm-modem.h      |  12 +-
 libmm-glib/mm-object.c     | 129 ++++++++
 libmm-glib/mm-object.h     |  50 +++
 8 files changed, 916 insertions(+), 432 deletions(-)

commit 838f38ec8c9561dcb5305617d665bc11258af953
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 9 15:42:57 2011 +0100

    api: minor fixes in `OperatorCode' and `OperatorName' documentation

 new/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

commit 92cb17be4d05e85dc375801a578fa517c0b00b61
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 20:44:57 2011 +0100

    cli: fix sync operations, initialize context

 cli/mmcli-modem.c | 2 ++
 1 file changed, 2 insertions(+)

commit 77ff2758b3c377f326e49f92abf959a5be33a55d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 20:44:36 2011 +0100

    cli: logging improvements

 cli/mmcli-common.c  |  4 ++--
 cli/mmcli-manager.c | 29 +++++++++++++++++++----------
 cli/mmcli-modem.c   |  8 ++++++++
 3 files changed, 29 insertions(+), 12 deletions(-)

commit 95675e3e54ffcd06d5c6b0c7cf5ca7b9b5cc9fc0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 20:41:39 2011 +0100

    libmm-glib: fix macro implementing async ready callbacks

 libmm-glib/mm-modem.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 85a542b5c86ea06b01c629995f23dd1e32f2a0e0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 20:11:04 2011 +0100

    cli: new `--verbose' to dump debug logging

 cli/mmcli.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 46 insertions(+), 1 deletion(-)

commit e1cba4a53365753aa1ecadd06b369b2a43765037
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 12:25:53 2011 +0100

    broadband-modem: implement bearer creation, deletion and listing

    Currently do not limit the number of bearers that can be created.

 src/mm-broadband-modem.c | 183
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 183 insertions(+)

commit 4f4bb6b54bfd8c0f1f1bed60127fe5d4d5c9af69
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 12:25:11 2011 +0100

    bearer: fix object export/unexport

 src/mm-bearer.c | 28 ++++++++++++++++++++++------
 src/mm-bearer.h |  6 +++++-
 2 files changed, 27 insertions(+), 7 deletions(-)

commit a7acdcd071df69cbeecb9afa122c6b1b3aa1ae9f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 12:09:33 2011 +0100

    sim: only unexport object if currently exported

    Avoid trying to unexport the object if it was never exported before.

 src/mm-sim.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 7030bbc5866fc800c6a99ff921c42f81c805f759
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 12:01:08 2011 +0100

    iface-modem-3gpp: bind connection property right away

 src/mm-iface-modem-3gpp.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 8725fe5346b062f85ad97dd1af617641dab0b656
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 12:00:57 2011 +0100

    iface-modem: bind connection property right away

 src/mm-iface-modem.c | 18 +++---------------
 1 file changed, 3 insertions(+), 15 deletions(-)

commit ad1c7d8dec96e7a666db22e93abd1dff052111a3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 12:00:41 2011 +0100

    sim: bind connection property right away

 src/mm-sim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b435012eb123273814e0aa61851844e749eb7a12
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 11:47:24 2011 +0100

    sim: make sure we unexport the SIM object when destroying it

    Usually, if not always, the connection stored in the SIM object
    never exists
    when disposing it, as we clear the connection property in the
    Modem object
    before destroying it, and both properties are bound. But just in case,
    in order
    to avoid ending up with a zombie object in DBus, we make sure we
    unexport it.

 src/mm-sim.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit a2f0814fc54d1e71351463754b9125fcc30b9bdb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 09:56:55 2011 +0100

    bearer: keep properties given as input, and avoid async creation

    No need to create this object asynchronously.

 src/mm-bearer.c | 272
 +++++++++++++++++++++++++++++++++++++++++++-------------
 src/mm-bearer.h |  19 ++--
 2 files changed, 224 insertions(+), 67 deletions(-)

commit 3dcdc3c9207f5c08fd1d2265de023d3ec0c55cf9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 09:55:39 2011 +0100

    modem-helpers: new helper to count number of bits set in a bitmask

 src/mm-modem-helpers.c | 10 ++++++++++
 src/mm-modem-helpers.h |  2 ++
 2 files changed, 12 insertions(+)

commit a181b152a1f50ea8f6ab6a85b6edc1c3ab4c3292
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 09:55:04 2011 +0100

    api: when creating new bearer, use dict of strings

    Changed the signature of the 'properties' input argument in the
    CreateBearer()
    DBus call from a{sv} to a{ss}. We'll only expect string values.

 new/org.freedesktop.ModemManager1.Modem.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 36fae5564b68e06368ece484911da0b85632e327
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 08:21:42 2011 +0100

    bearer: new object to handle bearers, implements the Bearer DBus
    interface

 src/Makefile.am |   2 +
 src/mm-bearer.c | 327
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-bearer.h |  61 +++++++++++
 3 files changed, 390 insertions(+)

commit 3164f5512d1af3c04465b5f2159728a64544f6d6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 2 08:05:03 2011 +0100

    sim: plug memleak, free path on finalize()

 src/mm-sim.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 71bf6b0048538912fd88d2b19b05cc09f70a23b2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 1 21:23:45 2011 +0100

    cinterion: start porting features from the old implementation

    Currently ported:
     * Power Down
     * Flow control
     * After power up setup:
       ** Available functionality status
       ** Supported networks

 plugins/mm-broadband-modem-cinterion.c | 230
 ++++++++++++++++++++++++++++++++-
 1 file changed, 226 insertions(+), 4 deletions(-)

commit c345f5fe6361f7659c93c31502fbcbced32c99a9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 1 20:20:26 2011 +0100

    cinterion: re-enabled Cinterion plugin

    Just dummy plugin for now.

 plugins/Makefile.am                    |  36 +++---
 plugins/mm-broadband-modem-cinterion.c |  83 +++++++++++++
 plugins/mm-broadband-modem-cinterion.h |  51 ++++++++
 plugins/mm-plugin-cinterion.c          | 218
 ++++++++-------------------------
 plugins/mm-plugin-cinterion.h          |   1 -
 5 files changed, 206 insertions(+), 183 deletions(-)

commit 0c64e08f853ad01cd4e459c4f57e9d8469b20286
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 1 19:41:18 2011 +0100

    error-helpers: small refactor

 src/mm-error-helpers.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

commit fb90f205d1345a9dd3f9a3007a534f043a32952d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 1 19:40:07 2011 +0100

    core: port to use the new AT command/sequences in the MMBaseModem API

 src/Makefile.am          |    2 -
 src/mm-at.c              |  258 ----------
 src/mm-at.h              |   90 ----
 src/mm-broadband-modem.c | 1273
 +++++++++++++++++++---------------------------
 src/mm-iface-modem.c     |    2 +-
 src/mm-sim.c             |  537 +++++++++----------
 6 files changed, 762 insertions(+), 1400 deletions(-)

commit 52db9b9035f1a39b3d38a6df8c5aea996b653c42
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 1 13:11:56 2011 +0100

    base-modem-at: refactor AT sequence/command handling

    Make a tight connection between the action of sending AT commands,
    either single
    or in a sequence, with the MMBaseModem object owning the port. This
    direct
    relation allows sending commands without specifying which port to use,
    so that
    the modem object can get the best port at each time, and handling
    all that in a
    single common place.

    The original mm-at API has also been modified so that when a single
    command is
    sent, a constant string is returned. We are allowed to return
    constant strings
    in mm_base_modem_at_command_finish() because the string itself is
    owned by the
    GSimpleAsyncResult, and hence, alive enough time. The
    GSimpleAsyncResult is
    completely disposed only after the async call is fully completed.

    Same reasoning behind the GVariant returned in the AT sequences;
    it should not
    be owned by the caller, it's a transfer-none in introspection terms.

 src/Makefile.am        |   2 +
 src/mm-base-modem-at.c | 561
 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-base-modem-at.h | 152 ++++++++++++++
 3 files changed, 715 insertions(+)

commit 7b12da9169cca545af1d8295859160551ad13d7f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Dec 1 13:13:19 2011 +0100

    errors: new MM_CORE_ERROR_CONNECTED error

    To be returned when we try to send an AT command to a modem, but
    there is no
    usable AT port available, as the primary port is connected (hence
    the name)
    and there is no secondary port.

 include/ModemManager-errors.h   | 2 ++
 libmm-common/mm-errors-quarks.c | 1 +
 2 files changed, 3 insertions(+)

commit 2be2288754e3852f4b437d7aa6f43c43d6464c74
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 18:22:22 2011 +0100

    iface-modem: handle CreateBearer(), DeleteBearer() and ListBearers()

    Just pass the task to the specific underlying implementation.

 src/mm-iface-modem.c | 98
 ++++++++++++++++++++++++++++++++++++++++++++++++----
 src/mm-iface-modem.h | 27 +++++++++++++++
 2 files changed, 119 insertions(+), 6 deletions(-)

commit 6549c23db885f3b3003955f604734af34e2cc87b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 16:44:14 2011 +0100

    broadband-modem: implement cleaning up CS and PS registrations

 src/mm-broadband-modem.c | 122
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 122 insertions(+)

commit 1e026fe98619749112958d5ac5b7b243ef6aee7a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 16:28:44 2011 +0100

    iface-modem-3gpp: cleanup CS and PS registrations during disable

 src/mm-iface-modem-3gpp.c | 30 ++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h | 16 ++++++++++++++++
 2 files changed, 46 insertions(+)

commit e3117333d91bcaa213308de8b655b4980cfaa362
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 16:07:36 2011 +0100

    broadband-modem: implement cleaning up unsolicited registration
    message handlers

 src/mm-broadband-modem.c | 59
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

commit 029902312da0e0593111f71093fe63bf084c1a02
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 16:02:25 2011 +0100

    iface-modem-3gpp: cleanup unsolicited registration messages during
    disable

 src/mm-iface-modem-3gpp.c | 36 ++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h |  8 ++++++++
 2 files changed, 44 insertions(+)

commit 289057bf92406d40342574eb5a88f2af9796d1aa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 15:57:22 2011 +0100

    iface-modem: don't flash port during disable

    At least just for now. Flashing should be done as part of the
    disconnection.

 src/mm-iface-modem.c | 56
 ++++++++++++++++++++++++++--------------------------
 1 file changed, 28 insertions(+), 28 deletions(-)

commit a170c0841d260c368a13f20f2e6c82a5adbdeaff
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 15:39:12 2011 +0100

    broadband-modem: setup steps when disabling the modem

    Include disabling the Modem and 3GPP interfaces for now.

 src/mm-broadband-modem.c | 151
 +++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 127 insertions(+), 24 deletions(-)

commit c867da54b1312b59318d510ee9c9d2d61b5af23a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 15:10:53 2011 +0100

    iface-modem-3gpp: interface can be disabled

 src/mm-iface-modem-3gpp.c | 88
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h |  8 +++++
 2 files changed, 96 insertions(+)

commit 8459eba214f83efa6dc795b748fe5fa1a9e93c66
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 14:29:16 2011 +0100

    iface-modem-3gpp: enable periodic registration checks if no
    unsolicited

    If we get errors when configuring the unsolicited registration
    messages, setup a
    timeout to be run every 30s which will check our registration status.

 src/mm-iface-modem-3gpp.c | 114
 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 112 insertions(+), 2 deletions(-)

commit 3c3a2b811a3be982ec0f9893d7edc5cb31e70454
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 13:29:58 2011 +0100

    broadband-modem: implement network scan

 src/mm-broadband-modem.c | 45
 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 44 insertions(+), 1 deletion(-)

commit 8ecb80b553d8b60ceeaa78af92a7163e9db8f10a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 13:29:32 2011 +0100

    iface-modem-3gpp: handle network scan requests

 src/mm-iface-modem-3gpp.c | 124
 +++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem-3gpp.h |   8 +++
 2 files changed, 131 insertions(+), 1 deletion(-)

commit a92e9c59c1c2a4b2078e02d631b04eced68320be
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 13:29:00 2011 +0100

    modem-helpers: provide list of scanned networks in a list of structs

    We provide the result of the +COPS=? parsing in a GList of
    MM3gppNetworkInfo
    structures. We avoid the previous hash table, or using a dictionary,
    as a
    list of structs with a predefined set of elements, which should be
    easier for
    plugins wanting to make their own version

 src/mm-modem-helpers.c         | 175 ++++++++++++-------
 src/mm-modem-helpers.h         |  22 ++-
 src/tests/test-modem-helpers.c | 376
 +++++++++++++++++++----------------------
 3 files changed, 307 insertions(+), 266 deletions(-)

commit a265798e0d4cf016417c85b7b8cfd288a493148f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 13:21:13 2011 +0100

    api: rename key in dictionary returned by Scan()

    We'll keep on using 'code' to refer to the Operator MCC/MNC.

 new/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0c7281b2d91a042a810bce4596ce5b061b643926
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 09:16:25 2011 +0100

    broadband-modem: implement Operator Code and Name loading

 src/mm-broadband-modem.c | 105
 ++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-helpers.c   |  75 +++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h   |   3 ++
 3 files changed, 182 insertions(+), 1 deletion(-)

commit ad0a18d10755a53a45245845e0c7b230b10aeab1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 08:51:27 2011 +0100

    iface-modem-3gpp: when going into REGISTERED, load Operator Name
    and Code

 src/mm-iface-modem-3gpp.c | 51
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h | 16 +++++++++++++++
 2 files changed, 67 insertions(+)

commit 3b2b0645bec963b2955c578eccfbc38bbd34672b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 30 08:24:13 2011 +0100

    iface-modem-3gpp: report registration state change in the log

 src/mm-iface-modem-3gpp.c | 78
 ++++++++++++++++++++++++++++-------------------
 1 file changed, 47 insertions(+), 31 deletions(-)

commit 12ea55286d53a9349491e483573bb2c123a4293d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 20:46:39 2011 +0100

    broadband-modem: implement registration to 3GPP network

 src/mm-broadband-modem.c | 265
 +++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 257 insertions(+), 8 deletions(-)

commit 7ea0c4905df0c5b8108bd51d37a11af83c27c563
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 20:45:44 2011 +0100

    iface-modem-3gpp: always run CS and PS registration checks together

    And report a single error, only if all available registration
    checks failed.

 src/mm-iface-modem-3gpp.c | 159
 ++++++++++++++++++++++++++++++++++++++--------
 src/mm-iface-modem-3gpp.h |   8 +++
 2 files changed, 140 insertions(+), 27 deletions(-)

commit fd51bd349a3b92cf92bfc38edc1ece7152178fa8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 17:06:10 2011 +0100

    iface-modem-3gpp: handle network registration requests

 src/mm-iface-modem-3gpp.c | 112
 +++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem-3gpp.h |   9 ++++
 2 files changed, 120 insertions(+), 1 deletion(-)

commit 0076106c9048ed73f260297c5aea54deae2f1f10
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 17:02:05 2011 +0100

    iface-modem: don't report LOCKED state if SIM PIN2/PUK2

    If unlock required reports needing SIM PIN2 or PUK2, don't report
    LOCKED state,
    as the device is fully operational without it.

 src/mm-iface-modem.c | 30 +++++++++++-------------------
 1 file changed, 11 insertions(+), 19 deletions(-)

commit 670e2dcdc9bcb79147606e029f99969b930ad6fd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 15:43:26 2011 +0100

    iface-modem: launch reinitialization only when going from LOCKED
    to DISABLED

 src/mm-iface-modem.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 48a9da117b50f8586b3838f69d27012c69c59939
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 14:23:20 2011 +0100

    broadband-modem: implement CS/PS registration checks

    Running a CS/PS registration check may not return any direct result
    (this is, no
    MMModem3gppRegistrationStatus returned), as usually replies to
    +CREG? and
    +CGREG? are parsed as unsolicited messages.

 src/mm-broadband-modem.c | 225
 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 222 insertions(+), 3 deletions(-)

commit b3389ff2d437e7ebba541af53b32ef4f779872ac
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 14:21:15 2011 +0100

    test-modem-helpers: fix C(G)REG parsing tests

 src/tests/test-modem-helpers.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 5805a931e65759b86338b8fa315a3d10f8b732d4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 14:19:35 2011 +0100

    modem-helpers: use MMModemAccessTech when parsing C(G)REG responses

 src/mm-modem-helpers.c         | 31 +++++++++++++++++++--
 src/mm-modem-helpers.h         |  2 +-
 src/tests/test-modem-helpers.c | 62
 +++++++++++++++++++++---------------------
 3 files changed, 61 insertions(+), 34 deletions(-)

commit 9c60fe6e16255539ac0406a61272cc3fb4b91ea4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 12:20:33 2011 +0100

    iface-modem-3gpp: load registration states during enable

 src/mm-iface-modem-3gpp.c | 28 ++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h | 20 ++++++++++++++++++++
 2 files changed, 48 insertions(+)

commit b64658164026413fe3b2451e77c3220f0d016457
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 12:10:29 2011 +0100

    broadband-modem: implement unsolicited registration message setup

    We setup custom handlers for unsolicited registration state
    messages. Plugins
    are allowed to setup their own handlers.

 src/mm-broadband-modem.c | 101
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 101 insertions(+)

commit 9b796e0d86e33847225450139e30fe4a59ce4a4a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 12:08:44 2011 +0100

    iface-modem-3gpp: allow changing the RegistrationState from outside
    the interface

    The 3GPP registration state will always be set from outside the
    3GPP interface,
    for example when parsing unsolicited registration messages, on
    when the
    interface requests manual checking of registration state.

    We'll also update the State property in the Modem interface when we
    switch to a
    connected state, so we also set the Modem interface as a prerrequisite
    of the
    3GPP interface.

 src/mm-iface-modem-3gpp.c | 48
 ++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem-3gpp.h |  7 +++++++
 2 files changed, 54 insertions(+), 1 deletion(-)

commit b31ad376704d007a69b9b6ba85e3fb01a510731c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 12:05:44 2011 +0100

    iface-modem: allow changing the State from outside the interface

    Some states need to be set from outside the scope of the Modem
    interface, like
    Registration-related ones (REGISTERED, SEARCHING, ...) or
    Connection-related
    ones (CONNECTED, ...).

 src/mm-iface-modem.c | 61
 ++++++++++++++++++++++++++--------------------------
 src/mm-iface-modem.h |  5 +++++
 2 files changed, 36 insertions(+), 30 deletions(-)

commit ddbfad8ca49500740989e9b2d10d319410017569
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 12:02:42 2011 +0100

    broadband-modem: override the RegistrationState property

 src/mm-broadband-modem.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 430878c452177a9dbb129025f413ae43c9226b3b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 11:02:11 2011 +0100

    modem-helpers: use MMModem3gppRegistrationState when parsing C(G)REG
    responses

 src/mm-modem-helpers.c | 12 +++++++++---
 src/mm-modem-helpers.h |  3 +--
 2 files changed, 10 insertions(+), 5 deletions(-)

commit c636cdb27ffd23378c793bb3b4f2ce889d2a0da3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 10:41:15 2011 +0100

    base-modem: setup NULL callbacks in unsolicited CREG message handlers

    When the port is grabbed, we setup NULL callbacks for all unsolicited
    registration message handlers. If we do enable 3GPP registrations
    afterwards, we'll set proper callbacks.

 src/mm-base-modem.c | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

commit d1072bda54344ed16a1dfbad27b6583dd73c25cc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 10:38:48 2011 +0100

    iface-modem: new RegistrationState property, bound to the one in DBus

 src/mm-iface-modem-3gpp.c | 16 +++++++++++++++-
 src/mm-iface-modem-3gpp.h |  1 +
 2 files changed, 16 insertions(+), 1 deletion(-)

commit 68044fb01e6e7e84c4c3a53944e007167c89ab54
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 10:04:07 2011 +0100

    iface-modem-3gpp: setup unsolicited registration messages handling
    during enable

 src/mm-iface-modem-3gpp.c | 14 ++++++++++++++
 src/mm-iface-modem-3gpp.h |  8 ++++++++
 2 files changed, 22 insertions(+)

commit 2f5e8c46a34bd88eba47b0488dcc5d3d0fe242e4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 29 09:21:57 2011 +0100

    at-serial-port: allow overwriting unsolicited message handlers

    Existing unsolicited message handlers can be overwritten at any time
    now. This
    allows initializing the port with all possible message handlers
    configured with
    a NULL callback, and then setup the proper handlers when we go on
    enabling the
    different interfaces.

 src/mm-at-serial-port.c | 30 +++++++++++++++++++++++++-----
 1 file changed, 25 insertions(+), 5 deletions(-)

commit 20f53ec15b5f9b7b3251259bedceccfb1ae5114e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 19:38:11 2011 +0100

    broadband-modem: implement CS/PS registration notifications setup

 src/mm-broadband-modem.c | 140
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 140 insertions(+)

commit 8f6018d9c60e318d6593c576e1ba804730785604
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 18:47:32 2011 +0100

    iface-modem-3gpp: setup CS and PS registrations during enable

 src/mm-iface-modem-3gpp.c | 50
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h | 16 +++++++++++++++
 2 files changed, 66 insertions(+)

commit 04f10820f38a57d8f3e13ced25274c2fbdee518d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 18:18:17 2011 +0100

    broadband-modem: setup enabling steps

    When the modem is enabled, we'll go one by one enabling all our
    interfaces.

 src/mm-broadband-modem.c | 149
 ++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 128 insertions(+), 21 deletions(-)

commit 73db436f71558c700254731f254d35dbcd3ba7c5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 17:51:20 2011 +0100

    iface-modem-3gpp: interface can be enabled

    In addition to initializing the interface, to load initial values
    of all
    properties and export the object in DBus, the interface can now also
    be enabled.
    Enabling the 3GPP interface will take care of running the network
    registration
    process.

 src/mm-iface-modem-3gpp.c | 88
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h |  8 +++++
 2 files changed, 96 insertions(+)

commit bd24d0d14c415916bb739255178301359de1347a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 14:49:17 2011 +0100

    broadband-modem: implement IMEI loading

 src/mm-broadband-modem.c | 45
 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

commit 27c973b6b47e5080863acf7e0bdbf15f9f70ec2e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 13:23:47 2011 +0100

    broadband-modem: implement the Modem 3GPP interface

    It will only be initialized and exported in DBus if the modem has 3GPP
    capabilities.

 src/mm-broadband-modem.c | 30 ++++++++++++++++++++++++++++--
 1 file changed, 28 insertions(+), 2 deletions(-)

commit c6b69f9a594c016b1cff36364d401d7932e5d658
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 14:55:30 2011 +0100

    iface-modem-3gpp: export DBus interface when properly initialized

 src/mm-iface-modem-3gpp.c | 42 ++++++++++++++++++++++++++++++++++++++----
 1 file changed, 38 insertions(+), 4 deletions(-)

commit 69079ff8914419d08c21720f022ef33da8225959
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 14:42:43 2011 +0100

    iface-modem-3gpp: load `IMEI' during init

 src/mm-iface-modem-3gpp.c | 39 +++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h |  8 ++++++++
 2 files changed, 47 insertions(+)

commit bb625b332a4dfd6159455e8a795ffe6a0b81a3ee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 13:13:54 2011 +0100

    iface-modem-3gpp: setup interface initialization and shutdown

 src/mm-iface-modem-3gpp.c | 132
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h |  14 +++++
 2 files changed, 146 insertions(+)

commit 829b79eff4c0d7e55862ba3a8d7d34acd8995a42
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 14:54:56 2011 +0100

    iface-modem: complete the result before freeing init context

 src/mm-iface-modem.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 78d788d4dcd03aa69b1f040c4bb7ef3768f24a10
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 13:04:59 2011 +0100

    iface-modem: avoid inner async operation during initialization

 src/mm-iface-modem.c | 145
 +++++++++++++++------------------------------------
 1 file changed, 43 insertions(+), 102 deletions(-)

commit acc3e3f6da1d83ed9050505cc1e79da602c5c5ef
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 12:53:30 2011 +0100

    core: always pass open port to interface initializations

    When the first AT port is grabbed, modem initialization is launched,
    using that
    specific port. This port is also passed to all interface
    initialization methods.

 src/mm-base-modem.c      |  2 +-
 src/mm-base-modem.h      |  2 +-
 src/mm-broadband-modem.c | 25 ++++++++++++++++++++++++-
 src/mm-iface-modem.c     | 34 +++++++++++++---------------------
 src/mm-iface-modem.h     |  2 ++
 5 files changed, 41 insertions(+), 24 deletions(-)

commit 1d495c58e65d2160722467b54aefe7b70188ee19
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 12:29:15 2011 +0100

    iface-modem-3gpp: new interface to handle the Modem 3GPP DBus
    interface

 src/Makefile.am           |  2 ++
 src/mm-iface-modem-3gpp.c | 69
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem-3gpp.h | 37 +++++++++++++++++++++++++
 3 files changed, 108 insertions(+)

commit b9448b83cb0d5165b3e4002a3c9cea4fa7a153b1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 12:21:48 2011 +0100

    iface-modem: simplify interface handling

    Interfaces won't have a 'status', just initialize(), enable(),
    disable() and
    shutdown().

    Also, shutdown() should never fail. We will take care of cancelling
    any ongoing
    operation afterwards, before calling shutdown().

 src/mm-broadband-modem.c |  10 +--
 src/mm-iface-modem.c     | 200
 +++++++++++++++--------------------------------
 src/mm-iface-modem.h     |   3 +-
 3 files changed, 67 insertions(+), 146 deletions(-)

commit d2d9251733cc4c8e6b5c10fd79341c2f0be08726
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 12:13:25 2011 +0100

    broadband-modem: setup initialization of all interfaces

 src/mm-broadband-modem.c | 236
 ++++++++++++++++++++++++++++++++++-------------
 1 file changed, 171 insertions(+), 65 deletions(-)

commit a58f95121af8435574b65a2763b445c2e113c07c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 28 17:37:02 2011 +0100

    api: rename 3GPP and CDMA interface paths

    Elements in a DBus interface name cannot start with a digit, so
    "org.freedesktop.ModemManager1.Modem.3gpp" is an invalid interface
    name.

    Renamed here all relevant interfaces so that they have an additional
    "Modem"
    prefix in the element, so we get now:
     "org.freedesktop.ModemManager1.Modem.Modem3gpp"
     "org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd"
     "org.freedesktop.ModemManager1.Modem.ModemCdma"

    Objects generated with gdbus-codegen maintain the previous names.

 docs/reference/api/Makefile.am                            |  6 +++---
 docs/reference/api/mm-docs.xml                            |  6 +++---
 libmm-common/Makefile.am                                  | 15
 +++++++++------
 new/all.xml                                               |  6 +++---
 ...rg.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml} |  8 ++++----
 ... => org.freedesktop.ModemManager1.Modem.Modem3gpp.xml} |  5 ++---
 ... => org.freedesktop.ModemManager1.Modem.ModemCdma.xml} |  4 ++--
 7 files changed, 26 insertions(+), 24 deletions(-)

commit 27494eae51e329ff19544fab4a08a5d8cca56f5b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:27:41 2011 +0100

    iface-modem: handle Enable() calls

 src/mm-iface-modem.c | 157
 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 155 insertions(+), 2 deletions(-)

commit 22bdfdbf8b06a98d3b0ebdbb65c480de4eabd8d2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:26:42 2011 +0100

    broadband-modem: disable the Modem iface when disabling the modem

 src/mm-broadband-modem.c | 47
 +++++++++++++++++++++++++++++++++--------------
 1 file changed, 33 insertions(+), 14 deletions(-)

commit b0a9c6a7efcc31f74ff6d1bae5b55734068b3f35
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:25:18 2011 +0100

    broadband-modem: enable the Modem iface when enabling the modem

 src/mm-broadband-modem.c | 47
 +++++++++++++++++++++++++++++++++--------------
 1 file changed, 33 insertions(+), 14 deletions(-)

commit c74c3a5d2ea1db54b3893690a5db51fc9e0b76f6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:23:21 2011 +0100

    broadband-modem: implement charset loading and setup

 src/mm-broadband-modem.c | 258
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 258 insertions(+)

commit ad8fed66fedcde2c707c3741f64e7fdeaab80abf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:22:26 2011 +0100

    broadband-modem: implement flow control setup

 src/mm-broadband-modem.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

commit 00949c4782069326cb2d126a866b8167e6c24598
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:21:31 2011 +0100

    broadband-modem: implement modem power-up commands

 src/mm-broadband-modem.c | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

commit 491758c266bdc22b8b0ab3c369da9b36815c2d0c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:20:32 2011 +0100

    broadband-modem: implement modem initialization commands

 src/mm-broadband-modem.c | 74
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)

commit ea7a939201bdde4cf0630c9564183b18031ffaa5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:17:58 2011 +0100

    broadband-modem: override the Current Capabilities property

 src/mm-broadband-modem.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 8b1515b2a0e75e98a7938052a6b754890a684862
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:14:27 2011 +0100

    iface-modem: close primary port during disable

 src/mm-iface-modem.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 589c6419d2d247e53a50d3bd8d96be5b9d51fea3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:13:43 2011 +0100

    iface-modem: send power-down command during disable

 src/mm-iface-modem.c | 43 +++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |  8 ++++++++
 2 files changed, 51 insertions(+)

commit 5e3ad0fe589f48e0582faf02f05fa114b4c6f3de
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:12:37 2011 +0100

    iface-modem: flash primary port during disable

 src/mm-iface-modem.c | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

commit f3b6bfeb8f2ac03440ba797fb8cb3e3226baa4c7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:10:13 2011 +0100

    iface-modem: interface can be disabled

    The Modem interface can be disabled, going from enabled back to
    initialized. The
    disabling process will include closing the ports opened during
    the enabling.

 src/mm-iface-modem.c | 107
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |   8 ++++
 2 files changed, 115 insertions(+)

commit 781c1821fdcf4b71c4571c87c4c149beb0b4b8f3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:05:56 2011 +0100

    iface-modem: setup modem charset configuration during enable

    Load supported charsets, and loop trying to set the best one.

 src/mm-iface-modem.c | 106
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |  19 +++++++++
 2 files changed, 125 insertions(+)

commit c0d3bd944c9644aca556221fce4d4b1e5ae0ed6b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:04:17 2011 +0100

    iface-modem: send flow control setup commands during enable

 src/mm-iface-modem.c | 14 ++++++++++++++
 src/mm-iface-modem.h |  8 ++++++++
 2 files changed, 22 insertions(+)

commit 7fa372d1185dc9ea195d3d7d8b8a5cfffe26963e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:02:31 2011 +0100

    iface-modem: allow plugins to send custom commands after power-up

    Just after powering up the modem, plugins can run additional setup
    commands
    themselves, in a new "after" power-up step.

 src/mm-iface-modem.c | 14 ++++++++++++++
 src/mm-iface-modem.h |  9 +++++++++
 2 files changed, 23 insertions(+)

commit 0adbd8edadbf3c0a07df59c362977e015481cedb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 15:01:41 2011 +0100

    iface-modem: send power-up commands during enable

 src/mm-iface-modem.c | 14 ++++++++++++++
 src/mm-iface-modem.h |  8 ++++++++
 2 files changed, 22 insertions(+)

commit b948c93e598ffc42e4c0a34f856b42944719e916
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 14:59:53 2011 +0100

    iface-modem: send modem initialization commands during enable

 src/mm-iface-modem.c | 36 ++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |  8 ++++++++
 2 files changed, 44 insertions(+)

commit b0a1eccd543f88880a9d6bcab90398e2b2fbd45e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 14:57:54 2011 +0100

    iface-modem: flash primary port during enable

 src/mm-iface-modem.c | 50
 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

commit fc19509e4ffb3c1fdf34fe1ea56d8d65f2813f6a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 14:53:35 2011 +0100

    iface-modem: during init, fall down to next states directly

 src/mm-iface-modem.c | 49
 ++++++++++++++++++++++++++++++-------------------
 1 file changed, 30 insertions(+), 19 deletions(-)

commit 8327b6af30b2ca0d97263d474945833f2f9bddda
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 14:49:40 2011 +0100

    iface-modem: interface can be enabled

    In addition to initializing the interface, to load initial values
    of all
    properties and export the object in DBus, the interface can now also
    be enabled.
    Enabling the Modem interface will take care of running the modem
    enabling
    process (flashing port, power up and such).

 src/mm-iface-modem.c | 128
 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 122 insertions(+), 6 deletions(-)

commit f049dbb21768304a39d48c83c18f20b976c8a9e9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 14:42:34 2011 +0100

    iface-modem: emit StateChanged signal when modem state changes

 src/mm-iface-modem.c | 66
 ++++++++++++++++++++++++++++++++++++++++++++++------
 src/mm-iface-modem.h |  8 +++++++
 2 files changed, 67 insertions(+), 7 deletions(-)

commit 7b59a8091295db52f9eda914b854a96401a8215f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 14:36:26 2011 +0100

    iface-modem: load CurrentCapabilities first

    With AT+GCAP we load the currently available capabilities, and we
    store them
    in a new "iface-modem-capabilities" property in the MMIfaceModem
    interface. This
    property is bound to the "current-capabilities" property in the
    MmGdbusModem
    skeleton object, so no need to update both when it changes.

    ModemCapabilities depend directly on whether the modem can load
    firmware without
    reflashing the device. Currently, just set it equal to
    CurrentCapabilities.

 src/mm-broadband-modem.c | 20 ++++++------
 src/mm-iface-modem.c     | 80
 +++++++++++++++++++++++++++++++++++-------------
 src/mm-iface-modem.h     |  7 +++--
 3 files changed, 73 insertions(+), 34 deletions(-)

commit ec1d94044f493b7e88c41bf45dd497796b71928e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 25 14:32:17 2011 +0100

    sim: during init, fall down to next states directly

 src/mm-sim.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

commit 1257ecd13613d6f60d317a3ee3f34332188d0cfc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Nov 20 20:55:07 2011 +0100

    cli: start to port Modem actions to use the new libmm-glib

 cli/Makefile.am       |   2 +
 cli/mmcli-common.c    | 237 ++++++++++++++++
 cli/mmcli-common.h    |  39 +++
 cli/mmcli-manager.c   |  62 +----
 cli/mmcli-modem.c     | 752
 ++++++++++++++++++++++++--------------------------
 cli/mmcli.c           |   5 +-
 cli/mmcli.h           |   2 +-
 libmm-glib/mm-modem.c |   1 +
 8 files changed, 656 insertions(+), 444 deletions(-)

commit 9ae68b3fee0a8f58e308f1a20cccf433a414fc8b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Aug 20 15:24:41 2011 +0200

    cli: add command to reset the modem to factory state

 cli/mmcli-modem.c | 59
 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 56 insertions(+), 3 deletions(-)

commit 6221e4f76b5a0edfa253493635a64f971916f9ba
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Aug 20 15:16:32 2011 +0200

    cli: add command to reset the modem

 cli/mmcli-modem.c | 56
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 55 insertions(+), 1 deletion(-)

commit e341c7ff49ffff5a2986a56e105c01b86b6f6478
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Aug 20 13:47:05 2011 +0200

    cli: use new modem enabling and disabling API

 cli/mmcli-modem.c | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

commit ea5f81b804e923d94e802d67ba889637814186f5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Aug 20 13:35:56 2011 +0200

    cli: add commands to enable and disable the modem

 cli/mmcli-modem.c | 114
 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 113 insertions(+), 1 deletion(-)

commit 5de1ae6a4fd2681147babb0e5fc0cfb3a502ad40
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Aug 20 13:12:27 2011 +0200

    cli: add command to monitor modem state

 cli/mmcli-modem.c | 62
 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 58 insertions(+), 4 deletions(-)

commit 9a6bb0bb196bce46d355d02fd635788308c0d73e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Aug 20 12:56:48 2011 +0200

    cli: include status information properties in the info command output

 cli/mmcli-modem.c | 102
 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 101 insertions(+), 1 deletion(-)

commit 90f6a5ec75f88c9942e62d7c91134451ba7bd0b4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Aug 20 11:44:29 2011 +0200

    cli: include system information properties in the info command output

 cli/mmcli-modem.c | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

commit fed5ad5623859f5ebf092547f81e4cc282fcccb5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Aug 20 11:10:09 2011 +0200

    cli: handle multiline revision strings

 cli/mmcli-modem.c | 46 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 45 insertions(+), 1 deletion(-)

commit fcadc0f841750a108d154cabee159c115b3e557a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Aug 20 10:33:01 2011 +0200

    cli: add commands to get info from modem

 cli/Makefile.am   |   3 +-
 cli/mmcli-modem.c | 243
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 cli/mmcli.c       |  23 ++++++
 cli/mmcli.h       |   8 ++
 4 files changed, 276 insertions(+), 1 deletion(-)

commit 9e241b7062883a67a31500a6f095c9839c8666c8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 27 17:12:20 2011 +0200

    cli: port Manager actions to use the new libmm-glib

    The original command line interface was written based on a hand-made
    libmm. This
    commit ports the Manager interface handling to the new
    gdbus-codegen-based
    libmm-glib.

 cli/mmcli-manager.c | 269
 +++++++++++++++++++++++++++++++---------------------
 cli/mmcli.c         |  12 ++-
 cli/mmcli.h         |   2 +-
 3 files changed, 170 insertions(+), 113 deletions(-)

commit c37949d7ba20e33633951e57d89c6cfe3e968790
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Aug 20 10:15:36 2011 +0200

    cli: always perform a clean shutdown on successful operations

 cli/mmcli.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 96e07f7ab0d651fb80349e51f28207f038c91a2a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Aug 20 09:28:37 2011 +0200

    cli: prefix error messages with 'error: '

 cli/mmcli-manager.c | 10 +++++-----
 cli/mmcli.c         |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

commit 387db2b2595c1c0d4432248c59c1b9df1c11c89d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Aug 20 09:19:19 2011 +0200

    cli: use capital letters for manager options

 cli/mmcli-manager.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit d8c2a6392728bba1e78389b23b56f848045f9236
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Aug 19 23:43:45 2011 +0200

    cli: split into different option groups, in different files

 cli/Makefile.am                 |   4 +-
 cli/{main.c => mmcli-manager.c} | 265
 ++++++++++++++--------------------------
 cli/mmcli.c                     | 167 +++++++++++++++++++++++++
 cli/mmcli.h                     |  37 ++++++
 4 files changed, 300 insertions(+), 173 deletions(-)

commit 07ec1a2395c8b25ba8464b5d97026a368e14e1d2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 17 18:27:31 2011 +0200

    cli: add commands to change daemon logging level

 cli/main.c | 43 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 42 insertions(+), 1 deletion(-)

commit 7b0903cc57f0d67c7fac26527d3d8d3f8d66068b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 17 18:26:06 2011 +0200

    cli: add commands to request a new scan

 cli/main.c | 60
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 59 insertions(+), 1 deletion(-)

commit f58409e7c26a9c43010c51197150ad405bb22007
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 17 18:24:25 2011 +0200

    cli: add command to monitor modem additions and removals

 cli/main.c | 66
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

commit cc7cd44cb84a4121d946edd10de9525035b58b90
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 17 18:19:32 2011 +0200

    cli: add commands to list currently available modems

 cli/main.c | 159
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 159 insertions(+)

commit 8f450d82b6c18b814c86b23e9cd44394be2a1a55
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Wed Aug 17 18:14:26 2011 +0200

    cli: initial cli implementation

 .gitignore      |  2 ++
 Makefile.am     |  2 +-
 cli/Makefile.am | 20 +++++++++++++++
 cli/main.c      | 76
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 configure.ac    |  8 ++++++
 5 files changed, 107 insertions(+), 1 deletion(-)

commit 40b31d5a2702503108efd9864796298e7cf56caa
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 21 10:30:04 2011 +0100

    libmm-glib: get the MMSim object from the MMModem

 libmm-glib/mm-modem.c | 91
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-modem.h | 11 +++++++
 2 files changed, 102 insertions(+)

commit 72eef326b5dd2f05cbc68e9c301e233f6ef84622
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Nov 20 18:17:05 2011 +0100

    libmm-glib: new MMSim object

 libmm-glib/Makefile.am |   4 +-
 libmm-glib/mm-modem.c  |   2 +
 libmm-glib/mm-modem.h  |  11 +
 libmm-glib/mm-sim.c    | 609
 +++++++++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-sim.h    | 120 ++++++++++
 5 files changed, 745 insertions(+), 1 deletion(-)

commit b4dd84c2c93a5d12786d944ff2e8ef64d25396cb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Nov 20 14:47:03 2011 +0100

    libmm-glib: new `MMModem' object, handling the Modem interface

 libmm-glib/Makefile.am  |    7 +-
 libmm-glib/libmm-glib.h |    1 +
 libmm-glib/mm-manager.h |    5 +-
 libmm-glib/mm-modem.c   | 1213
 +++++++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-modem.h   |  166 +++++++
 5 files changed, 1388 insertions(+), 4 deletions(-)

commit ba0e4ca88ef947df11fe2a095cc16671402fdf93
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 26 21:08:21 2011 +0200

    libmm-glib: setup build of the libmm-glib library

    The library will contain a small layer of code on top of the proxies
    and object
    manager client generated by gdbus-codegen. Therefore, the headers
    auto-generated
    from the DBus introspection XMLs need to be distributed along with the
    libmm-glib specific headers.

 Makefile.am             |   3 +-
 configure.ac            |   8 +
 libmm-glib/Makefile.am  |  31 +++
 libmm-glib/libmm-glib.h |  28 +++
 libmm-glib/mm-manager.c | 511
 ++++++++++++++++++++++++++++++++++++++++++++++++
 libmm-glib/mm-manager.h |  95 +++++++++
 6 files changed, 675 insertions(+), 1 deletion(-)

commit c58db4e015c1d6aeccccb167f7f2f68c211a3b86
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 12:36:47 2011 +0100

    core: start using our newly defined errors

 plugins/mm-plugin-generic.c       |   1 -
 src/Makefile.am                   |   4 +-
 src/mm-at-serial-port.c           |   1 -
 src/mm-base-modem.c               |   2 -
 src/mm-broadband-modem.c          |   2 -
 src/mm-callback-info.c            |   8 +-
 src/mm-error-helpers.c            | 267 ++++++++++++++++++++++
 src/mm-error-helpers.h            |  32 +++
 src/mm-errors.c                   | 463
 --------------------------------------
 src/mm-errors.h                   | 163 --------------
 src/mm-log.c                      |  11 +-
 src/mm-manager.c                  |   7 +-
 src/mm-modem-helpers.c            |  20 +-
 src/mm-plugin-base.c              |   1 -
 src/mm-plugin-manager.c           |   4 +-
 src/mm-port-probe-at-command.c    |   6 +-
 src/mm-port-probe.c               |   6 +-
 src/mm-qcdm-serial-port.c         |   8 +-
 src/mm-serial-parsers.c           |  53 ++---
 src/mm-serial-port.c              |  36 +--
 src/mm-sim.c                      |   1 -
 src/mm-sms-utils.c                |  41 ++--
 src/tests/test-qcdm-serial-port.c |   8 +-
 23 files changed, 414 insertions(+), 731 deletions(-)

commit e4d8c4ace72e72c53951f80792d852ff4b043329
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 12:06:22 2011 +0100

    core: disable all dbus-glib dependent code

 src/Makefile.am | 82
 +--------------------------------------------------------
 1 file changed, 1 insertion(+), 81 deletions(-)

commit 86aa9df84920d4dfdf50a7b7507bf82adc1056a5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 11:58:54 2011 +0100

    core: start using MMBroadbandModem objects

    We chain up the Generic plugin created MMBroadbandModem objects
    within the
    GDBusObjectManagerServer in MMManager, so that they get properly
    exported in
    DBus.

 plugins/mm-plugin-generic.c | 100 ++++++-----------
 src/mm-manager.c            | 264
 ++++++++++++++++++++++++--------------------
 src/mm-plugin-base.c        |   8 +-
 src/mm-plugin-base.h        |   6 +-
 src/mm-plugin-manager.c     |   4 +-
 src/mm-plugin-manager.h     |   4 +-
 src/mm-plugin.c             |   6 +-
 src/mm-plugin.h             |  26 ++---
 8 files changed, 206 insertions(+), 212 deletions(-)

commit 4ad9374159551463e976c825a50685e27140b31f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 11:11:13 2011 +0100

    plugin-base: explicitly request to probe for AT capabilities

 src/mm-plugin-base.c | 19 +++++++++++++++++++
 src/mm-plugin-base.h |  1 +
 2 files changed, 20 insertions(+)

commit fa01e7a6d31c77192d631ed656bb495a1e5b9d6a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 11:08:33 2011 +0100

    core: no need to check Capabilities during port probing

    Capabilities checking is done during the Modem interface
    initialization.

 src/mm-plugin-base.c           |  25 ---------
 src/mm-plugin-base.h           |   1 -
 src/mm-port-probe-at-command.c | 117
 -----------------------------------------
 src/mm-port-probe-at-command.h |   2 -
 src/mm-port-probe.c            |  41 +--------------
 src/mm-port-probe.h            |  30 ++---------
 6 files changed, 4 insertions(+), 212 deletions(-)

commit 6552393c8eb90a7d0eb9b54df4e69108325881de
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 10:38:22 2011 +0100

    broadband-modem: implement UnlockRequired loading

 src/mm-broadband-modem.c | 132
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 132 insertions(+)

commit 6ed6f861f06dc5616ed3466b9a9d02744ee91b6b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 10:37:57 2011 +0100

    broadband-modem: implement DeviceIdentifier loading

 src/mm-broadband-modem.c | 140
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 140 insertions(+)

commit 912318b5d9bb78ce69b3753543122e5ca9ea67ee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 10:37:03 2011 +0100

    broadband-modem: implement EquipmentIdentifier loading

 src/mm-broadband-modem.c | 46
 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

commit 43d09e63e1fb5a3ff0f7beb4fb4fe35fcb2a8345
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 10:36:16 2011 +0100

    broadband-modem: implement Revision loading

 src/mm-broadband-modem.c | 46
 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

commit 90ba94056b6f8f5969bddb20f35b9c2eeb919dc6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 10:35:45 2011 +0100

    broadband-modem: implement Model loading

 src/mm-broadband-modem.c | 46
 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

commit 63163835a3c12f64ce991961bb6b8a0409535918
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 10:35:12 2011 +0100

    broadband-modem: implement Manufacturer loading

 src/mm-broadband-modem.c | 64
 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

commit 8303bed13347c2ad23ada45eed7db36e539c15fd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 10:33:43 2011 +0100

    broadband-modem: implement Capabilities loading

 src/mm-broadband-modem.c | 188
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 188 insertions(+)

commit 8647f3cbda099547fe02cf072bd0a460882e2a56
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 10:30:44 2011 +0100

    broadband-modem: implement MMIfaceModem interface

    Currently just override the interface properties, and launch
    initialization and
    shutdown where appropriate.

 src/mm-broadband-modem.c | 160
 ++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 144 insertions(+), 16 deletions(-)

commit a3a712f32f1229e92db55e04430422e2a8afdb90
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 10:23:11 2011 +0100

    core: new MMBroadbandModem object, inherits from MMBaseModem

    New object to implement broadband modem specific behaviour.

 src/Makefile.am          |   2 +
 src/mm-broadband-modem.c | 173
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-broadband-modem.h |  55 +++++++++++++++
 3 files changed, 230 insertions(+)

commit 126332332b137c5ef3d5ee3bb71c6d4c58ab4b21
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 09:34:38 2011 +0100

    iface-modem: allow requesting signal quality check

    The new `mm_iface_modem_signal_quality_check()' method will reload
    the signal
    quality value on demand, set the value of the `SignalQuality'
    property in DBus,
    and also return the results.

 src/mm-iface-modem.c | 121
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |  20 +++++++++
 2 files changed, 141 insertions(+)

commit 59c37afae6849a639350d38eafc84b0cc42ed43e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 19:16:07 2011 +0100

    iface-modem: handle SetAllowedModes()

 src/mm-iface-modem.c | 71
 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-iface-modem.h | 10 ++++++++
 2 files changed, 79 insertions(+), 2 deletions(-)

commit 1dcd20f18db2941f87a774ca58bfacf345ccec45
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 19:12:33 2011 +0100

    iface-modem: handle SetAllowedBands()

    Also considering that playing with bands may not be supported.

 src/mm-iface-modem.c | 69
 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-iface-modem.h |  9 +++++++
 2 files changed, 76 insertions(+), 2 deletions(-)

commit b9d60d2de49e91c60eb2fcef779d769d39ee3c12
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 19:06:07 2011 +0100

    iface-modem: handle FactoryReset() calls

    Also considering that reseting may not be implemented.

 src/mm-iface-modem.c | 70
 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-iface-modem.h |  9 +++++++
 2 files changed, 77 insertions(+), 2 deletions(-)

commit 03490d1171e87a59b04b052faf03f9381d43a51b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 19:03:25 2011 +0100

    iface-modem: handle Reset() calls

    Also considering that reseting may not be implemented.

 src/mm-iface-modem.c | 98
 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-iface-modem.h |  8 +++++
 2 files changed, 104 insertions(+), 2 deletions(-)

commit 2a1465bc917bcbb80c322036d8aa100c5e827284
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 18:57:09 2011 +0100

    iface-modem: create MMSim object during init

 src/mm-iface-modem.c | 94
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |  1 +
 2 files changed, 95 insertions(+)

commit c2eac91b7865e83a4f62687bd6768c19d98a882b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 18:53:17 2011 +0100

    sim: handle SendPin() and SendPuk() calls

 src/mm-sim.c | 168
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 168 insertions(+)

commit 995e7ace07ce21e7e5918f74c3a2a56c75c3e8f6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 18:52:02 2011 +0100

    sim: handle EnablePin() calls

 src/mm-sim.c | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

commit b29a8ba44f7f9886a86a064e9e260800c5147509
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 18:51:25 2011 +0100

    sim: handle ChangePin() calls

 src/mm-sim.c | 121
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 121 insertions(+)

commit 23dd4d7e8227b2b1bd11eaee47aa3214c9ef688c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 18:47:00 2011 +0100

    sim: allow re-launching initialization

    It may happen that we cannot load property values when the SIM is
    locked, so
    we need to enable re-launching initialization in the object API.

 src/mm-sim.c | 53 +++++++++++++++++++++++++++++++++++++++++------------
 src/mm-sim.h |  7 +++++++
 2 files changed, 48 insertions(+), 12 deletions(-)

commit ff0136ed04ca8b94de1de3b78bd63a22dd01e809
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 18:45:20 2011 +0100

    sim: load OperatorName during init

 src/mm-sim.c | 136
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 136 insertions(+)

commit e3e3b32b0a2586ab0d507b7cee4721fdc9257169
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 18:43:33 2011 +0100

    sim: load OperatorIdentifier during init

 src/mm-sim.c | 154
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 154 insertions(+)

commit bdd1d23ed25cf9539db13052547cce7a62db840c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 18:41:55 2011 +0100

    sim: load IMSI during init

 src/mm-sim.c | 100
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 100 insertions(+)

commit 87823387f458efc60afe1147f72ea6609006f180
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 18:32:19 2011 +0100

    sim: load SIM Identifier during init

 src/mm-sim.c | 200
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 200 insertions(+)

commit e40d32ac94382361b0c0e18cd81cc98ebb38bc44
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 18:16:17 2011 +0100

    core: new MMSim object, inherits from MmGdbusSim

 src/Makefile.am |   2 +
 src/mm-sim.c    | 352
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-sim.h    |  63 ++++++++++
 3 files changed, 417 insertions(+)

commit 1453f352bca34f8592a33954d628acfec66d4336
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 13:16:28 2011 +0100

    iface-modem: relaunch init when being unlocked

 src/mm-iface-modem.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit ca15a10629b4d977177bc8406e833b49a5f5aee2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 18:01:09 2011 +0100

    iface-modem: new `State' property, bound to the one in the
    MmGDbusModem skeleton

 src/mm-iface-modem.c | 38 +++++++++++++++++++++++++++++++++++++-
 src/mm-iface-modem.h |  1 +
 2 files changed, 38 insertions(+), 1 deletion(-)

commit 48babcf97648e71b329bb5e809a08e1fd2c783d2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 17:53:49 2011 +0100

    iface-modem: load `SupportedModes' and `SupportedBands' during init

 src/mm-iface-modem.c | 34 ++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h | 16 ++++++++++++++++
 2 files changed, 50 insertions(+)

commit 7a20ad46d81ca8c87f0121af68f979a659fcd4ec
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 17:47:46 2011 +0100

    iface-modem: load `UnlockRequired' and `UnlockRetries' during init

    And also allow being loaded upon user request, with
    `mm_iface_modem_unlock_check()'.

 src/mm-iface-modem.c | 198
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |  26 +++++++
 2 files changed, 224 insertions(+)

commit 9852433095eca82cb6efd842c74be85bbacb7ea6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 17:40:52 2011 +0100

    iface-modem: load `EquipmentIdentifier' and `DeviceIdentifier'
    during init

 src/mm-iface-modem.c | 34 ++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h | 16 ++++++++++++++++
 2 files changed, 50 insertions(+)

commit 7a9b0d9faced7c960b7e35d48df9d705feb1932b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 17:38:42 2011 +0100

    iface-modem: load `Manufacturer', `Model' and `Revision' during init

 src/mm-iface-modem.c | 75
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h | 24 +++++++++++++++++
 2 files changed, 99 insertions(+)

commit b35be6141500d69000956210292bb7094315b80f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 17:37:15 2011 +0100

    iface-modem: load `MaxBearers' and `MaxActiveBearers' during init

 src/mm-iface-modem.c | 41 +++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h | 16 ++++++++++++++++
 2 files changed, 57 insertions(+)

commit b6539e9e132995aaef7a6026f06d7bf569891934
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 17:30:57 2011 +0100

    iface-modem: load `ModemCapabilities' and `CurrentCapabilities'
    during init

    When the interface gets initialized, start loading modem and current
    capabilities.

 src/mm-iface-modem.c | 66
 ++++++++++++++++++++++++++++++++++++++++++++++++----
 src/mm-iface-modem.h | 16 +++++++++++++
 2 files changed, 78 insertions(+), 4 deletions(-)

commit 88e6b0e4e64e87ea371e8dec5f1889254f220a56
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 17:33:47 2011 +0100

    iface-modem: set `Device', `Driver' and `Plugin' during init

    Values taken from the MMBaseModem object, which are not expected
    to change
    during the lifetime of the Modem object.

 src/mm-iface-modem.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

commit 9e7cd2a3450a56bd3af99e7d22146c66189774e2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Nov 3 14:55:00 2011 +0100

    core: new MMIfaceModem interface

    This interface controls the availability of the DBus Modem interface,
    and
    implements the actions that may be performed in the interface.

 src/Makefile.am      |   2 +
 src/mm-iface-modem.c | 467
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-iface-modem.h |  49 ++++++
 3 files changed, 518 insertions(+)

commit 8069c751a04144478ce243ecaa9fdfd2b9794d02
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 23 10:03:34 2011 +0100

    base-modem: new `enable()' and `disable()' async methods

    Users will be able to enable or disable modems using the DBus
    interface. We will
    chain up the `Enable(boolean)' call from the DBus interface to these
    new methods
    in the base modem class.

 src/mm-base-modem.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

commit b00c4099783cd4a994e7771ed275c7c61591a45b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 8 17:20:34 2011 +0100

    base-modem: new virtual initialize() method

    Whenever the first AT port is grabbed, we launch the initialize()
    method, which
    must have been implemented by the corresponding modem subclass.

 src/mm-base-modem.c | 40 ++++++++++++++++++++++++----------------
 src/mm-base-modem.h | 10 ++++++++++
 2 files changed, 34 insertions(+), 16 deletions(-)

commit 677e04be95dbbac200a9ab3fab4aea64317547bf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 18:35:56 2011 +0100

    base-modem: new property to keep the Connection object

 src/mm-base-modem.c | 22 ++++++++++++++++++++++
 src/mm-base-modem.h |  1 +
 2 files changed, 23 insertions(+)

commit d32b006cce8c62a1f0e2d4cf9fe0121a4a541316
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 18:24:08 2011 +0100

    base-modem: new properties for vendor and product IDs

    These will be set during modem object creation.

 src/mm-base-modem.c | 49
 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-base-modem.h |  5 +++++
 2 files changed, 54 insertions(+)

commit d5a0efc659b01ed6aafe2d20f0c03f10c8fe11e3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Nov 12 15:50:22 2011 +0100

    base-modem: getters for primary/secondary/qcdm ports

 src/mm-base-modem.c | 24 ++++++++++++++++++++++++
 src/mm-base-modem.h |  4 ++++
 2 files changed, 28 insertions(+)

commit 4a096c8c5677c82fcc0cdc2d4fc4ec9473e06d92
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 8 17:00:31 2011 +0100

    base-modem: set v1 serial parser always

    CDMA modems used to use the v1_e1 serial parser; but we'll try to
    setup a common
    one in all modems.

 src/mm-base-modem.c | 25 ++++++++-----------------
 1 file changed, 8 insertions(+), 17 deletions(-)

commit 0d53a72d415af348e6f8cd2a172afa632166ca92
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 8 15:18:31 2011 +0100

    base-modem: new properties to handle Device, Driver and Plugin

    They will be set when constructing the object.

 src/mm-base-modem.c | 80
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-base-modem.h |  7 +++++
 2 files changed, 87 insertions(+)

commit b6cb5bd6daac1b434a57a34ec2e08121455f3397
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Nov 4 12:43:06 2011 +0100

    base-modem: ported all port grabbing/releasing logic to the base
    object

 src/mm-base-modem.c | 292
 +++++++++++++++++++++++++++++++++++++---------------
 src/mm-base-modem.h |  22 ++--
 2 files changed, 222 insertions(+), 92 deletions(-)

commit f39923c97d33850cc1e70d23b2e8d808cda67fec
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Nov 3 12:21:48 2011 +0100

    base-modem: expect a GDBusMethodInvocation as context of the auth
    request

 src/mm-base-modem.c | 6 ++----
 src/mm-base-modem.h | 2 +-
 2 files changed, 3 insertions(+), 5 deletions(-)

commit 9a72ac80d021f485b3811e49ae7a097990525a0e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Nov 2 17:18:25 2011 +0100

    core: new MMBaseModem abstract type

    Basically, a replacement of the MMModemBase type, being prepared
    to handle
    multimode devices.

    This object derives from a MmGdbusObjectSkeleton, which makes it
    suitable to be
    controlled within the GDBusObjectManagerServer.

 src/Makefile.am     |   2 +
 src/mm-base-modem.c | 414
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-base-modem.h |  82 +++++++++++
 3 files changed, 498 insertions(+)

commit f15daaf587ae296c6bec6f79a24cecb1860508bb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 16:52:19 2011 +0100

    core: new AT command and sequence processors

    This setup, allows:
     - Running a single command and processing its result.
     - Running a set of N commands, providing a global result after
     all have
       been executed.
     - Running a set of N commands out of M (N<M), where the global
     result is
       obtained without having executed all configured commands. This
       is useful
       when probing, for example.

 src/Makefile.am |   2 +
 src/mm-at.c     | 258
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-at.h     |  90 ++++++++++++++++++++
 3 files changed, 350 insertions(+)

commit 07640b0c741292bba5138110caeb8961a2e82896
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 25 17:27:30 2011 +0200

    manager: make it export the Object Manager interface

 src/mm-manager.c | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

commit 0cc17ed82f8a2c3b5b12158bf138007459ef289f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 25 17:13:12 2011 +0200

    manager: let it be initable

    The MMManager object creation may fail due to environment reasons
    (i.e. no
    plugins found, or problems exporting DBus interfaces), so we can
    use the
    initable interface to properly handle those situations.

 src/mm-manager.c | 91
 ++++++++++++++++++++++++++++++++------------------------
 1 file changed, 52 insertions(+), 39 deletions(-)

commit bc78453d794e7e82d5cc726d716b1a84454763de
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 25 16:59:59 2011 +0200

    manager: keep the GDBus connection reference in a 'connection'
    property

 src/mm-manager.c | 63
 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 src/mm-manager.h |  2 ++
 2 files changed, 62 insertions(+), 3 deletions(-)

commit 68fcfa4530eb47a1a2947aa29a18b49378a5c9be
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 25 16:46:07 2011 +0200

    manager: use G_TYPE_INSTANCE_GET_PRIVATE() just to create the
    private struct

    A new 'priv' pointer is added in the MMManager struct, which will
    contain the
    address of the private structure.

 src/mm-manager.c | 68
 ++++++++++++++++++++++++--------------------------------
 src/mm-manager.h |  3 +++
 2 files changed, 32 insertions(+), 39 deletions(-)

commit 60c7f7d9ee4babfa21c485d526b1baf0b5c2d245
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 25 13:06:21 2011 +0200

    core: implement the Manager1 DBus interface, based on GDBus

    The MMManager object now derives from the gdbus-codegen-generated
    MmGdbusOrgFreedesktopModemManager1Skeleton object, and implements
    the handlers
    for the SetLogging() and ScanDevices() DBus methods.

    The main program is also modified to be based on GDBus.

 src/main.c       | 137 ++++++++++--------------
 src/mm-manager.c | 312
 +++++++++++++++++++++++--------------------------------
 src/mm-manager.h |  19 ++--
 3 files changed, 195 insertions(+), 273 deletions(-)

commit a6d9bad4bdba542626984fabc8c851daec49cbe7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 8 18:03:53 2011 +0100

    plugin-base: properly handle Core errors

 src/mm-plugin-base.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 1e6b29bcca17c64818c1c49a1694b6caffde1611
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Mon Sep 19 19:23:52 2011 +0200

    plugin-base: clear internally tracked probe if port unsupported

    If the port is supported by the plugin, leave the probe in the
    internal HT until
    the port gets grabbed afterwards.

 src/mm-plugin-base.c | 26 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

commit d9b2b6f8ec450dbbdf2f738ab26ee78d357d2034
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Sun Sep 18 23:50:22 2011 +0200

    manager: clear cached port probe when device is removed

 src/mm-manager.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 95ade9c6177c1d51093e81a3fa6b6c28fc48a937
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Sun Sep 18 23:23:18 2011 +0200

    plugin-base: remove `MM_PLUGIN_SUPPORTS_PORT_IN_PROGRESS' status

    Support checks are fully asynchronous and result is always reported
    when the
    check is considered ready, so in-progress replies to
    `mm_plugin_supports_port_finish()' don't make any sense.

 src/mm-plugin-manager.c | 5 -----
 src/mm-plugin.h         | 1 -
 2 files changed, 6 deletions(-)

commit 2b209554893b88443cb9295f8177c87b8ba6aa1f
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Mon Sep 19 20:27:11 2011 +0200

    plugin-base: don't report numeric support level in the [0-100] range

    There is no single case where more than one plugin may end up wanting
    to support
    a given port, and therefore there is no need to report the numeric
    support level
    when reporting SUPPORTED.

 src/mm-plugin-base.c    |  1 -
 src/mm-plugin-manager.c | 49
 +++++++++++++------------------------------------
 src/mm-plugin.c         |  2 --
 src/mm-plugin.h         |  2 --
 4 files changed, 13 insertions(+), 41 deletions(-)

commit a1d2f200214c7f691e4df535490f51c398ca32d4
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Sun Sep 18 23:23:18 2011 +0200

    plugin-base: avoid trying to probe 'net' devices

    Some devices support 'net' devices, which cannot be AT or QCDM probed.

    If the port being checked for support corresponds to an already
    existing modem,
    the port will be reported as SUPPORTED.

    If this is the first port of the modem being checked for support,
    we will just
    DEFER the support check until we get a modem created.

 src/mm-plugin-base.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit db356bb20b5969c9680e9f11e21ad9bc51be30ec
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Sun Sep 18 22:55:47 2011 +0200

    plugin-base: keep a MMPluginSupportsResult in the async result

    Instead of just a boolean, provide a MMPluginSupportsResult, so that
    we can pass
    it as is during `supports_port_finish()'.

 src/mm-plugin-base.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

commit 2588c17ad3c9c83d9992dc49d4ab1420ac38fed7
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Thu Sep 15 21:46:23 2011 +0200

    generic: rewrite the plugin to use the new port probing

 plugins/mm-plugin-generic.c | 153
 +++++++++++++++++---------------------------
 1 file changed, 57 insertions(+), 96 deletions(-)

commit afd386738d1ff74e578bd95433d089a9744c5b64
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Thu Sep 15 23:33:54 2011 +0200

    plugin-base: improve the logic to check whether vendor or product
    probing needed

    If the plugin does a Vendor ID check and it passes, it doesn't
    need Vendor
    string probing.

    If the plugin does a Vendor ID check and it fails:
      - If Vendor strings reported, it needs Vendor probing.
      - If Vendor strings not reported, fail as unsupported.

    If the plugin does a Product ID check and it passes, it doesn't
    need Product
    string probing.

    If the plugin does a Product ID check and it fails:
      - If Product strings reported, it needs Product probing.
      - If Product strings not reported, fail as unsupported.

 src/mm-plugin-base.c | 80
 +++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 60 insertions(+), 20 deletions(-)

commit 0646fc9d99007dd4182a1d941d226305ba0774ea
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Thu Sep 15 22:57:13 2011 +0200

    plugin-base: apply post-probing filtering

    Once probing is finished, the plugin will check whether the port
    is supported
    or not based on the following filters:
     - Capabilities
     - Reported Vendor string
     - Reported Product string

 src/mm-plugin-base.c | 124
 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 112 insertions(+), 12 deletions(-)

commit f92fbcc906fe080afb29aeada8bbfe1beca060da
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Thu Sep 15 22:30:12 2011 +0200

    plugin-base: apply pre-probing filtering

    Before any real probing is launched in the port, the plugin will
    check whether
    it can skip the request based on the following filters:
     - Subsystems
     - Drivers
     - udev-reported Vendor ID
     - udev-reported Product ID
     - udev-reported Tags

 src/mm-plugin-base.c | 102
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)

commit a67d5dc1b84db6cc1517475b90a047d6d9a19968
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Thu Sep 15 21:27:11 2011 +0200

    plugin-base: make the plugin base use the new port probing mechanism

    The previous 'MMPluginBaseSupportsTask' object is more or less
    equivalent to the
    new `MMPortProbe' in terms of what information it contains. The
    main difference
    being that the new `MMPortProbe' object handles internally the
    whole probing
    flow as needed: only the needed probing sequences are done. For
    example, vendor
    or product string probing will only be performed if a plugin
    requests it.

 src/mm-plugin-base.c | 1285
 ++++----------------------------------------------
 src/mm-plugin-base.h |  125 +----
 2 files changed, 99 insertions(+), 1311 deletions(-)

commit 7b687b4aae5c1fc89b9203bd43602b4820042d7c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 8 17:57:33 2011 +0100

    build: temporarily disable compilation of plugins

 plugins/Makefile.am | 486
 ++++++++++++++++++++++++++--------------------------
 1 file changed, 239 insertions(+), 247 deletions(-)

commit c112e19896921810fe469ef93a268f5431fad93d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 8 17:56:18 2011 +0100

    port-probe: properly handle Core errors

    Fixes compilation of the Port Probe object.

 src/mm-port-probe.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 963eb873e10dd06b17363a08414c278d5e1ba7b3
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Sun Sep 18 22:20:11 2011 +0200

    plugin-base: new 'allowed-udev-tags' property

    The plugins can set this property to filter support check requests
    by the
    availability of a given udev tag in the port. The value given to
    the property
    should be a NULL-terminated array of C strings, e.g.:

        const gchar *tags[] = { "ID_MM_X22X_TAGGED", NULL };

 src/mm-plugin-base.c | 17 +++++++++++++++++
 src/mm-plugin-base.h |  1 +
 2 files changed, 18 insertions(+)

commit 18238ed50ee626bff10aa9dc86e06223a776c255
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Mon Sep 19 13:31:47 2011 +0200

    plugin-base: new 'allowed-drivers' property

    The plugins can set this property to filter support check requests
    by physical
    device driver. The value given to the property should be a
    NULL-terminated array
    of C strings, e.g.:

        const gchar *drivers[] = { "qcserial", NULL };

 src/mm-plugin-base.c | 17 +++++++++++++++++
 src/mm-plugin-base.h |  1 +
 2 files changed, 18 insertions(+)

commit 24ebb00ed2010ba3c724afd4d35f39bf02840b09
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Thu Sep 15 23:45:22 2011 +0200

    plugin-base: new 'allowed-qcdm' property

    The plugins can set this boolean property to specify whether they
    can handle
    QCDM ports, and therefore probing for them is needed.

 src/mm-plugin-base.c | 17 +++++++++++++++++
 src/mm-plugin-base.h |  1 +
 2 files changed, 18 insertions(+)

commit 8f95a2d78d0f7d94597699095838d69b6f3b50d1
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Thu Sep 15 20:09:07 2011 +0200

    plugin-base: new 'send-delay' property

    The plugins can set this property to provide a custom value for the
    send delay
    used for characters sent to the AT port during probing.

    The value given to the property should be a guint64 specifying the
    delay in
    microseconds.

 src/mm-plugin-base.c | 20 ++++++++++++++++++++
 src/mm-plugin-base.h |  1 +
 2 files changed, 21 insertions(+)

commit a935cd9fb68df10c3b824251a3335e02ba40c322
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Thu Sep 15 19:48:36 2011 +0200

    plugin-base: new 'allowed-capabilities' property

    The plugins can set this property to filter support check requests
    by probed
    capabilities.
    The value given to the property should be a guint built as a mask of
    MM_PORT_PROBE_CAPABILITY flags, e.g.:

        const guint capabilities = (MM_PORT_PROBE_CAPABILITY_GSM |
                                    MM_PORT_PROBE_CAPABILITY_CDMA);

 src/mm-plugin-base.c | 17 +++++++++++++++++
 src/mm-plugin-base.h |  1 +
 2 files changed, 18 insertions(+)

commit 8ccb2229782a8a02306a61a382312d2e8bf206c7
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Thu Sep 15 19:40:56 2011 +0200

    plugin-base: new 'allowed-vendor-strings' and
    'allowed-product-strings' properties

    The plugins can set these properties to filter support check
    requests by
    AT-reported Vendor string and Product string.

    The value given to the properties should be a NULL-terminated array
    of strings,
    e.g.,

        static const gchar *vendor_strings[] = { "cinterion" , NULL };

 src/mm-plugin-base.c | 35 +++++++++++++++++++++++++++++++++++
 src/mm-plugin-base.h | 14 ++++++++------
 2 files changed, 43 insertions(+), 6 deletions(-)

commit 2d8fb51c6b6669afa60594c04244f17653df0fb7
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Thu Sep 8 18:22:19 2011 +0200

    plugin-base: new 'custom-init' property

    The plugins can set this property to provide custom initialization
    commands that
    should be issued to the modem before real probing starts.

    The value given to the property should be an array of
    MMPortProbeAtCommand
    variables finished with a last one exposing a NULL command, e.g.:

        static gboolean
        parse_init (const gchar *response,
                    const GError *error,
                    GValue *result,
                    GError **result_error)
        {
            if (error)
                return FALSE;

            /* If we didn't get any error, it is an AT port */
            g_value_init (result, G_TYPE_BOOLEAN);
            g_value_set_boolean (result, TRUE);
            return TRUE;
        }

        static gboolean
        parse_init_last (const gchar *response,
                         const GError *error,
                         GValue *result,
                         GError **result_error)
        {
            g_value_init (result, G_TYPE_BOOLEAN);
            /* On last error, report as not being an AT port */
            g_value_set_boolean (result, error ? FALSE : TRUE);
            return TRUE;
        }

        static const MMPortProbeAtCommand custom_init[] = {
            { "ATE1 E0", parse_init },
            { "ATE1 E0", parse_init },
            { "ATE1 E0", parse_init_last },
            { NULL }
        };

 src/mm-plugin-base.c | 19 +++++++++++++++++++
 src/mm-plugin-base.h | 12 ++++++++++++
 2 files changed, 31 insertions(+)

commit 806aabd22d725a329bdfe12ac258cb1db293fc3d
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Wed Sep 7 18:28:28 2011 +0200

    plugin-base: new 'allowed-vendor-ids' and 'allowed-product-ids'
    properties

    The plugins can set these properties to filter support check
    requests by
    udev-reported Vendor ID and Product ID.

    The value given to the properties should be a 0-terminated array
    of guint16s,
    e.g.,

        static const guint16 vendor_ids[] = { 0x0421 , 0 };

 src/mm-plugin-base.c | 34 ++++++++++++++++++++++++++++++++++
 src/mm-plugin-base.h |  8 +++++---
 2 files changed, 39 insertions(+), 3 deletions(-)

commit 59c783eb614c0a56e2d1a2daeb0fef0decdf690e
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Wed Sep 7 18:05:42 2011 +0200

    plugin-base: new 'allowed-subsystems' property

    The plugins can set this property to filter support check requests
    by subsystem.
    The value given to the property should be a NULL-terminated array
    of C strings,
    e.g.:

        const gchar *subsystems[] = { "tty", NULL };

 src/mm-plugin-base.c | 19 +++++++++++++++++++
 src/mm-plugin-base.h |  5 +++--
 2 files changed, 22 insertions(+), 2 deletions(-)

commit 27e1d97aca340877db8f2b2181406b3ed8c06a5f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Sep 11 19:22:12 2011 +0200

    port-probe: new cache of Port Probe results

    Whenever a plugin has probed for some information in a given port,
    that data
    should be available for any other plugin wanting it during its
    own probing
    process. This new cache of Port Probe results allows to easily
    retrieve the
    already probed information.

 src/Makefile.am           |  2 ++
 src/mm-port-probe-cache.c | 80
 +++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-port-probe-cache.h | 30 ++++++++++++++++++
 3 files changed, 112 insertions(+)

commit a3ace206b08998e80891e783abbd2d7ca5add297
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Sep 10 18:38:29 2011 +0200

    port-probe: add comment explaining the probing process flow

 src/mm-port-probe.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit fa3fa38e0db3475d6f4c0273d6855fce375d1be0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Sep 10 18:17:06 2011 +0200

    port-probe: allow providing custom initialization AT commands

 src/mm-port-probe.c | 38 ++++++++++++++++++++++++++++++++++----
 src/mm-port-probe.h |  3 +++
 2 files changed, 37 insertions(+), 4 deletions(-)

commit 610bffc4e817fa04dcde19d31584b194038fdde6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Sep 10 16:20:11 2011 +0200

    port-probe: enable probing for QCDM support

 src/mm-port-probe.c | 167
 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-port-probe.h |   2 +
 2 files changed, 168 insertions(+), 1 deletion(-)

commit b73fb8e8f27ac34ec5aa16e3e5a3605b03dbe740
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Sep 10 11:40:23 2011 +0200

    port-probe: enable probing for Product

 src/mm-port-probe-at-command.c | 30 ++++++++++++++++++++++++++++
 src/mm-port-probe-at-command.h |  1 +
 src/mm-port-probe.c            | 45
 +++++++++++++++++++++++++++++++++++++++---
 src/mm-port-probe.h            |  2 ++
 4 files changed, 75 insertions(+), 3 deletions(-)

commit 1f9fd9e0beba7fd90c46d057c849fb007001b75f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Sep 10 11:19:12 2011 +0200

    port-probe: enable probing for Vendor

 src/mm-port-probe-at-command.c | 28 +++++++++++++++++++++++++
 src/mm-port-probe-at-command.h |  1 +
 src/mm-port-probe.c            | 46
 +++++++++++++++++++++++++++++++++++++++---
 src/mm-port-probe.h            |  6 ++++--
 4 files changed, 76 insertions(+), 5 deletions(-)

commit 05f8493ee7baa43cb7ff1242eae4930fc85e6ee5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Sep 10 00:47:54 2011 +0200

    port-probe: enable probing for Capabilities

 src/mm-port-probe-at-command.c | 121
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-port-probe-at-command.h |   1 +
 src/mm-port-probe.c            |  52 ++++++++++++++++--
 src/mm-port-probe.h            |  28 +++++++++-
 4 files changed, 196 insertions(+), 6 deletions(-)

commit 6816c2e61def241eb2a991a11c21da699b06b54f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 9 23:56:22 2011 +0200

    port-probe: enable probing for AT support

    We will initially probe for AT support in the port.

 src/Makefile.am                |   1 +
 src/mm-port-probe-at-command.c |  71 ++++++++
 src/mm-port-probe-at-command.h |   3 +
 src/mm-port-probe.c            | 383
 ++++++++++++++++++++++++++++++++++++++++-
 src/mm-port-probe.h            |   8 +
 5 files changed, 461 insertions(+), 5 deletions(-)

commit d7238403c485d040dc77b3c2e428b876c3b33bdf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 9 21:32:03 2011 +0200

    port-probe: new type to define commands used during probing

    The new `MMPortProbeAtCommand' type defines what command will be
    sent to the
    serial AT port, and also a response processor method to parse
    the string
    returned by the port.

    The response processor gets as input either the text reply string
    or an error,
    and it should give as output either a GValue (type depends on the
    probing kind
    being done) or a new error (which will force the whole probing
    process to be
    aborted.

 src/Makefile.am                |  1 +
 src/mm-port-probe-at-command.h | 54
 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+)

commit f7b1d99fa0ac00889a65b22905939e4f86061902
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 9 20:45:37 2011 +0200

    port-probe: allow cancelling the probing operation

    The new `mm_port_probe_cancel()' will cancel the probing operation
    currently in
    progress, if any. Note that we don't need to pass any argument to
    specify which
    operation to cancel, as there can only be one.

 src/mm-port-probe.c | 47 +++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-port-probe.h |  1 +
 2 files changed, 46 insertions(+), 2 deletions(-)

commit f227572d8f1f8516e2ea2a38bf7a8a73387165d5
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Fri Sep 9 20:22:10 2011 +0200

    port-probe: setup an asynchronous method for port probing

    The new method `mm_port_probe_run()' will run the whole probing
    process
    asynchronously. Result of the probing can be later obtained with
    `mm_port_probe_run_finish()'.

 src/mm-port-probe.c | 87
 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-port-probe.h |  9 ++++++
 2 files changed, 95 insertions(+), 1 deletion(-)

commit 1b84994febfdd9c821335157f0a8107f1842566f
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Fri Sep 9 20:00:57 2011 +0200

    port-probe: set port details when creating the object

    Each port probe is always associated to one specific port.

 src/mm-port-probe.c | 64
 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-port-probe.h | 13 ++++++++++-
 2 files changed, 74 insertions(+), 3 deletions(-)

commit 74145f5af7c4e80ea09b86654fd524b4cd4759a8
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Fri Sep 9 19:49:28 2011 +0200

    port-probe: new MMPortProbe object

 src/Makefile.am     |  2 ++
 src/mm-port-probe.c | 62
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-port-probe.h | 47 ++++++++++++++++++++++++++++++++++++++++
 3 files changed, 111 insertions(+)

commit 916cf5dd3e5476c38b795ae2bfac7b31c9497196
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Tue Sep 6 22:00:12 2011 +0200

    manager: integrate the Plugin Manager

    All plugin handling and port support checks now done by the Plugin
    Manager.

 src/mm-manager.c | 754
 +++++++++++++++----------------------------------------
 1 file changed, 200 insertions(+), 554 deletions(-)

commit fad89b1d7e88f742ecd1f94d78401cd558ecb65c
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Tue Sep 6 20:13:27 2011 +0200

    plugin-manager: new methods to check for ongoing port support
    operations

    The new mm_plugin_manager_is_finding_port_support() allows to check
    whether the
    Plugin Manager is looking for support in a specific port.

    The new mm_plugin_manager_is_checking_device_support() allows to
    check whether
    the Plugin Manager is looking for support in any port of a given
    device.

 src/mm-plugin-manager.c | 50
 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-plugin-manager.h | 13 +++++++++++++
 2 files changed, 63 insertions(+)

commit 5f2d0d474cf9b4308715f4ef811127410e874240
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Tue Sep 6 19:45:54 2011 +0200

    plugin-manager: allow suggesting a plugin when launching support
    checks

    The newly launched support check will start probing with the
    suggested plugin
    right away.

 src/mm-plugin-manager.c | 8 ++++++++
 src/mm-plugin-manager.h | 1 +
 2 files changed, 9 insertions(+)

commit 8fed241767b65ca4a651057109324a81e7c20e0b
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Tue Sep 6 19:30:19 2011 +0200

    plugin-manager: propagate support check results to tasks in the
    same device

    As soon as the first support check of a port in a given device
    finishes with a
    valid best plugin and level > 0, propagate the result to other
    support tasks
    corresponding to ports in the same physical device.

    Previously, this propagation of support check results was only done
    once the
    port was grabbed by a plugin, not just when the plugin reported
    that it
    supported it. This change in behaviour isn't probably a big deal,
    as there
    should not be any case where a plugin says it supports a port and
    then cannot
    grab it.

 src/mm-plugin-manager.c | 129
 ++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 108 insertions(+), 21 deletions(-)

commit 0626de08796d4411c6c0e38e002b0ec3919893fd
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Tue Sep 6 00:47:02 2011 +0200

    plugin-manager: keep track of all launched support checks

    We will keep a reference to each of the support checks currently
    in progress,
    grouped by physical device path. The stored SupportsInfo structs as
    well as
    the support check operations, are guaranteed to be kept valid as
    long as the
    Plugin Manager exists. Or in other words, the Plugin Manager cannot
    be disposed
    if there is still an ongoing supports check operation.

 src/mm-plugin-manager.c | 86
 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)

commit 1e3213970714e5d5144ba0a00ea47d0c9681cce4
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Tue Sep 6 00:12:57 2011 +0200

    plugin-manager: new method to look for best plugin supporting a
    given port

    The new `mm_plugin_manager_find_port_support()' method requests
    the Plugin
    Manager to iterate over the list of plugins internally handled,
    launching
    supports task for the given port in each of them.

    The method is fully asynchronous, and the result can be retrieved with
    `mm_plugin_manager_find_port_support_finish()' once the operation
    is ready.

 src/mm-plugin-manager.c | 203
 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-plugin-manager.h |  16 ++++
 2 files changed, 219 insertions(+)

commit 7007825781122c1f1942a4135f39088ab75782f3
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Mon Sep 5 22:39:22 2011 +0200

    plugin-manager: ensure we always print paths in UTF-8

    There is little chance of having a PLUGINDIR which is not UTF-8,
    but it may
    happen, and g_log() won't like it.

 src/mm-plugin-manager.c | 56
 ++++++++++++++++++++++++++++++-------------------
 1 file changed, 34 insertions(+), 22 deletions(-)

commit 035be287304515f53539b4d22f6e44712c06bdd7
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Mon Sep 5 22:30:13 2011 +0200

    plugin-manager: find and load plugins when the manager object
    is created

    Ported the plugin finding and loading code from the MMManager object.

 src/mm-plugin-manager.c | 179
 +++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-plugin-manager.h |   2 +
 2 files changed, 179 insertions(+), 2 deletions(-)

commit 51a8dc6ff3d2d92dfe1e8fc99c73ec84e4948354
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Mon Sep 5 21:16:23 2011 +0200

    plugin-manager: let it be initable

    Looking for plugins and loading them will be done during the object
    creation,
    so the operation may fail and we need to report it.

 src/mm-plugin-manager.c | 29 ++++++++++++++++++++++++++---
 src/mm-plugin-manager.h |  2 +-
 2 files changed, 27 insertions(+), 4 deletions(-)

commit 03655fcf9fd34d1153d8c0f8ae9f306baf974da3
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Mon Sep 5 21:03:12 2011 +0200

    plugin-manager: new MMPluginManager object

 src/Makefile.am         |  2 ++
 src/mm-plugin-manager.c | 58
 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-plugin-manager.h | 43 ++++++++++++++++++++++++++++++++++++
 3 files changed, 103 insertions(+)

commit 62030debf261db70d6e0ae76c18178c860b24da6
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Mon Sep 5 00:05:27 2011 +0200

    plugin-base: rename 'cancel_supports_port' to 'supports_port_cancel'

    We now have 'supports_port' (async method) and 'supports_port_finish'
    (to get
    the result of the async method), so it makes sense to rename the
    method to
    'supports_port_cancel'.

 src/mm-manager.c     | 12 +++++++++---
 src/mm-plugin-base.c |  4 ++--
 src/mm-plugin.c      |  4 ++--
 src/mm-plugin.h      |  4 ++--
 4 files changed, 15 insertions(+), 9 deletions(-)

commit dc30536456dbbface927e6c76ca3bf3e4647afa5
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Sun Sep 4 23:59:43 2011 +0200

    plugin-base: rewrite port supports check as fully asynchronous

    Before this change, supports check was either synchronous (e.g. in
    some
    UNSUPPORTED cases) or asynchronous (when IN_PROGRESS was returned).

    With this fix, the supports check requested to the plugin will
    always be
    completed asynchronously; either directly in an idle before launching
    any real
    probing operation, or once the probing operation is finished.

    Therefore, it is not expected to get a IN_PROGRESS reply in
    mm_plugin_supports_port_finish(), only UNSUPPORTED|SUPPORTED|DEFERRED.

 src/mm-manager.c     |  75 ++++++++++++++--------
 src/mm-plugin-base.c | 176
 ++++++++++++++++++++++++++++++++++++---------------
 src/mm-plugin.c      |  55 ++++++++++------
 src/mm-plugin.h      |  56 +++++++++-------
 4 files changed, 244 insertions(+), 118 deletions(-)

commit d47176a32c45da0f63ec5ab8024cf4e5f6467a7f
Author: Aleksander Morgado <aleksander@gnu.org>
Date:   Fri Sep 2 20:28:12 2011 +0200

    core: avoid using DBusGMethodInvocation in auth API

    While porting to GDBus, use opaque pointers. This allows us to
    include either a
    DBusGMethodInvocation or a GDBusMethodInvocation in the 'context'
    pointer.

    Once fully ported to GDBus, we can safely change it back to make
    the context be
    a GDBusMethodInvocation.

 src/mm-auth-provider-polkit.c | 29 +++++++++++++++++++++--------
 src/mm-auth-provider.c        |  4 ++--
 src/mm-auth-provider.h        |  4 ++--
 src/mm-auth-request-polkit.c  |  9 +++------
 src/mm-auth-request-polkit.h  |  3 ++-
 src/mm-auth-request.c         |  4 ++--
 src/mm-auth-request.h         |  7 +++++--
 src/mm-manager.c              |  2 +-
 src/mm-modem-cdma.c           |  2 +-
 src/mm-modem-firmware.c       |  6 +++---
 src/mm-modem-gsm-card.c       | 16 ++++++++--------
 src/mm-modem-gsm-network.c    |  2 +-
 src/mm-modem-gsm-sms.c        | 16 ++++++++--------
 src/mm-modem-gsm-ussd.c       |  6 +++---
 src/mm-modem-location.c       |  4 ++--
 src/mm-modem.c                |  4 ++--
 16 files changed, 66 insertions(+), 52 deletions(-)

commit 1e79a2d292e7e68430043d9741bfbbe01cd3206f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 14:00:09 2011 +0100

    build: install DBus service and data files for the new API

 .gitignore                                         |   4 +
 data/Makefile.am                                   |  18 +--
 data/org.freedesktop.ModemManager.conf.polkit      | 154
 ---------------------
 ...=> org.freedesktop.ModemManager1.conf.nopolkit} |   4 +-
 data/org.freedesktop.ModemManager1.conf.polkit     |  22 +++
 ....in => org.freedesktop.ModemManager1.policy.in} |  16 +--
 ...in => org.freedesktop.ModemManager1.service.in} |   2 +-
 7 files changed, 46 insertions(+), 174 deletions(-)

commit 8d97538c72b4f475d0f5b0a7f7a23fc756979a0a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 13:36:48 2011 +0100

    build: setup all data (polkit, icon, dbus...) in the same `data'
    directory

    Also fixed dist when not using polkit, the icon was no longer included
    in the
    tarball.

 Makefile.am                                        |  45 +---------------
 configure.ac                                       |   2 +-
 data/Makefile.am                                   |  60
 +++++++++++++++++++++
 {policy => data}/modem-manager.png                 | Bin
 .../org.freedesktop.ModemManager.conf.nopolkit     |   0
 .../org.freedesktop.ModemManager.conf.polkit       |   0
 .../org.freedesktop.ModemManager.service.in        |   0
 .../org.freedesktop.modem-manager.policy.in        |   0
 policy/Makefile.am                                 |  15 ------
 9 files changed, 63 insertions(+), 59 deletions(-)

commit 6b696056333bbefa19fc5296f14d2f71e2a82594
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 13:07:50 2011 +0100

    build: chain up new 0.6 API and link against libmm-common

    Also removed the MMSerialError implementation from
    `src/mm-errors.[h|c]', as it
    is now included in the new `include/ModemManager-errors.h' header
    file. All the
    other enums and errors without clashing names will be ported
    afterwards to the
    new base code.

 include/ModemManager.h | 292
 +------------------------------------------------
 plugins/Makefile.am    |   5 +-
 src/Makefile.am        |  18 ++-
 src/mm-errors.c        |  33 ------
 src/mm-errors.h        |  17 +--
 src/mm-manager.h       |   3 -
 src/tests/Makefile.am  |  20 +++-
 7 files changed, 40 insertions(+), 348 deletions(-)

commit 49bbaf8e31009227b5c5ff1abf95fe6afb40d496
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 12:37:20 2011 +0100

    build: disable autogeneration of the 0.5 API header file

    But keep it around as a static file, while we do the migration to
    the new
    interface.

 .gitignore                         |   1 -
 build-aux/Makefile.am              |   1 -
 build-aux/header-generator-new.xsl | 190 ---------------
 build-aux/header-generator.xsl     | 227 +++++-------------
 include/Makefile.am                |  14 +-
 include/ModemManager.h             | 460
 +++++++++++++++++++++++++++++++++++++
 6 files changed, 520 insertions(+), 373 deletions(-)

commit 3b976c439918262d40d5714390cc15f2218be90b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 12:17:12 2011 +0100

    docs: added new man page for the modem-manager daemon

 .gitignore                  |  2 ++
 configure.ac                |  2 ++
 docs/Makefile.am            |  2 +-
 docs/man/Makefile.am        |  7 ++++++
 docs/man/modem-manager.8.in | 52
 +++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 64 insertions(+), 1 deletion(-)

commit 09f40c836957fab37672d98fc6f3ca2611b94bbb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 11:33:35 2011 +0100

    docs: setup generation of gtk-doc based DBus API documentation

    It includes gdbus-codegen generated API documentation, plus the
    common Enums,
    Flags and Errors, which will also be used in libmm-glib.

 .gitignore                         |  13 ++++
 Makefile.am                        |   2 +-
 autogen.sh                         |   1 +
 configure.ac                       |  21 ++++++
 docs/Makefile.am                   |   2 +
 docs/reference/Makefile.am         |   2 +
 docs/reference/api/Makefile.am     |  93 +++++++++++++++++++++++++
 docs/reference/api/mm-docs.xml     | 138
 +++++++++++++++++++++++++++++++++++++
 docs/reference/api/mm-overview.xml |  56 +++++++++++++++
 docs/reference/api/mm-sections.txt |  32 +++++++++
 docs/reference/api/mm.types        |   0
 docs/reference/api/version.xml.in  |   1 +
 12 files changed, 360 insertions(+), 1 deletion(-)

commit a57c3bcf36912f7c3822ed046a424af52f5b2bc4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 18 19:04:36 2011 +0200

    docs: remove generation of previous DBus API documentation

 Makefile.am       |  23 +-
 doc-generator.xsl | 691
 ------------------------------------------------------
 docs/plugins.txt  |   0
 3 files changed, 1 insertion(+), 713 deletions(-)

commit 23367c718643e621a08922aaa5be0542fe9c47b7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 11:03:03 2011 +0100

    libmm-common: include Errors type information

    The code to handle the Errors type information is automatically
    built with
    `glib-mkenums' and the new templates kept under `build-aux'.

 build-aux/Makefile.am                |   4 +-
 build-aux/mm-errors-types.c.template |  43 +++++++
 build-aux/mm-errors-types.h.template |  27 +++++
 libmm-common/Makefile.am             |  16 ++-
 libmm-common/mm-errors-quarks.c      | 216
 +++++++++++++++++++++++++++++++++++
 5 files changed, 304 insertions(+), 2 deletions(-)

commit 0e9ed6e5fed70c873c597b91a9b844df44f9ffc0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 10:54:20 2011 +0100

    libmm-common: include Enums and Flags type information

    The code to handle the Enums and Flags type information is
    automatically built
    with `glib-mkenums' and the new templates kept under `build-aux'.

    Note: We currently skip the type information of
    `MMModemBand'. GFlagsValue
    can hold only 32-bit types, and we're working with a 64-bit flag here.
    See: https://bugzilla.gnome.org/show_bug.cgi?id=663054

 build-aux/Makefile.am               |  4 +++-
 build-aux/mm-enums-types.c.template | 40
 +++++++++++++++++++++++++++++++++++++
 build-aux/mm-enums-types.h.template | 24 ++++++++++++++++++++++
 libmm-common/Makefile.am            | 13 ++++++++++++
 4 files changed, 80 insertions(+), 1 deletion(-)

commit ade484826ccd5c93937d18563b478b75641c4ee7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 10:49:03 2011 +0100

    libmm-common: setup new library, with the gdbus-codegen generated code

    This library will not (probably) be installable, but will share
    the GDBus
    and new Enum/Flag/Error type support between the core daemon and
    the new
    libmm-glib library.

 .gitignore               |   3 ++
 Makefile.am              |   2 +-
 configure.ac             |   1 +
 libmm-common/Makefile.am | 125
 +++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 130 insertions(+), 1 deletion(-)

commit da99e8ddadecf0f5c8204b578a2dd9162a1ceee2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Oct 28 10:51:52 2011 +0200

    build: use common CPPFLAGS and LDFLAGS for all plugins

    Also include $(top_srcdir)/generated and $(top_builddir)/generated
    in the
    common preprocessor flags.

 plugins/Makefile.am | 317
 ++++++++++------------------------------------------
 1 file changed, 56 insertions(+), 261 deletions(-)

commit bb7311f27c2e837ab89d45eec36c1ae6f36d2f42
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Oct 12 00:15:11 2011 +0200

    build: improve project bootstrapping

    Align autogen.sh with the one in NM:
      * Just calling autoreconf once
      * Using autopoint from GNU gettext
      * Enabling the use of NOCONFIGURE

 .gitignore   | 38 ++++++++++++++++++++++++++++++++++++++
 autogen.sh   | 11 ++++++-----
 configure.ac |  6 +++++-
 3 files changed, 49 insertions(+), 6 deletions(-)

commit 7e0f016c25aec93a88412f47d7add155d2857a45
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 11 15:13:04 2011 +0200

    build: improve configure output report

 configure.ac | 26 +++++++++++++++-----------
 1 file changed, 15 insertions(+), 11 deletions(-)

commit 917a13217aef5f1e10f459e8d1e23c88997ba2a7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 10 12:13:09 2011 +0200

    build: avoid using -Wfloat-equal compilation option

    In order to compile code generated by gdbus-codegen.

 m4/compiler_warnings.m4 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit bc8010f792571f6809b891dfc8e760b2ce5ea369
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 10 12:00:12 2011 +0200

    build: avoid using -Wshadow compilation option

    In order to compile code generated by gdbus-codegen.

 m4/compiler_warnings.m4 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit dbb06b6246c5488d20aae77a1ced268e01b62e58
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 10 11:58:28 2011 +0200

    build: require GLib and GIO >= 2.30

    gdbus-codegen is first available in the stable 2.30 release of
    GLib, see
    http://mail.gnome.org/archives/gtk-devel-list/2011-September/msg00218.html

    GIO and GIO-Unix are now required during the build.

 configure.ac | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit b5a1c38cc417972d911c86a52a6a692afdf2cf2a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 10:36:21 2011 +0100

    api: new `include/ModemManager1.h' as main header of the new API

    Filename is temporary as we keep the old `include/ModemManager.h'
    around during
    the transition to the new codebase.

 include/Makefile.am     |  3 +++
 include/ModemManager1.h | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+)

commit ff5ea7b76a633d91c94d495c522a0bc5d86c184d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 18 20:08:08 2011 +0200

    build: setup autogeneration of names header for the new API

    The `include/ModemManager-names.h' autogenerated header includes
    the list of
    Interface, Method, Signal and Property names defined in the DBus API.

 .gitignore                         |   1 +
 build-aux/Makefile.am              |   3 +-
 build-aux/header-generator-new.xsl | 190
 +++++++++++++++++++++++++++++++++++++
 include/Makefile.am                |  15 ++-
 new/all.xml                        |  18 ++++
 5 files changed, 222 insertions(+), 5 deletions(-)

commit 365b906a3e1bda05af10f92451a6b6ae60f8b879
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 18 19:57:17 2011 +0200

    build: setup header generator in its own include/Makefile

    Also move helper files to the new `build-aux' directory.

 .gitignore                                             |  3 ++-
 Makefile.am                                            | 11 +----------
 build-aux/Makefile.am                                  |  3 +++
 header-generator.xsl => build-aux/header-generator.xsl |  0
 configure.ac                                           |  2 ++
 include/Makefile.am                                    | 14
 ++++++++++++++
 6 files changed, 22 insertions(+), 11 deletions(-)

commit 4643dca4a2bd70c71fb825f6d98334a5bf608b94
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 09:45:26 2011 +0100

    api,errors: implement all errors from the new API

    Errors that will/may be reported via DBus are defined in the public
    interface
    header.

 include/ModemManager-errors.h  | 259 +++++++++++++++++++++++++++++++++
 new/mm-mobile-error.xml        | 318
 -----------------------------------------
 new/mm-modem-connect-error.xml |  30 ----
 new/mm-modem-error.xml         |  36 -----
 new/mm-serial-error.xml        |  24 ----
 5 files changed, 259 insertions(+), 408 deletions(-)

commit ff86bc9f4a33d3fbdfce22b4e6d580530278949d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 21 16:31:26 2011 +0100

    api,enums: new enum for the USSD session state

 include/ModemManager-enums.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 55eb1f0c50bf51f452f314f28d0a0046c2b032e4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 21 16:30:57 2011 +0100

    api,enums: new enum for the 3GPP network availability

 include/ModemManager-enums.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 4cdbaa5de348e0f349df97e7a96e4949aef66534
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 21 16:27:48 2011 +0100

    api,enums: implement all enums and flags from the new API

 include/ModemManager-enums.h                       | 455
 +++++++++++++++++++++
 new/org.freedesktop.ModemManager1.Bearer.xml       |  21 -
 new/org.freedesktop.ModemManager1.Modem.3gpp.xml   |  38 --
 new/org.freedesktop.ModemManager1.Modem.Cdma.xml   |  80 ----
 ...rg.freedesktop.ModemManager1.Modem.Contacts.xml |  23 --
 ...rg.freedesktop.ModemManager1.Modem.Location.xml | 143 -------
 new/org.freedesktop.ModemManager1.Modem.xml        | 403
 ------------------
 new/org.freedesktop.ModemManager1.Sms.xml          |  35 --
 8 files changed, 455 insertions(+), 743 deletions(-)

commit 8763576a3488a91e09bb47fe89789ee858b09345
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 21 14:27:35 2011 +0100

    api,dbus: rewrite Methods, Properties and Signals for gdbus-codegen

 new/org.freedesktop.ModemManager1.Bearer.xml       | 308 +++++++----
 ...g.freedesktop.ModemManager1.Modem.3gpp.Ussd.xml | 132 +++--
 new/org.freedesktop.ModemManager1.Modem.3gpp.xml   | 205 ++++---
 new/org.freedesktop.ModemManager1.Modem.Cdma.xml   | 186 ++++---
 ...rg.freedesktop.ModemManager1.Modem.Contacts.xml | 262 +++++----
 ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 149 +++--
 ...rg.freedesktop.ModemManager1.Modem.Location.xml | 338 ++++++++----
 ...g.freedesktop.ModemManager1.Modem.Messaging.xml | 198 ++++---
 new/org.freedesktop.ModemManager1.Modem.Simple.xml | 271 +++++----
 new/org.freedesktop.ModemManager1.Modem.xml        | 611
 ++++++++++++---------
 new/org.freedesktop.ModemManager1.Sim.xml          | 163 +++---
 new/org.freedesktop.ModemManager1.Sms.xml          | 151 ++---
 new/org.freedesktop.ModemManager1.xml              |  46 +-
 13 files changed, 1769 insertions(+), 1251 deletions(-)

commit 793c65705fafb195d4c5fe98f64550c9eda6b9c4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 21 14:17:52 2011 +0100

    api,dbus: Bearer interface not implemented by modems

    Keep the Bearer interface out of the 'Modem' subtree in the interface
    hierarchy,
    as it will be specific for Bearer objects, not implemented by Modem
    objects.

 ...nager1.Modem.Bearer.xml => org.freedesktop.ModemManager1.Bearer.xml}
 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3599e396b9b182f90002e462f0692724a7f75fc9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 21 14:17:02 2011 +0100

    api,dbus: SMS interface not implemented by modems

    Keep the SMS interface out of the 'Modem' subtree in the interface
    hierarchy,
    as it will be specific for SMS objects, not implemented by Modem
    objects.

 ...odemManager1.Modem.SMS.xml => org.freedesktop.ModemManager1.Sms.xml}
 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 592cd21f6128080f79f74641615f293c1f11d66b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 21 17:28:59 2011 +0100

    api,dbus: fix SignalQuality property signature so that it's a
    (ub) tuple

 new/org.freedesktop.ModemManager1.Modem.xml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 4fbe13a73f8d7f05188292c211f7808ed5d6c632
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 21 17:25:07 2011 +0100

    api,dbus: simplified the Manager API, as we will use the standard
    ObjectManager

    The recent `org.freedesktop.DBus.ObjectManager' standard API defines
    a common
    way to handle a list of objects in the interface. It allows getting
    all objects,
    interfaces and properties in a single method call.

    See:
    http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager

 new/org.freedesktop.ModemManager1.xml | 42
 -----------------------------------
 1 file changed, 42 deletions(-)

commit 89090013f20c8b7a5ca3e2d4e0e3ca54839dafd0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 21 17:21:50 2011 +0100

    api,dbus: let IMSI, OperatorIdentifier and OperatorName be properties
    in the SIM interface

 new/org.freedesktop.ModemManager1.Sim.xml | 58
 ++++++++++---------------------
 1 file changed, 18 insertions(+), 40 deletions(-)

commit 35abbd6dd5fb74ae9890710912c7bc15fa5d243b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 21 17:17:26 2011 +0100

    api,dbus: use long property names in the 3GPP DBus interface

 new/org.freedesktop.ModemManager1.Modem.3gpp.xml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 432df3349f7df7d00d0dbc17eacdfc46965b372b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 21 17:15:02 2011 +0100

    api,dbus: fix signature of the Scan() method in the 3GPP DBus
    interface

    The Scan() method returns an array of dictionaries, where each
    dictionary is
    defined by a string key plus a variant data (not a string data). This
    is to
    handle the "status" and "access-tech" entries, which are given
    as unsigned
    integers.

 new/org.freedesktop.ModemManager1.Modem.3gpp.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f7390c328bfb8690802e317f503a5bff5116fd84
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Nov 21 17:12:59 2011 +0100

    api,dbus: use long property names in the CDMA DBus interface

 new/org.freedesktop.ModemManager1.Modem.Cdma.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 60e824bd5994a1c27df222219ef9a3837c143519
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 11:49:42 2011 +0100

    api,dbus: let UnlockRequired property be an enum instead of a string

    We were already working with a fixed set of possible strings, so
    better to have
    an enumeration for that.

 new/org.freedesktop.ModemManager1.Modem.xml | 98
 ++++++++++++++++++++++++++---
 1 file changed, 90 insertions(+), 8 deletions(-)

commit 022ceae0d8fc915b58dd3c254e01026c7df5ec72
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Nov 22 17:17:29 2011 +0100

    api,dbus: new `Plugin' property in the Modem interface

    Will hold the name of the plugin managing the modem.

 new/org.freedesktop.ModemManager1.Modem.xml | 6 ++++++
 1 file changed, 6 insertions(+)

commit c1642466425bfd253ca887eed5f6a3f07152ca81
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 29 15:13:35 2012 +0100

    tests: serial port tests don't need errors header

 src/tests/test-at-serial-port.c | 1 -
 1 file changed, 1 deletion(-)

commit 8f5cd493619cc8eff563492cb1f779422c98e52d
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 14 11:11:26 2012 -0500

    release: bump version to 0.7.0 (devel for 0.8.x stable)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8e83a10c1e712030938fa226ab3f6829f2c1eb97
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 19:42:36 2012 +0100

    hso: disable echo removal

    Built-in echo removal conflicts with _OWANCALL unsolicited messages,
    which are
    not coming prefixed with <CR><LF>.

    Fixes LP#953294

 plugins/mm-modem-hso.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 791e097ab54a79ff9c97488fabc33402cf155736
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Mar 13 19:02:03 2012 +0100

    at-serial-port: new property to control whether echo removal should
    be applied

 src/mm-at-serial-port.c | 61
 ++++++++++++++++++++++++++++++++++++++++++++++---
 src/mm-at-serial-port.h |  2 ++
 2 files changed, 60 insertions(+), 3 deletions(-)

commit 7c9ba7faf2af1deabd22ed9e11ae19a209fda90a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 5 16:59:52 2012 +0100

    samsung: remove unused variables

 plugins/mm-modem-samsung-gsm.c | 3 ---
 1 file changed, 3 deletions(-)

commit 5f6c65e7c1f23d3aa9f14580e5eb82c9ff4b8505
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 1 17:22:56 2012 -0600

    gsm: retry sending SMS in PDU mode if text fails and PDU is supported

    In the future we'll just default to PDU mode.

 src/mm-generic-gsm.c | 84
 ++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 58 insertions(+), 26 deletions(-)

commit bc118aa1602b309101f1151805a2d8cdf0f916eb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 29 16:51:50 2012 +0100

    modem-helpers: plug memleak

    g_match_info_fetch() returns always a heap-allocated string which
    should be
    freed by the caller.

 src/mm-modem-helpers.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 30e706309462f6b207753209649143902ee538fa
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Feb 25 20:18:48 2012 -0600

    iridium: convert to new port grabbing scheme

 plugins/mm-modem-iridium-gsm.c | 50
 ++++++++++--------------------------------
 plugins/mm-plugin-iridium.c    |  6 +++--
 2 files changed, 16 insertions(+), 40 deletions(-)

commit 4dad94d5004f325e25dc3b09d87585eab38d4c3f
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Feb 1 01:43:54 2012 -0600

    core: rework port grabbing and organization

    Make port roles more flexible.  We have modems that do PPP
    on interfaces other than the primary interface, and that
    wasn't possible with the old code.  So clean up all that
    logic and move the port organization code into the core
    so we can reduce code in the plugins.

    In the new world order, the plugins say whether the port
    is a QCDM port, an AT port, or ignored.  If it's an AT
    port the plugins get to tag it as primary, secondary, or
    PPP, or any combination of the 3.  This allows for modems
    where PPP should really be done on the secondary port
    (Huawei E220, Sierra devices) so that the primary port
    stays open for command and status.

    Modem subclasses no longer get asked to handle port grabbing
    themselves.  Instead, that's now done by the generic classes
    (MMGenericCdma and MMGenericGsm) and the plugins are notified
    when a port is grabbed so they can add unsolicited response
    handlers for it.  After all ports are grabbed by the generic
    classes, they get "organized", which assigns various ports
    to the roles of PRIMARY, SECONDARY, DATA, and QCDM based
    on specific rules and hints that the plugin provided (which
    are expressed as MMAtPortFlags).  The plugins then have
    a chance to perform fixups on the primary port if they choose.

    The plugin code is responsible for determining the port
    hints (ie MMAtPortFlags) at probe time, instead of having
    a combination of the plugin and the modem class do the
    job.  This simplifies things greatly for the plugins at
    the expense of more complicated logic in the core.

 plugins/mm-modem-anydata-cdma.c   |  22 ++-
 plugins/mm-modem-cinterion-gsm.c  |  42 ++----
 plugins/mm-modem-hso.c            |  97 ++++---------
 plugins/mm-modem-huawei-cdma.c    |  39 ++---
 plugins/mm-modem-huawei-gsm.c     |  75 +++-------
 plugins/mm-modem-icera.c          |  14 +-
 plugins/mm-modem-linktop.c        |  41 ++----
 plugins/mm-modem-mbm.c            |  77 +++++-----
 plugins/mm-modem-nokia.c          |  42 ++----
 plugins/mm-modem-novatel-gsm.c    |  53 +++----
 plugins/mm-modem-option-utils.c   |   2 +-
 plugins/mm-modem-option.c         |  35 ++---
 plugins/mm-modem-samsung-gsm.c    |  41 ++----
 plugins/mm-modem-sierra-cdma.c    |   4 +-
 plugins/mm-modem-sierra-gsm.c     |  81 +++++------
 plugins/mm-modem-simtech-gsm.c    |  40 ++----
 plugins/mm-modem-wavecom-gsm.c    |  44 ++----
 plugins/mm-modem-zte.c            |  43 ++----
 plugins/mm-plugin-anydata.c       |  11 +-
 plugins/mm-plugin-cinterion.c     |   6 +-
 plugins/mm-plugin-generic.c       |  11 +-
 plugins/mm-plugin-gobi.c          |   8 +-
 plugins/mm-plugin-hso.c           |  26 +++-
 plugins/mm-plugin-huawei.c        |  93 +++++++-----
 plugins/mm-plugin-linktop.c       |   6 +-
 plugins/mm-plugin-longcheer.c     |  26 ++--
 plugins/mm-plugin-mbm.c           |   6 +-
 plugins/mm-plugin-moto-c.c        |   8 +-
 plugins/mm-plugin-nokia.c         |  12 +-
 plugins/mm-plugin-novatel.c       |  11 +-
 plugins/mm-plugin-option.c        |  18 ++-
 plugins/mm-plugin-samsung.c       |   6 +-
 plugins/mm-plugin-sierra.c        |  41 ++++--
 plugins/mm-plugin-simtech.c       |  26 ++--
 plugins/mm-plugin-wavecom.c       |   6 +-
 plugins/mm-plugin-x22x.c          |  26 ++--
 plugins/mm-plugin-zte.c           |  15 +-
 src/mm-at-serial-port.c           |  24 +++-
 src/mm-at-serial-port.h           |  25 +++-
 src/mm-generic-cdma.c             | 186 +++++++++++++-----------
 src/mm-generic-cdma.h             |  27 ++--
 src/mm-generic-gsm.c              | 217 +++++++++++++++-------------
 src/mm-generic-gsm.h              |  26 +++-
 src/mm-manager.c                  | 143 +++++++++++--------
 src/mm-modem-base.c               | 289
 +++++++++++++++++++++++++++++---------
 src/mm-modem-base.h               |  21 ++-
 src/mm-modem.c                    |  15 +-
 src/mm-modem.h                    |  19 ++-
 src/mm-plugin-base.c              |  14 +-
 src/mm-plugin-base.h              |   2 +
 src/mm-port.c                     |  10 +-
 src/mm-port.h                     |   3 +-
 src/mm-qcdm-serial-port.c         |   8 +-
 src/mm-qcdm-serial-port.h         |   4 +-
 src/tests/test-qcdm-serial-port.c |   2 +-
 55 files changed, 1144 insertions(+), 1045 deletions(-)

commit 36ee1b9c76a681b44516852372944b82c7616892
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Feb 26 22:08:18 2012 +0100

    build: include proper build dependencies for the polkit conf file

    So that the final conf file is updated if the original one gets
    modified.

 Makefile.am | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 86bfe96ddbc90a56fd1f7d7e65acebbb74169572
Author: Tom Goetz <tcgoetz@gmail.com>
Date:   Sat Feb 25 20:05:33 2012 -0600

    cdma: fix crash on NULL error (bgo #670145)

 src/mm-generic-cdma.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit b42ce2d8e62dd12488c209fb2500a82009accdee
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Feb 18 10:47:44 2012 +0100

    charsets: plug memleak

    The string passed to utils_bin2hexstr() needs to be freed afterwards.

 src/mm-charsets.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

commit 2e99aa25577157275312739bea5dd75c3818cf92
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Feb 17 13:06:11 2012 -0600

    qcdm: decode some more log items

 libqcdm/src/log-items.h | 36 ++++++++++++++++++++++++++++++++----
 1 file changed, 32 insertions(+), 4 deletions(-)

commit 7b8e9203f259b93bc3a5b6f94cb8cf0dbb39742c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 18:09:17 2011 +0100

    gsm: don't query PS network registration status if not supported

 src/mm-generic-gsm.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit f2af208f05cbf56f8a44478615d70b7da46c3e42
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 09:47:41 2011 +0100

    iridium: don't try to update signal quality if not registered

    Seems that launching AT+CSQF when not registered ends up timing
    out. AT+CSQF
    is meant to be the fast version to get the signal quality, and is
    expected to
    return instantly with the last cached signal quality value. But if
    we never
    got registered, there is no such cached value, so it probably waits
    to get the
    first one.

 plugins/mm-modem-iridium-gsm.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 5371cce11d5391a31272a6e85421e4d2c5bf43f6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Dec 28 09:14:56 2011 +0100

    iridium: ensure cached capabilities get checked

 plugins/mm-plugin-iridium.c | 1 +
 1 file changed, 1 insertion(+)

commit fc88c53fadf71ba032ecaac1a77a20cadd9935c5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Dec 26 17:12:47 2011 +0100

    iridium: handle Motorola-branded Iridium modems

 plugins/mm-plugin-iridium.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 8b1016f4e1de4f058ce93c4dec1438cf8138317e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 20 11:43:41 2011 +0200

    iridium: close and open the port during disconnection

    The Iridium modem doesn't seem to like only the port flashing
    during the
    disconnection, so we fully close and open again the port.

 plugins/mm-modem-iridium-gsm.c | 73
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

commit d52b38b1f2ecdac84620d62c3fc0c8a5aa2ed496
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 10 12:13:58 2011 +0200

    iridium: set bearer service type to 9600bps V.110

 plugins/mm-modem-iridium-gsm.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 707647da45423fb1f666d89df10b45d872540bc9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 10 09:53:23 2011 +0200

    iridium: override generic initialization

    We must send ATZ alone and once reply received, wait some time
    before sending
    the next initialization commands. Otherwise, the next commands
    will receive
    garbage as reply. The only way to handle this is to override the
    whole generic
    initialization phase.

    We will also avoid sending any power-up command, as not needed.

 plugins/mm-modem-iridium-gsm.c | 78
 +++++++++++++++++++++++++++++++++++++-----
 1 file changed, 70 insertions(+), 8 deletions(-)

commit c0f390470ea3644b03b15defe33b0b237bd6a9c9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 9 17:46:16 2011 +0200

    iridium: allow up to 200s to configure IP

 plugins/mm-modem-iridium-gsm.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 920fefa8e2c7660422a23d79fa45f7cd488e5198
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 9 17:45:33 2011 +0200

    modem: new property to allow specifying longer timeouts when
    configuring IP

    This IpTimeout property will be read by NetworkManager, and used as
    the time to
    wait for pppd to establish the IP configuration.

 introspection/org.freedesktop.ModemManager.Modem.xml |  6 ++++++
 src/mm-modem-base.c                                  | 11 +++++++++++
 src/mm-modem.c                                       | 10 ++++++++++
 src/mm-modem.h                                       |  4 +++-
 4 files changed, 30 insertions(+), 1 deletion(-)

commit e6d085246f3d47e162084234b1199b5ebb840cca
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 7 15:45:55 2011 +0200

    iridium: ensure 9600 baudrate is used

 plugins/mm-modem-iridium-gsm.c | 39
 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

commit 4b0cd28baf87a97c623bf25afcbeebc63a413344
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 7 14:19:24 2011 +0200

    iridium: fix operator name and code to be reported

 plugins/mm-modem-iridium-gsm.c | 20 ++++++++++++++++++++
 src/mm-generic-gsm.c           |  2 +-
 2 files changed, 21 insertions(+), 1 deletion(-)

commit 3a7f9709314b6f82d0543f6e4b505ee32378c091
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 7 14:13:33 2011 +0200

    gsm: let plugins override the operator name and code retrieval

 src/mm-generic-gsm.c | 153
 +++++++++++++++++++++++++++++++++++++++------------
 src/mm-generic-gsm.h |   9 +++
 2 files changed, 126 insertions(+), 36 deletions(-)

commit 26d69ca0f26405743de08cf9ed36aa9f28a8c647
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 7 13:22:48 2011 +0200

    gsm: allow leading zeroes in numbers in CREG/CGREG responses

 src/mm-modem-helpers.c         | 18 +++++++++---------
 src/tests/test-modem-helpers.c | 21 ++++++++++++++++++++-
 2 files changed, 29 insertions(+), 10 deletions(-)

commit 4ed33918593b7c902d70e55f65c1442e6fec9589
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 6 13:32:50 2011 +0200

    iridium: PS network is not supported

 plugins/mm-modem-iridium-gsm.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 40512451cc839534833c2b9ea51432a50deb2211
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 7 11:35:54 2011 +0200

    generic: only send CGACT if PS network is supported

 src/mm-generic-gsm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 740680fd3be3c976db6f1612f3fd834ceb402632
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 6 12:54:36 2011 +0200

    generic: query PS network registration status only if PS network
    supported by the modem

 src/mm-generic-gsm.c | 54
 ++++++++++++++++++++++++++++++++++++++++++++++++----
 src/mm-generic-gsm.h |  4 +++-
 2 files changed, 53 insertions(+), 5 deletions(-)

commit 0c6eb6dcaa240adff5e49168e6b0f15086426640
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 6 11:33:21 2011 +0200

    iridium: handle access technology

 plugins/mm-modem-iridium-gsm.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

commit 156a05afe0ecdbb8e98bcf55a846b06e0e4aeb97
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jun 6 11:08:51 2011 +0200

    iridium: handle allowed mode

 plugins/mm-modem-iridium-gsm.c | 62
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

commit 85de9bbcc9146447153fe82cc22efbd1e45a44fd
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 3 13:05:37 2011 +0200

    iridium: override signal quality retrieval command

 plugins/mm-modem-iridium-gsm.c | 86
 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 85 insertions(+), 1 deletion(-)

commit b7b37c4738180b589aabc904402657ec5cc518b9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 3 12:28:14 2011 +0200

    iridium: override SMS indications setup commands

 plugins/mm-modem-iridium-gsm.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

commit a87b4b46c8ac4b2ae9601e1807c9d79b6f01ae75
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 3 12:17:24 2011 +0200

    gsm: set pin check flag before requesting ICCID check

 src/mm-generic-gsm.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 1c6e17857f3608bba23769b5c8bdb078b68911d5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 3 11:34:52 2011 +0200

    iridium: skip ICCID/IMSI query

 plugins/mm-modem-iridium-gsm.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 7cbc8f3b8057f0df6c6e22a2d28d393f5c27bbbb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 3 11:00:50 2011 +0200

    gsm: allow no whitespaces before CPIN? reply value

 src/mm-generic-gsm.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit b714441272b75f85d09c155a79c176f230d0f5c0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Jun 3 10:52:24 2011 +0200

    iridium: disable power up command and modify flow control setup

 plugins/mm-modem-iridium-gsm.c | 47
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

commit 670f560b3d2e1fdc622a078a333f96f73b960533
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 2 16:32:04 2011 +0200

    iridium: add initial dummy plugin

 plugins/Makefile.am            |  22 ++++-
 plugins/mm-modem-iridium-gsm.c |  64 ++++++++++++
 plugins/mm-modem-iridium-gsm.h |  45 +++++++++
 plugins/mm-plugin-iridium.c    | 218
 +++++++++++++++++++++++++++++++++++++++++
 plugins/mm-plugin-iridium.h    |  48 +++++++++
 src/mm-plugin-base.c           |   1 +
 src/mm-plugin-base.h           |   1 +
 7 files changed, 398 insertions(+), 1 deletion(-)

commit 20693529ef9af82f74822745b8b85f5a534c793b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Feb 16 18:20:31 2012 +0100

    core: fix loop limits in echo removal

    -1 was actually correct, if data->len is 10, i goes from 0 to 8.

 src/mm-at-serial-port.c | 2 +-
 src/tests/Makefile.am   | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

commit 21162a366aa5cf802c00a13ccfd3719f72fef952
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jan 11 01:33:05 2012 +0100

    at-serial-port: implement built-in echo/garbage removal

    We expect the responses to start always with <CR><LF>. We just
    remove anything
    that comes before that.

 .gitignore                      |  1 +
 src/mm-at-serial-port.c         | 26 +++++++++++++
 src/mm-at-serial-port.h         |  4 +-
 src/tests/Makefile.am           | 15 ++++++-
 src/tests/test-at-serial-port.c | 86
 +++++++++++++++++++++++++++++++++++++++++
 5 files changed, 130 insertions(+), 2 deletions(-)

commit 1db000403319e6380e438ce627155a29b926d68e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Feb 8 16:29:27 2012 +0100

    charsets: don't crash when passing a NULL string to the UTF-8
    converter

 src/mm-charsets.c | 3 +++
 1 file changed, 3 insertions(+)

commit 7b4d6cf605fbf57a46fb1ef8777a6fdc49329c68
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 7 14:08:23 2012 -0600

    test: fix SMS testcase errors due to uninitialized GError

 src/tests/test-sms.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

commit 2104cd725a5f3f9aeacf4dfc4faa70dba293789d
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 7 13:59:32 2012 -0600

    gsm: ensure text mode SMS list doesn't pick up too much text

    This likely has no effect, but just make sure the regex stops
    grabbing message content when it hits the CF/LF that terminates
    the message content in text mode.

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c7f54a635a84d5861b1d5f819c25de97b8c0ac32
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 7 13:48:47 2012 -0600

    gsm: fix text mode SMS list regex for single messages

    We don't get a \r\n at the end for single messages.

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ff31122ebaed9e3de32a61b53118c73199865800
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 12:56:45 2012 +0100

    build: do not warn about using deprecated methods

    GValueArray is deprecated since GLib 2.31.14, but we need to use
    it for
    dbus-glib based code.

    We should re-enable deprecation warnings once we switch to GDBus.

 m4/compiler_warnings.m4 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4af8483ae4e32ca3d815f14aaf5f012b0ed98eed
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 19:05:10 2012 +0100

    gsm: use new common charset converter when parsing operator name/code

 src/mm-generic-gsm.c | 31 +------------------------------
 1 file changed, 1 insertion(+), 30 deletions(-)

commit 03678df6fdfa32316dbac8b15d10da2ab16a42f7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 18:01:28 2012 +0100

    gsm: convert SMS text and number from current charset to UTF-8

 src/mm-generic-gsm.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 00ce1d68744d6c69ea1f5fbb4d49a9d242208a7b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 17:50:49 2012 +0100

    charsets: new method to do our best to convert from current charset
    to UTF-8

    This method will try to convert the input string to UTF-8. The input
    string is
    supposed to be in the given charset; or otherwise is supposed to be
    the hex
    representation of the string in the given charset.

 src/mm-charsets.c | 92
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-charsets.h |  4 ++-
 2 files changed, 95 insertions(+), 1 deletion(-)

commit 9f6f80a63abc03bce6c1ef8a2ee963c0aa20f28a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 17:48:23 2012 +0100

    charsets: don't warn if we couldn't convert from hex to utf8

 src/mm-charsets.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 0c6e5e713e2a1e71e560d6a8d5ba058eea0b7ac9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Feb 7 11:42:06 2012 +0100

    core: plug leaks when passing GValueArrays to dbus_g_method_return()

    The ownership of the GValueArray is not transferred.

 src/mm-modem-cdma.c        | 2 ++
 src/mm-modem-gsm-network.c | 2 ++
 src/mm-modem.c             | 4 ++++
 3 files changed, 8 insertions(+)

commit 4706ea488eb227d048a9a4021a875d87e8e7131b
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Feb 2 21:12:44 2012 -0600

    sms: handle text mode SMS listing

    Undoubtedly we'll need to adjust the regex but this works for now.

 src/mm-generic-gsm.c | 243
 ++++++++++++++++++++++++++++++++++++++++-----------
 src/mm-sms-utils.c   | 152 +++++++++++++++++++-------------
 src/mm-sms-utils.h   |   8 ++
 3 files changed, 288 insertions(+), 115 deletions(-)

commit 76c9b29415a89a1804fcc17be737a2b09fe1109f
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Feb 2 21:12:17 2012 -0600

    test: (sms-get.py) don't fail if we don't get an SMSC

 test/sms-get.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 681a24c8d87cad064696d1dcf17ec78a23823d0c
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Feb 2 21:09:48 2012 -0600

    novatel: override message storage and notification

    It seems that even though the firmware says it supports
    specific CNMI notification values, it really doesn't.  Also
    set storage to the SIM until we support automatically
    determining the right storage in MM.  XU870 does not
    support ME storage according to +CPMS=?.

 plugins/mm-modem-novatel-gsm.c | 40
 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

commit 14a59c4384011ac1ff0793502fb8c2c8ae75d45c
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Feb 1 11:21:20 2012 -0600

    gsm: fix listing SMS messages in text mode

    Even though we don't parse them correctly yet, at least
    send the right command for listing them.

 src/mm-generic-gsm.c | 94
 +++++++++++++++++++++++++++-------------------------
 1 file changed, 48 insertions(+), 46 deletions(-)

commit d84214184ccb6f9dba3620d563adb42f7d155d7b
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Feb 1 10:45:47 2012 -0600

    gsm: fix setting PDU mode for SMS messages

    Stupid signed/unsigned mistake.

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 70978d58a0db9691fa7583cf1d8df839ac18431b
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Feb 1 10:45:28 2012 -0600

    test: pretty-print SMS messages in sms-get.py

 test/sms-get.py | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

commit 20a1c412fdf9dcc85fe97aa8053286032677938f
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Feb 1 01:43:04 2012 -0600

    core: fix warning about MMModemTime interface initialization

    The MMModemTime interface was getting initialized more than once.

 src/mm-modem-time.c | 1 +
 1 file changed, 1 insertion(+)

commit 4fd6264848944035b13047079a63fd29fc6a11d7
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jan 27 15:13:42 2012 -0600

    build: more libwmc and libqcdm standalone fixes

    Make it pass distcheck.

 configure.ac              |  6 ++++++
 libqcdm/configure.ac      |  9 ++++-----
 libqcdm/tests/Makefile.am |  6 +++---
 libwmc/configure.ac       | 11 +++++------
 libwmc/tests/Makefile.am  |  6 +++---
 5 files changed, 21 insertions(+), 17 deletions(-)

commit 5fc4e866c2f6453dae546f9c78ef5aa32d67ef87
Author: Thomas Tuttle <ttuttle@chromium.org>
Date:   Fri Jan 27 13:24:30 2012 -0500

    time: implement in icera

    Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>

 plugins/mm-modem-icera.c       | 91
 ++++++++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-icera.h       | 21 ++++++++++
 plugins/mm-modem-samsung-gsm.c | 54 ++++++++++++++++++++++++-
 3 files changed, 165 insertions(+), 1 deletion(-)

commit 0e246fb61db27e423539f400df4774c269929a7d
Author: Thomas Tuttle <ttuttle@chromium.org>
Date:   Fri Jan 27 13:24:13 2012 -0500

    time: poll for timezone

    Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>

 src/mm-modem-base.c | 88
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-base.h |  3 ++
 src/mm-modem-time.c | 15 +++++++++
 src/mm-modem-time.h |  8 +++++
 4 files changed, 114 insertions(+)

commit 8121b8e31922e89e5429b8ffa8c388d84f65c1f0
Author: Thomas Tuttle <ttuttle@chromium.org>
Date:   Fri Jan 27 13:23:51 2012 -0500

    time: implement ModemTime in ModemBase

    Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>

 src/mm-modem-base.c | 72
 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-base.h |  4 +++
 src/mm-modem.h      |  3 ++-
 3 files changed, 77 insertions(+), 2 deletions(-)

commit 346060efe87b43266326830af3c590052245a1ce
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 26 12:35:30 2012 -0600

    test: add SMS get example/test

 test/Makefile.am |  1 +
 test/sms-get.py  | 55
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+)

commit b9037d11504834cea5341ea48ddcdd3afc9952d1
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 26 09:08:18 2012 -0600

    test: add missing examples to Makefile.am

 test/Makefile.am | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 13d2eee6f1223357bf48f1de60564ddc8bc574d0
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 26 09:07:48 2012 -0600

    test: rename SMS send example

 test/Makefile.am                     | 2 +-
 test/{mm-send-sms.py => sms-send.py} | 0
 2 files changed, 1 insertion(+), 1 deletion(-)

commit accb3f0a58b6278788bc3e449ad97d5a4a80d96d
Author: Thomas Tuttle <ttuttle@chromium.org>
Date:   Fri Jan 20 15:20:12 2012 -0500

    api: add Modem.Time introspection XML

    Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>

 introspection/Makefile.am                          |  3 +-
 introspection/all.xml                              |  1 +
 .../org.freedesktop.ModemManager.Modem.Time.xml    | 56
 ++++++++++++++++++++++
 3 files changed, 59 insertions(+), 1 deletion(-)

commit 7f122014942e0ed5c7480967fe53573eccb08101
Author: Thomas Tuttle <ttuttle@chromium.org>
Date:   Fri Jan 20 15:20:34 2012 -0500

    time: implement MMModemTime boilerplate

    Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>

 src/Makefile.am     |   9 +++-
 src/mm-modem-time.c | 153
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-time.h |  52 ++++++++++++++++++
 3 files changed, 212 insertions(+), 2 deletions(-)

commit 835e14d8d55eff05865e348977d623bff13fb130
Author: Thomas Tuttle <ttuttle@chromium.org>
Date:   Fri Jan 20 15:20:01 2012 -0500

    api: add firmware interface XML file to introspection/Makefile.am

    Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>

 introspection/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit a1682fe3e5edbc499f58a9013b53cc583e97a149
Author: Thomas Tuttle <ttuttle@chromium.org>
Date:   Fri Jan 20 15:19:49 2012 -0500

    trivial: sort introspection/Makefile.am and all.xml

    To make things neater, sort the files listed in instrospection's
    Makefile
    alphabetically, and sort the files listed in all.xml alphabetically
    within
    logical groups.

    Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>

 introspection/Makefile.am | 14 +++++++-------
 introspection/all.xml     |  6 +++---
 2 files changed, 10 insertions(+), 10 deletions(-)

commit 38498e3c5d70cdfe484dd61d705bc88777942399
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 24 11:32:20 2012 -0600

    qcdm: fix some build errors when building standalone

 libqcdm/AUTHORS           |  0
 libqcdm/ChangeLog         |  0
 libqcdm/NEWS              |  0
 libqcdm/README            |  0
 libqcdm/configure.ac      |  8 +++++---
 libqcdm/tests/Makefile.am | 16 ++++++++++------
 6 files changed, 15 insertions(+), 9 deletions(-)

commit 79cb265379685c057a6429718e2c11fa070f384c
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 24 11:28:46 2012 -0600

    wmc: allow building libwmc standalone

 libwmc/AUTHORS           |  0
 libwmc/ChangeLog         |  0
 libwmc/NEWS              |  0
 libwmc/README            |  0
 libwmc/autogen.sh        | 22 ++++++++++++++++++++++
 libwmc/configure.ac      | 49
 ++++++++++++++++++++++++++++++++++++++++++++++++
 libwmc/tests/Makefile.am | 13 +++++++++----
 7 files changed, 80 insertions(+), 4 deletions(-)

commit 7d6d3fd47e32c3f1d4b3c011f85d896437b151f9
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 23 18:53:04 2012 -0600

    decode: update WMC for DEVICE_INFO changes

 decode/wmc.py | 46 +++++++++++++++++++++++++++-------------------
 1 file changed, 27 insertions(+), 19 deletions(-)

commit dd1ed06c1474a84c926e99286f575ab5c0c53c15
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 23 18:46:41 2012 -0600

    wmc: harmonize buffer dumper with decode.py

    Makes it easier to compare the output.

 libwmc/tests/test-wmc-com.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit c386efee9c7057a89a054d79b7abb4aec446a9a7
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 23 18:06:04 2012 -0600

    wmc: decode more of DEVICE_INFO

    CDMA MIN, home SID, PRL & ERI version

 libwmc/src/commands.c       | 16 ++++++++++
 libwmc/src/commands.h       |  5 ++++
 libwmc/src/protocol.h       | 73
 +++++++++++++++++++++++++--------------------
 libwmc/tests/test-wmc-com.c | 35 +++++++++++++++++-----
 4 files changed, 89 insertions(+), 40 deletions(-)

commit 704489d660776b679434d5426d5f50a061fb536c
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 23 17:46:01 2012 -0600

    decode: fix WMC decoder for PC5740 dumps

 decode/wmc.py | 65
 ++++++++++++++++++++++++++++++++++-------------------------
 1 file changed, 38 insertions(+), 27 deletions(-)

commit ccfdda523aa812d9ff894593068b61e902f27660
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 23 17:20:57 2012 -0600

    wmc: add FIELD_TEST command

    UML290 and UML190 both respond to the command but return all
    zeros, while the PC5740 returns valid data.

 libwmc/src/protocol.h | 47
 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

commit 1e6da54b45378a5438c5ed4eca4d009d36d517b9
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 23 16:40:55 2012 -0600

    decode: add another USB function

 decode/packet.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 8915f7964ab6a2656ad2f4992c708fefab5fdaa6
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 23 15:52:47 2012 -0600

    core: fix copy & paste error

 src/mm-generic-gsm.c | 4 ----
 1 file changed, 4 deletions(-)

commit f1410bb8d7dac2c100af4ee9f8c62e1d68f68119
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 23 15:50:24 2012 -0600

    wmc: fix compile error

 libwmc/src/protocol.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 72e3f0457bb6ccdc9b0814278fa98621f0ba9e1a
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 23 11:11:03 2012 -0600

    wmc: add LTE only global mode define

 libwmc/src/commands.h       | 1 +
 libwmc/src/protocol.h       | 1 +
 libwmc/tests/test-wmc-com.c | 2 ++
 3 files changed, 4 insertions(+)

commit f90fe1906856fd708f2f62f49486f94bfacf255f
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 23 10:23:37 2012 -0600

    wmc: fix init command

    Actually read what struct tm contains and use it correctly,
    and fix the init command struct size.

 libwmc/src/commands.c | 4 ++--
 libwmc/src/protocol.h | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 66b7ef018e983fb5f77624e2d119ded7cc24b6be
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 23 10:23:18 2012 -0600

    wmc: fix segfault in testcase

 libwmc/tests/test-wmc-com.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 83b92ecebc3f44c5a2ebbdc34be9aee918504350
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 15:43:55 2012 +0100

    ussd: ensure coded string is valid before stripping quotes

 src/mm-generic-gsm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 62e94727fef8da2620e8e49a0e705fcd6517bfc3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 15:31:58 2012 +0100

    ussd: plug a leak

 src/mm-generic-gsm.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit a86a5c39ac194d7764c41f6e4d4a8c46ce39138f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Jan 23 15:29:36 2012 +0100

    wmc: fix compilation error in tests

    g_print() expects format + arguments; or compilation will fail when
    -Werror=format-security being used.

 libwmc/tests/test-wmc-com.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4d4d6072a12677dca0e5fceb9a3be41c03cc72b0
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 21 15:42:28 2012 -0600

    wmc: fix up for recent INIT and DEVICE_INFO changes

    Send current time to modem during init, and don't try to
    grab MCC/MNC where its not supported.

 libwmc/src/commands.c | 37 ++++++++++++++++++++++++++-----------
 1 file changed, 26 insertions(+), 11 deletions(-)

commit 4c5ef98525bbd8348611c0206ae6b30b47322803
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 21 15:12:34 2012 -0600

    decode: fix some formatting

 decode/wmc.py | 88
 +++++++++++++++++++++++++++++------------------------------
 1 file changed, 44 insertions(+), 44 deletions(-)

commit 365666da01095dfb1529aaf6a5f08418677605ac
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 21 15:10:59 2012 -0600

    decode: update for WMC timestamps

 decode/wmc.py | 96
 ++++++++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 65 insertions(+), 31 deletions(-)

commit fac80b70027f4c74b9552a8a48e61e388f455871
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 21 15:09:40 2012 -0600

    wmc: update INIT and NETWORK_INFO commands with timestamp

 libwmc/src/protocol.h | 56
 ++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 38 insertions(+), 18 deletions(-)

commit 2838456e7a53ddcbf841735fdd4337485ec759c9
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 21 13:26:08 2012 -0600

    decode: parse URB timestamps too

 decode/packet.py | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

commit c37fdf5f94711ffbdf966f2ab366bbd047dfc147
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 21 12:55:16 2012 -0600

    decode: updates all around

    Rewrite packet handling so packets can span multiple USB URBs
    (which sometimes happens with WMC) and also add a bunch more
    WMC decoding stuff.

 decode/decode.py |  34 +++------
 decode/packet.py | 130 +++++++++++++++++++--------------
 decode/qmux.py   |   6 +-
 decode/wmc.py    | 215
 +++++++++++++++++++++++++++++++++++++++----------------
 4 files changed, 244 insertions(+), 141 deletions(-)

commit a9d6b5a8b62fc0fc07d7c3fab99b25c67474c68d
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 21 12:50:12 2012 -0600

    wmc: more protocol updates

 libwmc/src/commands.c |  2 +-
 libwmc/src/commands.h |  3 +-
 libwmc/src/protocol.h | 93
 +++++++++++++++++++++++++++++++++++++++++----------
 3 files changed, 79 insertions(+), 19 deletions(-)

commit 0737a24f4394490bdf25f629169f70a3cbe085da
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 21 11:23:17 2012 -0600

    qcdm: clarify IMxI conversions a bit; fix up WCDMA L1 states

 libqcdm/src/commands.c        | 20 ++++++++++----------
 libqcdm/src/commands.h        | 18 +++++++++---------
 libqcdm/src/dm-commands.h     | 12 ++++++++----
 libqcdm/tests/test-qcdm-com.c |  8 ++++----
 4 files changed, 31 insertions(+), 27 deletions(-)

commit d068cde8193963b4d6767a8ac97ece041841b1fb
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jan 20 17:20:37 2012 -0600

    decode: decode more WMC commands and fix some command names

 decode/wmc.py | 64
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 59 insertions(+), 5 deletions(-)

commit 110897c65d6a9e136c2410d8a7c22f0f0f66c5de
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jan 20 16:56:20 2012 -0600

    wmc: add some more global mode defines

 libwmc/src/commands.h       |  6 ++++--
 libwmc/src/protocol.h       |  6 ++++--
 libwmc/tests/test-wmc-com.c | 10 +++++++---
 3 files changed, 15 insertions(+), 7 deletions(-)

commit 21052004dd8cdbdf4db6421d477dc7b47e416eac
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jan 20 16:54:59 2012 -0600

    decode: add another ignored packet type

 decode/packet.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit a75157859c3aafe40c2121665df869dbe70ffaa2
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jan 20 14:54:16 2012 -0600

    wmc: prettier printing of serial stream and WMC packets

 libwmc/tests/test-wmc-com.c | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

commit 85a7575717ae12ca42ee068eb1299cd55524205d
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jan 20 14:52:58 2012 -0600

    wmc: global mode command is 3 bytes not 2

 libwmc/src/commands.c       | 6 +++---
 libwmc/tests/test-wmc-com.c | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

commit 1ae2381e5a834a7173f0654b904c68f219af854a
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 19 19:09:52 2012 -0600

    wmc: add some more commands and fix up network info

    Add operator commands, and fix up the network info response
    handling for GSM/WCDMA capable devices like the UML190 when
    it's in GSM/WCDMA mode.

 libwmc/src/commands.c       | 150
 +++++++++++++++++++++++++++++++++++++++-----
 libwmc/src/commands.h       |  48 ++++++++++++--
 libwmc/src/protocol.h       | 136 ++++++++++++++++++++++++++++++++++-----
 libwmc/tests/test-wmc-com.c | 126 +++++++++++++++++++++++++++++++++----
 libwmc/tests/test-wmc-com.h |   4 +-
 libwmc/tests/test-wmc.c     |   3 +-
 6 files changed, 419 insertions(+), 48 deletions(-)

commit 47fd967d614dcfdc3e216b90a32522e0a57bd28b
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 19 18:51:55 2012 -0600

    wmc: make warn macros more useful

 libwmc/src/errors.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit d519f3e364804d1dbf103e5caef31dc5942a26fe
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 19 18:48:26 2012 -0600

    wmc: fix stringification of wmc_xxx_if_fail() macros

    Actually reading about preprocessor concatenation and stringification
    helps.

 libwmc/src/errors.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 337f4b2372412abeec2e7de15d4f31dacf73df52
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 19 12:50:40 2012 -0600

    wmc: add Access Technology/Service definitions and Global Mode stuff

    Comparing dumps from UML190 in different modes, UML290, and PC5740
    revealed what the 'service' bit was, which matches up nicely with
    the SERVICE_* strings in the Windows connection manager DLLs if
    you interpret them in reverse numerical order.

    For the global mode stuff, looking at USB wire captures shows that
    C8 03 and C8 04 get used right before the NETWORK_INFO (C8 0B)
    shows access technology changes, which means they are probably the
    commands that switch global mode around.

 libwmc/src/protocol.h | 71
 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 69 insertions(+), 2 deletions(-)

commit 4e7fb72d2d88b308384fb8c54d9a3a65ba6f7dc2
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 19 11:55:12 2012 -0600

    decode: fix tab/space confusion in analyze.py

 decode/analyze.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 285cd37f11b688cff53e338426917db58deaba4c
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 19 10:08:09 2012 -0600

    wmc: STATUS is appears to be NETWORK_INFO

    So rename it in various places.

 libwmc/src/commands.c       | 24 ++++++++++++------------
 libwmc/src/commands.h       | 12 ++++++------
 libwmc/src/protocol.h       | 14 +++++++-------
 libwmc/tests/test-wmc-com.c | 12 ++++++------
 4 files changed, 31 insertions(+), 31 deletions(-)

commit c9a42d98c2a5a5cfe3015fa11838bfc432d1636f
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 19 09:52:06 2012 -0600

    qcdm: add some mode prefs

 libqcdm/src/nv-items.h | 4 ++++
 1 file changed, 4 insertions(+)

commit f9a32a47edd7b882b3522cb4e39a071c667ac73b
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 18 18:08:20 2012 -0600

    gsm: fix return value of SMS send method

    The introspection data specified the Send() method to return
    an array of unsigned integers, presumably the indexes of the
    messages just sent.  But the code wasn't doing that, leading
    to a crash when dbus-glib tried to interpret garbage on the
    return.

    The problem is that sms_send_auth_cb() gave async_call_done()
    as the callback for sending the SMS, but that method just calls
    dbus_g_method_return() with no return arguments.  dbus-glib
    interprets the arguments of dbus_g_method_return() according
    to the XML introspection data, and thus it was attempting to
    read the non-existent argument as an 'au' and getting garbage.

    Fix that by actually returning an array of message indexes from
    the SMS send code, and propagate that back to the SMS dbus
    code so it can return something sensible.

 src/mm-generic-gsm.c   | 49
 ++++++++++++++++++++++++++++++++++++++++++++++---
 src/mm-modem-gsm-sms.c | 41 ++++++++++++++++++++++++++++++++++++-----
 src/mm-modem-gsm-sms.h |  9 +++++++--
 3 files changed, 89 insertions(+), 10 deletions(-)

commit fc3fd7b983c564bc6d6523ad1232959734e04025
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 18 18:07:45 2012 -0600

    test: print sent SMS message index on success

 test/mm-send-sms.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 04e87e70ff629309413c7426d97457e5c58e19fe
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 18 17:02:48 2012 -0600

    qcdm: some devices do implement SW_VERSION

    Like the MF627 for some reason.  Also, the format appears to be
    more like the DM_CMD_VERSION_INFO response where at least the
    comp_date and comp_time fields are the same size as
    VERSION_INFO, just with some padding between.

 libqcdm/src/commands.c        |  2 +-
 libqcdm/src/dm-commands.h     |  4 +++-
 libqcdm/tests/test-qcdm-com.c | 11 +++++------
 3 files changed, 9 insertions(+), 8 deletions(-)

commit e2306a0dd5958ee9fef7305c6e41a0595bbeb3cc
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 18 16:29:02 2012 -0600

    gsm: change SMS send validity from 5-minute units to minutes

    Might as well keep it simple.

 .../org.freedesktop.ModemManager.Modem.Gsm.SMS.xml |  5 +--
 src/mm-modem-gsm-sms.c                             |  2 +-
 src/mm-sms-utils.c                                 | 46
 +++++++++++-----------
 src/tests/test-sms.c                               | 33 +++++++++++++---
 test/mm-send-sms.py                                |  2 +-
 5 files changed, 56 insertions(+), 32 deletions(-)

commit c437da20ffe1873b15c338f95be4bee26e26b401
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 18 15:43:22 2012 -0600

    test: enhance SMS send util to accept validity and SMSC address

 test/mm-send-sms.py | 44 ++++++++++++++++++++++++++++++++++++--------
 1 file changed, 36 insertions(+), 8 deletions(-)

commit 5c561995aacdab2b29f8eabf38ad8703eec75cab
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 18 15:26:12 2012 -0600

    gsm: fix CMGS PDU mode length calculation

    The first byte of the PDU is the SMSC length, but it's not
    the padded SMSC length.  So we need to subtract the actual
    byte index of the start of the message from length of the
    PDU, and since the PDU creation function knows all about
    where the SMSC address stops and the message begins, just
    have it return that length instead of making the callers
    calculate it.

 src/mm-generic-gsm.c |  8 +++-----
 src/mm-sms-utils.c   |  6 ++++++
 src/mm-sms-utils.h   |  1 +
 src/tests/test-sms.c | 25 +++++++++++++++----------
 4 files changed, 25 insertions(+), 15 deletions(-)

commit d51ff9ac07973701ee790f57c82a99cc25d92ab1
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 18 13:45:03 2012 -0600

    gsm: use PDU modem when the modem doesn't support text mode

    Eventually we should be using PDU mode whenever the modem supports
    it instead of defaulting to text mode, but there are still some
    bugs.

 src/mm-generic-gsm.c | 122
 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 118 insertions(+), 4 deletions(-)

commit 43e6039cee57f70b18119a8a68305ec8017f46fb
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 18 13:44:20 2012 -0600

    qcdm: GSM MCC, MNC, LAC and CI don't seem to valid in WCDMA mode

    So don't bother trying to parse them.

 libqcdm/src/commands.c | 40 ++++++++++++++++++++++------------------
 1 file changed, 22 insertions(+), 18 deletions(-)

commit e08e46fb1a77c61c45cb4e350595fbfbb252d784
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 18 13:25:00 2012 -0600

    qcdm: let WCDMA/GSM devices pass CDMA-only tests

    Obviously they don't implement the CDMA-only commands.

 libqcdm/tests/test-qcdm-com.c | 34 +++++++++++++++++++++++++++++-----
 1 file changed, 29 insertions(+), 5 deletions(-)

commit 1655b3d323d914f0ba45ebc438e66f655730dc2e
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 18 13:24:35 2012 -0600

    test: print out error if sending SMS fails

 test/mm-send-sms.py | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit 6789a87a5826638472b88d600b99414ce3daa5bd
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 18 13:00:50 2012 -0600

    tests: better handling of encodings in SMS test tool

    Python usually uses Unicode, but often the shell encoding
    will be in UTF-8, so Python needs some help converting the
    message to Unicode.  Use LANG to do that if we can.

 test/mm-send-sms.py | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

commit 3f4056caab93ea4f208f5da4a8cd50de5fef52d8
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 18 12:56:52 2012 -0600

    tests: add a test for 25-character SMS messages

    Tests that the last septet (packed in an octet by itself)
    doesn't get left off the message like the old code used to
    do before "core: fix some bugs in GSM7 packing code".

 src/tests/test-sms.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

commit 9bba24941b89bfdf308a241f67e08a441feee0ee
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 18 12:52:28 2012 -0600

    api: change SMS save/send validity units

    Making clients pass the raw GSM PDU value isn't very useful
    since it's not exactly trivial to create programmatically.
    Instead, let's make validity be units of 5 minutes and MM
    will automatically figure out how to map that to the PDU
    value.

 introspection/org.freedesktop.ModemManager.Modem.Gsm.SMS.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 27b981237eff9ef6239609ed040dc8c088e943d8
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 18 12:28:50 2012 -0600

    core: fix some bugs in GSM7 packing code

    The existing gsm_pack() had a bug where if the last
    septet should be in an octet by itself, that last
    octet wouldn't be added.  Plus, kinda pointless to
    use a GByteArray here when we already know what the
    length will be through simple arithmetic.

    We can also simplify the function too.

    Furthermore, there weren't any testcases for starting
    packing at an offset other than zero, so add one.

 src/mm-charsets.c         | 46
 +++++++++++++++++++++-------------------------
 src/tests/test-charsets.c | 45
 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 66 insertions(+), 25 deletions(-)

commit 178f30bdd3111ba645b92ae6511911cc6a9ece4c
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 17 18:49:18 2012 -0600

    qcdm: fill in some GSM and WCDMA stuff

 libqcdm/src/commands.c        | 149 ++++++++++++++++++++++++++
 libqcdm/src/commands.h        |  69 ++++++++++++
 libqcdm/src/dm-commands.h     |  44 ++++++++
 libqcdm/tests/test-qcdm-com.c | 239
 +++++++++++++++++++++++++++++++++++++-----
 libqcdm/tests/test-qcdm-com.h |   4 +
 libqcdm/tests/test-qcdm.c     |   2 +
 6 files changed, 482 insertions(+), 25 deletions(-)

commit 80a41ed11b8ba40a54cecf044c2957a70a249b4d
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 17 13:13:09 2012 -0600

    gsm: add SMS PDU creation function

    Only for basic SMS-SUBMIT PDUs at the moment, and doesn't
    support large SMSs yet.

 src/mm-charsets.c    | 178 +++++++++++++++++++++++++++++-
 src/mm-charsets.h    |   5 +
 src/mm-sms-utils.c   | 303
 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-sms-utils.h   |  15 +++
 src/tests/test-sms.c | 173 +++++++++++++++++++++++++++++
 5 files changed, 671 insertions(+), 3 deletions(-)

commit ad29e8dd885469887ee905fd7473ffdcfcb3d869
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 17 13:12:31 2012 -0600

    trivial: update .gitgnore

 .gitignore | 1 +
 1 file changed, 1 insertion(+)

commit dec9cc66eb3a321af082df40a55e268415b759b7
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 16 14:11:25 2012 -0600

    core: register SMS errors with dbus-glib

 src/mm-manager.c | 1 +
 1 file changed, 1 insertion(+)

commit bab6ae955274a878515e5fda3d4f758d2a345bf5
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 16 12:22:18 2012 -0600

    serial: handle CMS errors correctly

 src/mm-serial-parsers.c | 39 ++++++++++++++++++++++++++++++++++-----
 1 file changed, 34 insertions(+), 5 deletions(-)

commit 7dea934844cba4505063ca318d7e8575db5156f9
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 16 12:15:43 2012 -0600

    core: add CMS errors

 src/mm-errors.c | 141
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-errors.h |  39 ++++++++++++++++
 2 files changed, 180 insertions(+)

commit b24561e99eab939d49c1a33c64a4b1af6a68faaf
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jan 13 14:56:04 2012 -0600

    decode: don't try interpreting non-WMC data as WMC

 decode/wmc.py | 3 +++
 1 file changed, 3 insertions(+)

commit a6548ebe40145865aff925877d9ceabdc54c9b57
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 12 13:00:52 2012 -0600

    qcdm: start filling out log messages and items

    Log messages are enabled by LOG_CONFIG and are then reported
    as unsolicited responses with code DM_CMD_LOG.  Each log type
    appears to have its own message format which are now being
    added to log-items.h.

 libqcdm/src/Makefile.am       |   1 +
 libqcdm/src/dm-commands.h     |  11 +++
 libqcdm/src/log-items.h       | 161
 ++++++++++++++++++++++++++++++++++++++++++
 libqcdm/tests/test-qcdm-com.c |   4 ++
 4 files changed, 177 insertions(+)

commit 474d9136ba6b99cb8ec2dba54621b1ce2a69c144
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 11 17:55:10 2012 -0600

    qcdm: fix warning when no log codes are enabled

 libqcdm/src/commands.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

commit bf31764babdc4980b32b92792ca07fd06aa5cbfc
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 11 16:10:37 2012 -0600

    qcdm: enhance LOG_CONFIG testcase

 libqcdm/tests/test-qcdm-com.c | 54
 +++++++++++++++++++++++++++++++++++++++----
 1 file changed, 50 insertions(+), 4 deletions(-)

commit b14044bc9a43bce7f3f6248bb5278ab5a235ebad
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 11 16:10:02 2012 -0600

    qcdm: only warn on unknown mode pref NV item values

 libqcdm/src/commands.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

commit 29a1385e6ce7aee72cba32a0b47ae18e3994e9b5
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 11 15:30:45 2012 -0600

    qcdm: LOG_CONFIG fixups

    Fix some buffer overruns.  Log codes are also 16-bit not 32.

 libqcdm/src/commands.c | 21 ++++++++++++---------
 libqcdm/src/commands.h |  2 +-
 2 files changed, 13 insertions(+), 10 deletions(-)

commit f3208bf3a6a94ed2a5e3f87c703df9ee0896cabf
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 11 14:25:23 2012 -0600

    qcdm: add support for Log Config command

    This appears to be a newer version of EXT_LOGMASK that also
    works with GSM/UMTS and other subsystems.

 libqcdm/src/commands.c        | 228
 ++++++++++++++++++++++++++++++++++++++++++
 libqcdm/src/commands.h        |  29 ++++++
 libqcdm/src/dm-commands.h     |  32 ++++++
 libqcdm/src/errors.h          |   1 +
 libqcdm/tests/test-qcdm-com.c |  43 ++++++++
 libqcdm/tests/test-qcdm-com.h |   2 +
 libqcdm/tests/test-qcdm.c     |   1 +
 7 files changed, 336 insertions(+)

commit b22b2d99db57e4cec8e6c3074dd20acd6845cb62
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 11 14:24:43 2012 -0600

    qcdm: add u16 arrays to results

 libqcdm/src/result-private.h |  5 +++
 libqcdm/src/result.c         | 79
 +++++++++++++++++++++++++++++++++++++++++++-
 libqcdm/src/result.h         |  5 +++
 3 files changed, 88 insertions(+), 1 deletion(-)

commit 1804ae2fe52acfee52f70aba5fb0acb9888a9c8b
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 11 12:53:06 2012 -0600

    qcdm: fix stringification of qcdm_xxx_if_fail() macros

    Actually reading about preprocessor concatenation and stringification
    helps.

 libqcdm/src/errors.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 2e2c8ad7efb42924b2928af287be67f95b27b48f
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 10 19:11:57 2012 -0600

    qcdm: add some more commands

    Found in CodeAurora diagchar_core.c driver.

 libqcdm/src/dm-commands.h | 5 +++++
 1 file changed, 5 insertions(+)

commit e98f2ebf4095708aa52d69a5a067f6cec9042d6d
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 10 19:01:40 2012 -0600

    qcdm: clarify some subsystems

 libqcdm/src/dm-commands.h | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit d085e6c46741832bd6edc167077664d821c0a489
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 10 18:15:11 2012 -0600

    qcdm: fix up testcases for more expected error codes

    I'm bored and playing around with a Novatel E725...

 libqcdm/tests/test-qcdm-com.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit ff838972cfef660cabfe7224d50459d5148b5f64
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 10 18:14:40 2012 -0600

    qcdm: don't segfault getting number of log items

    Not sure how this worked before at all.

 libqcdm/src/commands.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

commit 86e3ab154032cb2d348c7ee8be26628a8ef37554
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 9 17:21:27 2012 -0600

    sms: punt handling of 8-bit encoded SMSs to clients

    There's no encoding information about 8-bit SMS messages,
    and they are often binary things like ringtones or voicemail
    indicator commands.  Since there's no point to our parsing
    them just let clients deal with it.

 .../org.freedesktop.ModemManager.Modem.Gsm.SMS.xml |  4 +-
 src/mm-sms-utils.c                                 | 61
 ++++++++++++++--------
 src/tests/test-sms.c                               | 34 +++++++++++-
 3 files changed, 74 insertions(+), 25 deletions(-)

commit 96210d1c5530aa623f49e1ef19eb44c88f137581
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 9 16:26:27 2012 -0600

    dbus: don't install introspection XML we don't really own

    MM implements the DBus properties interface and of course that
    requires some XML on our side for dbus-glib.  But we shouldn't
    install that along with our ModemManager-specific XML.

 Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2f1d8f7fb334ba05fba0676f61333f8246b7e4a5
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 9 14:53:39 2012 -0600

    nokia: fix PPP port for CSxx Internet Sticks

    USB interface 0 isn't a serial interface; it's probably a custom
    Nokia PhoNet port or a custom Icera pseudo-ethernet port.  But
    it's not a CDC-ACM serial port, at least on the CS17.

    Reported by Uwe Geuder.

 plugins/77-mm-nokia-port-types.rules | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

commit d52b4517271916fb3a6cc2a8df63b75829081d8d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Jan 7 15:54:19 2012 +0100

    policy: fix typo

    Reported at LP#913138

 policy/org.freedesktop.modem-manager.policy.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 11fbcc901094dfe9f6395ce6a94e0faab57aabbd
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 5 12:31:13 2012 -0600

    qcdm: fill out some operating modes

 libqcdm/src/commands.h        |  9 ++++++++-
 libqcdm/src/dm-commands.h     | 11 +++++++++++
 libqcdm/tests/test-qcdm-com.c | 35 ++++++++++++++++++++++++++---------
 3 files changed, 45 insertions(+), 10 deletions(-)

commit 62d26479ff70f353bf81d0971397017ae2e353fc
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 5 12:29:03 2012 -0600

    qcdm: better handle NV item read/write status codes

 libqcdm/src/commands.c        | 30 +++++++++++++++++++++++++++---
 libqcdm/src/errors.h          |  7 +++++++
 libqcdm/src/nv-items.h        | 12 ++++++++++++
 libqcdm/tests/test-qcdm-com.c | 14 ++++++++++----
 4 files changed, 56 insertions(+), 7 deletions(-)

commit 6e961ddd83b9f5aea64ee73ecb1398a3466d5509
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 5 11:05:32 2012 -0600

    qcdm: fix up live testcase for recent changes

    And interpret all the recent mode preferences.

 libqcdm/src/commands.c        | 16 ++++++++++++----
 libqcdm/src/commands.h        | 11 ++++++++---
 libqcdm/tests/test-qcdm-com.c | 33 ++++++++++++++++++++++++---------
 3 files changed, 44 insertions(+), 16 deletions(-)

commit 30bb9e878fb3e5647fc3bcf8279e1de045325ae3
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 3 00:30:59 2012 -0600

    cdma: fixes for libqcdm changes

 plugins/mm-modem-novatel-cdma.c   | 16 +++++------
 src/mm-generic-cdma.c             | 58
 +++++++++++++++++++++++----------------
 src/mm-plugin-base.c              | 22 ++++++---------
 src/mm-qcdm-serial-port.c         | 14 ++++++++--
 src/tests/test-qcdm-serial-port.c | 20 ++++++--------
 5 files changed, 69 insertions(+), 61 deletions(-)

commit 7b14063f4676a51c3a0d8b9adc89a9490d6b5814
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 3 00:14:32 2012 -0600

    qcdm: remove usage of glib

    People have asked for this at various times.

 libqcdm/configure.ac               |   5 +-
 libqcdm/src/Makefile.am            |   4 +-
 libqcdm/src/com.c                  |  21 +-
 libqcdm/src/com.h                  |   4 +-
 libqcdm/src/commands.c             | 838
 ++++++++++++++++++-------------------
 libqcdm/src/commands.h             | 244 +++++------
 libqcdm/src/dm-commands.h          | 250 +++++------
 libqcdm/src/error.c                |  88 ----
 libqcdm/src/error.h                |  54 ---
 libqcdm/src/errors.c               |  60 +++
 libqcdm/src/errors.h               |  94 +++++
 libqcdm/src/nv-items.h             |  16 +-
 libqcdm/src/result-private.h       |  35 +-
 libqcdm/src/result.c               | 438 ++++++++++++-------
 libqcdm/src/result.h               |  26 +-
 libqcdm/src/utils.c                |  91 ++--
 libqcdm/src/utils.h                |  53 ++-
 libqcdm/tests/test-qcdm-com.c      | 264 ++++++------
 libqcdm/tests/test-qcdm-escaping.c |   2 +-
 libqcdm/tests/test-qcdm-result.c   |  32 +-
 libqcdm/tests/test-qcdm-result.h   |   1 +
 libqcdm/tests/test-qcdm-utils.c    |   4 +-
 libqcdm/tests/test-qcdm.c          |   1 +
 23 files changed, 1365 insertions(+), 1260 deletions(-)

commit 1e1c8a5ae4e5296bd6648feff9390a4692683a1f
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 3 00:12:36 2012 -0600

    wmc: remove usage of glib

    People have asked for leaner builds and glib isn't strictly
    required for the core library.

 libwmc/src/commands.c            |  34 ++++-----
 libwmc/src/result.c              |   2 +-
 libwmc/src/utils.c               | 157
 ++++++++++++++++++++-------------------
 libwmc/src/utils.h               |  94 ++++++++++++-----------
 libwmc/tests/test-wmc-com.c      |  40 +++++-----
 libwmc/tests/test-wmc-com.h      |   4 +-
 libwmc/tests/test-wmc-escaping.c |  14 ++--
 libwmc/tests/test-wmc-utils.c    |  36 ++++-----
 8 files changed, 196 insertions(+), 185 deletions(-)

commit 267b83ae27014d0d3bfee6f19ae3a5f0efad0b67
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Dec 31 11:43:42 2011 -0600

    sierra: add support for Icera based devices (USB305, AT&T Lightning)

 plugins/Makefile.am           |   3 +
 plugins/mm-modem-sierra-gsm.c | 197
 +++++++++++++++++++++++++++++++++++++++---
 2 files changed, 186 insertions(+), 14 deletions(-)

commit c9d0dea5b09f2b6ad3b6f199a32a5c282d3716bc
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Dec 30 20:36:01 2011 -0600

    decode: add some python tools to decode SniffUSB dumps

    decode.py will read SniffUSB logs of communication with
    QMUX or WMC speaking devices.  It will dump the packets
    in both hex and ASCII.  If you know something about the
    device then you can tell it to decode the packets.  For
    example, we know the Pantech UML290's WMC port speaks
    WMC using Bulk Transfers, so we can:

    decode.py --transfer=wmc <path to sniffusb logs>

    or we know the UML290's "rmnet" port speaks raw IP in
    the Bulk Transfers and QMUX in the Control Transfers, so:

    decode.py --control=qmux <path to sniffusb logs>

    qmiprotgen.py takes a path to an Entities.txt file and
    dumps out the protocol entities and services in
    Python code which is used by qmux.py.

    xml2ascii.py and analyze.py dump out UsbSnoopy XML logs
    but these are not as usable as the SniffUSB logs (they
    do not provide good direction information).

    http://www.wingmanteam.com/usbsnoopy/
    http://www.pcausa.com/Utilities/UsbSnoop/

 decode/analyze.py     |  179 ++++
 decode/decode.py      |   71 ++
 decode/defs.py        |   20 +
 decode/packet.py      |  192 ++++
 decode/qmiprotgen.py  |  494 +++++++++++
 decode/qmiprotocol.py | 2352
 +++++++++++++++++++++++++++++++++++++++++++++++++
 decode/qmux.py        |  187 ++++
 decode/wmc.py         |  211 +++++
 decode/xml2ascii.py   |   82 ++
 9 files changed, 3788 insertions(+)

commit a2b578d755e51f820bbe015431ef02266454e66b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 19:32:30 2011 +0100

    modem-helpers: plug a leak when parsing CREG responses

 src/mm-modem-helpers.c | 1 +
 1 file changed, 1 insertion(+)

commit d38787c4608b14f64d695df4c41bb464f4c989c6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 19:27:46 2011 +0100

    modem-helpers: plug a leak when building device ID

 src/mm-modem-helpers.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 9ee88e82863c08dd9013732abf2e605cf078a347
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Dec 30 18:33:32 2011 +0100

    serial-parsers: plug small leak

 src/mm-serial-parsers.c | 1 +
 1 file changed, 1 insertion(+)

commit 9f14d830472f77b89ed54d1269c741e787ca10c3
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 14 14:19:10 2011 -0600

    gsm: treat "no network" error as zero signal for Simple.GetStatus

 src/mm-generic-gsm.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit 2af1a612e9187c0e2bf3a8e3d007f04aa023add9
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 7 17:07:46 2011 -0600

    core: don't crash on error if response is NULL

    Various bits of the code didn't check if response was valid
    or not during error conditions, and when an error occurs
    sometimes it'll be NULL (since not all errors are translated
    errors from the modem, some are serial or general ones).  We
    have to make sure we don't try to use response->str when
    response doesn't exist.

    Found in the generic CDMA code likely as a result of
    d5d9eec2b52363a7460aeec0c020b1c6a7af6b03 but was a bug long
    before that commit happened anyway.

 plugins/mm-modem-mbm.c        | 4 +++-
 plugins/mm-plugin-longcheer.c | 3 ++-
 plugins/mm-plugin-x22x.c      | 3 ++-
 src/mm-generic-cdma.c         | 5 +++--
 src/mm-generic-gsm.c          | 2 +-
 src/mm-modem-base.c           | 3 ++-
 6 files changed, 13 insertions(+), 7 deletions(-)

commit c1e64f1a33b8b877945e59bda58b1969cdc27614
Author: Nathan Williams <njw@google.com>
Date:   Wed Nov 30 17:33:39 2011 -0500

    gsm: improve scan response regex construction error handling

    Change the error handling to be a bit more like what appears to have
    been intended: if constructing the regex fails, report an error and
    return. The existing code looked like it was set up to do this, but
    wasn't quite wired together, and had process-terminating calls
    (g_error()) followed by other code.

    Change-Id: I4a7cee8fe01291976edc2e343fcbeb73e882f20b

 src/mm-modem-helpers.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 58b2a79f83269dfb57479c244c517c7fb6ff8ace
Author: Nathan Williams <njw@google.com>
Date:   Wed Nov 30 17:25:12 2011 -0500

    sms: fix two bugs with multipart SMS handling: signals and listing

    First, arrange for received/complete signals to be sent by calling
    cmti_received_has_sms() with the message properties even if the
    message isn't complete yet.

    Second, make the operation of the List command's multipart message
    handling independent of message order by doing one pass to insert the
    messages into the cache and second pass to retrieve the complete
    messages.

    Change-Id: I3dcae940d71aec3ddb65c508675f710d1567b0e2

 src/mm-generic-gsm.c | 51
 +++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 37 insertions(+), 14 deletions(-)

commit fc5eed79ee1b13471fb4d5bbfa1d2d62401dda4d
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Dec 1 17:35:09 2011 -0600

    mbm: add USB IDs for HP hs2340

 plugins/77-mm-ericsson-mbm.rules | 3 +++
 1 file changed, 3 insertions(+)

commit ae92c74a7752df0ae4ebc69b31beec4fac324e39
Author: Vitaly Gimly <vgimly@gmail.com>
Date:   Wed Nov 30 10:56:50 2011 -0600

    trivial: remove unecessary semicolons

 src/mm-modem-gsm-ussd.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 65340bdf6ccafc4417c6166e07440ef961e01bd4
Author: Jiří Klimeš <jklimes@redhat.com>
Date:   Wed Nov 30 12:38:52 2011 +0100

    cdma: free one more GError

 src/mm-generic-cdma.c | 1 +
 1 file changed, 1 insertion(+)

commit 8d64d0fdda5699c566642fac1cbd735d40cf9225
Author: Nathan Williams <njw@chromium.org>
Date:   Tue Nov 29 11:31:37 2011 -0500

    gsm/cdma: free up a couple of dangling GErrors

    Change-Id: I4f07e7e08bcbfc116114191c759cc0af4bb8ea23

 src/mm-generic-cdma.c | 1 +
 src/mm-generic-gsm.c  | 1 +
 2 files changed, 2 insertions(+)

commit d5d9eec2b52363a7460aeec0c020b1c6a7af6b03
Author: Nathan Williams <njw@chromium.org>
Date:   Wed Nov 23 16:16:20 2011 -0500

    serial: report port-not-open in queueing commands via callback

    Reporting errors instead of just returning permits routines like
    mm-generic-gsm.c:simple_get_status() to work again, as their callbacks
    get the error they are expecting. To make this work, adapt
    get_csq_done()
    to handle a NULL response when error is set, and make sure that
    multiple
    errors don't step on each other in the mm_callback_info_chain()
    sequence
    created by simple_get_status().

    Change-Id: Ie3a72b1ce71b7f117e8b1f3da7a406c4d2da9e02

 src/mm-generic-gsm.c | 14 +++++++++++---
 src/mm-serial-port.c | 10 +++++++++-
 2 files changed, 20 insertions(+), 4 deletions(-)

commit 44194ac04d7926cb80de03fe95ce98bd64a1c6c6
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Nov 17 12:48:36 2011 -0600

    nokia: add port tags for CS-xx Internet Sticks

    They appear to always want PPP to happen on interface 0, according
    to the Windows .INF files.

 plugins/77-mm-nokia-port-types.rules | 39
 ++++++++++++++++++++++++++++++++++++
 plugins/Makefile.am                  |  3 ++-
 plugins/mm-plugin-nokia.c            | 11 ++++++++--
 3 files changed, 50 insertions(+), 3 deletions(-)

commit 02aa10c72ab6f3bad24b0977268b0d9d56674311
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Nov 16 23:39:34 2011 -0600

    gsm: check facility locks after unlocking PIN

    Some modems don't allow most commands when they are PIN locked, so
    the initial facility lock check errors out.  Check the locks again
    after the SIM is unlocked.

 src/mm-generic-gsm.c | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

commit eede5bb621152eb1774495d9cd403b1e653c076c
Author: Eric Shienbrood <ers@chromium.org>
Date:   Thu Aug 11 13:58:59 2011 -0400

    gsm: add new property to track which facility locks are enabled

    The property EnabledFacilityLocks on the .Modem.Gsm.Card interface
    is a bit mask that indicates which of the various personalization
    codes from 3GPP TS 22.022, plus the SIM PIN lock and SIM PIN2 lock,
    are enabled. The set of facility locks supported by the modem is
    determined at the time the modem is initialized, and the state of
    each supported lock (enabled or disabled) is determined. When the
    state of a lock changes, a property-change signal is sent out. Note
    that ModemManager only supports enabling and disabling SIM-PIN, via
    the EnablePin method on Modem.Gsm.Card.

 ...org.freedesktop.ModemManager.Modem.Gsm.Card.xml |   6 +
 .../org.freedesktop.ModemManager.Modem.Gsm.xml     |  37 +++-
 src/mm-generic-gsm.c                               | 214
 ++++++++++++++-------
 src/mm-generic-gsm.h                               |   3 +-
 src/mm-modem-gsm-card.c                            |  10 +
 src/mm-modem-gsm-card.h                            |   3 +
 src/mm-modem-helpers.c                             | 145 ++++++++++++++
 src/mm-modem-helpers.h                             |   7 +
 8 files changed, 357 insertions(+), 68 deletions(-)

commit e7b6b2dc1c709ae877e3cd472d4134b918bb5fb7
Author: Eric Shienbrood <ers@chromium.org>
Date:   Wed Nov 16 17:42:50 2011 -0600

    core: keep track of all PIN retry counts

    Added a PinRetryCounts property on org.freedesktop.ModemManager.Modem.
    This is dictionary that records the number of PIN tries remaining
    for each of the possible PIN code types for which the modem is
    capable of reporting the count. Also, these counts are kept up
    to date across ChangePin and EnablePin operations, not just when
    an unlock is attempted.

 .../org.freedesktop.ModemManager.Modem.xml         | 17 +++-
 plugins/mm-modem-huawei-gsm.c                      | 65 ++++++--------
 plugins/mm-modem-mbm.c                             | 50 +++++------
 plugins/mm-modem-samsung-gsm.c                     | 95
 +++++----------------
 src/mm-callback-info.c                             | 20 +++++
 src/mm-callback-info.h                             |  4 +
 src/mm-generic-gsm.c                               | 62 +++++++++-----
 src/mm-modem-base.c                                | 98
 ++++++++++++++++------
 src/mm-modem-base.h                                | 11 ++-
 src/mm-modem-gsm-card.c                            | 16 ++--
 src/mm-modem-gsm-card.h                            | 10 +--
 src/mm-modem.c                                     | 10 +++
 src/mm-modem.h                                     |  9 ++
 13 files changed, 260 insertions(+), 207 deletions(-)

commit 71598a628987162196b98124486ad8e728852ec5
Author: Graham Inggs <graham.inggs@uct.ac.za>
Date:   Tue Nov 15 11:27:57 2011 -0600

    huawei: remove padding from USSD responses

    Probably needed in generic USSD code.

 plugins/mm-modem-huawei-gsm.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 262f0f5e81ae5b346090102acecf642ed0ee09f9
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 14 17:38:02 2011 -0600

    wmc: fix build after fixup of WMC field names

 libwmc/src/commands.c       | 6 +++---
 libwmc/src/commands.h       | 2 +-
 libwmc/tests/test-wmc-com.c | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

commit add6131edfb4271748b5991f0ce6f447fef88f6d
Author: Graham Inggs <graham.inggs@uct.ac.za>
Date:   Mon Nov 14 17:36:23 2011 -0600

    huawei: pad USSD requests if necessary

    ModemManager currently encodes the USSD command *141*0# (for MTN South
    Africa) as "AA182DA6828D00".
    While this works on some modems, for example the E1820, other modems,
    for example the E160, require USSD commands that are a multiple of 7
    characters long to be padded with 0x0d.
    Huawei Mobile Partner dashboard software for Windows encodes *141*0#
    as "AA182DA6828D1A" which works on both the E1820 and the E160.

    The attached patch pads the USSD command with 0x0d before encoding if
    it is a multiple of 7 characters long.

 plugins/mm-modem-huawei-gsm.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit ef74d84b32b90131bc15cb0db1431840b460f08a
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 14 12:33:59 2011 -0600

    wmc: demystify some fields in the IP info reply

 libwmc/src/protocol.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 61375a5fd6a932ca836d50d92770f3ffd16b7fd6
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 14 12:24:56 2011 -0600

    wmc: demystify some more fields of the device info response

 libwmc/src/protocol.h | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

commit 1aa6d01d53f2034e85156c3d3fece4d198ba6035
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Nov 11 23:39:20 2011 -0600

    wmc: protocol and testcase update

 libwmc/src/commands.c       | 98
 ++++++++++++++++++++++++++++++++++++++++++++-
 libwmc/src/commands.h       | 15 +++++++
 libwmc/src/protocol.h       | 85 ++++++++++++++++++++++++++++++++++++++-
 libwmc/tests/test-wmc-com.c | 65 +++++++++++++++++++++++++++++-
 libwmc/tests/test-wmc-com.h |  2 +
 libwmc/tests/test-wmc.c     |  1 +
 6 files changed, 262 insertions(+), 4 deletions(-)

commit ae3f1cd578e59245a6bff5cfd19f64f0c47f5de9
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Nov 11 12:20:51 2011 -0600

    libwmc: add testcases that talk to the device

 libwmc/src/commands.c         |  70 ++++++++++++++++++++++++++--
 libwmc/src/commands.h         |   5 ++
 libwmc/src/protocol.h         |  17 +++++++
 libwmc/src/utils.c            |  79 +++++++++++++++++++++++++++++++-
 libwmc/src/utils.h            |  26 ++++++++---
 libwmc/tests/test-wmc-com.c   | 104
 +++++++++++++++++++++++++++++++++++++-----
 libwmc/tests/test-wmc-com.h   |   6 ++-
 libwmc/tests/test-wmc-utils.c |   4 +-
 libwmc/tests/test-wmc.c       |  12 +++--
 9 files changed, 293 insertions(+), 30 deletions(-)

commit 83c905837693f095d9e7c1bf9ac56d8290510f45
Author: Thomas Bechtold <thomasbechtold@jpberlin.de>
Date:   Mon Nov 7 00:03:11 2011 +0100

    build: remove duplicate 'policy' directory entry from SUBDIRS

    It is already added when WITH_POLKIT is set.

 Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 128e9abcee26ed691317b33aaacb795609855dd7
Author: Nathan Williams <njw@chromium.org>
Date:   Thu Nov 3 16:21:45 2011 -0400

    serial: reject new commands when the port is closed.

    Otherwise, we can schedule a main loop call to
    mm_serial_port_queue_process() for an object that's about to
    disappear, leading to a crash.

    Change-Id: I433a76855c52536eb2b99a5ecf26ac71afe1f8bb

 src/mm-serial-port.c | 1 +
 1 file changed, 1 insertion(+)

commit a027d27da8bb723b344fc2805ae9f3e2489dac00
Author: Nathan Williams <njw@chromium.org>
Date:   Thu Nov 3 16:13:07 2011 -0400

    gsm: finish all disable commands before returning

    Rearrange the primary and secondary-port disable operations so that
    there's a linear chain of callbacks rather than a second dangling
    callback chain for the secondary port; it's possible for the primary
    port operations to complete, and for the callback to finish and start
    tearing down the entire device, before the secondary port commands
    run.

    Change-Id: Ia95a7eae574737cdec38b14d39786127be1b3184

 src/mm-generic-gsm.c | 40 +++++++++++++++++++++++++---------------
 1 file changed, 25 insertions(+), 15 deletions(-)

commit 87ec5e09a537f3ede83238a35ccd37ccc38eff8e
Author: Nathan Williams <njw@chromium.org>
Date:   Tue Aug 30 11:00:53 2011 -0400

    gsm: multipart SMS support

    Keep a local cache of SMS message fragments when we perform a List or
    Get command on the modem; use this cache to reassemble fragments into
    complete messages, which are then what is returned by the Get and List
    DBus commands. Similarly, cause Delete to delete all known parts of a
    multipart message.

    While here, remove some extra whitespace in the SMS commands we send
    to the modem.

 src/mm-generic-gsm.c | 470
 ++++++++++++++++++++++++++++++++++++++++++++++++---
 src/mm-sms-utils.c   |  98 +++++++----
 2 files changed, 512 insertions(+), 56 deletions(-)

commit 889ae2fb4bae97b174fc0088b15427b1d035abc6
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 27 16:38:11 2011 -0500

    gsm: fix parsing of unsolicited CREG/CGREG response with RAC

 src/mm-modem-helpers.c         | 48
 ++++++++++++++++++++++++++++++------------
 src/tests/test-modem-helpers.c | 11 +++++-----
 2 files changed, 40 insertions(+), 19 deletions(-)

commit ccad4aaa9d151537d6fa421d17d676409a6f688b
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 27 15:13:30 2011 -0500

    gsm: add regex for unsolicited CREG/CGREG response with RAC

 src/mm-modem-helpers.c         | 11 +++++++++++
 src/tests/test-modem-helpers.c | 11 +++++++++++
 2 files changed, 22 insertions(+)

commit 58aa172b4e539605554dd300dca199b34fbf9186
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 24 21:31:37 2011 +0200

    serial: use g_value_set_schar() and g_value_get_schar() when glib
    >= 2.31

 src/mm-serial-port.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 28f64090dfa15097587bbea69209df10b8ab8593
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 24 21:09:11 2011 +0200

    core: don't include private headers from glib

    The "glib/gtypes.h" is now considered private, and only "glib.h"
    should be
    included directly.

 src/mm-at-serial-port.h   | 1 -
 src/mm-manager.h          | 1 -
 src/mm-modem-base.h       | 1 -
 src/mm-plugin-base.h      | 1 -
 src/mm-port.h             | 1 -
 src/mm-qcdm-serial-port.h | 1 -
 src/mm-serial-port.h      | 1 -
 7 files changed, 7 deletions(-)

commit d40e0436234b625d3856841ba53f7b03aa59bd15
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Oct 18 13:13:21 2011 -0500

    core: better handle NULL spew from serial ports during probing

    Observed on a generic ZTE device.

 src/mm-plugin-base.c | 27 +++++++++++++++++++++------
 1 file changed, 21 insertions(+), 6 deletions(-)

commit 3bcbc7b644d51ef846d621e97674f903368f6a30
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 30 15:01:19 2011 +0200

    api: Let MM_MODEM_MODE be a bitfield, and new PreferredMode property

    Supported and Allowed modes are modified to be bitmasks of
    MM_MODEM_MODE values,
    and preference of a specific mode is now given in the new
    PreferredMode
    property and as an extra argument to the SetAllowedModes() call.

     * Supported Modes: bitmask specifying which modes are supported by
     the specific
    hardware. For example, a modem may only support 1G/2G/3G connections
    (not 4G).

     * Allowed Modes: bitmask specifying which modes, of the ones
     Supported by the
    modem, are allowed to use. For example, a modem may support 1G/2G/3G
    connections
    but only 1G and 2G connections are allowed by the user as 3G
    involves more
    expensive data rates.

     [Allowed] ⊆ [Supported]

     * Preferred Mode: specific mode which is preferred among the ones
     defined in
    the Allowed modes bitmask. For example, a modem may allow 1G/2G/3G
    connections
    but the user would like that if possible 2G be used, as 3G consumes
    too much
    battery. If 2G is not possible, 3G can be used.

     [Preferred] ∈ [Allowed]

 new/org.freedesktop.ModemManager1.Modem.xml | 56
 +++++++++++++++--------------
 1 file changed, 29 insertions(+), 27 deletions(-)

commit 0984dd9df886d3a5bf951d2bddfd1c7544352088
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 17 09:41:50 2011 +0200

    build: ensure all needed files are included in dist

    Added all needed headers to libwmc_la_SOURCES, so that they get into
    the dist
    tarball.

 libwmc/src/Makefile.am | 2 ++
 1 file changed, 2 insertions(+)

commit 5f24703b126eabbc08b1f3fffc7831ff73455bd5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Oct 17 09:39:43 2011 +0200

    build: mm-modem-gsm.h no longer exists

 src/Makefile.am | 1 -
 1 file changed, 1 deletion(-)

commit fd9f2d2804a6ebffbc2365b56d34dcf18aaa9942
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Oct 13 14:59:30 2011 +0200

    serial: skip NUL bytes coming before real AT responses

    Some Cinterion modems send a NUL byte before the "CONNECTED" reply to
    "ATD"
    (only during the first ATD try anyway).

    This fix will ignore any NUL byte leading the real response.

 src/mm-serial-parsers.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 6e0e46e51e9b022577db6adeb986d3241da9bd4d
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Oct 12 18:47:23 2011 -0500

    huawei: Gobi devices should be driven by gobi not huawei (bgo #660998)

 plugins/mm-plugin-huawei.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit c61423f2cfb201a610a5708a7ea19175a2e20750
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Oct 4 11:16:00 2011 -0500

    wmc: add initial command parsing and response handling

 libwmc/src/Makefile.am      |   6 +-
 libwmc/src/commands.c       | 109 ++++++++++++++++
 libwmc/src/commands.h       |  41 ++++++
 libwmc/src/errors.h         |   6 +-
 libwmc/src/protocol.h       |  52 ++++++++
 libwmc/src/result-private.h |  38 ++++++
 libwmc/src/result.c         | 298
 ++++++++++++++++++++++++++++++++++++++++++++
 libwmc/src/result.h         |  42 +++++++
 8 files changed, 590 insertions(+), 2 deletions(-)

commit a7637ddf8786e54bd1bb7f667896abd168ceba08
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Oct 4 11:01:31 2011 -0500

    qcdm: add more mode prefs

    It seems that various firmwares just pass values from eg AT^SYSCFG
    straight through to the firmware so it's pretty easy to map them
    to the actual response here.  Note that the NV mode pref item uses
    a different mapping than CM state info response.  Yay.

 libqcdm/src/commands.h | 8 ++++++++
 libqcdm/src/nv-items.h | 2 ++
 2 files changed, 10 insertions(+)

commit a9f4ea9f812760dcc71a8381084c106e1f819787
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 30 15:01:18 2011 +0200

    api: rename MM_MODEM_ALLOWED_MODE to MM_MODEM_MODE

    Makes more sense to have the enum named just as 'mode', as it applies
    to both
    Supported and Allowed.

 new/org.freedesktop.ModemManager1.Modem.xml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 40406693b61cb0ca601815f1478c773d6bbe9233
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 30 15:01:17 2011 +0200

    api: new SetAllowedBands() to be able to modify the allowed bands
    in the modem

    Changing the allowed bands in a modem may fail, for example if trying
    to set a
    frequency band which is not in the bands mask reported as Supported
    by the modem.
    Therefore, we need an explicit SetAllowedBands() method with proper
    error
    reporting instead of making the property writable.

 new/org.freedesktop.ModemManager1.Modem.xml | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

commit b5393091de71b8a7fadd87f0762c4efebb6f5fd3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 30 15:01:16 2011 +0200

    api: new SetAllowedModes() to be able to modify the allowed mode in
    the modem

    Changing the allowed mode of a modem may fail, for example if trying
    to set a
    mode which is not in the modes reported as Supported by the
    modem. Therefore, we
    need an explicit SetAllowedModes() method with proper error reporting
    instead of
    making the property writable.

 new/org.freedesktop.ModemManager1.Modem.xml | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

commit dbc64d83ba74990af73283a4650327b21c861d60
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 30 15:01:15 2011 +0200

    api: let SignalQuality say if the given value was recently taken

    Modems which only expose a single port will not be able to update
    the signal
    quality value while in connected mode. The signal quality value
    reported in this
    case, while the modem is connected, will be the last signal quality
    value read
    before the connection.

    The additional boolean value proposed here in the SignalQuality
    property will
    just say if the given signal quality was recently taken (if TRUE)
    or cached
    some time ago (if FALSE). The time to assume the value was recently
    taken or not
    could depend on different things, for example:

     * If the modem always has an AT port, even if connected, we could
     directly
       query the current signal quality and report the value as being
       fresh.

     * If the modem has a single port, we could report the value as not
     being fresh
       as soon as the modem gets in connected state.

     * For modems which report the signal quality updates in unsolicited
     messages,
       we could report the value as being fresh if the update was received
       in the
       last minute or so.

 new/org.freedesktop.ModemManager1.Modem.xml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit e9743f4b4992321c206bb33059c1f594142d3f92
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 30 15:01:14 2011 +0200

    api: let the Modem expose a 'Sim' property to link to a specific
    SIM object

    SIM objects will be listed as independent objects in the DBus API,
    and the 'Sim'
    property in a given modem object will specify which SIM object is
    in use.

 new/org.freedesktop.ModemManager1.Modem.xml | 6 ++++++
 1 file changed, 6 insertions(+)

commit 588f9550ed1acd792ee09c2b43dbf13788ce7663
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 30 15:01:13 2011 +0200

    api: remove GetInfo() from the Modem API and use read-only properties
    instead.

    New 'Manufacturer', 'Model' and 'Revision properties are added,
    all being
    read-only strings.

 new/org.freedesktop.ModemManager1.Modem.xml | 37
 ++++++++++++++---------------
 1 file changed, 18 insertions(+), 19 deletions(-)

commit 9d9a189026b060a7e2c2b838d759c23a782121df
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Fri Sep 30 15:01:12 2011 +0200

    api: include ScanDevices() and SetLogging() in the new manager API

    These methods were available in the old API, and are needed in the
    new one.

 new/org.freedesktop.ModemManager1.xml | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

commit 7a7014330cde29fedb64dff772f53e44c45516cd
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Sep 30 14:38:11 2011 -0500

    examples: add example of auto-enabling modems

 test/Makefile.am         |  3 ++-
 test/modem-autoenable.py | 50
 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+), 1 deletion(-)

commit 30a67862ecddf2ee9c29ea933d473567988b1769
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Sep 28 10:31:32 2011 -0500

    zte: update port hints for Onda MSA110 and others

 plugins/77-mm-zte-port-types.rules | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit 368b80886912cf9f03ed535bba1c426466461195
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Sep 27 15:31:45 2011 -0500

    libwmc: simpler logging and error handling

 libwmc/src/com.c            | 15 ++++----
 libwmc/src/com.h            | 12 +-----
 libwmc/src/errors.c         | 93
 ++++++++++-----------------------------------
 libwmc/src/errors.h         | 53 ++++++++++++--------------
 libwmc/tests/test-wmc-com.c | 17 +++------
 5 files changed, 60 insertions(+), 130 deletions(-)

commit 8710820156f51d1861b329e6fc12e706304ddda9
Author: Nathan Williams <njw@chromium.org>
Date:   Tue Sep 27 13:40:39 2011 -0500

    core: ensure that GMatchInfo and GRegex objects are freed properly

    In particular, g_regex_match() and g_regex_match_full() allocate a
    match_info structure on both success and failure, so calling
    g_match_info_free() only in the success case is insufficient.

    BUG=None
    TEST=Inspection

    Change-Id: Iea76b5b5dc3ec48120e15601a5e2dd45322133d8

 plugins/mm-modem-anydata-cdma.c  |  6 ++++++
 plugins/mm-modem-cinterion-gsm.c | 13 +++++++++----
 plugins/mm-modem-huawei-gsm.c    |  4 ++--
 plugins/mm-modem-novatel-gsm.c   |  3 +--
 plugins/mm-modem-samsung-gsm.c   |  4 ++--
 plugins/mm-modem-sierra-gsm.c    |  4 +++-
 plugins/mm-modem-x22x-gsm.c      |  3 +--
 plugins/mm-modem-zte.c           |  6 +++---
 src/mm-generic-gsm.c             | 33 ++++++++++++++++++---------------
 src/mm-modem-helpers.c           | 15 ++++++---------
 src/mm-serial-parsers.c          | 32 +++++++++++++-------------------
 11 files changed, 64 insertions(+), 59 deletions(-)

commit 00670456ffb4b08af3620a95c73601bc15d84eb9
Author: Nathan Williams <njw@chromium.org>
Date:   Fri Sep 23 17:21:15 2011 -0400

    sms: sanitize 8-bit data so that it is UTF8-clean

    When receiving a SMS message with raw 8-bit data, sanitize it by
    replacing non-ASCII characters with \xNN escape sequences. This
    prevents a problem further down the line where the body of the message
    is passed into DBus as a string, and DBus requires strings to
    be UTF-8.

    BUG=chrome-os-partner:5953
    TEST=Run network_ModemManagerSMS.py with the PDU from this bug.

    Change-Id: Ic33a365f9a065c49a325e047e4c3f5e81450fa1f
    Reviewed-on: http://gerrit.chromium.org/gerrit/8232
    Reviewed-by: Eric Shienbrood <ers@chromium.org>
    Tested-by: Nathan J. Williams <njw@chromium.org>
    Commit-Ready: Nathan J. Williams <njw@chromium.org>

 src/mm-sms-utils.c | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

commit 18fc92ef7304d01c5ec11ced22ff82c4ab6dbbe1
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Sep 27 13:13:40 2011 -0500

    libwmc: add more test code and start of com tests

 libwmc/src/Makefile.am      |  23 ++---
 libwmc/src/com.c            |  57 +++++++++++
 libwmc/src/com.h            |  33 +++++++
 libwmc/src/errors.c         | 109 ++++++++++++++++++++++
 libwmc/src/errors.h         |  74 +++++++++++++++
 libwmc/src/utils.c          |  14 ++-
 libwmc/tests/Makefile.am    |   2 +
 libwmc/tests/test-wmc-com.c | 223
 ++++++++++++++++++++++++++++++++++++++++++++
 libwmc/tests/test-wmc-com.h |  27 ++++++
 libwmc/tests/test-wmc.c     |  51 ++++++++++
 10 files changed, 591 insertions(+), 22 deletions(-)

commit 8250dee13177a164d61e31fe8d60900f9d5c6797
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Sep 19 13:42:00 2011 -0500

    libwmc: add more tests including for UML290 quirks

 libwmc/src/utils.c               |  20 ++++---
 libwmc/src/utils.h               |   2 +
 libwmc/tests/test-wmc-escaping.c |  41 +++++++++++++
 libwmc/tests/test-wmc-escaping.h |   2 +
 libwmc/tests/test-wmc-utils.c    | 120
 ++++++++++++++++++++++++++++++++++++++-
 libwmc/tests/test-wmc-utils.h    |   6 ++
 libwmc/tests/test-wmc.c          |   4 ++
 7 files changed, 186 insertions(+), 9 deletions(-)

commit 46a5c77616a6fe22fa2a13a1f908b05a55e1ff31
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Sep 19 11:24:43 2011 -0500

    libwmc: rename some test functions

 libwmc/tests/test-wmc-utils.c | 4 ++--
 libwmc/tests/test-wmc-utils.h | 4 ++--
 libwmc/tests/test-wmc.c       | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

commit 3dd4cdaf2bb940988bf2f4e5147824dc4f1fb0b4
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Sep 17 13:27:54 2011 -0500

    libwmc: beginning of bits for WMC-based devices like UML290

 .gitignore                       |   1 +
 Makefile.am                      |   2 +-
 configure.ac                     |   3 +
 libwmc/Makefile.am               |   2 +
 libwmc/src/Makefile.am           |  28 +++
 libwmc/src/utils.c               | 374
 +++++++++++++++++++++++++++++++++++++++
 libwmc/src/utils.h               |  64 +++++++
 libwmc/tests/Makefile.am         |  28 +++
 libwmc/tests/test-wmc-crc.c      |  65 +++++++
 libwmc/tests/test-wmc-crc.h      |  25 +++
 libwmc/tests/test-wmc-escaping.c | 124 +++++++++++++
 libwmc/tests/test-wmc-escaping.h |  26 +++
 libwmc/tests/test-wmc-utils.c    | 107 +++++++++++
 libwmc/tests/test-wmc-utils.h    |  28 +++
 libwmc/tests/test-wmc.c          |  54 ++++++
 uml290.txt => libwmc/uml290.txt  |  63 +++++--
 16 files changed, 983 insertions(+), 11 deletions(-)

commit 953701a6f8273b2f70f19466ed1ada48f7369715
Author: Thomas Tuttle <ttuttle@chromium.org>
Date:   Thu Sep 1 18:53:25 2011 -0400

    modem: add firmware interface

 introspection/all.xml                              |   2 +
 ...org.freedesktop.ModemManager.Modem.Firmware.xml | 114 ++++++++
 ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 114 ++++++++
 policy/org.freedesktop.modem-manager.policy.in     |   9 +
 src/Makefile.am                                    |   9 +-
 src/mm-auth-provider.h                             |   1 +
 src/mm-modem-firmware.c                            | 316
 +++++++++++++++++++++
 src/mm-modem-firmware.h                            |  72 +++++
 8 files changed, 635 insertions(+), 2 deletions(-)

commit 4c514bfd6d096b649c5ae2132a914044ef0f45cb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 30 11:53:05 2011 +0200

    gsm/cdma: unsigned integers can't be < 0, so remove unnecessary
    conditions

    It fixes compilation with the llvm/clang compiler as well.

 src/mm-generic-cdma.c | 2 +-
 src/mm-generic-gsm.c  | 6 ++----
 2 files changed, 3 insertions(+), 5 deletions(-)

commit 2a9a6ad79b4bfe5d83e938c929c229a930c513a8
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Aug 20 17:22:28 2011 +0200

    nokia: use E1 E0 when initializing the modem

    Passing E1 and E0 afterwards seems to properly disable the echo in
    Nokia modems
    (N900 and C7 at least)

 plugins/mm-modem-nokia.c  |  9 +++++++++
 plugins/mm-plugin-nokia.c | 22 ++++++++++++++++++++++
 2 files changed, 31 insertions(+)

commit 7348b4c0c872a09103d32fe44cb4c2a086eaa66b
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Wed Aug 24 10:07:26 2011 +0200

    mbm: add more Ericsson and Dell vid/pids

    Add the vid/pid for Ericsson H5321gw/w, F5321gw/w, C5621gw/w, C3304w
    and Dell DW5560.

 plugins/77-mm-ericsson-mbm.rules | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

commit 7605ffec59290f8b675ed19eaca967457e0ef2ba
Author: Eric Shienbrood <ers@google.com>
Date:   Sun Aug 21 09:04:08 2011 -0500

    gsm: pass GSM registration errors up to caller

    Register was appearing to succeed even when it failed.

 src/mm-generic-gsm.c | 4 ++++
 1 file changed, 4 insertions(+)

commit acc0928315f166708405f6c671a6fd58170a2c3c
Author: Nathan J. Williams <njw@chromium.org>
Date:   Sun Aug 21 08:59:11 2011 -0500

    sms: check for the correct return value from sscanf() in
    sms_get_done()

    Remove an unused variable so it's more obvious what the correct
    value is.
    Fixes live (vs. list) SMS reception on ToT.

    BUG=none
    TEST=Send SMS to device, see that it shows up in Chrome.

    Change-Id: I9c76fb15ef229fe83672e2eee8ae37d7e6ab7b9e
    Reviewed-on: http://gerrit.chromium.org/gerrit/3216
    Reviewed-by: Nathan J. Williams <njw chromium org>
    Tested-by: Nathan J. Williams <njw chromium org>

 src/mm-generic-gsm.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 531fa05192d038d86207268d34d9837e7c0fbbcf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sat Aug 20 00:06:14 2011 +0200

    api: remove unneeded code from header generator

 header-generator.xsl | 17 -----------------
 1 file changed, 17 deletions(-)

commit ea238513263a2f514b65ba7f6f632e12a5663150
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Aug 16 12:51:26 2011 +0200

    api: use common ModemManager.h for API, core and plugins

 plugins/Makefile.am        | 83 +++++++++++++++++++++++++++-----------
 plugins/mm-modem-icera.h   |  2 +-
 src/Makefile.am            |  4 +-
 src/mm-generic-gsm.c       | 13 +++---
 src/mm-generic-gsm.h       |  2 +-
 src/mm-modem-base.c        | 12 +++---
 src/mm-modem-cdma.h        | 10 +----
 src/mm-modem-gsm-card.c    |  3 +-
 src/mm-modem-gsm-network.c | 14 +++----
 src/mm-modem-gsm-network.h | 15 ++-----
 src/mm-modem-gsm.h         | 99
 ----------------------------------------------
 src/mm-modem-helpers.h     |  3 +-
 src/mm-modem-location.h    |  9 -----
 src/mm-modem.c             |  2 +-
 src/mm-modem.h             | 33 +---------------
 src/tests/Makefile.am      | 23 +++++++----
 16 files changed, 113 insertions(+), 214 deletions(-)

commit c4a82913495fbaadc54088ed441d6348665e2dc6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 17 15:58:24 2011 +0200

    build: ensure common header is built first

 Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2dee5b0ae05be9d4332bca20390a573367d79022
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 17 15:56:18 2011 +0200

    api: rename common header to ModemManager.h

 Makefile.am | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e48648e40671325fd24398d224f1fa798989f5fc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 17 13:19:54 2011 +0200

    api: generate enums instead of defines in common header

 header-generator.xsl | 150
 +++++++++++++++++++++++++++++++++++----------------
 1 file changed, 104 insertions(+), 46 deletions(-)

commit 15f77d131a763fc6044ca1fa1e6adb8e93b36d31
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 17 11:15:20 2011 +0200

    api: add license and header include guards

 header-generator.xsl  | 31 +++++++++++++++++++++++++++----
 introspection/all.xml |  2 +-
 2 files changed, 28 insertions(+), 5 deletions(-)

commit 6eb32c72dac22edf2d0e1841f9a040cab3cebb4a
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 17 16:18:27 2011 +0200

    introspection: renamed MM_MODEM_STATE_CHANGED_REASON to
    MM_MODEM_STATE_REASON

 introspection/org.freedesktop.ModemManager.Modem.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 36dabababd32f84a454f678047b9e3808d71146c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 17 16:14:07 2011 +0200

    introspection: rename changed reason UNKNOWN to NONE

 introspection/org.freedesktop.ModemManager.Modem.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 914ad628ab34eb62bcc66f80fd9230d451e71648
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 17 16:13:39 2011 +0200

    introspection: define MM_MODEM_TYPE_UNKNOWN

 introspection/org.freedesktop.ModemManager.Modem.xml | 5 +++++
 1 file changed, 5 insertions(+)

commit 7e246f6018ffee5889f2a42638f28c460f18787e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Aug 17 16:13:04 2011 +0200

    introspection: use state type in StateChanged signal definition

 introspection/org.freedesktop.ModemManager.Modem.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 713c07290f5bad6ea60200dad1504baf43a91f0d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Aug 15 16:08:57 2011 +0200

    introspection: define type MM_MODEM_STATE

 .../org.freedesktop.ModemManager.Modem.xml         | 60
 ++++++++++++++++++++--
 1 file changed, 55 insertions(+), 5 deletions(-)

commit 8799f4da1fdf0f0cad36dc6de68e3c35cc8177ae
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Aug 14 16:02:41 2011 -0500

    core: when probing mark ports as AT capable too

    On a ZTE MF626, sometimes the aux port will respond only with
    "ERROR" to probing commands (while the SIM is starting up) and
    previously we'd lose the port because we were only looking for
    valid probe responses.  But if the port returns ERROR or CME ERROR
    etc we know it's an AT port and that we can use it once we've
    gotten the type response (CDMA or GSM) from the main port.

 plugins/mm-plugin-zte.c |  2 ++
 src/mm-plugin-base.c    | 24 ++++++++++++++++--------
 src/mm-plugin-base.h    |  1 +
 3 files changed, 19 insertions(+), 8 deletions(-)

commit 8ea17921e736d56f7d758f2f885326ea49e495d7
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Aug 14 15:37:38 2011 -0500

    gsm: check both CS and PS registration state during poll

    When connecting, and the modem isn't yet registered or denied, poll
    both CS and PS registration state instead of just CS state, because
    we're really more interested in PS state anyway.  If at least one
    of the CS and PS state checks is successful then proceed with the
    connection.

 src/mm-generic-gsm.c | 141
 +++++++++++++++++++++++++++++++--------------------
 1 file changed, 87 insertions(+), 54 deletions(-)

commit f683391169cf7f143df380779bf69d6b9b3947b8
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Aug 9 12:00:51 2011 +0200

    test: allow modem numbers in addition to object paths

    If the command-line arg doesn't look like an object path,
    treat it as the modem # and make the object path.

 test/disable.py  | 5 ++++-
 test/enable.py   | 5 ++++-
 test/info.py     | 6 ++++--
 test/location.py | 5 ++++-
 test/scan.py     | 5 ++++-
 test/send-pin.py | 6 +++++-
 test/ussd.py     | 6 +++++-
 7 files changed, 30 insertions(+), 8 deletions(-)

commit 33a97cdb139059a8f4e2a1fefe9f2c237171caf1
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Aug 2 17:26:55 2011 -0500

    core: log when serial port unexpectedly hangs up

 src/mm-serial-port.c | 4 ++++
 1 file changed, 4 insertions(+)

commit da57b9a0eb72a685e6aacdb67c6780fddada4884
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Aug 2 16:58:26 2011 -0500

    sierra: fix possible double-free

    Need to reset password to NULL after freeing it.

 plugins/mm-modem-sierra-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit eb2d14ab4a72d437d7fceb1bdddd1417be17c5c8
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Aug 2 16:54:47 2011 -0500

    core: fix possible double-free

    If there was data waiting, the task freed it, but then the port
    got closed, and the data callback might have freed the data again.

 src/mm-plugin-base.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 804cd7f07710362a6454fbf2cee689492b3060d4
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Aug 2 12:43:26 2011 -0500

    gsm: work around Motorola Android phone modem bugs (bgo #637327)

    It seems the Motorola Flipout with Android 2.1 doesn't like to return
    configured PDP contexts via AT+CGDCONT?; it returns an error.  It
    seems to accept the rest of the dial sequence though, so just ignore
    the error when reading existing PDP contexts.

 src/mm-generic-gsm.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 7985a27321274e4087023e383276d3cbf73359bc
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Aug 2 12:26:05 2011 -0500

    doc: update README (bgo #652910)

 README | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit b9c2180886dc759403c837564cf39a4d030fea52
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Aug 2 11:05:55 2011 -0500

    core: fix serial port flashing after
    d3c2228f7b55465f4433bedb36d47744b8d791f1 (bgo #650740)

    Fix one more possible memory leak (left un-fixed by d3c2228 but not
    caused by it) and ensure that modems that do want flashing get it
    by default by adding the missing G_PARAM_CONSTRUCT so FLASH_OK
    defaults to TRUE.

 src/mm-serial-port.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 26debc1a9745ebc54d35569ba416a368f084a3f4
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Aug 2 10:47:25 2011 -0500

    mbm: don't flash serial ports on disconnect (bgo #650740)

    The F5521gw resets various port properties like echo when the port
    is flashed, which was happening on disconnect.  Since MM had already
    turned of echo with ATE0, and the AT parser in-use expected no
    echo, this confused MM when the port magically started echoing
    commands
    back.  We don't need flashing on the Ericsson devices because there
    will always be a free AT port even if PPP is used for a secondary
    PDP context, so we can just skip flashing entirely for these
    devices.

 plugins/mm-modem-mbm.c | 29 +++++++++++++++++++++++------
 1 file changed, 23 insertions(+), 6 deletions(-)

commit d3c2228f7b55465f4433bedb36d47744b8d791f1
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Aug 2 10:43:54 2011 -0500

    core: allow ports to skip flash behavior (bgo #650740)

    Flashing is a technique to break out of the data/PPP stream and
    re-enter command stream (like +++) and MM uses it in the generic
    paths in various cases.  But devices that don't need it (ie, ones
    with at least one AT capable port that won't be used for data)
    now sometimes appear to have side-effects.

    The Ericsson F5521gw firmware R2A07 resets port attributes like
    echo and &C and such when the port is flashed, leading to
    confusion on the part of MM.  Since the Ericsson devices will
    always have at least one free AT port they don't need flashing
    anyway.

 src/mm-serial-port.c | 102
 ++++++++++++++++++++++++++++++++-------------------
 src/mm-serial-port.h |   4 ++
 2 files changed, 68 insertions(+), 38 deletions(-)

commit 18231c9f8df809aacd4534d0a081125e8d6569df
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Aug 1 17:47:38 2011 -0500

    api: refine new API based on suggestions from Eric Shienbrood

 new/org.freedesktop.ModemManager1.Modem.Bearer.xml |  6 ++-
 ...rg.freedesktop.ModemManager1.Modem.Contacts.xml | 45
 ++++++++++++++++++++--
 new/org.freedesktop.ModemManager1.Modem.xml        | 26 +++++++++----
 new/org.freedesktop.ModemManager1.Sim.xml          | 15 +++++++-
 4 files changed, 80 insertions(+), 12 deletions(-)

commit e0eb7038af03e3891ec06d58f9b9690765d2a706
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Aug 1 17:18:08 2011 -0500

    gsm: allow SIM operations while connected

    No point in requiring these to be done from the primary port.

 src/mm-generic-gsm.c | 54
 +++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 41 insertions(+), 13 deletions(-)

commit 2db79a8b54c3b687ba709e70ab00c81f4cfbe55c
Author: Andrew Bird <ajb@spheresystems.co.uk>
Date:   Thu Jul 28 17:44:12 2011 +0100

    api: add new LTE constant to the MM_ACCESS_TECHs

    The 10.4 version of TS27.007 extends the range of values possible
    from AT+COPS?
    The range of values are as follows:
    3GPP TS 27.007 V10.4.0, +COPS
    <AcT>: integer type; access technology selected
    0       GSM
    1       GSM Compact
    2       UTRAN
    3       GSM w/EGPRS
    4       UTRAN w/HSDPA
    5       UTRAN w/HSUPA
    6       UTRAN w/HSDPA and HSUPA
    7       E-UTRAN

    All but the LTE (E-UTRAN) value can be represented in MM 0.5, this
    patch adds a
    new constant to correct that, until the MM API is redesigned later
    for 0.6.

    Signed-off-by: Andrew Bird <ajb@spheresystems.co.uk>

 introspection/org.freedesktop.ModemManager.Modem.Gsm.xml | 3 +++
 1 file changed, 3 insertions(+)

commit b0a2c769079d4c28e55ec8fbc72244e386f2c6ac
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jul 27 21:37:35 2011 -0500

    api: update proposed new SMS API

    Finish most of the stuff here.

 new/org.freedesktop.ModemManager.Modem.Gsm.SMS.xml | 120
 -------------------
 ...g.freedesktop.ModemManager1.Modem.Messaging.xml | 133
 +++++++++++++++++++++
 new/org.freedesktop.ModemManager1.Modem.SMS.xml    | 110
 +++++++++++++++++
 3 files changed, 243 insertions(+), 120 deletions(-)

commit 30f848e7007154a33984cf843831955dfbcb25e5
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jul 25 13:40:24 2011 -0500

    cdma: don't blow away generic EVDO reg state if no specific state
    is available

    Generic code (like the QCDM CM/HDR checks) would determine the EVDO
    registration state, which would then get blown away by the
    device-specific
    registration state query method.  Modems that have a more specific
    check
    were fine, but generic devices that don't have more specific reg
    state checks can simply rely on the generic checks done earlier and
    don't need to update the EVDO state from
    real_query_registration_state().

 src/mm-generic-cdma.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

commit f8934c21ceabef58d096ded41f1b3f3ea7de1800
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jul 25 12:52:03 2011 -0500

    option/hso: check generic access tech first, then specific tech

    During the explicit access technology check, the plugin would request
    specific 2G (OCTI) and 3G (OWCTI) technologies explicitly.
    Some devices
    (like Nozomi) don't support the AT_OWCTI command, which leaves us with
    only AT_OSSYS for determining whether the device is registered with
    the 3G network or the 2G network.  So like the unsolicited mode change
    handling code, when requesting access technology explicitly, ask for
    generic 2G/3G tech first, and then get the specific tech.  If the
    device doesn't support explicit 3G tech then at least we have the
    generic 3G tech from OSSYS to use.

 plugins/mm-modem-option-utils.c | 130
 +++++++++++++++++++++++++++++++++-------
 1 file changed, 107 insertions(+), 23 deletions(-)

commit 1df8dd7361d4afbaf3e0fa46529cdd2460fa503d
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jul 25 12:50:22 2011 -0500

    option: plugin is supposed to support Nozomi devices too

    The Nozomi cards were early CardBus devices that used a direct PCI
    interface (instead of the more usual PCI<->USB controller) and the
    'nozomi' kernel driver.  They use the same command set as most other
    early Option NV modems.  Nozomi was always supposed to be driven
    by the option plugin, but apparently that got broken when adding
    some of the driver/vendor checks.

 plugins/mm-plugin-option.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

commit b02dc7f50fd918075c43d93d91f4bc3879b91b4c
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jul 25 12:49:54 2011 -0500

    core: allow getting the result from the MMCallbackInfo

 src/mm-callback-info.c | 8 ++++++++
 src/mm-callback-info.h | 1 +
 2 files changed, 9 insertions(+)

commit 061d4108886d2bdd4f5420515d1006b986fdfe95
Author: Nathan Williams <njw@google.com>
Date:   Mon Jul 25 00:48:14 2011 -0500

    sms: calculate user-data bit padding correctly

    Fourth and final in a series.

    This fixes an off-by-one (septet) error in the calculation of the
    amount of data to skip in the presence of a user data header, and adds
    the test case from the wild that triggered it.

 src/mm-sms-utils.c   |  6 +++++-
 src/tests/test-sms.c | 29 +++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+), 1 deletion(-)

commit e20173dc47beed79367ac904e25e7c12d67fce33
Author: Nathan Williams <njw@google.com>
Date:   Mon Jul 25 00:46:51 2011 -0500

    sms: recognize more text encodings from GSM 03.38

    Third in a series. This fixes the bug detected by the dcsf1 test in
    the just-added unit tests, by more thoroughly parsing the TP-DCS
    field.

 src/mm-sms-utils.c | 89
 ++++++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 77 insertions(+), 12 deletions(-)

commit c717dbd9284f9b1baebd90864befa755dc95ef39
Author: Nathan Williams <njw@google.com>
Date:   Mon Jul 25 00:44:49 2011 -0500

    sms: add unit tests

    Second in a series. Builds on the previous by actually unit-testing
    the sms_parse_pdu() function. Note that the dcf1 test does not pass
    as the code is currently written.

 .gitignore            |   1 +
 src/tests/Makefile.am |  14 +-
 src/tests/test-sms.c  | 400
 ++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 414 insertions(+), 1 deletion(-)

commit e5faa242e9c6ddcd5bcb976420483ead59f81239
Author: Nathan Williams <njw@google.com>
Date:   Mon Jul 25 00:42:08 2011 -0500

    sms: split SMS parsing out into a separate file

    In preparation for adding tests.

    Change-Id: If1ebd0fdd6e7470c21538042ab1735357649155c

 src/Makefile.am      |   4 +-
 src/mm-generic-gsm.c | 266 ++----------------------------------------
 src/mm-sms-utils.c   | 320
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-sms-utils.h   |  25 ++++
 4 files changed, 355 insertions(+), 260 deletions(-)

commit 0cc813312f9bf446614d6aed6a85b1ee0b006451
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jul 25 00:05:06 2011 -0500

    gsm: don't clear operator name or number when at least one of PS or
    CS is registered

    The operator name/number isn't really tied to CS or PS registration,
    since
    we retrieve it using AT+COPS.  But when one of CS or PS became
    unregistered
    the operator name and number would get cleared out.  We only want
    to clear
    it out when *both* CS and PS are unregistered.  Fixes an issue
    with the
    location API where location would not be reported when one of CS or PS
    became unregistered, because the location bits want an operator name
    before they return the location.

 src/mm-generic-gsm.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 4267a15b4b318644531489fab91534acf7954d13
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jul 24 23:15:05 2011 -0500

    tests: fix access tech reporting in scan.py

 test/scan.py | 33 +++++++++------------------------
 1 file changed, 9 insertions(+), 24 deletions(-)

commit a57618b091faec24d22bfce5f384248c52cd2511
Author: Guido Günther <agx@sigxcpu.org>
Date:   Thu Jul 21 15:15:44 2011 -0500

    zte: skip hex encoding (bgo #652682)

 plugins/mm-modem-zte.c | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

commit 70715c1c124b3220969a432be5ad2ad6f44913fe
Author: Guido Günther <agx@sigxcpu.org>
Date:   Thu Jul 21 15:15:09 2011 -0500

    huawei: implement ussd encoding/decoding

    Huawei wants the USSD as packed GSM.

 plugins/mm-modem-huawei-gsm.c | 51
 +++++++++++++++++++++++++++++++++++++++++--
 src/mm-generic-gsm.c          |  2 +-
 src/mm-modem-gsm-ussd.h       |  4 ++++
 3 files changed, 54 insertions(+), 3 deletions(-)

commit b82cec8c7e0aaab04a855d64ac46b6244b6cd98c
Author: Guido Günther <agx@sigxcpu.org>
Date:   Thu Jul 21 15:14:23 2011 -0500

    ussd: Add mm_modem_gsm_ussd_{de,en}code to the MMModemGsmUssd
    interface

    since some some modems need different quirks to encode/decode USSD
    messages.

 src/mm-generic-gsm.c    | 69
 ++++++++++++++++++++++++++++++++++++++-----------
 src/mm-modem-gsm-ussd.c | 26 +++++++++++++++++++
 src/mm-modem-gsm-ussd.h | 16 ++++++++++++
 3 files changed, 96 insertions(+), 15 deletions(-)

commit 94e717b85474881435f4f6a2f503ad23ab148d22
Author: Guido Günther <agx@sigxcpu.org>
Date:   Thu Jul 21 15:09:15 2011 -0500

    test: improve ussd.py help message

 test/ussd.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 26e7b3f8ce949ff3d8ba15626f8b59d92f13ff94
Author: Guido Günther <agx@sigxcpu.org>
Date:   Thu Jul 21 15:08:22 2011 -0500

    trivial: update .gitignore

 .gitignore | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit ec76518ea3a4fe1f32de4e11c6d3adf3021001e6
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 21 15:06:36 2011 -0500

    api: add missing in-progress proposed SMS API

 new/org.freedesktop.ModemManager.Modem.Gsm.SMS.xml | 120
 +++++++++++++++++++++
 1 file changed, 120 insertions(+)

commit 3e2b6fb24c6f32f6b5898f4c703eed4fc609561d
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jul 19 15:29:44 2011 -0500

    cdma: set Rm interface protocol if required (bgo #641661)

    Some providers (CDMA Ukraine) apparently require a specific Rm
    interface
    protocol, so add some Simple Connect dict settings for that and
    use them
    when dialing.  Obviously requires the connection manager to also have
    support for sending the right bits down to MM.

 .../org.freedesktop.ModemManager.Modem.Simple.xml  |   5 +-
 src/mm-generic-cdma.c                              | 153
 ++++++++++++++++++++-
 2 files changed, 153 insertions(+), 5 deletions(-)

commit 85000adfe95f948773d4313e3207a1781dc87225
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jul 18 18:27:18 2011 -0500

    core: add another CnS string to the immediate ignore list

    Newer Sierra devices have this (ie 306); it's the CnS port so ignore
    it immediately.

 src/mm-plugin-base.c | 1 +
 1 file changed, 1 insertion(+)

commit c70d6d565d51a0b76e3e79f176176b146806265e
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 7 10:28:41 2011 -0500

    Revert "cinterion: bail earlier if the plugin doesn't support
    the port"

    This reverts commit 1e1bfbf1d808e557441afdae44447af457dae7ff.

    Aleksander says this might break RS232<->USB converter connected
    Cinterion modems, so we'll need to handle this issue another way.

 plugins/mm-plugin-cinterion.c | 17 -----------------
 1 file changed, 17 deletions(-)

commit 1e1bfbf1d808e557441afdae44447af457dae7ff
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jul 6 15:36:18 2011 -0500

    cinterion: bail earlier if the plugin doesn't support the port

    Caused a crash with the Sierra plugin due to an assertion failure;
    the Cinterion plugin shouldn't claim to possibly support ports
    it knows it won't support.  In this case, it claimed to support
    Sierra modems, so it would try to run probing after Sierra had
    done so.  Ideally this should work, but for now just make sure
    the Cinterion plugin doesn't claim to support these ports when
    it knows it doesn't.

 plugins/mm-plugin-cinterion.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit 0f6d1b2b42afe48583c9c3e7c159be4353462d86
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jul 6 13:15:42 2011 -0500

    nokia: N900 doesn't really need additional inter-character time

    See 46d757faa768db7d7bb23d51cc2af3196f7a7e30:

    gsm: send init command twice to make the N900 happy (rh #583691)
    (lp:765516)

    for what I think is the real workaround for this bug.

 plugins/mm-modem-nokia.c | 4 ----
 1 file changed, 4 deletions(-)

commit 46d757faa768db7d7bb23d51cc2af3196f7a7e30
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jul 6 13:13:41 2011 -0500

    gsm: send init command twice to make the N900 happy (rh #583691)
    (lp:765516)

    The N900 has some odd serial characteristics in that it appears to
    send pieces of the commands back for whatever reason, until you've
    sent
    a few commands down to it.  Almost like it's training on whatever
    you send and needs a bit of input to figure out the characteristics.
    Whatever.  Just send the init command twice instead of failing when
    the N900 barfs the first time.

 src/mm-generic-gsm.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 2ca045f1781095ed652bc01d0f47cdbe6b0b9775
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jul 6 13:08:18 2011 -0500

    core: update some serial port settings

    1) use cfsetispeed/cfsetospeed like the TTY manpage suggests
    2) ignore parity/framing errors since we're not using parity anyway
    3) double-check that all our TTY settings were successfully set

 src/mm-serial-port.c | 46 +++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 41 insertions(+), 5 deletions(-)

commit 50e9d6fc54da6900796cc6af957465120dc530d7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jul 6 09:37:47 2011 +0200

    cinterion, wavecom: update copyright info

 plugins/mm-modem-cinterion-gsm.c | 3 ++-
 plugins/mm-modem-cinterion-gsm.h | 3 ++-
 plugins/mm-modem-wavecom-gsm.c   | 3 ++-
 plugins/mm-modem-wavecom-gsm.h   | 3 ++-
 plugins/mm-plugin-cinterion.c    | 3 ++-
 plugins/mm-plugin-cinterion.h    | 3 ++-
 plugins/mm-plugin-wavecom.c      | 3 ++-
 plugins/mm-plugin-wavecom.h      | 3 ++-
 8 files changed, 16 insertions(+), 8 deletions(-)

commit 077a4004fd2c7b4005962d8e0aa7eac8b7edd0a9
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jul 5 12:27:47 2011 -0500

    gobi: support access technology reporting

    Obviously only works while disconnected since the Gobi devices only
    provide one AT-compatible tty.

 plugins/mm-modem-gobi-gsm.c | 53
 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

commit 3eaf753c7f5c21b8a6ef589b03d6181318b2b8eb
Author: Thomas Grenman <tgrenman@aalto.fi>
Date:   Thu Jun 30 15:51:53 2011 -0500

    gsm: set SMS storage location before enabling notifications

    Fixes a firmware hang on Option GlobeTrotter Express (GE0201 with
    firmware 1.12.1Hd (Date: Feb 22  2007, Time: 09:20:28)) and makes
    sense in general too.

 src/mm-generic-gsm.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 7762d401e8201efc05d643b9da32f3e60a42c470
Merge: 881f928c4 7e69d2cf3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 30 19:48:23 2011 +0200

    Merge remote-tracking branch 'lanedo/power-up-check-needed'

commit 881f928c40f1460bcb03fae3eaf96b23f40fca3f
Author: Eric Shienbrood <ers@google.com>
Date:   Tue Jun 28 10:46:56 2011 -0400

    samsung: add product ID for the Y3400 module.

    The Y3400 is functionally nearly identical to the Y3300.

 plugins/mm-plugin-samsung.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1b73fa154160a51634633a4bfd886aa1d27e72b3
Author: Nathan Williams <njw@chromium.org>
Date:   Thu Jun 23 17:33:30 2011 -0400

    Add a DBus interface for setting the log level.

    Lifted almost entirely from similar code in NetworkManager.

    BUG=chromium-os:15197
    TEST='dbus-send --print-reply --system
    --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager
    org.freedesktop.ModemManager.SetLogging string:DEBUG'
    Also try valid log levels 'ERR', 'WARN', 'INFO', and an invalid log
    level, such as 'ABCDE'.

    Change-Id: I2bddcd0319f4966dd293b119f68e7cc1697949b7
    Reviewed-on: http://gerrit.chromium.org/gerrit/3134
    Tested-by: Nathan J. Williams <njw@chromium.org>
    Reviewed-by: Eric Shienbrood <ers@chromium.org>

 introspection/org.freedesktop.ModemManager.xml | 12 +++++++++
 src/mm-log.c                                   | 37
 ++++++++++++++------------
 src/mm-log.h                                   |  2 ++
 src/mm-manager.c                               | 17 ++++++++++++
 4 files changed, 51 insertions(+), 17 deletions(-)

commit b7820cf6e15eb245d4726f8cfbe20ce24466188b
Author: Nathan Williams <njw@chromium.org>
Date:   Thu Jun 23 18:01:46 2011 -0400

    gsm: handle case of entirely empty SPN correctly

    BUG=none
    TEST=Insert a SIM with a present but empty (all 0xFF) SPN and check
    the system log for a (lack of) assertion errors from
    mm_charset_gsm_unpacked_to_utf8().

    Change-Id: I1250494b9757c9bfdce56402a4471c598f41223f
    Reviewed-on: http://gerrit.chromium.org/gerrit/3139
    Reviewed-by: Eric Shienbrood <ers@chromium.org>
    Tested-by: Nathan J. Williams <njw@chromium.org>

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7e69d2cf307efdb4ddec5ef0eef9f6141bf8fa65
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jun 22 16:00:58 2011 +0200

    cinterion: always try to use RTS/CTS flow control

    Otherwise, power-up after going to standby will not work properly

 plugins/mm-modem-cinterion-gsm.c | 39
 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

commit 39abb023ed180d03ea8324285116e228b46cd411
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jun 22 15:53:37 2011 +0200

    serial: new property to enable RTS/CTS flow control

 src/mm-serial-port.c | 21 +++++++++++++++++++++
 src/mm-serial-port.h |  1 +
 2 files changed, 22 insertions(+)

commit eae5d6c41be6652bac384340c47d274164007ebb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Jun 22 13:01:17 2011 +0200

    cinterion: enable power-off command to go to sleep/standby mode

    AT+CFUN=4 will be used when available to go to standby mode. If
    not supported,
    (as in EGS5) AT+CFUN=7 will be used instead, which enables a CYCLIC
    SLEEP mode.

    Flow control setup was updated to RCS/CTS so that waking up from
    sleep mode
    works properly.

 plugins/mm-modem-cinterion-gsm.c | 97
 +++++++++++++++++++++++++++++++++++++---
 1 file changed, 92 insertions(+), 5 deletions(-)

commit 56db81890120e63f251b899b0eac66dc8941d411
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 21 15:07:16 2011 +0200

    sierra: do not send power-up command if not needed

 plugins/mm-modem-sierra-gsm.c | 60
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

commit 34b5635f84798005e93a4be4c84ebd5dbe9f5212
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 21 14:49:38 2011 +0200

    wavecom: enable power-off command to go to sleep/standby mode

    AT+CFUN=4 will be used to go to standby mode.

 plugins/mm-modem-wavecom-gsm.c | 9 +++++++++
 1 file changed, 9 insertions(+)

commit ab485bd66a3dfe4fdafe6425f48417997784be21
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 21 14:41:56 2011 +0200

    wavecom: try to power-up without rebooting

    Using AT+CFUN=1,0 so that we request to avoid resetting
    (<rst>=0). Works
    properly when powering up after having put the modem in standby
    mode with
    AT+CFUN=4.

    Note that the power-up command will only be sent if the check to
    see if power-up
    is needed requests it.

 plugins/mm-modem-wavecom-gsm.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 255525a5a2d499ef7b4d01cea660502bd1dff6a5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 21 14:39:23 2011 +0200

    wavecom: do not send power-up command if not needed

 plugins/mm-modem-wavecom-gsm.c | 104
 +++++++++++++++++++++++++----------------
 1 file changed, 63 insertions(+), 41 deletions(-)

commit 6e9d980e8c29974f9b641a1f6bc3be5212500901
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 21 12:54:09 2011 +0200

    gsm: allow plugins to check if they need to issue the power-up command

    Some modems only like the power-up command if not already in full
    functionality
    mode. If the power-up is sent while already in full functionality
    mode, they get
    rebooted and reseted.

    With this changes, plugins can check whether they need the power-up
    and ask
    the generic gsm code base to skip the command or not.

    By default, power-up command (if any given) is never skipped.

 src/mm-generic-gsm.c | 34 ++++++++++++++++++++++++++++------
 src/mm-generic-gsm.h | 11 ++++++++++-
 2 files changed, 38 insertions(+), 7 deletions(-)

commit 895f0f2ea3868091baefa897d88a6fbc3a0ca897
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jun 17 16:25:45 2011 -0500

    doc: add notes about Pantech UML290 and the WMC protocol

    WMC is a proprietary protocol observed on various Verizon devices
    and implemented by the UML290.

 uml290.txt | 163
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 163 insertions(+)

commit 51c409d1eba77804d9e1709808c2eb5e5eb064e0
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 9 16:33:43 2011 -0500

    ussd: fix reception, network notifications, and network requests

    Because the code was sending the USSD request with a "notify me via
    unsolicited result code" tag, the response could come from any port,
    and in was coming from other ports on various devices.  But the code
    expected the response on the main port, thus it got lost.

    So turn the USSD response processing into an unsolicited command
    handler
    instead, which allows us to process the response no matter where it
    comes from.  This patch also enables network-initiated USSD
    notifications and requests since that's easy to add once the first
    thing
    here is done.

 src/mm-generic-gsm.c | 243
 ++++++++++++++++++++++++++++++++++++++-------------
 src/mm-generic-gsm.h |   2 +
 2 files changed, 184 insertions(+), 61 deletions(-)

commit 77fa848820cabf8cbaf6ed0e986771f4907c4c36
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jun 15 12:50:35 2011 -0500

    serial: warn when open/close take longer than 7 seconds

    Due to kernel bugs and such.

 src/mm-serial-port.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 884ba2bb09e877d54847327cc4d511fa68e97c53
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 14 12:58:36 2011 +0200

    build: place together samsung plugin compilation options

 plugins/Makefile.am | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit abcffd17538b9417ddc99fa5ae46de10378ad2db
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Jun 14 12:38:33 2011 +0200

    cinterion: check probed caps from supports task

 plugins/mm-plugin-cinterion.c | 1 +
 1 file changed, 1 insertion(+)

commit a35fc3a583e507d3c59e0d53a3f71aa8a6e59bb9
Author: Eric Shienbrood <ers@google.com>
Date:   Mon Jun 13 10:30:11 2011 -0500

    icera: report connected access technology when connected

    The NWSTATE field reports both available access technology and the
    actual access technology in-use when a PS connection is active, so
    report the actual access tech when it's available.

 plugins/mm-modem-icera.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

commit 6657e45a1e7d836f8fee6610b225c59249a07c98
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 9 16:53:05 2011 -0500

    core: trivial whitespace cleanup

    Tabs -> spaces

 src/mm-manager.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

commit 9f8d42a994ae60efff46611a8fb88fe55a506c7f
Author: Nathan Williams <njw@google.com>
Date:   Wed Jun 8 15:52:08 2011 -0400

    core: handle udev 'change' events

    That's what the udev replay gives us these days (as of udev-152).

 src/mm-manager.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 509521d180e333a76233baf9c14e1a33ceca42b6
Author: Eric Shienbrood <ers@google.com>
Date:   Thu Jun 9 16:44:10 2011 -0500

    icera: request specific network error codes on connect errors

    For connection failures, get additional error detail. Currently,
    the only error codes that are mapped are the 3GPP TS 24.008 codes
    for "Unknown or missing access point name" and "Requested service
    option not subscribed" (which is sometimes returned for an invalid
    APN).

    (random fixes and cleanups by dcbw)

 plugins/mm-modem-icera.c | 51
 +++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 42 insertions(+), 9 deletions(-)

commit 57a14da144bdf7a7c5b3403e4cafc66c26783f24
Author: Eric Shienbrood <ers@google.com>
Date:   Thu Jun 9 16:41:09 2011 -0500

    build: ensure Samsung plugin includes common Icera code

    Otherwise make can't find build-time dependencies.

 plugins/Makefile.am | 3 +++
 1 file changed, 3 insertions(+)

commit 92159d9b0d673b42ca8ceac0254fa2aa06d2f0ab
Author: Eric Shienbrood <ers@google.com>
Date:   Thu Jun 9 16:40:11 2011 -0500

    icera: add more access technology strings

 plugins/mm-modem-icera.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 85aae2d8f1fdb43709f1e5e7eef3b8387a75ba29
Author: Eric Shienbrood <ers@google.com>
Date:   Thu Jun 9 16:37:20 2011 -0500

    samsung: disable should use CFUN=4

    CFUN=4 disables the radios but still allows useful operations
    like getting PIN lock status.  So use that instead.

 plugins/mm-modem-samsung-gsm.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 63b29b79f9adf1fa4ff806671c6f1dad8f22de9e
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 9 15:01:20 2011 -0500

    gsm: fix memory leak when grabbing a new port

 src/mm-generic-gsm.c | 1 +
 1 file changed, 1 insertion(+)

commit e5c967508d40a008eb2809628da01ed36c96511b
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 9 14:46:03 2011 -0500

    ussd: fix leaked callback info in error cases

 src/mm-generic-gsm.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

commit f9f6d1dfdb070bec05e5e7385f8d4eb95e573b6f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 2 12:33:09 2011 +0200

    plugins: propagate cached probing result to supports task

    We need to ensure that the supports task always has the results of
    the probing,
    no matter if the probing was just launched by the plugin grabbing
    the port, or
    by a previous plugin. We do this during supports_port(), by
    propagating to the
    supports task any possible previously cached probing results.

 plugins/mm-plugin-anydata.c   |  9 ++++---
 plugins/mm-plugin-cinterion.c | 62
 +++++++++++++++++++++++--------------------
 plugins/mm-plugin-generic.c   |  9 ++++---
 plugins/mm-plugin-gobi.c      |  9 ++++---
 plugins/mm-plugin-hso.c       |  9 ++++---
 plugins/mm-plugin-huawei.c    |  9 ++++---
 plugins/mm-plugin-linktop.c   |  9 ++++---
 plugins/mm-plugin-longcheer.c |  9 ++++---
 plugins/mm-plugin-mbm.c       |  9 ++++---
 plugins/mm-plugin-moto-c.c    | 11 +++++---
 plugins/mm-plugin-nokia.c     |  9 ++++---
 plugins/mm-plugin-novatel.c   |  9 ++++---
 plugins/mm-plugin-option.c    |  9 ++++---
 plugins/mm-plugin-sierra.c    |  9 ++++---
 plugins/mm-plugin-simtech.c   |  9 ++++---
 plugins/mm-plugin-wavecom.c   |  9 ++++---
 plugins/mm-plugin-x22x.c      |  9 ++++---
 plugins/mm-plugin-zte.c       |  9 ++++---
 src/mm-plugin-base.c          | 48 +++++++++++++++++++--------------
 src/mm-plugin-base.h          | 11 ++++----
 20 files changed, 169 insertions(+), 107 deletions(-)

commit 39215599018a12817a853615ccbc4ee67c234858
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 12 17:01:57 2011 +0200

    cinterion: set modem disabled if 3 consecutive AT commands get
    timed out

 plugins/mm-modem-cinterion-gsm.c | 1 +
 1 file changed, 1 insertion(+)

commit a2ba5c5e99b4200281fd1a57177676acd26a2cad
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue May 10 11:42:04 2011 +0200

    cinterion: enable reprobing on ports without cached capabilities

 plugins/mm-plugin-cinterion.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 4cb039e34a78a868a84a4e2299e6e0c1ca638cc9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 5 13:20:02 2011 +0200

    cinterion: always sort last the plugin

    This is because the cinterion plugin can handle RS232 modes,
    and checking
    support for them needs to have the vendor ID probed with AT
    commands, so
    probing is almost always issued in this plugin. By sorting last,
    we let
    other plugins check support first.

 plugins/mm-plugin-cinterion.c | 1 +
 1 file changed, 1 insertion(+)

commit a9c93ec3ad6c7390afe33e8a317cb83007265881
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 5 10:41:07 2011 +0200

    cinterion: handle RS232 modems

 plugins/mm-plugin-cinterion.c | 108
 ++++++++++++++++++++++++++++++------------
 1 file changed, 77 insertions(+), 31 deletions(-)

commit 22f15b87b53b60e627b00a51781234a27a677594
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed May 11 16:40:45 2011 +0200

    base: disable the modem if up to N consecutive commands get timed out

    This feature is initially disabled for all modems, but plugins can
    enable it by
    setting a value greater than 0 for the "max-timeouts" property when
    creating the
    modem object.

 src/mm-modem-base.c  | 69
 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-base.h  |  2 ++
 src/mm-serial-port.c | 43 +++++++++++++++++++++++++++++---
 src/mm-serial-port.h |  1 +
 4 files changed, 111 insertions(+), 4 deletions(-)

commit f2ba435446a48407f4a491d0fa0eda6b7d4c22d9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue May 10 16:06:29 2011 +0200

    manager: protect ScanDevices() d-bus method with manager control
    policy rule

 introspection/org.freedesktop.ModemManager.xml |  1 +
 src/mm-manager.c                               | 55
 +++++++++++++++++++++++---
 2 files changed, 50 insertions(+), 6 deletions(-)

commit c67cbcabef276b5fcd01286208b5465d47949c68
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue May 10 16:03:02 2011 +0200

    policy: new policy for manager control actions

 policy/org.freedesktop.modem-manager.policy.in |  9 +++++++++
 src/mm-auth-provider.h                         | 13 +++++++------
 2 files changed, 16 insertions(+), 6 deletions(-)

commit 3fb53d33489bb8efaf4d69ac1d8f6a23fc0c7b4b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue May 10 09:48:59 2011 +0200

    manager: new ScanDevices() d-bus method to request a new device
    scan loop

 introspection/org.freedesktop.ModemManager.xml |  8 ++++++++
 src/mm-manager.c                               | 14 ++++++++++++++
 2 files changed, 22 insertions(+)

commit df0d9b480c0db825126c7ebbb36bdd958bf59761
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 5 13:19:32 2011 +0200

    plugin base: let plugins decide if they should be sorted last

    Note that even if a plugin says it wants to be sorted last, the
    generic plugin
    will always be the last one. Also, there is no order guaranteed
    between two
    plugins that request to be sorted last.

 src/mm-manager.c     | 37 +++++++++++++++++++++++++++++++++++--
 src/mm-plugin-base.c | 25 +++++++++++++++++++++++++
 src/mm-plugin-base.h |  3 ++-
 src/mm-plugin.c      | 12 ++++++++++--
 src/mm-plugin.h      |  9 ++++++++-
 5 files changed, 80 insertions(+), 6 deletions(-)

commit 5a2078a2a5f012772612dea0921b147bf6d75d88
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu May 5 10:32:48 2011 +0200

    plugin base: include vendor ID and product ID retrieval during AT
    port probing

    Port probing is extended to also query for Vendor ID and Product
    ID. This allows
    plugins to check whether the reported IDs are expected, and thus
    we enable
    plugins to handle modems connected via RS232 ports (where udev
    doesn't give any
    vendor ID) or modems connected via a USB adapter (where udev gives
    the vendor ID
    of the adapter).

    Note that this effectively means that a plugin which expects these
    kind of modem
    connections will end up always launching port probing as they won't
    only rely on
    the vendor ID reported by udev.

 src/mm-plugin-base.c | 371
 ++++++++++++++++++++++++++++++++++++++-------------
 src/mm-plugin-base.h |  12 +-
 2 files changed, 290 insertions(+), 93 deletions(-)

commit 9578e1b9cab988b11bf9a4cd1af3842cdfb1eb28
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon May 16 16:12:12 2011 +0200

    cinterion: override CMER enabling command

 plugins/mm-modem-cinterion-gsm.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit de5eb41a705c7ece08a4f5f6fdee8c2e3cfcedc0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon May 16 15:50:37 2011 +0200

    cinterion: override SMS indications setup commands

 plugins/mm-modem-cinterion-gsm.c | 46
 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

commit 0b8f86534acb3a6f1463fb9abe3059d032fb5f3b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed May 11 13:47:34 2011 +0200

    cinterion: if modem removed don't process response

 plugins/mm-modem-cinterion-gsm.c | 59
 ++++++++++++++++++++++++++++++++++------
 1 file changed, 51 insertions(+), 8 deletions(-)

commit 998b62261158cc8e7f39af5224410b8c2bfcb9f5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 14 19:49:30 2011 +0200

    cinterion: set and get bands

 plugins/mm-modem-cinterion-gsm.c | 422
 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 421 insertions(+), 1 deletion(-)

commit ade9fe8d30e30c95e56381a18b2131f28c2172b4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Apr 25 13:58:26 2011 +0200

    cinterion: set and get allowed mode

    The 2G-preferred and 3G-preferred modes are not supported on dual
    2G/3G cinterion modems.

 plugins/mm-modem-cinterion-gsm.c | 132
 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 131 insertions(+), 1 deletion(-)

commit 8d8888bc6309d5f6f36016e9afdec05b2a21c3b4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Apr 25 12:42:12 2011 +0200

    cinterion: query supported networks to detect if 2G or 3G device

 plugins/mm-modem-cinterion-gsm.c | 97
 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 97 insertions(+)

commit 795de120503af8474999f6ad0233a407e50ecf8d
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 14 15:46:11 2011 +0200

    cinterion: query network technology capabilities

    We try to look for 'psinfo' indication in AT^SIND? output (available
    in 3G
    devices from Cinterion), and if that is not available, we try to
    use the
    AT^SMONG GPRS monitor (available in 2G devices from Cinterion).

 plugins/mm-modem-cinterion-gsm.c | 205
 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 205 insertions(+)

commit c6060e8c0f4c384c49b1e0effb0e149ce9bf15c9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 13 16:26:51 2011 +0200

    cinterion: add initial dummy plugin

 plugins/Makefile.am              |  21 ++++-
 plugins/mm-modem-cinterion-gsm.c |  62 +++++++++++++++
 plugins/mm-modem-cinterion-gsm.h |  44 +++++++++++
 plugins/mm-plugin-cinterion.c    | 164
 +++++++++++++++++++++++++++++++++++++++
 plugins/mm-plugin-cinterion.h    |  47 +++++++++++
 5 files changed, 337 insertions(+), 1 deletion(-)

commit 668726dbd7063ef8c17bd27054acfd37343b2f29
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 27 17:13:43 2011 +0200

    charsets: new utf8_to_hex() method

 src/mm-charsets.c | 31 +++++++++++++++++++++++++++++++
 src/mm-charsets.h |  5 +++++
 2 files changed, 36 insertions(+)

commit 1e507824c62b7c512f57109ff9b0d395f7d2429f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon May 16 16:07:49 2011 +0200

    gsm: let plugins use their own command for CMER enabling

 src/mm-generic-gsm.c | 29 ++++++++++++++++++++++++++---
 src/mm-generic-gsm.h |  2 ++
 2 files changed, 28 insertions(+), 3 deletions(-)

commit 85569f77e9328d753ffe1cc9937ef063f6a92bd5
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon May 16 15:22:23 2011 +0200

    gsm: let plugins use their own commands for SMS indications and
    storage configuration

 src/mm-generic-gsm.c | 39 ++++++++++++++++++++++++++++++++++++---
 src/mm-generic-gsm.h | 18 +++++++++++-------
 2 files changed, 47 insertions(+), 10 deletions(-)

commit 8c1430763f52b7b297291808452d1bc53d3b5be1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue May 10 12:13:06 2011 +0200

    introspection: indentation fixes

 introspection/mm-mobile-error.xml                  |   2 +-
 introspection/mm-modem-connect-error.xml           |   2 +-
 introspection/mm-modem-error.xml                   |   2 +-
 introspection/mm-serial-error.xml                  |   2 +-
 introspection/org.freedesktop.DBus.Properties.xml  |  40 +++---
 .../org.freedesktop.ModemManager.Modem.Cdma.xml    |  20 +--
 ...org.freedesktop.ModemManager.Modem.Gsm.Card.xml |  80 ++++++------
 ...freedesktop.ModemManager.Modem.Gsm.Contacts.xml |  72 +++++------
 .../org.freedesktop.ModemManager.Modem.Gsm.Hso.xml |   6 +-
 ....freedesktop.ModemManager.Modem.Gsm.Network.xml | 128
 +++++++++---------
 .../org.freedesktop.ModemManager.Modem.Gsm.SMS.xml |  52 ++++----
 ...org.freedesktop.ModemManager.Modem.Gsm.Ussd.xml |   4 +-
 .../org.freedesktop.ModemManager.Modem.Gsm.xml     |  30 ++---
 ...org.freedesktop.ModemManager.Modem.Location.xml | 144
 ++++++++++-----------
 .../org.freedesktop.ModemManager.Modem.Simple.xml  |  66 +++++-----
 .../org.freedesktop.ModemManager.Modem.xml         |  78 +++++------
 introspection/org.freedesktop.ModemManager.xml     |  22 ++--
 17 files changed, 375 insertions(+), 375 deletions(-)

commit c45df27ca0c6c2b6f626ef847f3164a8c23b5f17
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jun 5 20:57:15 2011 -0500

    x22x: add support for the Alcatel X200

    Same USB IDs as the X060s which is driven by Longcheer, but uses the
    X22X command set so we have to do a little dance and make sure we
    don't claim the X060s here.

 plugins/77-mm-x22x-port-types.rules |  8 ++++++
 plugins/mm-plugin-x22x.c            | 54
 +++++++++++++++++++++++++++++++++++--
 2 files changed, 60 insertions(+), 2 deletions(-)

commit 1936979f112f81ca7acad1e1512ca940502d25b5
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jun 5 20:23:51 2011 -0500

    longcheer: ensure the Alcatel X200 is not claimed

    The X200 shares the same USB VID and PID as the X060s but the X200
    does not use the same AT command set; it uses the X22X plugin
    instead.  Since both modems also report the same +GMM and +GMI
    responses, we have to fall back to using +GMR even though that's
    a pretty sketchy way to tell them apart if the firmware ever changes.

 plugins/mm-plugin-longcheer.c | 54
 +++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 52 insertions(+), 2 deletions(-)

commit b122938ab5fb6ff5be1d4575abb0ca81d2885ce3
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jun 5 20:21:52 2011 -0500

    core: allow plugins to stop probing and not support a modem

    Previously plugins could only stop probing, *or* stop probing and
    indicate support for a device.  For the Alcatel X200/X060s debacle
    we need to stop probing and indicate that the plugin does not
    support the device at all.

 plugins/mm-plugin-huawei.c |  4 ++--
 plugins/mm-plugin-zte.c    |  2 +-
 src/mm-plugin-base.c       | 13 +++----------
 src/mm-plugin-base.h       | 11 +++++------
 4 files changed, 11 insertions(+), 19 deletions(-)

commit d81fa43c1d721ed123401f4a89fd7b3771ab4463
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jun 5 18:29:00 2011 -0500

    x22x: support access technology reporting

 plugins/mm-modem-x22x-gsm.c | 46
 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

commit da55d11e72d0f2d075aab57794cce47d0cb60655
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue May 17 09:35:23 2011 +0200

    plugins: use MMCallbackInfo instead of custom DisableInfo

    Implemented using a custom invoke method which doesn't call the
    callback, and
    instead calls parent disable passing the callback as argument.

    This fix ensures that if a modem gets removed, no invalid modem
    reference is
    passed to the parent disable, as info->modem would be set to NULL
    and we can
    detect it in the custom invoke method.

 plugins/mm-modem-huawei-gsm.c  | 43
 +++++++++++++++++++++++++---------------
 plugins/mm-modem-mbm.c         | 43
 ++++++++++++++++++++++++++--------------
 plugins/mm-modem-samsung-gsm.c | 43
 ++++++++++++++++++++++++++--------------
 plugins/mm-modem-simtech-gsm.c | 43
 +++++++++++++++++++++++++---------------
 plugins/mm-modem-zte.c         | 45
 ++++++++++++++++++++++++++----------------
 5 files changed, 138 insertions(+), 79 deletions(-)

commit d37dbaca2ad66beeeae6e52db1293a3e8a60b7d7
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon May 16 18:58:43 2011 +0200

    core: ensure ERROR_REMOVED error is used in MMCallbackInfo when
    detecting modem removal

 src/mm-callback-info.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

commit 9323daec015ecad65c39b6020b62e864c027d858
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon May 16 12:16:04 2011 +0200

    core, plugins: if modem removed don't process response

    We try to avoid a memory leak when info->error is reset, as well as
    a second
    re-schedule of the info.

 plugins/mm-modem-anydata-cdma.c  |  10 +
 plugins/mm-modem-gobi-gsm.c      |   5 +
 plugins/mm-modem-hso.c           |  66 ++++--
 plugins/mm-modem-huawei-cdma.c   |   5 +
 plugins/mm-modem-huawei-gsm.c    |  45 +++-
 plugins/mm-modem-icera.c         |  59 ++++-
 plugins/mm-modem-linktop.c       |  12 +-
 plugins/mm-modem-longcheer-gsm.c |  20 +-
 plugins/mm-modem-mbm.c           |  70 +++++-
 plugins/mm-modem-novatel-cdma.c  |  19 +-
 plugins/mm-modem-novatel-gsm.c   |  20 +-
 plugins/mm-modem-option-utils.c  |  28 ++-
 plugins/mm-modem-samsung-gsm.c   |  42 +++-
 plugins/mm-modem-sierra-cdma.c   |  24 +-
 plugins/mm-modem-sierra-gsm.c    |  48 +++-
 plugins/mm-modem-simtech-gsm.c   |  43 +++-
 plugins/mm-modem-wavecom-gsm.c   |  89 ++++++-
 plugins/mm-modem-x22x-gsm.c      |  19 +-
 plugins/mm-modem-zte.c           |  46 +++-
 src/mm-callback-info.c           |   8 +
 src/mm-callback-info.h           |   2 +
 src/mm-generic-cdma.c            | 117 +++++++---
 src/mm-generic-gsm.c             | 490
 +++++++++++++++++++++++++++------------
 src/mm-modem-base.c              |  20 +-
 src/mm-modem.c                   |  19 --
 src/mm-modem.h                   |   2 -
 26 files changed, 1029 insertions(+), 299 deletions(-)

commit f7dff81eecd6694c2596200fc2c3226de0396b7d
Author: Nathan Williams <njw@google.com>
Date:   Fri May 20 14:42:16 2011 -0400

    gsm: free the string allocated by utils_hexstr2bin().

    Change-Id: I1f7dabc8209d9757b573a59abb788a2346f72ad5

 src/mm-generic-gsm.c | 2 ++
 1 file changed, 2 insertions(+)

commit a1378ae8e82e4372ca2a7abf747ff5e418675907
Author: Nathan Williams <njw@google.com>
Date:   Fri May 20 17:31:34 2011 -0400

    Spec out and implement a command to get a GSM SIM SPN value.

    Using a SIM with a SPN, run the following command:
    dbus-send --system --dest=org.freedesktop.ModemManager
    --print-reply /org/freedesktop/ModemManager/Modems/0
    org.freedesktop.ModemManager.Modem.Gsm.Card.GetSpn

    Change-Id: I8f36c8432f40fa4e3cb3f8c6ceef16b2bdadf2a1
    Reviewed-on: http://gerrit.chromium.org/gerrit/1464
    Reviewed-by: Nathan J. Williams <njw@chromium.org>
    Tested-by: Nathan J. Williams <njw@chromium.org>

 ...org.freedesktop.ModemManager.Modem.Gsm.Card.xml | 13 +++
 src/mm-generic-gsm.c                               | 94
 ++++++++++++++++++++++
 src/mm-modem-gsm-card.c                            | 54 +++++++++++++
 src/mm-modem-gsm-card.h                            |  8 ++
 4 files changed, 169 insertions(+)

commit dfab00bf1ecc15d5df911496b375a77ecb7b7b79
Author: Nathan Williams <njw@google.com>
Date:   Tue May 31 13:50:17 2011 -0400

    sms_decode_address(): Add a leading "+" on international numbers.

    BUG=chromium-os-partner:4278
    TEST=Send SMS from phone (to get +... format) and from AIM-SMS gateway
    (to get raw-digit format).

    Change-Id: I36eb9f1432a432435578180dfdb315b0e7ee5744

 src/mm-generic-gsm.c | 28 ++++++++++++++++++++++++----
 1 file changed, 24 insertions(+), 4 deletions(-)

commit 6d69432a858abf5b2c2297891858aac9eff57943
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Jun 2 16:43:02 2011 +0200

    serial-parser: allow 0 or more whitespaces before error code in
    regular expresions

 src/mm-serial-parsers.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit b8cb764d080ac385f93cf17b77a0d41861d9670d
Author: Nathan Williams <njw@chromium.org>
Date:   Wed May 25 17:08:15 2011 -0400

    sms: use correct start and length for alphanumeric data

    sms_parse_pdu(): Protocol ID doesn't actually affect decoding, so
    don't fret about its value.

    ChromeOS:
    Change-Id: Ia4cb20c415aed1026bb7b8dd4daa8ae53dd749e8

 src/mm-generic-gsm.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

commit 6e9b11a047b59e75a478113840e6705724759a30
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 27 09:57:47 2011 -0500

    simtech: tag ports on Prolink PH-300

 plugins/77-mm-simtech-port-types.rules | 7 +++++++
 1 file changed, 7 insertions(+)

commit 52bd7646e8d5ce12e1d77cb831c6bd87f1897dff
Author: Nathan Williams <njw@chromium.org>
Date:   Wed May 18 20:37:49 2011 -0400

    gsm: correctly set registration status when disabling

    Chromium:
    Change-Id: I0629706985f273832ac3662acb260388d0e6ed83

 src/mm-generic-gsm.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

commit 97ea7dca8a319f287ed355d43f33581f69827ccc
Author: Nathan Williams <njw@chromium.org>
Date:   Thu May 12 15:23:33 2011 -0400

    samsung: split initialization sequence to ensure echo is off

    Split the Samsung initialization sequence from "ATZ E0 V1" to "ATZ"
    and "ATE0 V1" - the modem is allowed to ignore the rest of the line
    after Z, so echoing was not being turned off, leading to getting
    "AT+CIMI\n\n" as part of the IMSI when it is retrieved at startup.

    Chromium:
    Change-Id: Icfd767174e779e472f8cde419acb163128e4715d

 plugins/mm-modem-samsung-gsm.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

commit e28946841d150d3a7c58b24281bfdfe396d72fd8
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu May 19 10:44:03 2011 -0500

    ussd: formatting and spacing cleanups

 src/mm-generic-gsm.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

commit 7c70ad55bb08b1d30c3600cf3075040bab09f4d1
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 18 21:59:42 2011 -0500

    api: proposed new interface for MM 0.6 and later

    Main changes are cleaning up the API and allowing for multi-mode
    devices that support two or more of CDMA/EVDO, GSM/UMTS, and LTE
    at the same time.  This provides a starting discussion point for
    the new MM 0.6 API.

 new/mm-mobile-error.xml                            | 318 +++++++++++
 new/mm-modem-connect-error.xml                     |  30 +
 new/mm-modem-error.xml                             |  36 ++
 new/mm-serial-error.xml                            |  24 +
 new/org.freedesktop.DBus.Properties.xml            |  45 ++
 ...g.freedesktop.ModemManager1.Modem.3gpp.Ussd.xml |  84 +++
 new/org.freedesktop.ModemManager1.Modem.3gpp.xml   | 140 +++++
 new/org.freedesktop.ModemManager1.Modem.Bearer.xml | 137 +++++
 new/org.freedesktop.ModemManager1.Modem.Cdma.xml   | 184 +++++++
 ...rg.freedesktop.ModemManager1.Modem.Contacts.xml | 139 +++++
 ...rg.freedesktop.ModemManager1.Modem.Location.xml | 253 +++++++++
 new/org.freedesktop.ModemManager1.Modem.Simple.xml | 116 ++++
 new/org.freedesktop.ModemManager1.Modem.xml        | 601
 +++++++++++++++++++++
 new/org.freedesktop.ModemManager1.Sim.xml          | 113 ++++
 new/org.freedesktop.ModemManager1.xml              |  51 ++
 15 files changed, 2271 insertions(+)

commit b3f0ca92335736e6ea66b8a9e4773e3837c20de8
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon May 16 18:44:11 2011 -0500

    qcdm: add some more CDMA band classes

 libqcdm/src/commands.c    | 14 ++++++++++++++
 libqcdm/src/commands.h    | 33 ++++++++++++++++++++-------------
 libqcdm/src/dm-commands.h | 33 ++++++++++++++++++++-------------
 3 files changed, 54 insertions(+), 26 deletions(-)

commit fa15c50b297f98fb18ece73f80409f3c7adb6948
Author: Nathan Williams <njw@google.com>
Date:   Wed May 11 21:44:16 2011 -0500

    sms: suppress duplicate SMS received notifications

    If the modem sends the same notification on more than one port,
    make sure we don't send a signal out to clients more than once.

 src/mm-generic-gsm.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit d73673c265f1b920f743c3e1c1f3facd1a6b17f4
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue May 10 11:50:40 2011 +0200

    build: add include dir to .gitignore

 .gitignore | 1 +
 1 file changed, 1 insertion(+)

commit 673005e6021d6960dcb338ea83d2a21aa8080117
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon May 9 18:21:46 2011 +0200

    manager: avoid assertion warning when enumerating devices

 src/mm-manager.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 1bc70be993a0f38bf8e4e7f6041927ad76316122
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon May 9 11:05:28 2011 -0500

    gsm: whitespace fixes

 src/mm-generic-gsm.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 00e00bf9e7ffd4b76adc3e30a6796e94da3ec1c9
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 4 15:11:37 2011 -0500

    longcheer: ensure the plugin on handles devices it's supposed to

    Other devices from the same vendor (x220) need to be handled by
    the x22x plugin, so Longcheer can't just rely on the vendor ID
    match to know whether it should handle the modem.

 plugins/mm-plugin-longcheer.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 1f86a85c1cf4d73571dd65f7029d503e0cce3315
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 4 11:33:36 2011 -0500

    build: bump version to 0.5.999 for 0.6 development

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 868129e37cd78a05e1ed00f742ebf7ab8200afe5
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 4 11:20:31 2011 -0500

    build: build docs during distcheck and fix up udev rules install base

 Makefile.am | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 82cee08875363ed58e6dc010dc4b190d063d7035
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon May 2 18:34:37 2011 -0500

    samsung: lock plugin to Y3300 to exclude other Samsung USB modems

    Like the SGH-Z810/SCH-U209 which are a different chipset, don't
    have pseudo-ethernet ports, and just wouldn't work with this
    plugin.

 plugins/mm-plugin-samsung.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 863dbca63132b820fca6c48a9c212f852752ee16
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 28 12:54:17 2011 +0200

    wavecom: enable usage of MM_MODEM_GSM_BAND_ANY in SetBand()

 plugins/mm-modem-wavecom-gsm.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit fc1f35baf68742d187661d9d93deb17b5a1768ba
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 28 12:49:32 2011 +0200

    samsung: allow getting more than one band

 plugins/mm-modem-samsung-gsm.c | 49
 +++++++++++++++++++++---------------------
 1 file changed, 24 insertions(+), 25 deletions(-)

commit bb827c3ef7a57caa295eed92438e713f6f841dae
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 28 12:46:24 2011 +0200

    samsung: allow setting a single band only

 plugins/mm-modem-samsung-gsm.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit db7c11768a968913c783c05c27e06bcf249502c0
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 28 12:38:03 2011 +0200

    utils: new utils_check_for_single_value() method

    It was being used in several places with different static
    implementations

 src/mm-generic-gsm.c       | 24 +++---------------------
 src/mm-modem-gsm-network.c | 21 ++-------------------
 src/mm-utils.c             | 17 +++++++++++++++++
 src/mm-utils.h             |  2 ++
 4 files changed, 24 insertions(+), 40 deletions(-)

commit a0c902bdb5f03fc4d4b58ffbfb8bb36c06bfa55f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 28 12:36:25 2011 +0200

    huawei: enable getting and setting more than one band

 plugins/mm-modem-huawei-gsm.c | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

commit 466b6edbf72e95bdc5b563ab2ea90df79f3796ea
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 28 12:35:28 2011 +0200

    gsm: allow setting more than one band

 .../org.freedesktop.ModemManager.Modem.Gsm.Network.xml       | 12
 ++++++------
 src/mm-modem-gsm-network.c                                   |
 10 ----------
 2 files changed, 6 insertions(+), 16 deletions(-)

commit 573dcd51c0dace9389f879a3cdd0230ec728dcb6
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 28 11:56:59 2011 +0200

    introspection: add missing UMTS 2600 band reference

 introspection/org.freedesktop.ModemManager.Modem.Gsm.xml | 3 +++
 1 file changed, 3 insertions(+)

commit 0cce1f4e4c108429aadc9db35236abd07aea55d2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Apr 28 11:49:32 2011 +0200

    build: remove unneeded message in configure build report

    Location API is always built

 configure.ac | 2 --
 1 file changed, 2 deletions(-)

commit 83bbd0eb1159558bcd35d131c68c2559a9479daf
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 27 14:54:41 2011 -0500

    build: only require gettext if enabling polkit

 configure.ac | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit c96db0c91b8c86f1c60e463f1ae133bef5cc2103
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 27 14:47:00 2011 -0500

    Revert "build: don't require intltool unless --with-polkit=yes"

    This reverts commit 0299cf51c4cf587f79771fe219c6154bf0d0139e.

 autogen.sh   | 14 ++------------
 configure.ac | 11 +++++++----
 2 files changed, 9 insertions(+), 16 deletions(-)

commit 383bf8c9a3409fda655b18ba6ada503367b5d332
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 27 14:46:52 2011 -0500

    Revert "build: po shouldn't be built unless --with-polkit=yes"

    This reverts commit ba17060219f34b5bb8dbb965be9a5f224955777a.

 Makefile.am | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit ba17060219f34b5bb8dbb965be9a5f224955777a
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 27 13:25:10 2011 -0500

    build: po shouldn't be built unless --with-polkit=yes

    Since translations are only used with polkit.

 Makefile.am | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 0299cf51c4cf587f79771fe219c6154bf0d0139e
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 27 13:00:51 2011 -0500

    build: don't require intltool unless --with-polkit=yes

 autogen.sh   | 14 ++++++++++++--
 configure.ac | 11 ++++-------
 2 files changed, 16 insertions(+), 9 deletions(-)

commit dc89c0a42d826fc3302b3d790d5161945ff7078f
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 27 10:50:32 2011 -0500

    huawei: rework probing and detection

    Long ago there were problems where certain Huawei devices would
    stop responding on various ports, and sometimes would crash
    randomly.  The theory at the time was that touching the secondary
    ports made the device angry, thus the plugin simply opened the
    ports and listened for unsolicited messages.  But if the device
    didn't send any during that 7 second period, MM would not detect
    and secondary ports at all.  Plus, it was always a hack.

    Instead, the new theory is that the device crashes if unsolicited
    messages are enabled (^CURC=1), the secondary port gets touched,
    *and* then closed and left for a while.  Fix that by turning
    unsolicited messages off at probe time, on when the device is
    enabled, and off again when the device is disabled like happens
    for other modems.  Thus when MM first detects the modem, it turns
    off unsolicited messages and the serial buffer on the secondary
    port doesn't fill up and crash the modem.

    Second, this allows us to simplify the probing logic quite a bit
    so that we can probe all ports we find, but we still wait to probe
    the first port so we can turn off unsolicited messages and get
    hints about what port is the secondary.

 plugins/mm-modem-huawei-gsm.c |  67 ++++++++++++
 plugins/mm-plugin-huawei.c    | 230
 +++++++++++++++++-------------------------
 2 files changed, 158 insertions(+), 139 deletions(-)

commit 1cf7a4da4495fdd1d237b04bc35732a93f42fdf1
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Apr 26 23:44:56 2011 -0500

    plugins: allow multiple custom init commands in sequence

    Huawei will need this.

 plugins/mm-plugin-zte.c |  2 +-
 src/mm-plugin-base.c    | 71
 +++++++++++++++++++++++++++++++++----------------
 src/mm-plugin-base.h    |  2 +-
 3 files changed, 50 insertions(+), 25 deletions(-)

commit 0befde3ce9bec9167a331e921da1f3e3dddda5af
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Apr 26 19:41:30 2011 -0500

    plugins: simplify custom init commands

    Instead of having two places that custom init stuff got processed
    (a hook in the MMPluginBase class itself and a callback too) just
    use a callback, and simplify it somewhat so that the plugin tracks
    how many tries it cares about and what to do based on the response
    or error.

 plugins/mm-plugin-zte.c | 22 +++++++++++++++-
 src/mm-plugin-base.c    | 70
 ++++++++++++++++++++++---------------------------
 src/mm-plugin-base.h    | 28 +++++++++++++++-----
 3 files changed, 73 insertions(+), 47 deletions(-)

commit 0b757465ffe6108066d32312ab4e895c372c8f72
Author: Marius B. Kotsbak <marius@kotsbak.com>
Date:   Mon Apr 18 10:21:02 2011 +0200

    mbm: add MBM device IDs for Lenovo F5521gw module

 plugins/77-mm-ericsson-mbm.rules | 1 +
 1 file changed, 1 insertion(+)

commit 2a5cf2978b60cbcb98a79cb5b7c2da8159a27f2f
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Apr 19 11:07:46 2011 -0500

    zte: only dispose Icera data once

 plugins/mm-modem-zte.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

commit 76bdc658d31c8c64dd74a120ec68d8126dd273cf
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 18 22:48:05 2011 -0500

    samsung: use common Icera code

    Port the differences over to the common Icera code (there were only
    two) and remove the duplicate code from  the Samsung plugin.  The
    Icera NWSTATE regex had to be adjusted to capture "-1" in the first
    element which wasn't handled before but which I've seen on the
    Samsung Y3300 before the card has registered.

 plugins/mm-modem-icera.c       |   8 +-
 plugins/mm-modem-samsung-gsm.c | 633
 ++++-------------------------------------
 2 files changed, 67 insertions(+), 574 deletions(-)

commit 8333fb657ab6e30e51aec8f4449dc4c505fea6f4
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 18 22:08:19 2011 -0500

    icera: fix abuse of GInterface

    The GInterface structure for MMModemIcera isn't instance data, thus we
    shouldn't be storing an instance pointer in it.  Instead, make
    implemtors
    store the intstance data in their private structure, and have them
    implement an accessor for the Icera-private data.  This makes everone
    (especially GObject) happy.  It's a bit of additional indirection, but
    we still get to use the MM_MODEM_ICERA_GET_PRIVATE() and we still
    get to cast the passed-in GInterface MMModemIcera into the various
    GSM MMModem subclasses, which is all we ever wanted anyway.

 plugins/mm-modem-icera.c | 44
 ++++++++++++++++++++++++--------------------
 plugins/mm-modem-icera.h |  8 ++++++--
 plugins/mm-modem-zte.c   | 35 +++++++++++++++++++++++++----------
 3 files changed, 55 insertions(+), 32 deletions(-)

commit 74b1503c602e1268b5199ef36c9611d7cb08adc1
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 18 17:39:59 2011 -0500

    core: tear down all pending work when closing a port

    Make sure all pending work, if any, is torn down when closing
    the port, since it's closed, and is likely going to get unreffed
    soon and we don't want anything running after the port is dead.

 src/mm-serial-port.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

commit fca4d3aa37e9a22921d1b7cfb93325bf6cc91f4e
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 18 17:38:39 2011 -0500

    gsm: return success if unlocked but doesn't allow subsequent CPIN
    commands

    If the modem for some reason returns ERROR for a +CPIN when it's
    unlocked, and subsequent PIN post-unlock pin checks return READY,
    just treat the modem as unlocked don't return the +CPIN error.

 src/mm-generic-gsm.c | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

commit 5dadfa4c214be79e704eb61c135893f93a705d3a
Merge: 487972c1a 765da63ad
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Apr 14 14:20:43 2011 -0500

    Merge remote-tracking branch 'lanedo/plugin-wavecom'

commit 487972c1ac40b057c35dac51958f04c13f6137d8
Author: Nathan Williams <njw@chromium.org>
Date:   Thu Apr 14 14:07:31 2011 -0500

    gsm: implement basic SMS reception and PDU parsing

 .../org.freedesktop.ModemManager.Modem.Gsm.SMS.xml |   1 +
 src/mm-charsets.c                                  |   6 +-
 src/mm-charsets.h                                  |   2 +-
 src/mm-generic-gsm.c                               | 487
 +++++++++++++++++++++
 src/mm-modem-gsm-sms.c                             | 150 ++++++-
 src/mm-modem-gsm-sms.h                             |  47 ++
 src/mm-serial-parsers.c                            |  19 +
 7 files changed, 703 insertions(+), 9 deletions(-)

commit 48c7dac00902ceab300bfaff82731bb2dadd77cc
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Apr 12 16:32:11 2011 +0200

    serial: ensure response array is empty before setting cached reply

 src/mm-serial-port.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit d05c87e4c80f1a56a613241d14de4faeb0a8304a
Author: Nathan Williams <njw@chromium.org>
Date:   Thu Apr 14 13:30:15 2011 -0500

    charset: change GSM unpack to take number of characters rather
    than octets

    Change interface to take the number of GSM characters
    rather than the number of octets, so that it is possible to
    distinguish the 7-character and 8-character cases.

 src/mm-charsets.c         |  5 ++---
 src/mm-charsets.h         |  2 +-
 src/tests/test-charsets.c | 11 +++++------
 3 files changed, 8 insertions(+), 10 deletions(-)

commit 0a06dd324dbcb255d28795eb78901fca21cc52c0
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Apr 14 13:26:16 2011 -0500

    serial: ensure spew control can be changed after port is created

    Since we don't allow properties to be passed into the serial port
    create routines we don't want a construct-only property here.

 src/mm-serial-port.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1c3101fbaf74cbb9d8d0eb52ad6f84dc01544cf0
Author: Nathan Williams <njw@google.com>
Date:   Thu Apr 14 13:22:54 2011 -0500

    serial: allow spew control to be turned off

    It's only used during probing where some port types (Sierra CnS
    and some Icera devices) may send streams of data that we can't
    understand until we close the port.  It interferes with some SMS
    operations, so turn it off for ports opened after probing.

 src/mm-plugin-base.c |  1 +
 src/mm-serial-port.c | 18 +++++++++++++++++-
 src/mm-serial-port.h | 13 +++++++------
 3 files changed, 25 insertions(+), 7 deletions(-)

commit 765da63ad2ddb47d90ad8ffa5b2d0569301b2ba3
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 6 19:41:19 2011 +0200

    wavecom: set and get bands

    Use AT+WMBS for devices in 2G mode, and AT+WUBS for devices in
    3G mode.

 plugins/mm-modem-wavecom-gsm.c | 339
 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 334 insertions(+), 5 deletions(-)

commit ade8c17f6a37d83cfa7cee5c1a6a370522a936ca
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 6 19:40:53 2011 +0200

    gsm: handle UMTS 2600 internal band

 src/mm-modem-gsm.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit d1453b0e199588db20f8fef92922bdccfed46c66
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 6 13:36:10 2011 +0200

    wavecom: ensure full functionality status

    Check the current functionality status with AT+CFUN? and make sure
    its '1',
    otherwise, RF may be switched off.

 plugins/mm-modem-wavecom-gsm.c | 54
 +++++++++++++++++++++++++++++++++---------
 1 file changed, 43 insertions(+), 11 deletions(-)

commit e93f01f2017ad7e05c90d6ae18eaab49bbc17e7e
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 6 11:31:40 2011 +0200

    wavecom: set and get allowed mode

    For 3G devices in Class A, AT+WWSM can be used to get or set the
    allowed mode:
     *   +WWSM: 0    (2G only)
     *   +WWSM: 1    (3G only)
     *   +WWSM: 2,0  (Any)
     *   +WWSM: 2,1  (2G preferred)
     *   +WWSM: 2,2  (3G preferred)

    For 2G devices, there is no such command, so we will default to Any
    and allow
    2G-only and 2G-preferred setups.

 plugins/mm-modem-wavecom-gsm.c | 224
 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 224 insertions(+)

commit c7119f0341670cc258292b5d39a9082485018fbf
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 6 11:21:45 2011 +0200

    wavecom: ensure the modem uses the highest possible mobile class

    These modems can be configured to use different mobile classes. For
    each kind of
    modem, the best mobile class is the highest one in the following
    order:
     - Class A  (3G only mode)
     - Class B  (PS or CS, GPRS/EDGE or GSM)
     - Class CG (PS only, GPRS/EDGE)
     - Class CC (CS only, GSM)

 plugins/mm-modem-wavecom-gsm.c | 273
 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 273 insertions(+)

commit acf65de3b844cd13c2128275daca67ac630146bb
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Apr 4 13:09:14 2011 +0200

    wavecom: query network technology capabilities

 plugins/mm-modem-wavecom-gsm.c | 75
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

commit 23649549bb5a6f4848656bd1ea3423401f771383
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 31 10:45:09 2011 +0200

    wavecom: enable RTS/CTS flow control instead of XOFF/XON

 plugins/mm-modem-wavecom-gsm.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 1fb0b9d79b9fd2d2004653a316b2bbbcc0efcc1f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 31 09:23:29 2011 +0200

    wavecom: disable default power up command

 plugins/mm-modem-wavecom-gsm.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

commit 262edb96d50138a724173840fc63ca93ede322c2
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 30 18:52:23 2011 +0200

    wavecom: handle READY without OK in CPIN? reply

 plugins/mm-modem-wavecom-gsm.c | 51
 +++++++++++++++++++++++++++++++++++++-----
 src/mm-serial-parsers.c        |  3 ++-
 2 files changed, 48 insertions(+), 6 deletions(-)

commit f91ee7af7d6a38eda226afb429b26ffe1408e08f
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 30 17:22:53 2011 +0200

    wavecom: add initial dummy plugin

 plugins/Makefile.am            |  21 +++++-
 plugins/mm-modem-wavecom-gsm.c |  74 +++++++++++++++++++
 plugins/mm-modem-wavecom-gsm.h |  44 +++++++++++
 plugins/mm-plugin-wavecom.c    | 162
 +++++++++++++++++++++++++++++++++++++++++
 plugins/mm-plugin-wavecom.h    |  47 ++++++++++++
 5 files changed, 347 insertions(+), 1 deletion(-)

commit f4a26ec2b6053c44f34f1ac5ee2a8645c4622cb7
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 8 16:20:43 2011 -0500

    hso: use zero send_delay since Option firmware is generally excellent

 plugins/mm-modem-hso.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ed5aefb3cb1d7db3a0b19678d4568d813719eb01
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 8 16:19:36 2011 -0500

    serial: allow plugins to specify probe-time send_delay

    Let modems we know don't suck use a zero send-delay at probe time,
    which greatly reduces time required to probe AT-compatible ports.

 plugins/mm-plugin-anydata.c   | 2 +-
 plugins/mm-plugin-generic.c   | 2 +-
 plugins/mm-plugin-gobi.c      | 2 +-
 plugins/mm-plugin-hso.c       | 2 +-
 plugins/mm-plugin-huawei.c    | 2 +-
 plugins/mm-plugin-linktop.c   | 2 +-
 plugins/mm-plugin-longcheer.c | 2 +-
 plugins/mm-plugin-mbm.c       | 2 +-
 plugins/mm-plugin-moto-c.c    | 2 +-
 plugins/mm-plugin-nokia.c     | 2 +-
 plugins/mm-plugin-novatel.c   | 2 +-
 plugins/mm-plugin-option.c    | 2 +-
 plugins/mm-plugin-samsung.c   | 2 +-
 plugins/mm-plugin-sierra.c    | 2 +-
 plugins/mm-plugin-simtech.c   | 2 +-
 plugins/mm-plugin-x22x.c      | 2 +-
 plugins/mm-plugin-zte.c       | 2 +-
 src/mm-plugin-base.c          | 3 ++-
 src/mm-plugin-base.h          | 1 +
 19 files changed, 20 insertions(+), 18 deletions(-)

commit 7d20acc5669ce9ecc0358d429c46f5928df95542
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 8 16:00:36 2011 -0500

    gsm: make sure verbose error reporting is enabled before checking PIN

    Otherwise we don't get the expected "Incorrect password" error if the
    PIN is wrong, just a generic error.

 src/mm-generic-gsm.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 273f4203d4eeda3614d76bcdbda537ed76feef35
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 8 15:42:28 2011 -0500

    serial: send entire command in one write if send_delay is 0
    (chromium:13506)

    Avoids additional USB latency and groups the whole command into one
    USB packet.

    BUG=chromium-os:13506

 plugins/mm-modem-samsung-gsm.c |  5 ++++-
 src/mm-serial-port.c           | 24 +++++++++++++++++-------
 2 files changed, 21 insertions(+), 8 deletions(-)

commit 2640baefa417612cd26fe3c826634c91d50e0917
Author: Elly Jones <ellyjones@google.com>
Date:   Thu Apr 7 12:54:02 2011 -0400

    samsung: add Reset and UnlockRetries.

    BUG=chromeos-partner:2999, chromeos-partner:3215
    TEST=network_LockedSIM

    Change-Id: I17c25c52fa5cf4cffa94e73bd827eaae9e687df0
    Signed-off-by: Elly Jones <ellyjones@chromium.org>
    Signed-off-by: Jason Glasgow <jglasgow@chromium.org>
    Signed-off-by: Jun Woo Lee <jw86.lee@samsung.com>

 plugins/mm-modem-samsung-gsm.c | 154
 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 153 insertions(+), 1 deletion(-)

commit dbf9e085d45c5135691a487cd947b9bd79195d86
Author: Nathan Williams <njw@chromium.org>
Date:   Thu Apr 7 17:48:03 2011 -0500

    sms: don't try to destroy NULL hash tables

 src/mm-modem-gsm-sms.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 9435a937ced680fd2aaf3f19bfc8e7daaf579633
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Mar 30 18:29:15 2011 +0200

    serial: allow user to provide custom regex for successful and
    error replies

    New mm_serial_parser_v1_set_custom_regex() method.

 src/mm-serial-parsers.c | 67
 +++++++++++++++++++++++++++++++++++++++++++++----
 src/mm-serial-parsers.h | 16 ++++++------
 2 files changed, 70 insertions(+), 13 deletions(-)

commit cc5fcd195a26b0b09be8e47d95e54a92f78c8806
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Wed Apr 6 17:08:06 2011 +0200

    modem-base: allow NULL ports in get_card_info() if port_error given

    So that cached values can be returned if querying while the port
    is connected.

 src/mm-modem-base.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 49150ca3a69d8a65c63fc691ffcaabd15f49818d
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 6 13:00:55 2011 -0500

    serial: don't let EAGAIN block sending commands until completion

    If a port returns EAGAIN on write attempts, previously the code would
    spin and attempt to resend the failed byte after send_delay
    microseconds.  This resulted in up to 3 second hard blocks in
    the serial code when sending to ports that don't respond.  While
    in this blocking loop no other events or dbus commands could be
    processed.

    Instead, send each byte and reschedule sending the next byte in
    send_delay microseconds, so that we can process other events in
    between
    attempts to write to stupid ports.

    This doesn't hugely decrease the amount of time that probing
    requires, since we still need to probe all ports of the device
    before exporting the modem to D-Bus, but it does let MM find
    responsive ports much more quickly, and ensures that MM doesn't
    block any D-Bus requests.

 src/mm-serial-port.c | 153
 +++++++++++++++++++++++++++++----------------------
 1 file changed, 88 insertions(+), 65 deletions(-)

commit e520c2d448eb44464e0c932ac71a4895f7c8ea32
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Thu Mar 31 10:39:43 2011 +0200

    generic-gsm: make flow control setup command a property

 src/mm-generic-gsm.c | 21 +++++++++++++++++++--
 src/mm-generic-gsm.h |  2 ++
 2 files changed, 21 insertions(+), 2 deletions(-)

commit 95b0863f8751fe4fc80782f8232bce7ef5d1ca0c
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 28 18:14:06 2011 +0200

    build: use brackets in autoconf initialization macros

 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 641ec51c8bef4d3a44a327b2ea95e9c99e3f7655
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 28 18:09:48 2011 +0200

    build: use LT_INIT to initialize libtool, and require at least 2.2

 configure.ac | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit e68bf52bc36be361d54ec72cfa9b841b86ae8cb9
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Mar 28 11:30:10 2011 +0200

    build: require autoconf 2.60 and fix warnings

    AC_GNU_SOURCE is deprecated, AC_USE_SYSTEM_EXTENSIONS (introduced in
    autoconf 2.60) should be used instead.

 configure.ac | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 10c981213c152e3c6f049bb9305d21ca09262bc1
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Mon Apr 4 21:36:34 2011 -0500

    build: fix automake portability warnings

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2dbca0baf853bea1df0723d3c8fb2f94dadf3eb3
Author: Jason Glasgow <jglasgow@google.com>
Date:   Thu Mar 31 15:29:12 2011 -0500

    core: make modem StateChanged signal consistent with API documentation

    The new and old state arguments were flipped.

 src/mm-modem.c | 2 +-
 src/mm-modem.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 68038cb92627f6ea012ffca6f11ce9279432af07
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 27 16:03:22 2011 -0500

    samsung: fix style of samsung_call_control() name

 plugins/mm-modem-samsung-gsm.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 29b7ac3ddb17619a101d8bdb989286e786c3b475
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 27 16:01:10 2011 -0500

    samsung: fix up disconnect

    Two issues here, first we dont' need to chain up to the parent
    because it's not doing anything we need (it's mainly for PPP-based
    devices) and second we need to wait a bit for the disconnect command
    to complete by specifying a callback, otherwise the command may get
    discarded when the port is shut down afterward.

 plugins/mm-modem-samsung-gsm.c | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

commit 4b15737f8d3e5f96bc6c59f3735754800bd8b246
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 27 15:59:27 2011 -0500

    samsung: streamline enable/init process

    Don't need init retries since the modem seems pretty sane, and we
    also don't need to call AT+CFUN=1 twice.  Just once should be
    fine.  We also don't need any "flashing" since the modem doesn't
    really do PPP and thus shouldn't need any of the serial port
    carrier stuff to get its attention, since we'll never be using
    PPP on any of its ports.

 plugins/mm-modem-samsung-gsm.c | 73
 ++++++++++++++++++------------------------
 1 file changed, 31 insertions(+), 42 deletions(-)

commit 3593094eb7cf84368abb30d72ab646e3b9018fd7
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 27 15:47:08 2011 -0500

    samsung: remove debug code

 plugins/mm-modem-samsung-gsm.c | 2 --
 1 file changed, 2 deletions(-)

commit 7daad80242ebd67667c13d7175aedc0bd65fd334
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 27 15:45:29 2011 -0500

    samsung: fix access technology detection

    Need to send the MM allowed mode back to the caller, not the
    Icera mode.  Simple typo in original plugin patch I think.

 plugins/mm-modem-samsung-gsm.c | 27 +++++++++++++--------------
 1 file changed, 13 insertions(+), 14 deletions(-)

commit 791677ca400bda6a5e76744ff2c05ebddf4d1641
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 27 15:41:47 2011 -0500

    samsung: make a few local functions private

    No need for them to be public as they aren't used anywhere else.

 plugins/mm-modem-samsung-gsm.c | 76
 +++++++++++++++++-------------------------
 plugins/mm-modem-samsung-gsm.h | 18 +++-------
 2 files changed, 35 insertions(+), 59 deletions(-)

commit 9d1c02f55399d2959e25b5f56d60f52a0d8c9545
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 27 15:26:55 2011 -0500

    samsung: clean up modem detection

    Use standard vendor/device id detection mechanisms and handle the
    net port like other net ports are handled, by just claiming it.  Also
    reject CDMA modems for now.

 plugins/mm-plugin-samsung.c | 77
 ++++++++++++++++++++-------------------------
 1 file changed, 34 insertions(+), 43 deletions(-)

commit 35b3e348e66842f02e065b0ccb9c8ef1fd1abb99
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 27 15:23:44 2011 -0500

    samsung: drop PORT_TYPE_ECM

    Isn't really needed since it's just the same as any other net
    device port type.

 plugins/mm-modem-samsung-gsm.c | 8 ++++----
 src/mm-port.c                  | 2 --
 src/mm-port.h                  | 1 -
 3 files changed, 4 insertions(+), 7 deletions(-)

commit b76889c3585f43868e6de6f71bf6761543105a3f
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 27 15:18:09 2011 -0500

    samsung: spacing, style, and build fixes

    Clean up the spacing and use more consistent styling.

 plugins/mm-modem-samsung-gsm.c | 68
 +++++++++++++-----------------------------
 1 file changed, 21 insertions(+), 47 deletions(-)

commit d66bfc7b112e17aa4181f5c7471744c49103212b
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Sun Mar 27 15:15:58 2011 -0500

    samsung: fix compilation

 plugins/mm-plugin-samsung.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c38da2d2c1019b7130e50a5539a68df8a3e797f0
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 26 12:28:29 2011 -0500

    test: add test program to send SIM PIN

 test/Makefile.am |  3 ++-
 test/send-pin.py | 65
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+), 1 deletion(-)

commit 3568f534c8eb811d58728a6bbebf5644a0802ad5
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 26 12:20:46 2011 -0500

    api: clarify SendPin documentation

 introspection/org.freedesktop.ModemManager.Modem.Gsm.Card.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 895aa99e6d34e5218281615726d0ef30f95b4d67
Author: Elly Jones <ellyjones@chromium.org>
Date:   Thu Mar 24 12:22:51 2011 -0500

    zte: fix build dependency race with Icera utils bits
    (chromium-os:13398)

 plugins/Makefile.am | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit d639155161549662ecd096513784f9b8d80bf7c4
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 24 11:00:22 2011 -0500

    qcdm: add standalone autogen and configure

    For building libqcdm separately from ModemManager.

 libqcdm/autogen.sh   | 22 ++++++++++++++++++++++
 libqcdm/configure.ac | 48
 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+)

commit 4ad0c01be02029d8caf62e099ca34cb02e43b83e
Author: Jun Woo Lee <jw86.lee@samsung.com>
Date:   Thu Mar 3 17:10:23 2011 -0500

    modemmanager: Add support for Samsung Y3300 modem

    BUG=chrome-os-partner:2394
    TEST=gmerge modemmanager, watch logs, see detected as Samsung modem,
    connect to AT&T network

    Review URL: http://codereview.chromium.org/6614026
    Patch from Jun Woo Lee <jw86.lee@samsung.com>.

    Change-Id: I913628ff4a1cd16c8180e3c808644b0134e69e31

 plugins/Makefile.am            |   21 +-
 plugins/mm-modem-samsung-gsm.c | 1076
 ++++++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-samsung-gsm.h |   57 +++
 plugins/mm-plugin-samsung.c    |  166 +++++++
 plugins/mm-plugin-samsung.h    |   45 ++
 src/mm-port.c                  |    2 +
 src/mm-port.h                  |    1 +
 7 files changed, 1367 insertions(+), 1 deletion(-)

commit 0c4b94458ac0a71d278ce1b711a022fdf96b3abf
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 11 21:36:55 2011 -0600

    gsm: fix for parsing malformed Gobi CREG response

    From an HP un2400;

    GMR: D1020-SUUAASFA-4352  1  [Apr 14 2008 18:00:00]
    GMM: 88

 src/mm-modem-helpers.c         |  2 +-
 src/tests/test-modem-helpers.c | 11 +++++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

commit b3b1d5309a4ead90e9a503586b9224d345680d7f
Author: Thomas Bechtold <thomasbechtold@jpberlin.de>
Date:   Fri Mar 11 20:25:22 2011 -0600

    core: allow plugins to handle custom init responses

 plugins/mm-plugin-zte.c |  2 +-
 src/mm-plugin-base.c    | 28 +++++++++++++++++++++++++++-
 src/mm-plugin-base.h    | 10 +++++++++-
 3 files changed, 37 insertions(+), 3 deletions(-)

commit 971600b9099e5d98c32b28cbb0a5305c48c76728
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 5 00:04:58 2011 -0600

    policy: loosen permissions somewhat for reading device info (kde
    #266807) (novell #674022)

 policy/org.freedesktop.modem-manager.policy.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 871097327b4b302ce623a32d286fb44716ee4aad
Author: Michael Biebl <biebl@debian.org>
Date:   Fri Feb 25 18:21:52 2011 -0600

    logging: use glong for secs and usecs

 src/mm-log.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit f340ce86cd92dd5a24fe3b91f6c135030899ee1b
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Feb 25 12:26:30 2011 -0600

    cdma: ensure the ActivationStateChanged signal exists

    It's part of the D-Bus API, so it needs to be implemented somewhere
    even if it's not used yet.

 marshallers/mm-marshal.list |  2 +-
 src/mm-modem-cdma.c         | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

commit 7707117862cefc95edaf9010bd2dc0f571825e96
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Feb 25 11:18:55 2011 -0600

    log: fix spacing so messages line up

 src/mm-log.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit b0b9ea95cfb582ca5297ec7371c3414c9ee0383d
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Feb 17 15:44:23 2011 -0600

    simtech: add port tags for SCT U300 (Element Mobile)

 plugins/77-mm-simtech-port-types.rules | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 92e4127c7dc3726e0bdb4beea64246bd7c420d9f
Author: Tom Bechtold <toabctl@googlemail.com>
Date:   Thu Feb 10 12:07:54 2011 -0600

    core: allow platform devices without a VID/PID

    Since platform devices don't usually have them.

 src/mm-plugin-base.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 8f223f45f9e0c81fc9267b830c7c05b9aa731f2a
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 1 22:52:34 2011 -0600

    zte: fix handling of Icera simple connect process

    Yay for GInterface.

 plugins/mm-modem-zte.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit d1f4b07e0effa7f203ea56bd8120839a9d39b992
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 1 22:48:55 2011 -0600

    icera: fix username and password ordering for authentication

 plugins/mm-modem-icera.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e208c5284672312c39adac70416b03b46a0b98ce
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 1 21:06:23 2011 -0600

    api: don't install all.xml

    It's not really part of the API.

 Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 00b6cce4df7d4acbf3e580a03c2f044e18589d2c
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 24 14:36:24 2011 -0600

    api: fix up StateChanged duplicate reason code

    And add new reason codes to the C headers.

 introspection/org.freedesktop.ModemManager.Modem.xml | 13 ++++---------
 src/mm-modem.h                                       |  4 +++-
 2 files changed, 7 insertions(+), 10 deletions(-)

commit 245b893e98d0d572f4285ee82cc8e2cb80eddad7
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 24 14:13:28 2011 -0600

    logging: make gcc 4.4.3 happy about ignored unused results

 src/mm-log.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

commit 98ec26283a7833affdb2c1ef84ec1697eff7610a
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 24 14:05:07 2011 -0600

    logging: shut up compiler warnings about unused result from write(2)

    We actually don't care about the result here.  But we do in other
    places, so we want to keep the warning in general.

 src/mm-log.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e3de8c4a1143815c021887cd825765d3fcbec4e5
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 24 13:57:22 2011 -0600

    api: fix up modem state changed reason enum description

 introspection/org.freedesktop.ModemManager.Modem.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 2b2ca316a1ef9c9b30e68b44446abfe76cb1bbce
Merge: 12f1b351e f047ca66a
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 24 13:56:40 2011 -0600

    Merge remote branch 'chromium/to-upstream'

commit 12f1b351e83730c7d5fa882f0fbbaf4b19816a00
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 24 12:39:13 2011 -0600

    rules: blacklist some unlikely USB serial dongles (rh #544121)

 src/77-mm-usb-device-blacklist.rules | 6 ++++++
 1 file changed, 6 insertions(+)

commit d909c4876bc6cdc2d783b9641ac30025f89a01b4
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 24 00:09:55 2011 -0600

    core: minor code cleanups

 src/mm-modem-base.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

commit 3ee40ddbce7b0d5f5308b67b2d09f7d02c0e54ca
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 24 00:05:20 2011 -0600

    core: add logging when ports get removed

 src/mm-manager.c    |  6 ++++--
 src/mm-modem-base.c | 26 +++++++++++++++++++++++++-
 2 files changed, 29 insertions(+), 3 deletions(-)

commit 44c11adadc8cb436c23eda67d2d2509550998487
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 24 00:05:08 2011 -0600

    core: add mm_port_subsys_to_name()

 src/mm-port.c | 14 ++++++++++++++
 src/mm-port.h |  2 ++
 2 files changed, 16 insertions(+)

commit 476cc44bc1c991b9ad940d1de9cb42baf93555ab
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jan 23 23:36:52 2011 -0600

    gsm: enable unsolicited codes on secondary ports too (bgo #637140)

    We want to enable unsolicited responses on secondary ports too,
    so that if the modem only sends unsolicited responses on the ports
    on which they were enabled, that we can get resposnes off the
    secondary port when the primary port is connected.  But we can't
    always trust devices to actually send them on the secondary port,
    so we enable the unsolicited responses on both the primary and
    secondary ports just in case.

 src/mm-generic-gsm.c | 106
 +++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 95 insertions(+), 11 deletions(-)

commit 6f08206ac88ccd760afff38f096b1f8a0d51270f
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jan 23 23:21:58 2011 -0600

    core: enable timestamps with legacy --debug option

 src/main.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 16039244bb08cb4f62754c710be2052eaef32549
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jan 23 20:51:48 2011 -0600

    core: rework logging

    Make it more flexible, add logging to a file, and absolute and
    relative timestamps.

 plugins/mm-modem-anydata-cdma.c    |   9 +-
 plugins/mm-modem-huawei-cdma.c     |   7 +-
 plugins/mm-modem-huawei-gsm.c      |  17 ++-
 plugins/mm-modem-icera.c           |   5 +-
 plugins/mm-modem-mbm.c             |  17 +--
 plugins/mm-plugin-generic.c        |   9 +-
 plugins/mm-plugin-huawei.c         |   9 +-
 plugins/mm-plugin-mbm.c            |   2 +-
 src/Makefile.am                    |   4 +-
 src/main.c                         | 118 ++++++++-----------
 src/mm-at-serial-port.c            |  10 +-
 src/mm-generic-cdma.c              |   7 +-
 src/mm-generic-gsm.c               |  86 +++++---------
 src/mm-log.c                       | 227
 +++++++++++++++++++++++++++++++++++++
 src/mm-log.h                       |  61 ++++++++++
 src/mm-manager.c                   |  82 +++++++-------
 src/mm-modem-base.c                |  35 +++---
 src/mm-modem-helpers.c             |  26 ++---
 src/mm-modem-helpers.h             |   3 +-
 src/mm-modem.c                     |  22 +---
 src/mm-options.c                   |  55 ---------
 src/mm-options.h                   |  23 ----
 src/mm-plugin-base.c               |   7 +-
 src/mm-port.c                      |  16 +--
 src/mm-properties-changed-signal.c |   9 +-
 src/mm-qcdm-serial-port.c          |  10 +-
 src/mm-serial-parsers.c            |   5 +-
 src/mm-serial-port.c               |  50 +++-----
 src/tests/test-modem-helpers.c     |  13 ++-
 src/tests/test-qcdm-serial-port.c  |  11 +-
 30 files changed, 539 insertions(+), 416 deletions(-)

commit f85b014d843ecb2259e9b2e21f44c24ff8ff5fdf
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jan 23 20:42:32 2011 -0600

    build: fix distcheck

 plugins/Makefile.am | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit ef8d2263018c7f4ec5ee26a1f8d690d89443c9a6
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jan 23 18:14:55 2011 -0600

    qcdm: add some missing system modes

 libqcdm/src/commands.h | 2 ++
 1 file changed, 2 insertions(+)

commit f69d888bae672d69b36f65d6c72397740dbd6ac8
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jan 21 00:28:17 2011 -0600

    qcdm: add call manager subsystem mode define for LTE

    Seen on the Pantech UML290 and another Qualcomm-based LTE device.

 libqcdm/src/commands.h        | 3 ++-
 libqcdm/tests/test-qcdm-com.c | 3 +++
 2 files changed, 5 insertions(+), 1 deletion(-)

commit 7613b46b5009b15efeeced5d0df043576beafbf8
Author: Guido Günther <agx@sigxcpu.org>
Date:   Fri Jan 14 12:56:24 2011 -0600

    test: handle cancel and distinguish between initiate and respond
    (bgo #638038)

 test/ussd.py | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

commit d44ae44558b9d1da289372e8593263c7d2b025c8
Author: Guido Günther <agx@sigxcpu.org>
Date:   Fri Jan 14 12:25:05 2011 -0600

    gsm: wire up USSD Respond function (bgo #638038)

 src/mm-generic-gsm.c    | 68 ++++++++++++++++++++++++++++++++++---------
 src/mm-modem-gsm-ussd.c | 77
 ++++++++++++++++++++++++++++++++++++++++++-------
 src/mm-modem-gsm-ussd.h | 10 +++++++
 3 files changed, 132 insertions(+), 23 deletions(-)

commit 807120996f2eb9e3ddcac5ba6f9826feac440175
Author: Guido Günther <agx@sigxcpu.org>
Date:   Fri Jan 14 12:22:57 2011 -0600

    api: add reply parameter to USSD Respond method (bgo #638038)

    The network will usually send back the new sub menu to pick from.

 introspection/org.freedesktop.ModemManager.Modem.Gsm.Ussd.xml | 6 ++++++
 1 file changed, 6 insertions(+)

commit d908389aff85a77757d3a86f0be6b47535991e3c
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jan 14 12:17:02 2011 -0600

    core: add modem reset/power-cycle command

    Based on a patch by Elly Jones from Google.

 .../org.freedesktop.ModemManager.Modem.xml         | 13 +++++-
 plugins/mm-modem-anydata-cdma.c                    | 19 ++++++++
 plugins/mm-modem-mbm.c                             | 19 ++++++++
 src/mm-modem.c                                     | 51
 ++++++++++++++++++++++
 src/mm-modem.h                                     |  8 ++++
 5 files changed, 109 insertions(+), 1 deletion(-)

commit 12b144e120b7a275f4b1ffe5a51fc772304f4fa1
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 12 15:30:23 2011 -0600

    zte: add more ZTE port tags (LW272, others)

 plugins/77-mm-zte-port-types.rules | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit f4d4569cdd4441ea210297cf1ed14b8e7e77fd34
Author: Michał Sroczyński <msroczyn@gmail.com>
Date:   Tue Jan 11 13:41:53 2011 -0600

    gsm: correctly parse Samsung S8500 Wave CREG response

    (testcases by dcbw)

 src/mm-modem-helpers.c         | 14 +++++++++++++-
 src/tests/test-modem-helpers.c | 11 +++++++++++
 2 files changed, 24 insertions(+), 1 deletion(-)

commit 7a2031613aa2405c9414ff1f3a4d3d18362d4a52
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 6 22:01:45 2011 -0600

    qcdm: add HDR revision preference

    Not sure if that's exactly what the NV item is, but the UML290 uses
    it for Rev0, RevA, and eHRPD preference.

 libqcdm/src/commands.c        | 101
 ++++++++++++++++++++++++++++++++++++++++++
 libqcdm/src/commands.h        |  28 ++++++++++++
 libqcdm/src/nv-items.h        |  20 +++++++--
 libqcdm/tests/test-qcdm-com.c |  56 +++++++++++++++++++++++
 libqcdm/tests/test-qcdm-com.h |   2 +
 libqcdm/tests/test-qcdm.c     |   1 +
 6 files changed, 205 insertions(+), 3 deletions(-)

commit d19e55bb8ff2b3eb2ff03f5a57b62ec32cbe53f7
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jan 6 00:48:54 2011 -0600

    qcdm: add NV mode pref values for 1X/HDR Only, LTE Only, and
    1X/HDR/LTE Only

    Based on responses from Pantech UML290.

 libqcdm/src/nv-items.h | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 794353ebccb04ec00d87820d68e2d25c04d45d3e
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 5 11:12:08 2011 -0600

    cdma: update reg state to HOME based on SPERI response

    If the SPERI response indicates the home network, then set
    CDMA registration to HOME if it was REGISTERED (which is
    less specific).

 src/mm-generic-cdma.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

commit 6c56db07fc3439f54ce6606e14be8963c62f12cc
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 4 17:21:41 2011 -0600

    cdma: fix segfault by handling MEID property

    Also, MEID->Meid to follow standard D-Bus property semantics.

 introspection/org.freedesktop.ModemManager.Modem.Cdma.xml | 2 +-
 src/mm-generic-cdma.c                                     | 9 +++++++++
 src/mm-modem-cdma.c                                       | 9 +++++++++
 src/mm-modem-cdma.h                                       | 8 ++++++++
 4 files changed, 27 insertions(+), 1 deletion(-)

commit b0cd9288c260a821003a6259c78397d3ab7846a1
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 4 14:06:03 2011 -0600

    cdma: fix CDMA registration state retrieval on single AT port devices

    If the device only has one AT port that's being used for data and
    thus we can't do more specific registration checking in MMGenericCdma
    using AT commands, but generic registration checking was successful,
    just use the less specific state.

    Previously, an error would be returned when no AT port was available
    even though less specific QCDM registration checking worked.  That
    was just stupid.

 src/mm-generic-cdma.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

commit 63cb7f29a97719acd0810b42b42e09dbab461284
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 3 14:42:44 2011 -0600

    huawei: quiet annoying log message

 plugins/mm-modem-huawei-gsm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 9733746dc10e1cf5d4929258aae6ab405b2f79cd
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 1 18:11:14 2011 -0600

    icera: add complete support for generic Icera devices

    Implement connect, disconnect, and IP4 config stuff.

    Also fix handling of Icera private data.  After creation we
    need to use MM_MODEM_ICERA_GET_INTERFACE(m)->priv to get the
    private data instead of just dereferencing the MMModemIcera,
    for reasons that I don't know.  If this isn't done, data
    gets silently corrupted because writes to the private data
    are going into a random location in the object.  This a
    side-effect of the slightly hack-ish way that MMModemIcera
    is a GInterface with private data.

 plugins/mm-modem-icera.c | 516
 +++++++++++++++++++++++++++++++++++++++++++----
 plugins/mm-modem-icera.h |  26 ++-
 plugins/mm-modem-zte.c   |  94 ++++++++-
 3 files changed, 595 insertions(+), 41 deletions(-)

commit ceb5cc29d6be2133c5e6ff428477e8da0422e8a2
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 1 17:47:40 2011 -0600

    core: signal property changes for IpMethod

    If the modem's IP Method changes after construction because the
    modem's full capabilities were only discovered after it was created,
    make sure the change notification gets emitted.

 src/mm-modem-base.c | 4 ++++
 1 file changed, 4 insertions(+)

commit af9adab9cd6a4f8455d5a32fd232ede011a94713
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 1 14:12:07 2011 -0600

    icera: convert to GInterface

    We'll need to store some private data later for authentication, and
    this makes it easier and clearer to access that private data.

 plugins/Makefile.am                            |   4 +-
 plugins/{mm-icera-utils.c => mm-modem-icera.c} | 119
 +++++++++++++++++--------
 plugins/{mm-icera-utils.h => mm-modem-icera.h} |  38 ++++++--
 plugins/mm-modem-zte.c                         |  29 ++++--
 4 files changed, 134 insertions(+), 56 deletions(-)

commit b8a74490b23ee51f17fc994b78650b4daea29ff7
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 1 13:41:22 2011 -0600

    zte: Icera devices use static IP configuration

 plugins/mm-modem-zte.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 9d777763a28dad942d56127a5431b6f61cd4955d
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 1 12:23:14 2011 -0600

    icera: consolidate Icera check code into utility lib

 plugins/mm-icera-utils.c | 33 +++++++++++++++++++++++++++++++++
 plugins/mm-icera-utils.h |  4 ++++
 plugins/mm-modem-zte.c   | 13 +++++++------
 3 files changed, 44 insertions(+), 6 deletions(-)

commit f84958933bb333394ff159778507cb53fb7f8c43
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 1 12:08:46 2011 -0600

    icera: move Icera utils into standalone utility library

 plugins/Makefile.am                                | 22 +++++++++++
 .../{mm-modem-icera-utils.c => mm-icera-utils.c}   | 43
 +++++++++++++--------
 plugins/mm-icera-utils.h                           | 45
 ++++++++++++++++++++++
 plugins/mm-modem-zte.c                             | 15 ++++----
 4 files changed, 100 insertions(+), 25 deletions(-)

commit a502fd2b19551ce2c1e3cd82bca01de27f123ca5
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 1 11:55:41 2011 -0600

    gsm: add access technology support for HSPA+

 .../org.freedesktop.ModemManager.Modem.Gsm.xml     |  3 +
 plugins/mm-modem-huawei-gsm.c                      | 68
 ++++++++++++----------
 src/mm-modem-gsm-network.c                         |  2 +
 src/mm-modem-gsm.h                                 |  3 +-
 src/mm-modem-helpers.c                             |  4 +-
 5 files changed, 46 insertions(+), 34 deletions(-)

commit 657e5ac7f6b84e0965f4a39c298daf3744368ee9
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Dec 31 00:30:47 2010 -0600

    zte: partially support Icera-based devices like T-Mobile Rocket 2

 plugins/Makefile.am            |   3 +-
 plugins/mm-modem-icera-utils.c | 256
 +++++++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-zte.c         |  89 ++++++++++++--
 3 files changed, 340 insertions(+), 8 deletions(-)

commit adcc29fa6b62a86eb8d595a2836c3ea833b86af9
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Dec 30 16:43:04 2010 -0600

    zte: really shut the device up

    The MF691 appears to ignore E0 on the same line as some other stuff,
    so really shut it up by sending E0 by itself.

 plugins/mm-modem-zte.c | 2 ++
 1 file changed, 2 insertions(+)

commit 05d4876b20a6fa03421c77de53b74d1b81e5ea5f
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Dec 30 16:36:47 2010 -0600

    zte: add support for pseudo-ethernet data ports

 plugins/mm-plugin-zte.c | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

commit 36c87991c38188eefc184ee4780cac3517502840
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 21 11:55:25 2010 -0600

    build: fix distcheck after introspection XML renames

 Makefile.am               |  1 +
 introspection/Makefile.am | 26 +++++++++++++-------------
 2 files changed, 14 insertions(+), 13 deletions(-)

commit 292c98029dd6107de2c5f592eac256c512764688
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 21 11:54:47 2010 -0600

    test: fix CIND test index checking

    CIND indexes returned from helper are 1-based, not 0-based, because
    that makes it easier to match against the modem's unsolicited CIND
    message.

 src/tests/test-modem-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f047ca66a4c58bdfa69ce70026fc840d58a80ebe
Author: Elly Jones <ellyjones@google.com>
Date:   Wed Sep 15 13:22:25 2010 -0400

    modemmanager: Add a reason to ConnectionStateChanged events.

    This can be used by a connection manager to decide to respond in a
    different way
    to certain kinds of disconnects (e.g. intentional versus unintentional
    versus
    suspension).

    TEST=None
    This change introduces no additional code, so testing it in isolation
    is not
    possible.

    BUG=chromium-os:6744

    Change-Id: Ie371e20ec7a003333eba013af3ad61c0e494a4ad
    Signed-Off-By: Elly Jones <ellyjones@chromium.org>

    Review URL: http://codereview.chromium.org/3413011
    (cherry picked from commit 29a9674b818fd64c19bad84f526f6fa68edec174)

 .../org.freedesktop.ModemManager.Modem.xml         | 24
 ++++++++++++++++++++++
 1 file changed, 24 insertions(+)

commit d4b2be5f6b1a2e4e203dc6038bf31e63e4d80670
Author: David Rochberg <rochberg@chromium.org>
Date:   Mon Oct 11 17:14:32 2010 -0400

    Replace ActivationCompleted with ActivationStateChanged, add CDMA
    error enums.

    BUG=6885
    TEST=mm-modem.h is correct, cromo compiles

    Change-Id: I2b6a49bda5a6ff7bf6e4aac2e99914bf3c33c732

    Review URL: http://codereview.chromium.org/3705001

    Review URL: http://codereview.chromium.org/3702006

 .../org.freedesktop.ModemManager.Modem.Cdma.xml    | 79
 +++++++++++++++++++++-
 1 file changed, 77 insertions(+), 2 deletions(-)

commit eb90498efdcf1cbb9a8ebab606b945263f25b6ce
Author: Elly Jones <ellyjones@google.com>
Date:   Mon Dec 20 14:51:39 2010 -0500

    Add CDMA Activate and ActivateManual methods.

    BUG=6885
    TEST=built modemmanager and cromo

    Change-Id: Ib73a093b13da05948a2f1da8f051fe7c55682584

    Review URL: http://codereview.chromium.org/3517013
    (cherry picked from commit f447c8e1a0062500e1171e031cf4c8fef76ffd59)

    Conflicts:

            src/mm-modem-cdma.c

 .../org.freedesktop.ModemManager.Modem.Cdma.xml    | 28 +++++++++++++++++
 src/mm-modem-cdma.c                                | 35
 ++++++++++++++++++++++
 src/mm-modem-cdma.h                                | 18 +++++++++++
 3 files changed, 81 insertions(+)

commit b19b25f324eff63e63638c26210d3108308bbaf9
Author: David Rochberg <rochberg@chromium.org>
Date:   Mon Oct 4 09:35:25 2010 -0400

    Add enums for activation state

    BUG=6885
    TEST=inspect mm-modem.h, build cromo et al against new mm-modem.h

    Change-Id: Id8c849b6cffbadb9d5d2aa4109257eb747cf9bb5

    Review URL: http://codereview.chromium.org/3616004
    (cherry picked from commit 3a50b8c28d155060ce035a1c6d5eadf3d91297a5)

 introspection/org.freedesktop.ModemManager.Modem.Cdma.xml | 14
 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 60725028affaa7405d022de8fe0dee7ad16f1a44
Author: Elly Jones <ellyjones@google.com>
Date:   Mon Dec 20 14:40:35 2010 -0500

    Add State property and StateChanged signal.

    Change-Id: I74451404361aa8bcc33ad0e66cbd5c6208222496

 .../org.freedesktop.ModemManager.Modem.xml         | 30
 ++++++++++++++++++++++
 1 file changed, 30 insertions(+)

commit 74b49b8b4d7d87a5fcd871662c600a7c4cc10620
Author: Eric Shienbrood <ers@chromium.org>
Date:   Thu Aug 19 16:51:20 2010 -0400

    Added MEID property to org.freedesktop.ModemManager.Cdma interface.

    BUG=chromium-os:4560
    TEST=tested using modified flimflam and cromo

    Change-Id: I385abf8df340c26259810ea44c43680cc420c015

    Review URL: http://codereview.chromium.org/3136020

 introspection/org.freedesktop.ModemManager.Modem.Cdma.xml | 6 ++++++
 1 file changed, 6 insertions(+)

commit 12600464e3e77e2eba3ba6997bb41d3df5ff6bc5
Author: Elly Jones <ellyjones@google.com>
Date:   Mon Dec 20 13:26:41 2010 -0500

    Fix include paths in introspection XML.

    Change-Id: I3af3ac8f60009f25b365c424d93258ded16f9212

 introspection/all.xml | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

commit ac5f135a4ac9b0954d2142dd2f047bdcfe0fa8c9
Author: Elly Jones <ellyjones@google.com>
Date:   Mon Dec 20 13:08:27 2010 -0500

    Add org.freedesktop.ModemManager.Modem.Cdma.xml.

    Mea culpa. I moved it with 'mv', not 'git mv', thus resulting in
    total loss.

    Change-Id: I94edfb9ca3b09d7956eea08971090ee022700d4d

 .../org.freedesktop.ModemManager.Modem.Cdma.xml    | 97
 ++++++++++++++++++++++
 1 file changed, 97 insertions(+)

commit 6c758103200c7a7c7634c637e516a2d4af766a3a
Author: Eric Shienbrood <ers@google.com>
Date:   Thu Jun 17 10:28:02 2010 -0400

    Clean up white space in the generated header file.

    Also, include the interface name in the method and signal names, to
    avoid name collisions. I have corresponding changes in the flimflam
    modemmgr plugin to accomodate the new names.

    For a sample of the output, see ~ers/mm-modem.h

    Review URL: http://codereview.chromium.org/2852010
    (cherry picked from commit f9dbea25b8ba4414c77d6dfc94545bf7b5c26e68)

 header-generator.xsl | 96
 ++++++++++++++++++++++++++++++++++------------------
 1 file changed, 63 insertions(+), 33 deletions(-)

commit 48169926f47377c2a9a2201cd77294dff4876e28
Author: Elly Jones <ellyjones@google.com>
Date:   Mon Dec 20 12:41:03 2010 -0500

    Don't probe virtual devices before they exist

    Prevent ModemManager from probing virtual devices before their
    associated files exist in /dev tree.

    Contributed by Nasser Grainawi <nasser@codeaurora.org>

    Review URL: http://codereview.chromium.org/2118005
    (cherry picked from commit 617660e3572a7b79ed83f9fc0fda89b7efcb2d4d)

    Conflicts:

            src/mm-plugin-base.c

    Change-Id: Ie5e8b98fb6b6c69e294175523ef99c934092433b

 src/mm-plugin-base.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

commit 575ba873380af798225d732779ca581936b8adeb
Author: Jason Glasgow <jglasgow@chromium.org>
Date:   Wed Apr 14 15:54:22 2010 -0400

    Add signals to generated header file

    Review URL: http://codereview.chromium.org/1508036
    (cherry picked from commit f3432ada6bf8cd55f9dbdf050d510c53ce9f6687)

 header-generator.xsl | 7 +++++++
 1 file changed, 7 insertions(+)

commit 245818de331608a10c2279a56c5feba86aa1a1ea
Author: Elly Jones <ellyjones@google.com>
Date:   Mon Dec 20 12:23:41 2010 -0500

    Install xml files so they can be used by cromo (chromeos modem
    manager)

    Amended: Install the files under their proper DBus names.

    Review URL: http://codereview.chromium.org/1618004
    (cherry picked from commit 89f7f05f1294485fa8b44cfdd3c9b0d924d45ac1)

    Conflicts:

            Makefile.am

    Change-Id: I65b2b0c1b5e579bb5b1d5d5b390c3be2ae49543c

 introspection/all.xml                              | 26 +++---
 introspection/mm-modem-cdma.xml                    | 97
 ----------------------
 ...ged.xml => org.freedesktop.DBus.Properties.xml} |  0
 ...rg.freedesktop.ModemManager.Modem.Gsm.Card.xml} |  0
 ...reedesktop.ModemManager.Modem.Gsm.Contacts.xml} |  0
 ...org.freedesktop.ModemManager.Modem.Gsm.Hso.xml} |  0
 ...freedesktop.ModemManager.Modem.Gsm.Network.xml} |  0
 ...org.freedesktop.ModemManager.Modem.Gsm.SMS.xml} |  0
 ...rg.freedesktop.ModemManager.Modem.Gsm.Ussd.xml} |  0
 ... => org.freedesktop.ModemManager.Modem.Gsm.xml} |  0
 ...rg.freedesktop.ModemManager.Modem.Location.xml} |  0
 ... org.freedesktop.ModemManager.Modem.Simple.xml} |  0
 ....xml => org.freedesktop.ModemManager.Modem.xml} |  0
 ...anager.xml => org.freedesktop.ModemManager.xml} |  0
 plugins/Makefile.am                                |  2 +-
 src/Makefile.am                                    | 20 ++---
 16 files changed, 24 insertions(+), 121 deletions(-)

commit 241bef544d45eded170ce8bfb94923bab9993720
Author: Jason Glasgow <jglasgow@chromium.org>
Date:   Wed Apr 7 18:24:01 2010 -0400

    Install xml introspection files for DBus interfaces.

    Review URL: http://codereview.chromium.org/1618004

    Change-Id: Ib362c3dcdeb91472a64cf9edb6b4e0ddbcffe93a

 Makefile.am                     | 5 ++++-
 introspection/mm-modem-cdma.xml | 4 ++--
 2 files changed, 6 insertions(+), 3 deletions(-)

commit 33c991f3adb1e4ad8339371331f8adbefe0c8521
Author: Jason Glasgow <jglasgow@chromium.org>
Date:   Fri Mar 26 13:25:01 2010 -0400

    Generate a header file for ModemManager

    Generate a header file for ModemManager with service names and paths,
    method names and enums.

    Review URL: http://codereview.chromium.org/1409001

 Makefile.am          |  15 +++-
 header-generator.xsl | 204
 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 216 insertions(+), 3 deletions(-)

commit d32eeec9eaeddb1e560499a1a1afda956b3a1114
Author: Elly Jones <ellyjones@google.com>
Date:   Mon Dec 20 11:05:49 2010 -0500

    Update from Qualcomm to support smd devices in Modem Manager

    Review URL: http://codereview.chromium.org/661471
    (cherry picked from commit 8475eb44b7ea41afa823919b017a39d82b07a5a2)

    Conflicts:

            src/mm-plugin-base.c

    Change-Id: I825886cad62a27acb39dfe74da7028d83adf692a

 src/mm-plugin-base.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 00b0b70f5dd7e6896cc533e7ac3e9584467858e6
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Dec 19 15:18:12 2010 -0600

    bluetooth: tag 'moved' bluetooth ttys as candidates

    The kernel appears to add the device first without any parents,
    then to move it to the correct place in the hierarchy, with its
    immediate parent being the device's HCI controller.  So we need
    to capture the 'move' event too since that's when the rfcomm
    device is finally usable.

 src/80-mm-candidate.rules | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit a4e620aca0a13b6630b587bc6ed21ec2454e86ec
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Dec 19 15:07:56 2010 -0600

    bluetooth: ensure bluetooth rfcomm devices get tagged as candidates

 src/80-mm-candidate.rules | 1 +
 1 file changed, 1 insertion(+)

commit d2ce75b57a27a9feaddb25558e62ae7162ef7f9f
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Dec 17 16:27:55 2010 -0600

    core: separate PropertiesChanged signal XML

    Which requires that we turn it into a GInterface that MMModemBase
    can implement, because dbus-glib does not allow attaching more
    than one introspection glue structure to an object at a time.

    Also implement the standard D-Bus properties changed signal.

 introspection/Makefile.am               |  3 +-
 introspection/all.xml                   |  1 +
 introspection/mm-modem.xml              | 18 -------
 introspection/mm-properties-changed.xml | 45 +++++++++++++++++
 marshallers/mm-marshal.list             |  1 +
 src/Makefile.am                         |  6 ++-
 src/mm-modem-base.c                     | 11 ++++-
 src/mm-properties-changed-signal.c      | 86
 ++++++++++++++++++++++++++-------
 src/mm-properties-changed-signal.h      | 13 ++++-
 9 files changed, 144 insertions(+), 40 deletions(-)

commit 592d71ff76318b6389f6866d5394a844c7e35513
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 8 17:04:59 2010 -0600

    core: work around udev parallel startup race

    Ignore devices that aren't completely configured by udev yet.  If
    ModemManager is started in parallel with udev, explicitly requesting
    devices may return devices for which not all udev rules have yet been
    applied (a bug in udev/gudev).  Since we often need those rules
    to match
    the device to a specific ModemManager driver, we need to ensure
    that all
    rules have been processed before handling a device.

    Do this by adding an item to the environment of each device that MM
    might possibly be interested in, and ignoring devices that don't
    have that.  When the device is fully processed by udev, MM will get
    an 'add' event and the device will have all rules applied.

 src/80-mm-candidate.rules | 16 ++++++++++++++++
 src/Makefile.am           |  3 ++-
 src/mm-manager.c          | 13 ++++++++++++-
 3 files changed, 30 insertions(+), 2 deletions(-)

commit 067490960a65781029e5c931a28d1f7497cc9b1e
Author: Amit Mendapara <mendapara.amit@gmail.com>
Date:   Wed Dec 8 11:05:28 2010 -0600

    linktop: add plugin for Linktop/Teracom LW273 (bgo #636438)

 plugins/Makefile.am         |  20 ++++-
 plugins/mm-modem-linktop.c  | 208
 ++++++++++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-linktop.h  |  45 ++++++++++
 plugins/mm-plugin-linktop.c | 164 ++++++++++++++++++++++++++++++++++
 plugins/mm-plugin-linktop.h |  41 +++++++++
 5 files changed, 477 insertions(+), 1 deletion(-)

commit 26b96c515db5f8c65bd396785f3742465518b3cb
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Mon Dec 6 12:42:05 2010 -0600

    mbm: add more MBM device IDs

 plugins/77-mm-ericsson-mbm.rules | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit b1e1668119905e077f82a1aa4346f69db4d41268
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Dec 2 11:31:09 2010 -0600

    mbm: add tags for SonyEricsson MD400G

    Thanks to Niall Parker

 plugins/77-mm-ericsson-mbm.rules | 3 +++
 1 file changed, 3 insertions(+)

commit ea0797cbec7cae4d93807e8ac3a796650ff209a9
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 29 16:49:30 2010 -0600

    gsm: prefer AT+CIND signal quality for modems that support it
    (lp:682282) (bgo #636040)

    Some devices always reply with 99 for AT+CSQ when in UMTS mode
    (Linktop LW273)
    so if the modem supports it, use CIND/CIEV instead.

 src/mm-generic-gsm.c           | 112
 ++++++++++++-----------------------------
 src/mm-modem-helpers.c         |  80 ++++++++++++++++++++++++++---
 src/mm-modem-helpers.h         |  12 +++--
 src/tests/test-modem-helpers.c |   2 +-
 4 files changed, 115 insertions(+), 91 deletions(-)

commit 586c9ec2c5ab66c16b934ef5f0b9b6803904ea84
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 29 12:01:42 2010 -0600

    gsm: don't poll signal quality if it was recently updated

 src/mm-generic-gsm.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

commit a00966d4aa0973aef9a520b966d6c5a93d094053
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 29 11:50:55 2010 -0600

    huawei: don't spam syslog with tx/rx stats (lp:673457)

 plugins/mm-modem-huawei-gsm.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 1df1ff38b0ad93d80647895115251033ffc38e65
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 29 00:45:58 2010 -0600

    sierra: support pseduo-ethernet interface on GSM devices

    Requires the sierra_net driver, which is included in the
    2.6.34 and later kernels.

 NEWS                          |   1 +
 plugins/mm-modem-sierra-gsm.c | 182
 +++++++++++++++++++++++++++++++++++++++---
 plugins/mm-plugin-sierra.c    |  36 ++++++---
 3 files changed, 196 insertions(+), 23 deletions(-)

commit 5419f1f1954a371e030a3e146628cf501a0ed64e
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 29 00:21:44 2010 -0600

    core: allow setting IP method after construction

    Some modems might not know their IP method until after the
    modem object has been created.

 src/mm-modem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c1232e2534334cacc929733e4d206f3deba5c545
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Nov 28 23:10:27 2010 -0600

    serial: print debug data unsigned

 src/mm-at-serial-port.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 888351f2a6f496cfb42c14184ded0adbae246ffb
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Nov 28 22:50:22 2010 -0600

    release: update NEWS file

 NEWS | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit dc95f531adc38166cb4ec0ec08e40527dd04385a
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Nov 28 22:46:03 2010 -0600

    gsm: query signal strength with +CIND if modem does not support +CSQ
    (lp:682282)

 plugins/mm-modem-mbm.c |  32 +--------
 src/mm-generic-gsm.c   | 188
 ++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 186 insertions(+), 34 deletions(-)

commit 6d37c9b471a0813d18fec69f2c090434238a480e
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Nov 28 21:46:27 2010 -0600

    core: +CIND indexes start at 1

 src/mm-modem-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2dd59c3dddb21eb5ca882735c5df6fce79802c4f
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Nov 28 21:34:00 2010 -0600

    core: add index to CIND helper

 src/mm-modem-helpers.c         | 20 ++++++++++++++++----
 src/mm-modem-helpers.h         |  9 +++++----
 src/tests/test-modem-helpers.c |  8 ++++----
 3 files changed, 25 insertions(+), 12 deletions(-)

commit 9479c04aec1504f775d7a940698fcaf4eb78b8b9
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Nov 28 19:45:53 2010 -0600

    core: add +CIND parsing helpers

 src/mm-modem-helpers.c         | 123
 +++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |   6 ++
 src/tests/test-modem-helpers.c |  75 +++++++++++++++++++++++++
 3 files changed, 204 insertions(+)

commit 5b34f40d1da7eeb1fcb3662a0c0d039a835204be
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Nov 23 16:17:12 2010 -0600

    docs: bump doc version to current MM prerelease version

 introspection/all.xml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 71eeae01a76e0a2b45eb2e1bdc3639900021c7f3
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Fri Nov 19 16:20:27 2010 -0600

    mbm: add USB IDs for F5521gw

 plugins/77-mm-ericsson-mbm.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 802a6f3a564d981f06042af0a3f36212805f599f
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Nov 10 13:16:19 2010 -0600

    gsm: fix up CID signed/unsigned confusion

    -1 = no APN set, so use modem default.  We'll have to fix a few
    more things up for modems like hso/mbm that don't use ATDT and
    require CIDs, but this gets us halfway there for other devices.

 plugins/mm-modem-hso.c | 2 +-
 plugins/mm-modem-mbm.c | 5 +----
 src/mm-generic-gsm.c   | 2 +-
 3 files changed, 3 insertions(+), 6 deletions(-)

commit bda86f553aefadb18a3dfa5795f1345c40a19738
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Nov 9 08:46:27 2010 -0600

    mbm: fix handling of unsolicited CIEV response

    Rob McQueen saw a 10 here, which means SMS full.  Handle that.

 plugins/mm-modem-mbm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d2ab1d7f781acaa542cd763215be5bcf752be1eb
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 8 10:24:26 2010 -0600

    gsm: fix up USSD property exports

    If the base class advertises that it implements an interface, it
    really does need to implement all that interface's properties too.
    Otherwise dbus-glib gets mad and can't look up the property
    information
    for D-Bus Introspection.

 src/mm-generic-gsm.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 3c13d9aec86a310f7ac9ed2fef58500d5a3a720a
Author: Guido Günther <agx@sigxcpu.org>
Date:   Fri Nov 5 14:50:50 2010 -0500

    gsm: add preliminary USSD support (bgo #590798)

    We currently convert to and from the modem's set charset and
    always pass
    '15' as the data coding scheme. Passing the correct data coding scheme
    as third argument to CUSD only upsets the network. This contradicts
    3GPP
    TS 23.038. Other tools like gsm-ussd handle it the same way.

    Network responses that require further actions are not yet
    implemented.

    (some fixes and cleanups by Dan Williams)

 policy/org.freedesktop.modem-manager.policy.in |   9 +
 src/Makefile.am                                |   8 +-
 src/mm-auth-provider.h                         |   1 +
 src/mm-generic-gsm.c                           | 233 +++++++++++++++++-
 src/mm-generic-gsm.h                           |   3 +
 src/mm-modem-gsm-ussd.c                        | 321
 +++++++++++++++++++++++++
 src/mm-modem-gsm-ussd.h                        |  65 +++++
 test/ussd.py                                   |  27 +++
 8 files changed, 665 insertions(+), 2 deletions(-)

commit 2a98b2ae2d2541e78fad4d931a84094f3b00773a
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Nov 5 14:44:20 2010 -0500

    core: add bin -> hex string converter

 src/mm-utils.c | 14 ++++++++++++++
 src/mm-utils.h |  2 ++
 2 files changed, 16 insertions(+)

commit 6921a9f71d7d6b4cc60f7fa776d62ef8f814ec76
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Nov 5 14:03:44 2010 -0500

    core: unconditionally enable the Location Services API

    This required dbus-glib 0.86 or later, which was released 2010-03-24.

 configure.ac         | 14 +-------------
 src/Makefile.am      | 12 +++---------
 src/mm-generic-gsm.c | 33 ---------------------------------
 src/mm-generic-gsm.h |  2 --
 4 files changed, 4 insertions(+), 57 deletions(-)

commit a2d54b1437ae3374b7c046d28186831051e44652
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Nov 3 10:03:51 2010 -0500

    trivial: avoid build warning by using g_message() correctly

 src/tests/test-modem-helpers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d63dcd682d3449b021f205af67dd0071e91cc56f
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Oct 30 12:31:08 2010 -0500

    sierra: check for PS attach before dialing

    Some devices (8775 specifically) get angry if you don't check for
    a PS attach before dialing.  The next time they try to connect,
    they'll continuously report "searching" as the registration status
    and return CME ERROR 30 (No Network Service) for lots of requests.
    So initiate a PS attach (which should return OK if the modem is
    already attached) before dialing, and if that fails cancel the
    dial attempt.

    See
    http://mail.gnome.org/archives/networkmanager-list/2010-October/msg00072.html

    "I talked about this problem with a contact at SierraWireless. He
    said that
    a firmware upgrade will not help in this case. But what can help
    is checking
    for PS attach and dial only if PS attach status is attached. Dialing
    without
    PS attach can bring modem into unwanted condition that sometimes
    restart is
    needed to recover."

 plugins/mm-modem-sierra-gsm.c | 59
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

commit 7f7f03a662946a10b45e5ab3c3eae2568fcb01f9
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Oct 27 10:02:23 2010 -0500

    release: update NEWS with changed stuff since 0.4

 NEWS | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

commit 610a907d5cf222fc69476f1cd059eb22e1c1a32a
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 25 21:18:10 2010 -0500

    gsm: retry SIM ID if we didn't get it before card was enabled

 src/mm-generic-gsm.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 6f809b589bd8619bf2d0659581389ac3c135d08b
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 25 21:02:43 2010 -0500

    gsm: request ICCID after checking the PIN status

    Checking PIN status makes sure the SIM is initialized, and
    that has to happen before we try to read the SIM for the
    ICCID.  So move PIN checking before getting the ICCID, and
    retry the ICCID at least once for odd cards like Gobi 1K
    that seems to need one more try right after it's done
    booting up.

 src/mm-generic-gsm.c | 309
 +++++++++++++++++++++++++++------------------------
 1 file changed, 166 insertions(+), 143 deletions(-)

commit f93e24dda3fa790ca9dd9a0471aa5fc26495a04c
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 25 21:00:26 2010 -0500

    sierra: fix ICCID requests

    Depending on when the core requested the ICCID, the port may or may
    not be open.  Stuff that needs an open serial port needs to make sure
    that the port gets opened itself.

 plugins/mm-modem-sierra-gsm.c | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

commit 1684d8b1734be69700a93a9995b99fac6ffb9763
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 25 17:41:08 2010 -0500

    gsm: add SimIdentifier property

    An obfuscated SimIdentifier that may be available before the PIN has
    been entered, for use in auto-unlocking a device.  If this value is
    present, it should be used in preference to DeviceIdentifier as it
    is SIM-specific like the PIN code.

 introspection/mm-modem-gsm-card.xml |   8 ++
 plugins/mm-modem-sierra-gsm.c       |  74 ++++++++++++++
 src/mm-generic-gsm.c                | 198
 +++++++++++++++++++++++++++++++++++-
 src/mm-generic-gsm.h                |   6 ++
 src/mm-modem-gsm-card.c             |   8 ++
 src/mm-modem-gsm-card.h             |   1 +
 src/mm-serial-parsers.c             |   7 ++
 test/info.py                        |  15 ++-
 8 files changed, 312 insertions(+), 5 deletions(-)

commit 46106660fe6aae1018f6f6c45281ccef837e78f8
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 22 11:34:55 2010 -0500

    core: print out modem hardware VID/PID and subsystem

 src/mm-manager.c | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

commit 0ec4dbcc1aa5fdcfedb74619fab0fc93dc4c2f1d
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 22 11:25:03 2010 -0500

    trivial: fix formatting

 src/tests/test-modem-helpers.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 91a58bbe3d6194abb3a92ba2e936c405ddc4ecdc
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 22 11:20:16 2010 -0500

    core: detect PCMCIA manfid and cardid

    These aren't added to the udev device database by anything yet
    (though they should be) so grab them manually.

 src/mm-plugin-base.c | 33 ++++++++++++++++++++++++---------
 1 file changed, 24 insertions(+), 9 deletions(-)

commit 7c410a8d08f146d983d360f7048f113aa8680cca
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 22 11:14:34 2010 -0500

    core: strip "0x" off udev ID_VENDOR_ID and ID_MODEL_ID strings

 src/mm-plugin-base.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

commit 7ae8ffe21b9e3bb350dac2f2d34d0711b3255d26
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 22 11:06:48 2010 -0500

    core: use hardware IDs as part of DeviceIdentifier

    Pass the device's hardware IDs through modem creation and use them
    when calculating the device's identifier.  Add a bunch of testcases
    for real hardware to ensure we don't break the device ID in the
    future unless we really want to.

 plugins/mm-modem-anydata-cdma.c  |   6 +-
 plugins/mm-modem-anydata-cdma.h  |   4 +-
 plugins/mm-modem-gobi-gsm.c      |   6 +-
 plugins/mm-modem-gobi-gsm.h      |   4 +-
 plugins/mm-modem-hso.c           |   6 +-
 plugins/mm-modem-hso.h           |   4 +-
 plugins/mm-modem-huawei-cdma.c   |   6 +-
 plugins/mm-modem-huawei-cdma.h   |   4 +-
 plugins/mm-modem-huawei-gsm.c    |   6 +-
 plugins/mm-modem-huawei-gsm.h    |   4 +-
 plugins/mm-modem-longcheer-gsm.c |   6 +-
 plugins/mm-modem-longcheer-gsm.h |   4 +-
 plugins/mm-modem-mbm.c           |   6 +-
 plugins/mm-modem-mbm.h           |   4 +-
 plugins/mm-modem-moto-c-gsm.c    |   6 +-
 plugins/mm-modem-moto-c-gsm.h    |   4 +-
 plugins/mm-modem-nokia.c         |   6 +-
 plugins/mm-modem-nokia.h         |   4 +-
 plugins/mm-modem-novatel-cdma.c  |   4 +-
 plugins/mm-modem-novatel-cdma.h  |   4 +-
 plugins/mm-modem-novatel-gsm.c   |   6 +-
 plugins/mm-modem-novatel-gsm.h   |   4 +-
 plugins/mm-modem-option.c        |   6 +-
 plugins/mm-modem-option.h        |   4 +-
 plugins/mm-modem-sierra-cdma.c   |   6 +-
 plugins/mm-modem-sierra-cdma.h   |   4 +-
 plugins/mm-modem-sierra-gsm.c    |   6 +-
 plugins/mm-modem-sierra-gsm.h    |   4 +-
 plugins/mm-modem-simtech-gsm.c   |   6 +-
 plugins/mm-modem-simtech-gsm.h   |   4 +-
 plugins/mm-modem-x22x-gsm.c      |   6 +-
 plugins/mm-modem-x22x-gsm.h      |   4 +-
 plugins/mm-modem-zte.c           |   6 +-
 plugins/mm-modem-zte.h           |   4 +-
 plugins/mm-plugin-anydata.c      |  10 +-
 plugins/mm-plugin-generic.c      |  14 +-
 plugins/mm-plugin-gobi.c         |  14 +-
 plugins/mm-plugin-hso.c          |  10 +-
 plugins/mm-plugin-huawei.c       |  14 +-
 plugins/mm-plugin-longcheer.c    |  14 +-
 plugins/mm-plugin-mbm.c          |  10 +-
 plugins/mm-plugin-moto-c.c       |  10 +-
 plugins/mm-plugin-nokia.c        |  14 +-
 plugins/mm-plugin-novatel.c      |  14 +-
 plugins/mm-plugin-option.c       |  10 +-
 plugins/mm-plugin-sierra.c       |  14 +-
 plugins/mm-plugin-simtech.c      |  14 +-
 plugins/mm-plugin-x22x.c         |  10 +-
 plugins/mm-plugin-zte.c          |  14 +-
 src/mm-generic-cdma.c            |   6 +-
 src/mm-generic-cdma.h            |   4 +-
 src/mm-generic-gsm.c             |   6 +-
 src/mm-generic-gsm.h             |   4 +-
 src/mm-modem-base.c              |  57 ++++++--
 src/mm-modem-helpers.c           |  32 +++--
 src/mm-modem-helpers.h           |   4 +-
 src/mm-modem.c                   |  16 +++
 src/mm-modem.h                   |   8 +-
 src/mm-plugin-base.c             |  18 ++-
 src/tests/test-modem-helpers.c   | 301
 +++++++++++++++++++++++++++++++++++++++
 60 files changed, 716 insertions(+), 94 deletions(-)

commit 328d2369a9dadfae786e4c524b5ff2fd0d1a9e17
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 21 16:57:37 2010 -0500

    core: add DeviceIdentifier property

    This is computed before any PIN is entered, and thus before we can
    usually get IMEI or MEID/ESN out of the device in many cases. It's
    therefore not the same as EquipmentIdentifier.

    This is intended to be used by UI programs for matching devices with
    PIN numbers for automatic unlocking.  While the PIN number is actually
    *SIM* specific, no modems allow access to the IMSI before the PIN is
    entered, and thus we cannot actually match the PIN with the SIM.  The
    device ID is the next best thing we can use and should allow auto
    unlocking in most cases.

 introspection/mm-modem.xml | 12 +++++++
 src/mm-generic-cdma.c      | 44 ++++++++++++++++++++++++
 src/mm-generic-gsm.c       | 62 +++++++++++++++++++++++++---------
 src/mm-modem-base.c        | 83
 +++++++++++++++++++++++++++++++++++++---------
 src/mm-modem-helpers.c     | 65 ++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h     | 10 ++++++
 src/mm-modem.c             |  8 +++++
 src/mm-modem.h             |  4 ++-
 test/info.py               |  1 +
 9 files changed, 257 insertions(+), 32 deletions(-)

commit 9fa20cd018ddbbcc95fd600ca140ac85661567bd
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Thu Oct 14 17:15:14 2010 -0500

    mbm: add HP branded f3607gw and f3307 devices

 plugins/77-mm-ericsson-mbm.rules | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 4cdaba31618bcfefa7fc184a90155ebe8f57a893
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 14 14:00:42 2010 -0500

    cdma: clear error when getting state if no AT port is available

    We don't care about the error if we have a QCDM port.

 src/mm-generic-cdma.c | 1 +
 1 file changed, 1 insertion(+)

commit dd8a061d28ecaf286bfba3bdbd2a495c45cfb4a4
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 14 10:22:59 2010 -0500

    serial: make QCDM frame parsing more robust

    Ensure that valid HDLC frames that are not valid QCDM frames
    are correctly rejected, and that their data is correctly
    discarded.

    The core bug was that Sierra CnS frames have leading and trailing
    HDLC frame terminator bytes (0x7E), and the code was incorrectly
    treating the leading terminator as the end of a frame, not the
    beginning.  Thus it would consider the outstanding serial request
    finished without actually parsing the response packet.

    Now, we make sure we don't tell the serial receive code that
    we have a full QCDM frame until we actually do have one, which is
    at least 3 bytes + 0x7E.

 src/mm-qcdm-serial-port.c | 107
 ++++++++++++++++++++++++++++------------------
 1 file changed, 66 insertions(+), 41 deletions(-)

commit 8a4f621245c7b5a1a06471260f5f75422e9098cc
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 14 10:22:41 2010 -0500

    core: add more QCDM frame marker testcases

 src/tests/test-qcdm-serial-port.c | 157
 +++++++++++++++++++++++++++-----------
 1 file changed, 112 insertions(+), 45 deletions(-)

commit e16a58e54b18ac287d6e0596aff11386f02cb23b
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 14 00:10:46 2010 -0500

    core: add basic QCDM serial port unit tests

    Test that a Version Info request/response works as expected, and
    add a testcase for a bug where specific Sierra CnS responses to
    the Version Info request do not properly return an error when
    attempting to parse the response as a QCDM packet.  Fix for the
    second thing forthcoming.

 .gitignore                        |   1 +
 src/tests/Makefile.am             |  20 +-
 src/tests/test-qcdm-serial-port.c | 410
 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 430 insertions(+), 1 deletion(-)

commit 1dae1034849bd7a5110966f54e85f33383561161
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 14 00:10:18 2010 -0500

    build: create convenience serial library

    For better unit testing.

 src/Makefile.am | 29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

commit 9956b06a4467a784f16a60b6fcfd5130e09591e6
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 14 00:09:22 2010 -0500

    core: add helper to create QCDM serial ports from a file descriptor

    Aids in unit testing

 src/mm-qcdm-serial-port.c | 17 +++++++++++++++++
 src/mm-qcdm-serial-port.h |  2 ++
 2 files changed, 19 insertions(+)

commit ad4e2fc65608d4f7d0bf829e5e618e4eb6f4ba01
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 14 00:08:14 2010 -0500

    serial: allow creating serial ports with a given file descriptor

    To enable better unit testing of MMSerialPort and subclasses
    behavior.

 src/mm-serial-port.c | 26 ++++++++++++++++++++++----
 src/mm-serial-port.h |  1 +
 2 files changed, 23 insertions(+), 4 deletions(-)

commit add7fa705caeba743742dbc0717dadaaf1274f73
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 14 00:07:25 2010 -0500

    build: enable tests for 'make distcheck'

    No idea why this wasn't done before...

 Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 79ae78a740dd3c41bd0e71984acceb9bdb1be2b2
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 14 00:00:44 2010 -0500

    qcdm: add testcase to ensure that parsing Sierra CnS fails

    Because CnS uses HDLC framing, but doesn't use CRC16, and thus
    the decapsulation should fail because the CRC check fails.

 libqcdm/tests/test-qcdm-utils.c | 20 ++++++++++++++++++++
 libqcdm/tests/test-qcdm-utils.h |  2 ++
 libqcdm/tests/test-qcdm.c       |  1 +
 3 files changed, 23 insertions(+)

commit a9152f21ff40f4515237c40c691e2b87511b0c41
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Oct 6 23:09:06 2010 -0500

    huawei: fix potential double-free on error (rh #632516)

 plugins/mm-plugin-huawei.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit acc4541ab31196fa2b6bbc60997c6b0d7e93392e
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Oct 6 22:55:12 2010 -0500

    zte: add more port tags

 plugins/77-mm-zte-port-types.rules | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

commit 8935812da4bb468992876586215b68b159fcfdd4
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Sep 28 10:20:11 2010 -0500

    serial: kill serial port closing wait

    This is the real fix for 81d0fd148f8c72a2e50b4e6fe82496daa28a91cc.

    Some devices don't interact well with the option driver or the
    usb-serial
    layer; they don't respond to the USB data requests and thus data never
    gets written to that port.  When close(2) is called, that data
    is still
    pending and so the tty layer waits 30 seconds before returning from
    the close.  This is the 'closing_wait' value, which unfortunately is
    not able to be modified by ModemManager because most serial drivers
    for 3G devices don't implement the .ioctl handler or its TCIOSSERIAL
    option to change closing_wait.

    This goes along with a kernel patch to various drivers to enable
    the TIOCSSERIAL ioctl to modify closing_wait which will be posted
    soon.

 src/mm-serial-port.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

commit 81d0fd148f8c72a2e50b4e6fe82496daa28a91cc
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Sep 27 15:52:29 2010 -0500

    core: better debugging of serial port open/close

    Some devices don't interact well with the option drivr or the
    usb-serial
    layer; they don't respond to the USB data requests and thus data never
    gets written to that port.  When close(2) is called, that data
    is still
    pending and so the tty layer waits 30 seconds before returning from
    the close.  This is the 'closing_wait' value, which unfortunately is
    not able to be modified by ModemManager because most serial drivers
    for 3G devices don't implement the .ioctl handler or its TCIOSSERIAL
    option to change closing_wait.

    Print out open/close timestamps to help debug this issue and get a
    list of modems that have this problem.

 src/mm-serial-port.c | 38 ++++++++++++++++++++++++++++++++------
 1 file changed, 32 insertions(+), 6 deletions(-)

commit 3c8c3f742525e045fee728a469c4da405f291f08
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Sep 27 14:48:46 2010 -0500

    test: add CGREG repsonse test for X220D

    To test spaces between some members of the response.

 src/tests/test-modem-helpers.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 618dc063101370205097f19ae47f730499b8431b
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Sep 22 16:07:58 2010 -0500

    qcdm: remove shared-library-specific bits that aren't applicable

    Since at this time libqcdm is statically linked into ModemManager.

 libqcdm/src/Makefile.am | 3 ---
 libqcdm/src/libqcdm.ver | 6 ------
 2 files changed, 9 deletions(-)

commit 79f05cbceca5638dbfef48e5a50bc406ecca5074
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Sep 22 16:04:25 2010 -0500

    x22x: add simple plugin for Alcatel X220D

    And possibly the X225 as well.  Can't tell much about the modem and
    what commands it supports other than AT+SYSSEL for mode selection.
    The driver software and connection manager for Windows/Mac OS X are
    written by JRD Communication in China, which is a subsidiary of
    TCT, which makes Alcatel-branded phones and data sticks.  But it
    doesn't appear to be the same firmware as other Alcatel/T&A modems
    like X060S and such which are supported by the Longcheer plugin.

 plugins/77-mm-x22x-port-types.rules |  30 ++++++
 plugins/Makefile.am                 |  24 ++++-
 plugins/mm-modem-x22x-gsm.c         | 205
 ++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-x22x-gsm.h         |  43 ++++++++
 plugins/mm-plugin-x22x.c            | 184
 ++++++++++++++++++++++++++++++++
 plugins/mm-plugin-x22x.h            |  41 ++++++++
 6 files changed, 525 insertions(+), 2 deletions(-)

commit 49097b6de5daa63de84f16386825de5b17590fcc
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Sep 21 14:56:47 2010 -0500

    core: prefer CDMA capabilities over GSM for dual-mode devices
    (bgo #621815)

    For devices like the UMW190 that appear to be dual-mode without
    needing a
    firmware reload (unlike Gobis, which are dual-mode but require a
    reboot with
    different firwmare) prefer CDMA capabilities since that's where
    these devices
    will most likely be used more often.  In the end we'll need to change
    MM to
    advertise a "capabilities" attribute on the modem class and modify
    devices
    such that they can implement both GSM and CDMA semantics at the
    same time.

 plugins/mm-plugin-generic.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 674a9412fe634a0417328fd66d0803f80441264b
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Sep 20 15:40:20 2010 -0500

    gsm: allow use of GSM 03.38 character set (bgo #627935)

    It's only really used for phonebook and SMS PDU mode in the specs,
    which we don't do yet, so if this is the only charset the device
    supports we'll try to use it.

 src/mm-generic-gsm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 85f827ddffab7b320effdb02572e1751b62e2e60
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Sep 4 00:15:02 2010 -0500

    trivial: remove unused code

 src/tests/test-charsets.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 34709e0c7b8a1e7db4221343091bb8662d9814a3
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Sep 4 00:07:09 2010 -0500

    trivial: whitespace fixup

 src/tests/test-charsets.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit ee4166f66fe2516cd5a92181f5f0e5618a862ee3
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Sep 4 00:06:36 2010 -0500

    gsm: add GSM 03.38 pack/unpack functions and testcases

 src/mm-charsets.c         |  77 +++++++++++++++++
 src/mm-charsets.h         |  10 +++
 src/tests/test-charsets.c | 205
 ++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 292 insertions(+)

commit 9e94dd5b6124d00cf10d6296c7c9aa80f8f68d80
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Sep 2 19:29:05 2010 -0500

    gsm: add GSM 03.38 encoding/decoding functions and testcases

 .gitignore                |   1 +
 src/mm-charsets.c         | 262
 ++++++++++++++++++++++++++++++++++++++++++++--
 src/mm-charsets.h         |   6 +-
 src/tests/Makefile.am     |  13 ++-
 src/tests/test-charsets.c | 119 +++++++++++++++++++++
 5 files changed, 389 insertions(+), 12 deletions(-)

commit 85ce5446759092968c6540b9d842c5bc777abb74
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Sep 1 17:31:49 2010 -0500

    cdma: consolidate some code by ignoring +CMEE result

    Most modems don't support it and we're ignoring the error message
    anyway, so don't bother with a callback for its result.

 src/mm-generic-cdma.c | 36 +++++++++++-------------------------
 1 file changed, 11 insertions(+), 25 deletions(-)

commit 67d936e46cedfa3f9621946ac02156e8c15990e3
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Sep 1 17:20:57 2010 -0500

    polkit: fix for polkit >= 0.97 (bgo #628105)

 configure.ac                  |  4 ++++
 src/mm-auth-provider-polkit.c | 27 ++++++++++++++++++++++++---
 2 files changed, 28 insertions(+), 3 deletions(-)

commit f3024b46b495ea81563d712059ca6fc0c40ea7c8
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Sep 1 10:51:22 2010 -0500

    qcdm: add event reporting on/off command

    Doesn't parse any events yet since we don't know what any events
    are.  We also need to fix up ModemManager to handle unsolicited
    responses in the QcdmSerialPort class.

 libqcdm/src/commands.c        | 29 +++++++++++++++++++++++++++++
 libqcdm/src/commands.h        | 11 +++++++++++
 libqcdm/src/dm-commands.h     | 14 ++++++++++++++
 libqcdm/tests/test-qcdm-com.c | 43
 +++++++++++++++++++++++++++++++++++++++++++
 libqcdm/tests/test-qcdm-com.h |  2 ++
 libqcdm/tests/test-qcdm.c     |  1 +
 6 files changed, 100 insertions(+)

commit 48aabcb60be8aed9822de373c14df01fead62ee3
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Aug 30 14:39:25 2010 -0500

    test: add scan helper/tester

 test/scan.py | 101
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 101 insertions(+)

commit 37e4a0b1a88911ad21a792cda663a3e16cc855ee
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Aug 26 12:35:23 2010 -0500

    gsm: ensure unlock retries is updated on incorrect PIN entry

    If the modem returns an error (like "+CME ERROR: incorrect password"
    or even just ERROR) make sure we recheck PIN status and thus also
    recheck the number of unlock retries instead of just returning the
    error to the caller.

 src/mm-generic-gsm.c | 41 +++++++++++++++++++++++++++++++++--------
 1 file changed, 33 insertions(+), 8 deletions(-)

commit 7657f138b3e635b0850e051064fd0323836dd7ec
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Aug 26 12:34:57 2010 -0500

    core: clean up unlock retries info message

 src/mm-modem-base.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit ee53c3c3c43f8af867808b39dd0ae44215535748
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Aug 25 19:57:58 2010 -0500

    qcdm: add bits for getting/setting the log mask

    No code to actually start logging yet, just sets the mask.

 libqcdm/src/commands.c        | 102
 ++++++++++++++++++++++++++++++++++++++++++
 libqcdm/src/commands.h        |  19 ++++++++
 libqcdm/src/dm-commands.h     |   9 ++++
 libqcdm/tests/test-qcdm-com.c |  59 ++++++++++++++++++++++++
 libqcdm/tests/test-qcdm-com.h |   2 +
 libqcdm/tests/test-qcdm.c     |   1 +
 6 files changed, 192 insertions(+)

commit 319424ccb39680a8d67869cadd5d54cf96ed1d86
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Aug 18 16:12:53 2010 -0500

    gsm: recognize Motorola EZX errors

    Nobody seems to know what the number means, but at least recognize
    them as errors.

 src/mm-serial-parsers.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit d65c0269943a88821f0b57b03214efbe66923744
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Aug 18 15:37:45 2010 -0500

    gsm: Motorola EZX models quote CPIN response

 src/mm-generic-gsm.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 48b8826cbd31ae5103b6ccfa194061650de368b8
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Aug 16 12:12:41 2010 -0500

    qcdm: add Status Snapshot enum

 libqcdm/src/commands.c        |  8 +++++++
 libqcdm/src/commands.h        | 26 ++++++++++++++++++++++
 libqcdm/src/dm-commands.h     | 22 ++++++++++++++++++
 libqcdm/tests/test-qcdm-com.c | 52
 +++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 108 insertions(+)

commit 5388cf396e768e7c7d1b57f2c4fe67dc448d536f
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Aug 11 15:59:35 2010 -0500

    core: work around dbus-glib property access bug (CVE-2010-1172)
    (rh #585394)

    More info:
    https://bugzilla.redhat.com/show_bug.cgi?id=585394
    http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1172

    dbus-glib was not properly enforcing the 'access' permissions on
    object properties exported using its API.  There were 2 specific bugs:

    1) dbus-glib did not enforce the introspection read/write property
    permissions, so if the GObject property definition allowed write
    access (which is sometimes desirable), D-Bus clients could modify
    that value even if the introspection said it was read-only

    2) dbus-glib was not filtering out GObject properties that were
    not listed in the introspection XML.  Thus, if the GObject defined
    more properties than were listed in the introspection XML (which is
    also often useful, and MM uses this quite a bit) those properties
    would also be exposed to D-Bus clients.

    To fix this completely, you need to:

    1) get dbus-glib master when the patch is commited, OR grab the
    patch from https://bugzilla.redhat.com/show_bug.cgi?id=585394 and
    build a new dbus-glib

    2) rebuild ModemManager against the new dbus-glib

 configure.ac |  6 ++++++
 src/main.c   | 11 +++++++++++
 2 files changed, 17 insertions(+)

commit be28089dc4c1b07d9def45a3c763f432ae8322c4
Author: Vincent Untz <vuntz@gnome.org>
Date:   Mon Aug 9 10:31:45 2010 -0500

    build: fix build with glib >= 2.25.12 (bgo #626421)

    Work around an API break in glib.

 libqcdm/tests/test-qcdm.c      | 4 ++++
 src/tests/test-modem-helpers.c | 4 ++++
 2 files changed, 8 insertions(+)

commit ed9e056987a0d786178571aa859964badc043453
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Aug 6 01:32:03 2010 -0500

    cdma: determine EVDO registration even when in 1X mode

    Sometimes the primary mode will be 1X (and thus the Call Manager
    will report 1X system mode) but the HDR subsystem will be registered
    and idle.  Figure that out and report that EVDO is registered too
    in that case, since the modem will just flip over to EVDO when
    the data call starts.

 src/mm-generic-cdma.c | 149
 ++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 109 insertions(+), 40 deletions(-)

commit a96e53368dfabf20f1bc3b8aecba2a64d60e198b
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Aug 6 01:16:11 2010 -0500

    tests: handle random failures of some tests more gracefully

    Not all devices support everything; a Huawei EC168C fails to
    read the mode preference, and a Pantech PX-500 fails to read
    the roam preference NV item.

 libqcdm/tests/test-qcdm-com.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit dbbac27f1ef518fca0b7aefe9c73cace82c3a5a4
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Aug 5 22:50:32 2010 -0500

    qcdm: add generic status snapshot command support

 libqcdm/src/commands.c        | 38 +++++++++++++++++++++++++++
 libqcdm/src/commands.h        | 22 ++++++++++++++++
 libqcdm/src/dm-commands.h     | 23 ++++++++++++++++
 libqcdm/tests/test-qcdm-com.c | 61
 ++++++++++++++++++++++++++++++++++++++-----
 libqcdm/tests/test-qcdm-com.h |  2 ++
 libqcdm/tests/test-qcdm.c     |  1 +
 6 files changed, 140 insertions(+), 7 deletions(-)

commit 52f9c721d3f7201ca2f8ad6461cbb5fd8e50d822
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Aug 5 22:13:51 2010 -0500

    core: add SPC lock error

 libqcdm/src/commands.c | 7 +++++++
 libqcdm/src/error.c    | 1 +
 libqcdm/src/error.h    | 1 +
 3 files changed, 9 insertions(+)

commit b4d3ab014d5587b80858f314e53e596ed70ebdbf
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Aug 5 22:10:33 2010 -0500

    build: use automake silent rules

 configure.ac            |  1 +
 marshallers/Makefile.am |  4 ++--
 plugins/Makefile.am     |  2 +-
 src/Makefile.am         | 16 ++++++++--------
 4 files changed, 12 insertions(+), 11 deletions(-)

commit 7e2d63d2c20a6ad540d4bb1e404f001b9f47a360
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Aug 4 02:18:37 2010 -0500

    zte: add more port tags

 plugins/77-mm-zte-port-types.rules | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

commit 15a4592ef94ffd279282c7dc892cf4c49e170223
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jul 20 12:53:05 2010 -0700

    novatel: fix distcheck

 plugins/Makefile.am | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit d18fbaa1c73a88b6f36437fbf712134c8aad5238
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jul 20 12:30:38 2010 -0700

    gsm: ensure invalid operator names don't get used (rh #597088)

    Apparently g_convert() can still return garbage that's not valid in
    the character set you're converting to (???).  But even if we don't
    need to convert the operator name, make sure it's valid UTF-8 before
    we go shoving it through D-Bus.

 src/mm-charsets.c    | 14 ++++++++++++--
 src/mm-generic-gsm.c | 22 ++++++++++++++++------
 2 files changed, 28 insertions(+), 8 deletions(-)

commit e239bf15bb9787d15c429824b1e1176c35e978b6
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jul 19 16:19:59 2010 -0700

    core: handle shadow properties on the MmPropertiesChanged interface

    Need to emit the D-Bus API property name, not the GObject property
    name for a few things on the Location interface.

 src/mm-generic-gsm.c               |  6 +++++
 src/mm-modem-base.c                |  4 +++
 src/mm-properties-changed-signal.c | 55
 +++++++++++++++++++++++++++-----------
 src/mm-properties-changed-signal.h |  5 ++--
 4 files changed, 52 insertions(+), 18 deletions(-)

commit 56665c19af431234ebe1b22cff9f0f9b9fb3d02f
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jul 9 12:35:36 2010 -0700

    nokia: N900 appears to need a longer port delay (rh #583691)

 plugins/mm-modem-nokia.c | 4 ++++
 1 file changed, 4 insertions(+)

commit fe2145ddc407a81a0282e5729fd806ca8f80a735
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jul 9 15:24:42 2010 -0700

    test: add modem info helper

 test/Makefile.am |   8 +-
 test/info.py     | 248
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 255 insertions(+), 1 deletion(-)

commit 6f40ecbed52645915f458dc0b2b3a5e8779d9b22
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jul 2 16:57:28 2010 -0700

    novatel: detect CDMA home/roaming status

 plugins/mm-modem-novatel-cdma.c | 115
 ++++++++++++++++++++++++++++++++++++++++
 src/mm-generic-cdma.c           |   9 ++++
 src/mm-generic-cdma.h           |   4 ++
 3 files changed, 128 insertions(+)

commit dbc7f3d2976cca680183aa4d6163b06445f07502
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jul 2 15:34:05 2010 -0700

    novatel: fix S720 signal quality reporting

 plugins/mm-modem-novatel-cdma.c | 29 +++++++++++++++++++++--------
 1 file changed, 21 insertions(+), 8 deletions(-)

commit 88ee478bb659e6660b3bca1e8f2bd45b667a603b
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jun 29 22:47:40 2010 -0700

    gsm: implement location API

    Depends on dbus-glib 0.86 + this patch:

    https://bugs.freedesktop.org/show_bug.cgi?id=28835

    Still have to do the bits that allow plugins to add other
    location capabilities, but that can come later.

 src/mm-generic-gsm.c    | 347
 +++++++++++++++++++++++++++++++++++++++++++-----
 src/mm-generic-gsm.h    |  20 ++-
 src/mm-modem-location.c |   5 +-
 src/mm-modem-location.h |   7 +-
 test/location.py        |  57 ++++++++
 5 files changed, 400 insertions(+), 36 deletions(-)

commit 655bf7a9faf6125760bc109d9f4f38ce9143a82b
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jun 29 22:36:11 2010 -0700

    api: fix up location method flag name

 introspection/mm-modem-location.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1c2df96f8d5f768db3c63d70778be0f2da8f2ac0
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jun 29 22:24:00 2010 -0700

    test: add some simple testing utilities

 test/disable.py     | 27 +++++++++++++++++++++++++++
 test/enable.py      | 27 +++++++++++++++++++++++++++
 test/list-modems.py | 54
 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 108 insertions(+)

commit 6e79d153efc30fb2030536f7f795c19ad4a0661a
Merge: 72a1a6caf 5fc9f259e
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 24 11:09:33 2010 -0700

    Merge remote branch 'origin/master' into creg

commit 5fc9f259e253fc32510eca8fbd42416706fe0db6
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 24 09:19:55 2010 -0700

    trivial: print out useful debugging info before asserting

 src/mm-manager.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

commit 48dbece33cb187196e69f4ff058c93a43a071ac4
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Wed Jun 23 16:39:13 2010 -0700

    mbm: add factory reset support

 plugins/mm-modem-mbm.c | 54
 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

commit 89c572e59d736e273576987ccde91f62ce6f4ce5
Author: David Rochberg <rochberg@google.com>
Date:   Tue Jun 22 17:47:07 2010 -0700

    core: add FactoryReset method

    Cleanups and authorization checks by me (dcbw).

 introspection/mm-modem.xml | 11 +++++++++
 src/mm-modem.c             | 57
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem.h             | 10 ++++++++
 3 files changed, 78 insertions(+)

commit 88c538314aab99775c4b496170785d588e60ac6f
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jun 22 17:14:13 2010 -0700

    core: EquipmentIdentity -> EquipmentIdentifier

 introspection/mm-modem.xml |  4 ++--
 src/mm-generic-cdma.c      |  2 +-
 src/mm-generic-gsm.c       |  2 +-
 src/mm-modem-base.c        | 40 +++++++++++++++++++---------------------
 src/mm-modem-base.h        |  6 +++---
 src/mm-modem.c             |  6 +++---
 src/mm-modem.h             |  4 ++--
 7 files changed, 31 insertions(+), 33 deletions(-)

commit 8873c0a7dc6cd02fa487092aeb889464b4dc752d
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Tue Jun 22 16:50:21 2010 -0700

    gsm: add GetOperatorID method

    Returns the ID of the operator that issued the SIM card.

    Cleanups and get_mnc_length_done() by me (dcbw).

 introspection/mm-modem-gsm-card.xml |  14 +++++
 src/Makefile.am                     |   4 +-
 src/mm-charsets.c                   |  57 +----------------
 src/mm-generic-gsm.c                | 122
 +++++++++++++++++++++++++++++++++++-
 src/mm-modem-gsm-card.c             |  54 ++++++++++++++++
 src/mm-modem-gsm-card.h             |   8 +++
 src/mm-plugin-base.c                |  36 ++---------
 src/mm-utils.c                      |  78 +++++++++++++++++++++++
 src/mm-utils.h                      |  24 +++++++
 9 files changed, 309 insertions(+), 88 deletions(-)

commit e442b3b7f13c7a7277b15f0b0cdf5175f4da22f6
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jun 22 14:37:20 2010 -0700

    cdma: implement EquipmentIdentity for CDMA devices

 src/mm-generic-cdma.c | 43 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 42 insertions(+), 1 deletion(-)

commit 52929a2c926eee99e401765446c8f7a9168b38db
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Tue Jun 22 14:36:49 2010 -0700

    core: add modem EquipmentIdentity property to report IMEI/ESN/MEID

 introspection/mm-modem.xml |  7 ++++++
 src/mm-generic-gsm.c       | 43 ++++++++++++++++++++++++++++++++++++
 src/mm-modem-base.c        | 54
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-base.h        |  5 +++++
 src/mm-modem.c             |  8 +++++++
 src/mm-modem.h             |  4 +++-
 6 files changed, 120 insertions(+), 1 deletion(-)

commit c95216e575b1740bf8e28005b36d327da578c44d
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jun 22 14:06:13 2010 -0700

    huawei: add support for UnlockRetries

 plugins/mm-modem-huawei-gsm.c | 147
 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 146 insertions(+), 1 deletion(-)

commit f179a56908f62f59f5e1419d562e5b9219cfbe7d
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Tue Jun 22 14:05:09 2010 -0700

    gsm: add UnlockRetries property

    Which reports the # of attempts remaining for the current PIN required
    by the device or SIM.

    Some modifications/cleanups by dcbw.

 introspection/mm-modem.xml |  7 ++++
 plugins/mm-modem-mbm.c     | 96
 +++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-generic-gsm.c       | 38 ++++++++++++++++++
 src/mm-modem-base.c        | 47 +++++++++++++++++++++++
 src/mm-modem-base.h        |  6 +++
 src/mm-modem-gsm-card.c    | 28 ++++++++++++++
 src/mm-modem-gsm-card.h    | 17 ++++++++
 src/mm-modem.c             |  8 ++++
 src/mm-modem.h             |  4 +-
 9 files changed, 249 insertions(+), 2 deletions(-)

commit adfe264b67ba28effd3fb8378cbcbe2081f6ed49
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jun 22 01:58:54 2010 -0700

    core: ensure claimed ports don't fall back to Generic (rh #597296)

    Found by jklimes.  If some plugin already supports this port, it's
    pointless to let Generic figure out if it supports the port since
    we're just going to hand it to the other plugin anyway.

 src/mm-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a60216f5f44d4ead2fd36a129dee789d2941b02e
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jun 22 01:58:41 2010 -0700

    huawei: use g_timeout_add_seconds()

 plugins/mm-plugin-huawei.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 597f691eb8b12450d8f895f7a25d724eeba6c277
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jun 22 00:55:47 2010 -0700

    gsm: fix handling of SMS options

 src/mm-modem-gsm-sms.c | 1 +
 1 file changed, 1 insertion(+)

commit ea955f64c5ce562a1a73e05d227113e7383c8f58
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jun 16 10:33:09 2010 -0700

    release: bump version to 0.4

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 962a6b0939cd4b3ea7306492cb25f88b77668ef5
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 10 10:41:10 2010 -0700

    core: return errors to outstanding requests when serial ports
    are closed

    Prevents crashes when the callback info completes when the modem is
    removed, plus it's the right thing to do anyway...

 src/mm-serial-port.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

commit 164e5dfd498d2e746014cacbd3cc1a5bbf8528d1
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 7 22:26:20 2010 -0700

    release: bump version to 0.3.998 (0.4-beta2)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 72a1a6caf67a15655ade8dc5eed4f94f86107171
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 7 22:21:01 2010 -0700

    gsm: use PS registration status if CS isn't available

    Some devices (Blackberries) always respond to AT+CREG with ERROR,
    but will respond to AT+CGREG normally.  Ugh.  Handle that by
    using the PS registration status from AT+CGREG if we don't have
    a valid CS registration status at all.

 src/mm-generic-gsm.c | 160
 ++++++++++++++++++++++++++++++++++++---------------
 src/mm-generic-gsm.h |   6 ++
 2 files changed, 120 insertions(+), 46 deletions(-)

commit f4bfd9410680f268bc739f46020a0adb5c41c8e3
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jun 4 19:07:39 2010 -0700

    api: fix U1900 flag description

    From David Rochberg <rochberg@google.com>

 introspection/mm-modem-gsm.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d5b8019d66870ed98d58095fa6b173a880fd3966
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 26 11:43:06 2010 -0700

    serial: fix cleanup of flash function (rh #591728)

    The flash function could be called when the port was closed, and since
    the flash function would only be canceled when the port was open,
    it could trigger after the port object was destroyed.

 src/mm-errors.c      |  1 +
 src/mm-errors.h      |  1 +
 src/mm-serial-port.c | 16 ++++++++++++----
 3 files changed, 14 insertions(+), 4 deletions(-)

commit 6c3ae7d8fd3665eab02aab014c5ea46809312a29
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 25 15:24:47 2010 -0700

    gsm: print simple connect state when debugging

 src/mm-generic-gsm.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

commit 437c4ea8d97157ab704befef223db2d5921e92df
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 25 15:24:27 2010 -0700

    test: add a few more CREG/CGREG responses

 src/tests/test-modem-helpers.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

commit ccd2b7241cfc923fe90bb6e32bf6daf2137c50d7
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 25 14:33:27 2010 -0700

    gsm: list simple-connect properties when debugging

 src/mm-generic-gsm.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

commit d960a8677894355df0a40848878f8f45bbec362b
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 21 09:47:54 2010 -0700

    release: bump version to 0.3.997 (0.4-beta1)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit afebde48683392ccf54f9bd901ab5ac471e94dcb
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 21 09:43:47 2010 -0700

    build: print version on startup and add dist-version

    Distributions should set dist-version at build time with the
    package version and revision, so for RPM-based distros you'd

    --with-dist-version=%{version}-%{release}

    which will be printed out on MM startup to help debugging.

 configure.ac | 8 ++++++++
 src/main.c   | 9 +++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

commit c311c3419cce6cd6c9ce87fd321b4fbbe6666e6d
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu May 20 12:05:50 2010 -0700

    simtech: fix unsolicited access technology parsing

 plugins/mm-modem-simtech-gsm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 481b6539b46d9d96cb0bf7f59c1238c4cb9f9620
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 19 23:33:33 2010 -0700

    api: revise and simplify Location spec

    Simplify the NMEA type and add GPS raw for generic GPS data.

 introspection/mm-modem-location.xml | 89
 +++++++++++++++++++++++++++----------
 1 file changed, 65 insertions(+), 24 deletions(-)

commit ef747c63855be5df3648057ad5fc161e9554bdba
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 18 13:17:49 2010 -0700

    sierra: rework CDMA roaming and registration parsing

    There were a few problems:

    1) If SysMode is present, the registration state it reports should
    be authoritative, but if there was a valid SID the plugin would
    report 'registered' even if SysMode was NO SRV

    2) Turns out that some devices report the roaming values as ERIs,
    not plain yes/no as we thought; reported ERI was being mis-parsed
    as a boolean value.

 plugins/mm-modem-sierra-cdma.c | 102
 +++++++++++++++++++++++++----------------
 1 file changed, 62 insertions(+), 40 deletions(-)

commit 9cbd68e96ccd9bdb32d28548ec34027d3add88c5
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 18 13:04:43 2010 -0700

    cdma: return numeric ERI too

 src/mm-generic-cdma.c  | 2 +-
 src/mm-modem-helpers.c | 4 ++++
 src/mm-modem-helpers.h | 1 +
 3 files changed, 6 insertions(+), 1 deletion(-)

commit 533ffaddc4f09ae2d75a7b092ffe0dd7f8151487
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 18 12:24:42 2010 -0700

    cdma: make ERI parsing generic

 src/mm-generic-cdma.c  |  4 +++-
 src/mm-modem-helpers.c | 10 ++++------
 src/mm-modem-helpers.h |  6 +++---
 3 files changed, 10 insertions(+), 10 deletions(-)

commit 40a4a1d774fc62a43d3b49bbaec728caf0ebba37
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 18 10:13:04 2010 -0700

    simtech: fix plugin build

 plugins/Makefile.am | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit bb4fdef18c1a016734208279895f651c06d11a38
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 18 10:09:13 2010 -0700

    build: default to ppp 2.4.5 headers

    2.4.5 has been out for a long time and fixes a number of bugs
    including
    the DNS bug.  Use it.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 4fd85c14a12d08bac03c7955e70e904760a1348c
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon May 17 23:18:09 2010 -0700

    simtech: add plugin for Simtech-based modems (like A-Link 3GU)

 plugins/77-mm-simtech-port-types.rules |  29 ++
 plugins/Makefile.am                    |  21 +-
 plugins/mm-modem-simtech-gsm.c         | 471
 +++++++++++++++++++++++++++++++++
 plugins/mm-modem-simtech-gsm.h         |  43 +++
 plugins/mm-plugin-simtech.c            | 189 +++++++++++++
 plugins/mm-plugin-simtech.h            |  41 +++
 6 files changed, 793 insertions(+), 1 deletion(-)

commit 6a663c3a48ee3ce12cda2fa9ceeb1e15a90ae745
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Mon May 17 21:59:58 2010 -0700

    mbm: catch *E2NAP error codes too

 plugins/mm-modem-mbm.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 15962279a333d60e3eda6001fb8c836eadd9f542
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon May 17 21:56:45 2010 -0700

    mbm: (trivial) line ending change?

    No idea what git thinks is different about these two lines, they
    strcmp() the same.

 plugins/mm-modem-mbm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 03ae419b003f35eb1b4f4ba0955eb6586009ecd7
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 12 12:48:02 2010 -0700

    gsm: more leniency in +CGDCONT parsing (bgo #617873)

    See also d5ca82eade4c341a18a72e6f16c9db4ee34be4d5

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 52f8ead7c08e95498096591800eab7558fe3353e
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 11 12:22:47 2010 -0700

    trivial: fix comment

 plugins/mm-modem-longcheer-gsm.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b8f0f403499b185c7bd37a19e8bbf907344ac904
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 7 13:56:23 2010 -0700

    core: fix memory leaks

    Since MMModem is an interface and doesn't store stuff like the
    modem's physdev internally (since it's an interface) these things
    are handled via GObject properties.  And since g_object_get()
    returns allocated values, we need to free the returned value
    from mm_modem_get_device() after we're done with it.

 src/mm-manager.c    | 36 +++++++++++++++++++++---------------
 src/mm-modem-base.c |  7 +++++--
 src/mm-modem.c      |  5 ++++-
 3 files changed, 30 insertions(+), 18 deletions(-)

commit e855922b4b6f9f712e91732db1104dbb22faa0e8
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 7 13:50:16 2010 -0700

    cdma: fix handling of empty QCDM frames

 src/mm-qcdm-serial-port.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d0d847c65a7073ecdced95b69548bf97c7af14f6
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 7 13:36:56 2010 -0700

    gsm: try PDP context deactivation on the second port first

    There are some cases where flashing the primary port doesn't work
    either due to stupid modem firmware or crappy kernel drivers.  So
    if we have a secondary port, try sending the PDP deactivation
    command to the secondary port first, and if that fails send it
    to the primary port after the primary port gets flashed.  This
    increases the chances that the +CGACT request will be successful.

    Some modems (Huawei, ZTE) don't like +CGACT on the secondary port,
    but when that fails, the code falls back to previous behavior of
    flashing and sending CGACT to the primary port.

 src/mm-generic-gsm.c | 106
 +++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 86 insertions(+), 20 deletions(-)

commit 0f6f381e87f81fca3e9808a1fbdfbdbe2fea42e0
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 7 11:16:57 2010 -0700

    qcdm: generic functions for band_class/prev conversion

 libqcdm/src/commands.c | 137
 ++++++++++++++++++++++++-------------------------
 1 file changed, 67 insertions(+), 70 deletions(-)

commit d5ca82eade4c341a18a72e6f16c9db4ee34be4d5
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu May 6 16:04:15 2010 -0700

    gsm: be more lenient in +CGDCONT parsing (bgo #617873)

    Some phones like the T630 don't put a space after the ':'.

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fb965695eca76594b1717c2a25c66d456594509e
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 7 04:58:22 2010 -0700

    qcdm: add Novatel Modem Snapshot command support

 libqcdm/src/commands.c        | 154
 ++++++++++++++++++++++++++++++++++++++++++
 libqcdm/src/commands.h        |  68 +++++++++++++++++++
 libqcdm/src/dm-commands.h     |  84 +++++++++++++++++++++--
 libqcdm/tests/test-qcdm-com.c | 138 ++++++++++++++++++++++++++++++++++++-
 libqcdm/tests/test-qcdm-com.h |   2 +
 libqcdm/tests/test-qcdm.c     |   1 +
 6 files changed, 438 insertions(+), 9 deletions(-)

commit 14442c1a5b00906986a8f703dda9eee8c6947514
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri May 7 02:06:48 2010 -0700

    qcdm: add comment

 libqcdm/src/dm-commands.h | 1 +
 1 file changed, 1 insertion(+)

commit 425c28dfc1d24126feab432609f2c525069d577e
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu May 6 15:28:43 2010 -0700

    longcheer: handle TAMobile/Alcatel X060s vendor ID too

    These are Longcheer-based devices, but the vendor ID is different.
    We had tagged the X060s' ports in the rules but never updated the
    plugin to handle the different vendor ID.

 plugins/mm-plugin-longcheer.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 246817fe546490df8e6f5e4e85cc93e01927bda4
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 5 15:49:33 2010 -0700

    serial: fix possible segfault handing port-full signals

    The argument passed to the handler is a GByteArray, not a
    GString.  Encountered with Option iCON Icera-based devices,
    but could also be possible with Sierra devices.

 src/mm-plugin-base.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 9a6aa0c10d8354a646daf49db4ec2b99383839aa
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 5 15:47:14 2010 -0700

    option/hso: eat +PACSP0 unsolicited response

    Interfered with initial PIN checking in some cases.

 plugins/mm-modem-hso.c    |  4 ++++
 plugins/mm-modem-option.c | 10 +++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

commit f63188eb261e631f929a6c47feb85b8ed9985856
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed May 5 01:04:20 2010 -0700

    core: log modem data port

 src/mm-manager.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 885bc90be91f44f4e2aeb837f40aafcce3089789
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 4 17:33:04 2010 -0700

    gsm/cdma: fix data port assignment (rh #587400)

    QCDM ports should never be the data port; 'net' ports take precedence
    over AT ports too.  Clarify that.

 src/mm-generic-cdma.c | 14 ++++++++++----
 src/mm-generic-gsm.c  | 16 +++++++++++-----
 2 files changed, 21 insertions(+), 9 deletions(-)

commit 26a3fe3f53b4a053035ea4f1c1a67eed7fe2761f
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 4 17:31:22 2010 -0700

    trivial: use property name constant

 src/mm-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 13b82e5d1c4d456fa1a0a4f6ee8f9adb0abb8a17
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 4 17:31:01 2010 -0700

    trivial: tweak debug message

 src/mm-modem-base.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit 565d9343f6705b34d9f53c4a2404f681553dce19
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 4 16:58:44 2010 -0700

    core: print out port type when port is claimed

 src/mm-modem-base.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 0c3961441b0f7820a928e24c4063110494bdab9f
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue May 4 16:58:18 2010 -0700

    core: add port type -> string conversion helper for debuggin messages

 src/mm-port.c | 20 ++++++++++++++++++++
 src/mm-port.h |  2 ++
 2 files changed, 22 insertions(+)

commit f0e0861aa4d823418695dc8096dffebb26c29849
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat May 1 22:44:00 2010 -0700

    longcheer: add support for access technology and allowed modes

 plugins/Makefile.am              |   4 +-
 plugins/mm-modem-longcheer-gsm.c | 222
 +++++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-longcheer-gsm.h |  43 ++++++++
 plugins/mm-plugin-longcheer.c    |   9 +-
 4 files changed, 273 insertions(+), 5 deletions(-)

commit da8cf4a7c2931eee9c0ff44b07e4044bb796600b
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat May 1 22:42:58 2010 -0700

    gsm: use generic string -> access technology helper

 plugins/mm-modem-novatel-gsm.c | 29 ++++++-----------------------
 plugins/mm-modem-sierra-gsm.c  | 29 ++++++-----------------------
 plugins/mm-modem-zte.c         | 30 ++----------------------------
 3 files changed, 14 insertions(+), 74 deletions(-)

commit 576992966857091c86d58a542dc991d1a44d7769
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat May 1 22:41:33 2010 -0700

    helpers: add generic helper for string -> access technology

 src/mm-modem-helpers.c | 31 +++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h |  3 +++
 2 files changed, 34 insertions(+)

commit de5f1bd4e99549e95b449c3e058a3db4808e31a7
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat May 1 22:34:59 2010 -0700

    core: clear error before use

 src/mm-serial-port.c | 1 +
 1 file changed, 1 insertion(+)

commit 4c3eedd955e3389b5636243d0ca3d85e7aeb1273
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat May 1 11:15:49 2010 -0700

    longcheer: add more Zoom product tags (4595, 4596, etc)

 plugins/77-mm-longcheer-port-types.rules | 35
 ++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

commit c6cb5acfe172a9111d6ef111052e496a1f97d073
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 30 00:44:24 2010 -0700

    gsm: periodically poll access technology too

    Not all devices support unsolicited responses for access technology,
    so lets poll it periodically along with registration state and
    signal quality.

 src/mm-generic-gsm.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit de86b71b3d0376d7483dff2ac21cfe701f35ac42
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 30 00:35:30 2010 -0700

    zte: fix getting GSM allowed mode

 plugins/mm-modem-zte.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 30473ce7c9868528faf05923b676e23da9c19137
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 30 00:32:54 2010 -0700

    novatel: implement allowed modes and access technology

 plugins/mm-modem-novatel-gsm.c | 216
 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 215 insertions(+), 1 deletion(-)

commit bfe3dd49edb2c89fee01c141c8c7eec490b665d5
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Apr 29 21:15:17 2010 -0700

    core: refcount serial port open/close

    This specifically fixes a regression with Novatel GSM secondary
    AT port enablement, where the inital pin check closed the port
    before the Novatel plugin could send the command to flip secondary
    ports to AT mode.

    But it's useful elsewhere too, and simplifies a bunch of the PIN
    checking code which had to use various ugly methods to track whether
    to close the port or not after checking the PIN.

 plugins/mm-modem-novatel-gsm.c |  5 +--
 src/mm-generic-cdma.c          |  6 ++--
 src/mm-generic-gsm.c           | 80
 ++++++++++++++++-------------------------
 src/mm-serial-port.c           | 82
 +++++++++++++++++++++++++++++++-----------
 src/mm-serial-port.h           |  8 ++++-
 5 files changed, 106 insertions(+), 75 deletions(-)

commit 26a51d6ab9a7bc70840e8a1d30f5e3bb777d9f25
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Apr 29 19:40:41 2010 -0700

    gsm: try both CREG and CGREG during initial registration checking

    Some devices (Blackberries via DUN) appear to always return an error
    for  AT+CREG, which is valid in some cases.  If that happens lets also
    try AT+CGREG too, which on these devices responds with the correct
    packet data registration state.

 src/mm-generic-gsm.c | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

commit a13becc225c8ed0347f00447d937804a6666f0bc
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Apr 29 18:59:11 2010 -0700

    core: timestamp debug statements

 src/mm-at-serial-port.c   |  8 +++++++-
 src/mm-modem.c            | 21 +++++++++++++++++----
 src/mm-port.c             | 11 +++++++++++
 src/mm-qcdm-serial-port.c |  8 +++++++-
 4 files changed, 42 insertions(+), 6 deletions(-)

commit fbfb7f895362331532e9cc4d7f02c8ffcf6b061e
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Apr 29 18:57:49 2010 -0700

    novatel: let generic CDMA class handle signal strength while connected

    Instead of returning an unhelpful error when there isn't a second
    AT port (which there never will be for Novatel CDMA devices) we should
    let the superclass handle the request.

 plugins/mm-modem-novatel-cdma.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

commit 1864d8da0766e615c37a13f30bcacb72d381aa69
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Apr 29 12:17:56 2010 -0700

    core: add platform device support and whitelist

 src/77-mm-platform-serial-whitelist.rules | 14 ++++++++++++++
 src/Makefile.am                           |  3 ++-
 src/mm-manager.c                          | 18 ++++++++++++++++--
 3 files changed, 32 insertions(+), 3 deletions(-)

commit 921048b12e1e8203cbff6dfbe43e833ea6bb8232
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Thu Apr 29 11:28:19 2010 -0700

    mbm: add Dell 5541 and 5542

 plugins/77-mm-ericsson-mbm.rules | 4 ++++
 1 file changed, 4 insertions(+)

commit a4c094c340e0c93149a4e9042db4a88f9800467f
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Apr 24 23:44:35 2010 -0700

    core: fix serial error #defines

    Should have ERROR in them.

 plugins/mm-modem-hso.c |  2 +-
 plugins/mm-modem-mbm.c |  6 ++----
 plugins/mm-modem-zte.c |  2 +-
 src/mm-errors.c        | 10 +++++-----
 src/mm-errors.h        |  8 ++++----
 src/mm-plugin-base.c   |  6 +++---
 src/mm-serial-port.c   | 16 ++++++++--------
 7 files changed, 24 insertions(+), 26 deletions(-)

commit b9bb12a01e0fd0251475622cf2adc3ca04ba7bd0
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Apr 24 23:40:24 2010 -0700

    core: flash failure on disconnect shouldn't be a hard error (rh
    #578280)

 plugins/mm-modem-zte.c |  2 +-
 src/mm-errors.c        |  1 +
 src/mm-errors.h        |  3 ++-
 src/mm-generic-cdma.c  |  6 +++---
 src/mm-generic-gsm.c   |  6 +++---
 src/mm-plugin-base.c   |  2 +-
 src/mm-serial-port.c   | 18 ++++++++++++++----
 src/mm-serial-port.h   |  1 +
 8 files changed, 26 insertions(+), 13 deletions(-)

commit 411051b1f37d16d8fa0866e7a1bee0a553029956
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Apr 24 23:16:45 2010 -0700

    mbm: add Sony Ericsson MD400 device IDs

 plugins/77-mm-ericsson-mbm.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 01cb6360f8bdf9b7d844257938f7bb2a016f404c
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Apr 24 23:12:16 2010 -0700

    cdma: prevent crash on modem removal (rh #571921)

 src/mm-generic-cdma.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 44deca2c5a9b7414d2e65fc62f87f67df3066810
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 9 19:38:22 2010 -0700

    core: blacklist Gemplus smarcard reader (bgo #608022)

 src/77-mm-pcmcia-device-blacklist.rules | 10 ++++++++++
 src/Makefile.am                         |  3 ++-
 2 files changed, 12 insertions(+), 1 deletion(-)

commit 78c232c2d1901aee15a2d304e838443c9b1d37ba
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 9 19:32:47 2010 -0700

    core: actually ignore blacklisted devices

 src/mm-manager.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 387b64a92bc480f949e647509772644a72e93e5a
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 9 19:22:19 2010 -0700

    core: allow blacklisting various devices (rh #544121) (bgo #608022)

 src/77-mm-usb-device-blacklist.rules | 66
 ++++++++++++++++++++++++++++++++++++
 src/Makefile.am                      |  9 ++++-
 2 files changed, 74 insertions(+), 1 deletion(-)

commit c96e7367001032b83a1f8313bf88c76623b68fc9
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 9 19:03:03 2010 -0700

    test: fix lsudev crash

 test/lsudev.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

commit 41ca10e92d08c06602ae08790329878c2152b9b3
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 9 17:33:22 2010 -0700

    core: get correct PCMCIA master device

    The master device of PCMCIA-provided ports is typically the
    last device in the PCMCIA subsystem, because the PCMCIA
    controller is usually a PCI device or some other subsystem.

 src/mm-manager.c | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

commit da74f6d8ec1c6dbec227f3c0679eb3e25a510277
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 9 17:10:57 2010 -0700

    gsm: recheck modem lock status a few times after sending unlock
    request (bgo #613490)

    Some devices (ZTE MF110 for example) respond immediately to the unlock
    request, but in reality take a bit of time before they are actually
    unlocked.  Check PIN status a few times after sending the unlock.

 src/mm-generic-gsm.c | 54
 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 53 insertions(+), 1 deletion(-)

commit 0d381e2f11cbc3bdb7c7e69bc4c7169a9d247d3c
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Apr 9 13:50:45 2010 -0700

    gsm: fix CSCS=? parsing and add testcases

    Some devices (at least one Blackberry we know about) don't include
    the () around the response.  Handle that and add testcases for it.

 src/Makefile.am                |  6 ++--
 src/mm-charsets.c              | 21 ++++++------
 src/mm-generic-gsm.c           | 37 ++--------------------
 src/mm-modem-helpers.c         | 72
 ++++++++++++++++++++++++++++++++++++------
 src/mm-modem-helpers.h         |  4 +++
 src/tests/test-modem-helpers.c | 66
 ++++++++++++++++++++++++++++++++++++++
 6 files changed, 151 insertions(+), 55 deletions(-)

commit b51a9d27e5a793b4e33bfdd7999e7204c408f154
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 7 15:11:32 2010 -0700

    gsm: don't require +CMEE=1 success

    Some devices apparently don't like it (even though it's required
    in the standards) and since we can deal without it, don't require
    +CMEE=1 to complete successfully.

 src/mm-generic-gsm.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit 7aeac2f64628cb99ad35e113c36cc69df6aa9a07
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 7 15:04:32 2010 -0700

    mbm: fix getting current allowed mode

 plugins/mm-modem-mbm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f3dd034aadd16d42f93a682b15a7801537e89d7d
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 5 18:46:53 2010 -0700

    cdma: fix subclass registration state checking in error paths
    (rh #569067)

    The generic CDMA superclass already checks minimal registration state,
    and when some of the additional query_registration_state() subclass
    checks
    were being performed, if the device returned an error (if it didn't
    support
    the subclass' specific registration command like *STATE or ^SYSINFO)
    the
    superclass' registration state checks would be thrown away.

    Fix that by specifying the behavior of the subclass'
    query_registration_state() methods to ignore most errors and leave the
    superclass' registration state intact if a non-critical error occurs.

 plugins/mm-modem-anydata-cdma.c |  45 +++--------
 plugins/mm-modem-huawei-cdma.c  |  26 +++----
 plugins/mm-modem-sierra-cdma.c  |   8 +-
 src/mm-generic-cdma.c           | 168
 ++++++++++++++++++++++++----------------
 src/mm-generic-cdma.h           |  26 +++++++
 5 files changed, 153 insertions(+), 120 deletions(-)

commit 49c363d83af84021f74f04c8141313d21e75821b
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 5 12:26:12 2010 -0700

    core: fix handling of deferred ports during probe

    The next plugin logic was wrong when a previous plugin had already
    claimed support for the port and the Generic plugin was next.  In
    that case, the code failed to call the functions to actually grab
    the port.

 src/mm-manager.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

commit 0108a36d27b84dee2bf1934f6d5403b7d683099a
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 5 12:01:54 2010 -0700

    serial: let port subclasses handle their own debug logging

    We want to print out QCDM messages as hex, not ASCII.  So let
    each port type print out it's own communication as it wants to.

 src/mm-at-serial-port.c   | 32 ++++++++++++++++++++++++++++++++
 src/mm-qcdm-serial-port.c | 19 +++++++++++++++++++
 src/mm-serial-port.c      | 36 ++++--------------------------------
 src/mm-serial-port.h      |  5 +++++
 4 files changed, 60 insertions(+), 32 deletions(-)

commit bac945a8e4c1176d75f6c7d6622a516f673aaf65
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 5 11:15:09 2010 -0700

    core: fix supports check for last plugin (rh #579247)

    Since Generic is always last, it was getting ignored by this
    off-by-one bug caused by a previous patch.

 src/mm-manager.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit a55265f03a378dd34df1e509b76888a18e0b434f
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 5 10:47:14 2010 -0700

    gsm: clean up periodic poll start/stop and poll signal strength

 src/mm-generic-gsm.c | 41 +++++++++++++++++++++++++++++++++++++----
 1 file changed, 37 insertions(+), 4 deletions(-)

commit 7da2b5cb6aa16531f1d6b9ea905442338c858ebd
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 5 10:38:39 2010 -0700

    cdma: clean up periodic poll start/stop

    And fix a small bug where polling wasn't started for the ENABLED
    state.

 src/mm-generic-cdma.c | 27 +++++----------------------
 1 file changed, 5 insertions(+), 22 deletions(-)

commit 9112180f8ad36ee7da5eeb6012709c278a4e113b
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Apr 5 09:58:12 2010 -0700

    cdma: periodically poll registration state and quality

 src/mm-generic-cdma.c | 70
 +++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 62 insertions(+), 8 deletions(-)

commit 2f1fbfb52039813283add147f79f287d6dc3f3df
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Apr 4 09:17:08 2010 -0700

    core: only enable location API for dbus-glib >= 0.86

 configure.ac            | 15 +++++++++++++++
 src/Makefile.am         | 23 ++++++++++++++++-------
 src/mm-modem-location.c | 10 ++++++++++
 3 files changed, 41 insertions(+), 7 deletions(-)

commit f39afdd5f7c5d6ed56dd7a00ddb13de12dcda5b8
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 31 20:24:12 2010 -0700

    qcdm: fix endian issues for BE platforms

    And add a testcase for packet encapsulation to ensure we don't
    have further endian issues in the future.

 libqcdm/src/utils.c             |  8 +++++---
 libqcdm/tests/test-qcdm-utils.c | 27 +++++++++++++++++++++++++--
 libqcdm/tests/test-qcdm-utils.h |  2 ++
 libqcdm/tests/test-qcdm.c       |  1 +
 4 files changed, 33 insertions(+), 5 deletions(-)

commit 4d89b519b4c889859a84780a18dbb2f12c9a9438
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 31 03:05:22 2010 -0700

    core: don't advance to next plugin until needed

    Otherwise info->cur_plugin is wrong (and therefore we left uncleared
    supports tasks in MMPluginBase) when the port isn't supported by
    the plugin, but it's parent modem device was supported by the plugin.
    Like when all probing of the port fails but one of it's siblings has
    already been claimed by a modem; in this case we just drop the port
    (so that no other plugin could try to claim it, because only one
    plugin is allowed to handle all a modem's ports) but we still need
    to tell the parent modem's plugin to clean up the supports task.

 src/mm-manager.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

commit 40a713be6f8e8a40be7a72f674db5f105c59e8a2
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 30 23:36:08 2010 -0700

    core: pass try_supports_port() the existing modem

 src/mm-manager.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

commit 4753f7360b7809e4efc62bcff6d5d1194524b83f
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 30 23:28:26 2010 -0700

    core: don't re-export modems after
    db413acc4e9d364e1c4ecdde0da3fade012912ab

    If a port is found by the kernel after the modem is already exported,
    make sure we don't re-export the modem after the tardy port is
    handled.

 src/mm-manager.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit d2e12742c4bbeb093634f8257f7c009722e633cf
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 30 17:28:13 2010 -0700

    cdma: use best active pilot EC/IO for signal strength when connected

    If the modem doesn't have two AT ports (so one can be used for AT+CSQ
    while connected) get the 1x active pilot's EC/IO and use that for
    signal strength.

 src/mm-generic-cdma.c | 81
 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 77 insertions(+), 4 deletions(-)

commit db413acc4e9d364e1c4ecdde0da3fade012912ab
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 30 16:06:55 2010 -0700

    core: only export modems when all ports are handled

    A modem is now only exported to D-Bus when both of the following
    are true:

    1) the modem is valid
    2) all ports the modem provides have been handled by appropriate
    plugins

    This ensures that all the modem's ports are completely ready before
    any clients can do anything with it.  In the case of CDMA modems with
    QCDM ports, this allows the QCDM ports to be detected before exporting
    the modem.  Since the QCDM detection comes after AT probing,
    previously
    this resulted in a CDMA modem getting exported to clients before
    we had
    a QCDM port to query for registration status.

 src/mm-manager.c | 196
 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 152 insertions(+), 44 deletions(-)

commit df08f6a43ff8acc617f7330d25450a3a62809ffb
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 30 15:03:35 2010 -0700

    core: find the existing modem for a port in the manager

 src/mm-manager.c     | 10 +++++++++-
 src/mm-plugin-base.c | 50
 ++++----------------------------------------------
 src/mm-plugin-base.h |  3 ---
 src/mm-plugin.c      |  5 ++++-
 src/mm-plugin.h      |  4 ++++
 5 files changed, 21 insertions(+), 51 deletions(-)

commit 720e38aec0a50aa2136f01b7f3620a4e261c0406
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 30 14:50:40 2010 -0700

    core: move physical device checking into the manager

    It turns out that the manager needs to know about the physical
    device so we can prevent multiple plugins from claiming ports on
    the same modem.

 plugins/mm-plugin-anydata.c   |  11 +----
 plugins/mm-plugin-generic.c   |  11 +----
 plugins/mm-plugin-gobi.c      |  11 +----
 plugins/mm-plugin-hso.c       |  11 +----
 plugins/mm-plugin-huawei.c    |  11 +----
 plugins/mm-plugin-longcheer.c |  11 +----
 plugins/mm-plugin-mbm.c       |  34 ++++++++-----
 plugins/mm-plugin-moto-c.c    |  11 +----
 plugins/mm-plugin-nokia.c     |  11 +----
 plugins/mm-plugin-novatel.c   |  11 +----
 plugins/mm-plugin-option.c    |  11 +----
 plugins/mm-plugin-sierra.c    |  11 +----
 plugins/mm-plugin-zte.c       |  11 +----
 src/mm-manager.c              | 109
 +++++++++++++++++++++++++++++++++++-------
 src/mm-plugin-base.c          |  77 +++++++----------------------
 src/mm-plugin-base.h          |   9 +---
 src/mm-plugin.c               |   9 +++-
 src/mm-plugin.h               |   2 +
 18 files changed, 164 insertions(+), 208 deletions(-)

commit 39326f249105b7d71c63125f29e3bee2143a82d2
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 30 01:01:53 2010 -0700

    cdma: use DM for serving system if possible

 src/mm-generic-cdma.c | 85
 +++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 72 insertions(+), 13 deletions(-)

commit a7e7854171e5029e43b2442c9e25814b59cd7c67
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 30 00:57:15 2010 -0700

    qcdm: don't fail testcase on unknown mode pref values

    EC168C has a value of 0x16 for mode pref, which is unknown.  But
    that shouldn't fail the testcases.

 libqcdm/tests/test-qcdm-com.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 41c2e0a946f6d0d14805cdea60d5d03ec67f3fb2
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 30 00:48:55 2010 -0700

    qcdm: add CM subsystem digital only mode preference

    Found on the Huawei EC121.

 libqcdm/src/commands.h        | 1 +
 libqcdm/tests/test-qcdm-com.c | 3 +++
 2 files changed, 4 insertions(+)

commit fc33616ae2101f679f9be6c58e0a8e620d63d8f3
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 30 00:38:14 2010 -0700

    qcdm: fix testcases for various devices

    Huawei EC121 doesn't implement the MDN NV item, and we're also missing
    some values for the CM subsystem mode pref enum.

 libqcdm/tests/test-qcdm-com.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 0ae176c63c8686cd3a86b7933be5ae3546782475
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 30 00:32:05 2010 -0700

    qcdm: add Pilot Set retrieval for signal strength calculations

    Determined from various sources including RTManager and
    "Technical Introduction to CDMA" (Course RF100 Chapter 7).

 libqcdm/src/commands.c        | 122
 ++++++++++++++++++++++++++++++++++++++++++
 libqcdm/src/commands.h        |  28 ++++++++++
 libqcdm/src/dm-commands.h     |  16 ++++++
 libqcdm/tests/test-qcdm-com.c |  54 +++++++++++++++++++
 libqcdm/tests/test-qcdm-com.h |   2 +
 libqcdm/tests/test-qcdm.c     |   1 +
 6 files changed, 223 insertions(+)

commit cff40ac4724780e73f47af4f17cba952ab1ed680
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 30 00:29:31 2010 -0700

    qcdm: allow result objects to hold boxed types

 libqcdm/src/result-private.h | 10 ++++++++++
 libqcdm/src/result.c         | 44
 +++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 53 insertions(+), 1 deletion(-)

commit 71c6fa79f77a5475d03e276ddd782decf1f00fa4
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 29 16:42:53 2010 -0700

    qcdm: fix CRC checking on some packets

    Should be pointing to the CRC location in the *unescaped* packet
    buffer since the CRC is subject to escaping/unescaping.  Previous
    code pointed to the wrong location in the escaped packet buffer,
    which was often pointing to the write place if there weren't many
    escaped bytes in the input buffer, but was still wrong.

 libqcdm/src/utils.c             |  2 +-
 libqcdm/tests/Makefile.am       |  2 ++
 libqcdm/tests/test-qcdm-utils.c | 63
 +++++++++++++++++++++++++++++++++++++++++
 libqcdm/tests/test-qcdm-utils.h | 24 ++++++++++++++++
 libqcdm/tests/test-qcdm.c       |  2 ++
 5 files changed, 92 insertions(+), 1 deletion(-)

commit 2f099e2964040e5499f332a892352f148f5b0177
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 29 00:23:07 2010 -0700

    qcdm: complete Version Info command fields

    Found in RTManager

 libqcdm/src/dm-commands.h | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit a98fa8a4b3419a233b80ff88da40b515afa9cb1c
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 29 00:08:46 2010 -0700

    qcdm: fix up CDMA Status command fields and values

    Found in two sources:
    a) Руководство пользования тестером
    CDMA-450
    b) RTManager

 libqcdm/src/commands.c        |  3 +++
 libqcdm/src/commands.h        | 22 +++++++++++++----
 libqcdm/src/dm-commands.h     | 18 ++++++++++----
 libqcdm/tests/test-qcdm-com.c | 56
 +++++++++++++++++++++++++++++++++++++++++--
 4 files changed, 87 insertions(+), 12 deletions(-)

commit 98e8108ac2a2fe4d5fab254b07170ae3ffeb0ad4
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 28 23:39:19 2010 -0700

    qcdm: update CM subsys system modes

 libqcdm/src/commands.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 4d426ebbbd210795e31869225f895257c3546112
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 28 09:30:16 2010 -0700

    gsm: only set auto registration if the modem isn't idle (related:
    bgo #591047)

    Some modems (Huawei E1552) appear to have problems with auto
    registration
    in some circumstances that we don't yet fully understand, such
    that when
    AT+COPS=0 is sent they never end up registering with the correct
    network.
    As a minor workaround, if the modem is already registered with
    a provider
    and the user hasn't specified manual registration, don't set auto
    registration but let the modem figure it out itself.

    See (bgo #591047) for more details.

 src/mm-generic-gsm.c | 33 ++++++++++++++++++++++++++++-----
 1 file changed, 28 insertions(+), 5 deletions(-)

commit fe69ab4210bfacda97257b6a08e85f6ce433f7d0
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 28 09:12:17 2010 -0700

    huawei: ensure modem ports get claimed even if probe fails

    Previously there was an issue where if the probe failed, because
    we can't really probe huawei secondary ports for various reasons,
    the Generic plugin would eventually come around and try actively
    probing the secondary port after the Huawei plugin said "I don't
    support this port".  Which resulted (potentially) in two MMModem
    objects for the same device (one driven by Huawei, the other by
    Generic).

 plugins/mm-plugin-huawei.c | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

commit b876182fe60401eae86267f8cf1c6726a7a0eddc
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 26 01:27:49 2010 -0700

    zte: implement GSM solicited access technology request

 plugins/mm-modem-zte.c | 97
 +++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 77 insertions(+), 20 deletions(-)

commit 23986f8b0e8ff10ac2946e30290b79f3b4e4af8e
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 26 01:15:20 2010 -0700

    huawei: implement GSM solicited access technology request

 plugins/mm-modem-huawei-gsm.c | 91
 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 91 insertions(+)

commit a50708dbeaea06e71ac96d2cc9d48257ed12f993
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 26 00:27:30 2010 -0700

    sierra: implement GSM solicited access technology request

 plugins/mm-modem-sierra-gsm.c | 64
 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 63 insertions(+), 1 deletion(-)

commit 3d12055818d31b0fa08425d33cf43f50e0439333
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 26 00:16:24 2010 -0700

    gsm: ensure solicited access technology is valid before using it

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 843a772b4c1f65f4c04d1382a4b1ee69e8fcf22c
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 26 00:14:47 2010 -0700

    option/hso: implement solicited access technology request

 plugins/mm-modem-hso.c          |   9 +++
 plugins/mm-modem-option-utils.c | 130
 ++++++++++++++++++++++++++++++++--------
 plugins/mm-modem-option.c       |   9 +++
 3 files changed, 124 insertions(+), 24 deletions(-)

commit a83dcdba8a154e32e7112434a96f588dac3303f1
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 26 00:14:23 2010 -0700

    gsm: update access technology on successful registration

 src/mm-generic-gsm.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 4dbc2f2e9b840e34c23a56ab698799a9b9c3195b
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 25 13:47:30 2010 -0700

    gsm: fix wrong comparison

    Bug didn't have much of an effect, but should be fixed anyway.

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0b9c173fe97cca9f57ef9fe3b9fcbd08e10becbc
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 23 14:37:01 2010 -0700

    core: assume +CPIN "READY" response indicates GSM capability
    (rh #573510)

    Assume (for now) that devices that respond to AT+CPIN without an
    error are GSM devices.  This may not be 100% true as some devices
    in Asia (where CDMA devices use RUIMs which are basically SIMs)
    support
    +CPIN for unlocking the RUIM, but since CDMA devices more consistently
    implement AT+GCAP and ATI than we should be safe for a while.

 src/mm-plugin-base.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit e7d1e4adb9bf984736ae2bfadbdd616ebc6ade80
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 23 02:10:58 2010 -0700

    cdma: use DM Call Manager for registration status if available

    This should solve problems with users who's providers are EVDO
    only and thus the device isn't in 1X mode, but who's modems
    don't set anything meaningful for CAD or CSS when the 1X radio
    isn't registered.  Previously, MM would just spin thinking it
    wasn't registered when trying to connect.

    This was mostly found with AnyDATA, Huawei, and some ZTE devices
    from Russia and India.

 src/mm-generic-cdma.c | 84
 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 82 insertions(+), 2 deletions(-)

commit bcfb75d88de4679d1ca2dfc65395c49315534ec0
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 23 01:36:00 2010 -0700

    core: grab probed QCDM ports for plugins where they are useful

 plugins/mm-plugin-anydata.c   | 19 ++++++++++++-------
 plugins/mm-plugin-generic.c   | 17 +++++++++++------
 plugins/mm-plugin-gobi.c      | 10 ++++------
 plugins/mm-plugin-huawei.c    |  4 ++++
 plugins/mm-plugin-longcheer.c | 15 +++++++++------
 plugins/mm-plugin-moto-c.c    | 20 ++++++++++++--------
 plugins/mm-plugin-nokia.c     | 10 ++++------
 plugins/mm-plugin-novatel.c   | 17 +++++++++++------
 plugins/mm-plugin-option.c    | 13 +++++++------
 plugins/mm-plugin-sierra.c    | 11 ++++-------
 plugins/mm-plugin-zte.c       | 17 ++++++++++-------
 src/mm-generic-cdma.c         | 26 +++++++++++++++++++++++---
 src/mm-generic-gsm.c          | 13 +++++++++++--
 src/mm-modem-base.c           | 10 +++++++---
 src/mm-plugin-base.c          |  4 ++--
 src/mm-port.h                 |  3 ++-
 16 files changed, 133 insertions(+), 76 deletions(-)

commit c36aacee0a287f1d9b7365fd79a48555b92e1356
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 22 22:28:36 2010 -0700

    qcdm: use tcsetattr/tcgetattr for better compatibility

    With Alpha, mainly.

 libqcdm/src/com.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

commit 76130862ed0aefce244e98a740c826a3452857e6
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 22 15:41:14 2010 -0700

    core: cleanly disable modems on shutdown

 src/main.c       | 10 +++++++++
 src/mm-manager.c | 65
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-manager.h |  4 ++++
 3 files changed, 79 insertions(+)

commit 9e8a0fda9fb63e7db824e5d86fd3b99d52974327
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 22 15:05:45 2010 -0700

    option/hso: ensure unsolicited messages get turned off on disable

 plugins/mm-modem-hso.c          | 42 +++++++++++++++++++++++++---------
 plugins/mm-modem-option-utils.c | 31 ++++++++++++++++++++-----
 plugins/mm-modem-option.c       | 50
 ++++++++++++++++++++++++++++++++++++-----
 3 files changed, 102 insertions(+), 21 deletions(-)

commit 7a5ba2e0990753b3e41a9fc3a95f743dec4f7160
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 22 15:03:58 2010 -0700

    option/hso: make use of unsolicited access technology signals

 plugins/mm-modem-option-utils.c | 141
 +++++++++++++++++++++++++++-------------
 1 file changed, 96 insertions(+), 45 deletions(-)

commit 282ba6561e078b533ed4a38b77a36e23181c04ca
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 22 14:56:47 2010 -0700

    gsm: fix argument validation in SetAllowedMode

 src/mm-modem-gsm-network.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 6ab36bacf3a940beb9c452197726650f53842329
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 22 13:03:53 2010 -0700

    qcdm: add ZTE signal strength request

 libqcdm/src/commands.c        | 37 +++++++++++++++++++++++++++++++++++++
 libqcdm/src/commands.h        | 12 ++++++++++++
 libqcdm/src/dm-commands.h     | 15 +++++++++++++++
 libqcdm/tests/test-qcdm-com.c | 36 ++++++++++++++++++++++++++++++++++++
 libqcdm/tests/test-qcdm-com.h |  2 ++
 libqcdm/tests/test-qcdm.c     |  1 +
 6 files changed, 103 insertions(+)

commit 7fbe4d83830ded45d7e2c2d71f22fa78e221226c
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 22 00:28:21 2010 -0700

    cdma: check SPSERVICE and SPERI when getting registration state

 src/mm-generic-cdma.c  | 130 +++++++++++++++++++++------
 src/mm-modem-helpers.c | 233
 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h |   4 +
 3 files changed, 342 insertions(+), 25 deletions(-)

commit 3b32e2a679f37b3913a12097581b065013d91f47
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 21 17:50:45 2010 -0700

    cdma: check for +SPSERVICE and $SPERI

    Which are Sprint-specific commands which appear to be implemented by
    various phones for getting access technology and roaming status.

 src/mm-generic-cdma.c  | 26 ++++++++++++++++++++++++++
 src/mm-modem-helpers.c | 37 +++++++++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h |  6 ++++++
 3 files changed, 69 insertions(+)

commit 6598d2ef7f501feb799652db0ebaf25e4cba1a45
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 21 17:48:19 2010 -0700

    core: parse the right thing on QCDM version info response

 src/mm-plugin-base.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 96f5400cc92589f6419b9dc961d7c3cff97f7f2a
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 21 17:47:15 2010 -0700

    core: fix error when unescaping QCDM packet fails

 src/mm-qcdm-serial-port.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit f3e660444c70ea35bdb7f6358301450ec15d0140
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 20 00:58:14 2010 -0700

    core: fix 64-bit build error in QCDM packet decapsulation

 src/mm-qcdm-serial-port.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 88c1423838938397d983823b57b614b386d0b5b3
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 20 03:53:44 2010 -0700

    qcdm: clarify note about CM state vs. roam/mode pref values

 libqcdm/src/commands.h | 3 +++
 1 file changed, 3 insertions(+)

commit c03556f820797584a4657e7c214afa0b7762bd7d
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 20 03:53:31 2010 -0700

    qcdm: fix up testcase output

 libqcdm/tests/test-qcdm-com.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

commit 2e62a2e0a61d3de8ce809203c98b3890f627b9b9
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 20 03:39:10 2010 -0700

    core: probe ports for QCDM capability too

 src/mm-plugin-base.c | 141
 +++++++++++++++++++++++++++++++++++++++++++++++----
 src/mm-plugin-base.h |   1 +
 2 files changed, 131 insertions(+), 11 deletions(-)

commit 418ba174dc4aa1a3b34d191684cf04dbe9d45b2f
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 20 03:38:54 2010 -0700

    qcdm: fix decapsulation buffer size calculation

 src/mm-qcdm-serial-port.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ff2182fe1d1fdc6817835839c062129d1adb629d
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 20 02:57:33 2010 -0700

    core: let partial serial responses be consumed by the handlers

 src/mm-at-serial-port.c   |  4 +++-
 src/mm-qcdm-serial-port.c | 32 +++++++++++++++++++++++++-------
 src/mm-serial-port.c      | 18 ++++++++++--------
 src/mm-serial-port.h      |  5 +++--
 4 files changed, 41 insertions(+), 18 deletions(-)

commit 4006ca4decaec051aa4449977d92f96545b3aa88
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 20 02:28:01 2010 -0700

    qcdm: better checking of NV read/write command results

 libqcdm/src/commands.c | 51
 +++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 40 insertions(+), 11 deletions(-)

commit c4a1a78c43a1c207f1b2d38411912fe4883025e1
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 20 00:09:38 2010 -0700

    qcdm: complete mode preference implementation

 libqcdm/src/commands.c        | 102
 ++++++++++++++++++++++++++++++++++++++++++
 libqcdm/src/commands.h        |  33 ++++++++++++++
 libqcdm/src/nv-items.h        |   1 -
 libqcdm/tests/test-qcdm-com.c |  56 +++++++++++++++++++++++
 libqcdm/tests/test-qcdm-com.h |   2 +
 libqcdm/tests/test-qcdm.c     |   1 +
 6 files changed, 194 insertions(+), 1 deletion(-)

commit 26c1402aaee740cd27bd477d2ecf10ee3e8377b7
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 19 19:18:02 2010 -0700

    qcdm: add initial roaming and mode preference bits

 libqcdm/src/commands.c        | 127
 +++++++++++++++++++++++++++++++++++++++++-
 libqcdm/src/commands.h        |  43 ++++++++++++++
 libqcdm/src/error.c           |   1 +
 libqcdm/src/error.h           |   3 +-
 libqcdm/src/nv-items.h        |  30 ++++++++++
 libqcdm/tests/test-qcdm-com.c |  74 +++++++++++++++++++++++-
 libqcdm/tests/test-qcdm-com.h |   2 +
 libqcdm/tests/test-qcdm.c     |   1 +
 8 files changed, 276 insertions(+), 5 deletions(-)

commit 5897d8f27516ba7510c3828eab9a9374fac9020f
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 19 11:09:43 2010 -0700

    gsm: PIN2 doesn't block enabling either

    Again, only required for various dialing features we don't deal with
    yet.

 src/mm-generic-gsm.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit f5f388c7fd6d41a03447b710fc644d98efcabb0a
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 19 11:05:05 2010 -0700

    gsm: use new callback info chain functions for simple status

 src/mm-generic-gsm.c | 27 ++++-----------------------
 1 file changed, 4 insertions(+), 23 deletions(-)

commit 85fc71818e3f3058cf256aaab1ba269a424a27f8
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 19 11:01:19 2010 -0700

    core: have modem base class handle card information

 src/mm-generic-cdma.c | 115 +++++----------------------
 src/mm-generic-gsm.c  | 103 +++++--------------------
 src/mm-modem-base.c   | 209
 ++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem-base.h   |  17 ++++
 4 files changed, 266 insertions(+), 178 deletions(-)

commit 4558df894bb20a121ee1d2942c206b5bfde2c030
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 19 10:57:01 2010 -0700

    helpers: add generic response stripping function

 src/mm-modem-helpers.c | 16 ++++++++++++++++
 src/mm-modem-helpers.h |  2 ++
 2 files changed, 18 insertions(+)

commit 6ca5765eb63e1cb0374489607b255feeca8e2ba7
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 19 10:54:10 2010 -0700

    core: add chaining helper functions to callback info

    Helpful when chaining a number of commands together when you want
    to schedule the callback info only after all of them complete.

 src/mm-callback-info.c | 23 +++++++++++++++++++++++
 src/mm-callback-info.h |  6 ++++++
 2 files changed, 29 insertions(+)

commit bb62cfe07a47189645da985cc02b47549611aa01
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 18 18:08:23 2010 -0700

    core: add base location API implementation

 policy/org.freedesktop.modem-manager.policy.in |   9 +
 src/Makefile.am                                |   7 +-
 src/mm-auth-provider.h                         |   1 +
 src/mm-modem-location.c                        | 320
 +++++++++++++++++++++++++
 src/mm-modem-location.h                        |  73 ++++++
 5 files changed, 409 insertions(+), 1 deletion(-)

commit 1df244f3079548d371a10c5d35b6ad00d04d8701
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 18 08:47:14 2010 -0700

    api: fix syntax error

 introspection/mm-modem-location.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fb2b80f11a081128ecf966eae5454534fbacc89c
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 17 12:05:31 2010 -0700

    serial: flush I/O right after open

    We don't really care about anything that came before.

 src/mm-serial-port.c | 3 +++
 1 file changed, 3 insertions(+)

commit 857dcd7bcfd909a9c4dad8dcbe562e75c8a66116
Author: Michael Biebl <biebl@debian.org>
Date:   Wed Mar 17 11:59:29 2010 -0700

    serial: use termios instead of old terminal ioctls

    Makes sure we build on Alpha, plus the right thing to do.

 src/mm-serial-port.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit 0815597d8db7f59ed6030ff11ce070b2a8eb4f11
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 17 00:40:13 2010 -0700

    qcdm: fix command buffer initialization

    Use the right buffer size to initialize.

 libqcdm/src/commands.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit d7a0ad768682c5fe9d4b014578f4eaea85f91a63
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 22:44:09 2010 -0700

    gsm: implement roaming triggers

 src/mm-generic-gsm.c | 101
 ++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 79 insertions(+), 22 deletions(-)

commit 2c65e0ceaa40f103d9176f483469e38455bdba1c
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 17:19:21 2010 -0700

    gsm: ignore SIM-PUK2 unlock required

    Device is functional without it; it's only required for stuff
    we don't do yet.

 src/mm-generic-gsm.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit 79bca53f21abcb4ec22e41e0f21b2af2df9d830a
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 17:03:55 2010 -0700

    cdma: simplify finding the right serial port for commands

 plugins/mm-modem-anydata-cdma.c |  19 ++----
 plugins/mm-modem-huawei-cdma.c  |  19 ++----
 plugins/mm-modem-novatel-cdma.c |  20 ++-----
 plugins/mm-modem-sierra-cdma.c  |  18 ++----
 src/mm-generic-cdma.c           | 129
 ++++++++++++++++++++--------------------
 src/mm-generic-cdma.h           |   3 +
 6 files changed, 87 insertions(+), 121 deletions(-)

commit 6266f949ba5e745c385d674b2aa934f42b0fb17c
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 16:45:32 2010 -0700

    gsm: fix operator name on Option devices with UCS2 charset

 src/mm-charsets.c    | 92
 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-charsets.h    |  5 +++
 src/mm-generic-gsm.c | 43 ++++++++++++++++++++++--
 3 files changed, 137 insertions(+), 3 deletions(-)

commit c18dfa67d81d5a16acf78c2267bccae352fe06c6
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 15:53:09 2010 -0700

    gsm: turn off unsolicited messages on disable

 src/mm-generic-gsm.c | 4 ++++
 1 file changed, 4 insertions(+)

commit bdefdac2dce29361c584098ae457f5d8a92ed8dc
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 15:51:27 2010 -0700

    hso: add allowed mode and unsolicited response handling

 plugins/mm-modem-hso.c | 51
 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 49 insertions(+), 2 deletions(-)

commit ad9fe9da28ef5a924e66a834b8601eb87cb2aa52
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 15:50:58 2010 -0700

    option: generalize common Option/HSO mode and unsolicited response
    handling

 plugins/Makefile.am             |   3 +-
 plugins/mm-modem-option-utils.c | 297
 ++++++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-option.c       | 151 +++++++-------------
 3 files changed, 348 insertions(+), 103 deletions(-)

commit 4d5f4f9a827e48ae2f2b29b97b8f719bb1b6fde6
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 15:16:01 2010 -0700

    gsm: only change allowed mode during Simple.Connect when needed

 src/mm-generic-gsm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 6744e08104708ccc97fbab787629685f0d28689e
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 13:17:14 2010 -0700

    gsm: simplify finding the right serial port for commands

 plugins/mm-modem-gobi-gsm.c   |  11 +--
 plugins/mm-modem-huawei-gsm.c |  76 +++++++++-----------
 plugins/mm-modem-mbm.c        |  29 ++++----
 plugins/mm-modem-option.c     |  24 ++++---
 plugins/mm-modem-sierra-gsm.c |  21 +++++-
 plugins/mm-modem-zte.c        |  36 ++++++----
 src/mm-generic-gsm.c          | 161
 +++++++++++++++++++++---------------------
 src/mm-generic-gsm.h          |   3 +
 8 files changed, 197 insertions(+), 164 deletions(-)

commit b002e54cf4c6edf1858eb82de7cf41a5c9a9d29b
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 13:03:13 2010 -0700

    core: immediately reject Sierra CnS ports during probe

    For now; until Sierra releases their CnS documentation.

 src/mm-plugin-base.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 882a86040ed611377191ddb4510ffb1bcf60e0e2
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 11:52:01 2010 -0700

    gsm: make mm_generic_gsm_check_pin() static

    No more external users of it.

 src/mm-generic-gsm.c | 16 ++++++++--------
 src/mm-generic-gsm.h |  4 ----
 2 files changed, 8 insertions(+), 12 deletions(-)

commit eff1bcc7f34cbc8d215941625b24eda18343f4f4
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 11:42:57 2010 -0700

    huawei: simplify setting allowed mode

 plugins/mm-modem-huawei-gsm.c | 104
 ++++++++++++++++++------------------------
 1 file changed, 44 insertions(+), 60 deletions(-)

commit 8af469ccad79a2d27bf445c35b235af3a62d89b2
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 11:38:34 2010 -0700

    huawei: clean up and simplify band handling

 plugins/mm-modem-huawei-gsm.c | 174
 +++++++++++++++++++++++-------------------
 1 file changed, 95 insertions(+), 79 deletions(-)

commit e3aa8d50085f0d7d2667170326c7897995ed7466
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 11:04:12 2010 -0700

    api: add UMTS 1900MHz (Class II) band

 introspection/mm-modem-gsm.xml | 3 +++
 src/mm-modem-gsm.h             | 3 ++-
 2 files changed, 5 insertions(+), 1 deletion(-)

commit 19257f540c0de61043492af5bec94e5319749b3e
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 11:02:35 2010 -0700

    gsm: handle allowed mode during Simple.Connect()

 plugins/mm-modem-mbm.c |  82 +++++++++---------------------------
 src/mm-generic-gsm.c   | 111
 +++++++++++++++++++++++++++++++++++++++++++++----
 src/mm-modem-gsm.h     |   4 +-
 3 files changed, 124 insertions(+), 73 deletions(-)

commit e0c3052b0ff274d055a7bd3a380dca7da5eabb8c
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 16 10:29:47 2010 -0700

    huawei: handle unsolicited unregistered mode change

 plugins/mm-modem-huawei-gsm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 70d9d60d0c3cb3a9d60c1c501f9053a1a7485c99
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 15 14:52:21 2010 -0700

    mbm: send internet account username/password in modem character set

    Apparently at least the F3507g wants the username and password in
    the modem's current character set, otherwise it sends the wrong
    thing over-the-air.

 plugins/mm-modem-mbm.c | 53
 +++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 39 insertions(+), 14 deletions(-)

commit d9a47ef2e81fe0b7c3aa9f05af3233181e5a73a1
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 15 14:51:18 2010 -0700

    core: fix serial port base class callback types

 src/mm-at-serial-port.c   |  4 ++--
 src/mm-qcdm-serial-port.c |  4 ++--
 src/mm-serial-port.c      | 22 ++++++++++++++++++----
 src/mm-serial-port.h      | 10 ++++++++--
 4 files changed, 30 insertions(+), 10 deletions(-)

commit 3151e0e2987d8505a56c5a6a0f486e3a7e8ada71
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 15 14:25:49 2010 -0700

    core: add command helper that handles character set conversion

 src/mm-charsets.c | 90
 ++++++++++++++++++++++++++++++++++++++++++++++---------
 src/mm-charsets.h |  9 ++++++
 2 files changed, 85 insertions(+), 14 deletions(-)

commit 2dd7e12f721215e6cc3a809542408bd65c1fbd04
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 15 14:24:59 2010 -0700

    gsm: allow subclasses to retrieve current character set

 src/mm-generic-gsm.c | 9 +++++++++
 src/mm-generic-gsm.h | 3 +++
 2 files changed, 12 insertions(+)

commit a872107cfcb497dabcd48186ca860dae60c370b3
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 15 11:57:01 2010 -0700

    api: better define Scan() command results

 introspection/mm-modem-gsm-network.xml | 33
 ++++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

commit 2a94d38edcc476022333a93dc979cc2bcf9ba5a2
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 13 16:37:24 2010 -0800

    core: move charset enum/string conversion to it's own file

 src/Makefile.am   |  2 ++
 src/mm-charsets.c | 71
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-charsets.h | 38 +++++++++++++++++++++++++++++
 src/mm-modem.c    | 48 -------------------------------------
 src/mm-modem.h    | 17 +------------
 5 files changed, 112 insertions(+), 64 deletions(-)

commit ac7310ab1050701c07705e548c408d97aea76636
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 13 16:26:46 2010 -0800

    gsm: add character set get/set support

 configure.ac         |   3 +
 src/mm-errors.c      |   1 +
 src/mm-errors.h      |   3 +-
 src/mm-generic-gsm.c | 354
 ++++++++++++++++++++++++++++++++++++++++++++++++---
 src/mm-modem.c       |  93 ++++++++++++++
 src/mm-modem.h       |  35 +++++
 6 files changed, 469 insertions(+), 20 deletions(-)

commit 429c7cc661780d2848a97b092e1a0023e8c4d603
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 12 17:06:04 2010 -0800

    sierra: implement GSM mode preference handling

 plugins/mm-modem-sierra-gsm.c | 132
 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 132 insertions(+)

commit 2777f9f4884f04e0abc23e4df62391c3f0a3e0bd
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 12 16:59:39 2010 -0800

    trivial: spacing fixes

 plugins/mm-modem-zte.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 4202bfb86e2ff6986d3aebdc38946367f09c2a9f
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 12 16:49:22 2010 -0800

    zte: implement GSM mode preference handling

 plugins/mm-modem-zte.c | 140
 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 140 insertions(+)

commit c11c0431ff3bc39a0d7f2d74727a4cafbede096e
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 12 15:34:27 2010 -0800

    trivial: gitignore updates

 .gitignore | 2 ++
 1 file changed, 2 insertions(+)

commit 179604d6cb0d5b78dfd8907bad4f64d8045958a8
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 12 15:33:46 2010 -0800

    build: another distcheck fix

 Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit ef749399fd25be858ad64a65815b5f4525b603b3
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 12 15:31:29 2010 -0800

    build: fix distcheck error

 src/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 936533cfcc34b1bba797688049316bb8994443bd
Merge: 9d9150133 3e760488b
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 12 12:40:00 2010 -0800

    Merge remote branch 'origin/master' into qcdm

commit 3e760488b60bc8511cad97c90ae358ba626604cb
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 12 12:38:53 2010 -0800

    cdma: make previous state tag private

 src/mm-generic-cdma.c | 2 ++
 src/mm-generic-cdma.h | 2 --
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 9d91501330514d8bbd83c8f729ec5231e862e226
Merge: 4d1e00c49 7aa6d03d9
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 12 12:21:29 2010 -0800

    Merge remote branch 'origin/master' into qcdm

commit 7aa6d03d95dcf7677a576ac5c562c04d75cffa06
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 12 12:13:21 2010 -0800

    novatel: add CDMA plugin for signal quality parsing

    Some Novatel devices reply with the normal units to +CSQ and it
    doesn't look quite like the +CSQ reply is in dBm either; so
    use the custom Novatel command for RSSI.

 plugins/Makefile.am             |   4 +-
 plugins/mm-modem-novatel-cdma.c | 190
 ++++++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-novatel-cdma.h |  45 ++++++++++
 plugins/mm-plugin-novatel.c     |  12 +--
 4 files changed, 244 insertions(+), 7 deletions(-)

commit cda38d390adbb78fb9fc644a205278747aa27818
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 12 12:07:08 2010 -0800

    cdma: fix Simple.GetStatus to actually work

 src/mm-generic-cdma.c | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

commit 7a0c5030364689620d0ef03573f3ab53e0727be3
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 12 10:16:24 2010 -0800

    cdma: use E1 parser to ignore re-echoed commands

    Some modems turn E1 on and off random (Huawei EC168C) and sometimes
    the echoed command confuses things.  We have a parser just for that,
    so let's use it.  It should be safe to use with devices that repect
    E0 too.

 src/mm-generic-cdma.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit e055bd72db9430a389ce91931f740ebc6dbe863d
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 12 08:57:55 2010 -0800

    hso: fix connections with username/password after
    e3c87e4e1418a25bb8da9e64eba882d8fa335265

    e3c87e4e1418a25bb8da9e64eba882d8fa335265 introduced a use-after-free
    bug that causes passwords and usernames to be corrupted.

 plugins/mm-modem-hso.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

commit 4d1e00c49610b69b2446562880bef4f82b18d546
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 11 16:02:12 2010 -0800

    core: fix merge damage

 src/mm-generic-gsm.c | 8 ++++----
 src/mm-plugin-base.c | 4 ++--
 src/mm-serial-port.h | 1 -
 3 files changed, 6 insertions(+), 7 deletions(-)

commit 3ec7e89f112cb65a584de84b76e207d7a804bd6f
Merge: 479937cbb 749f9c0eb
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 11 13:43:06 2010 -0800

    Merge remote branch 'origin/master' into qcdm

commit 749f9c0eb569b29772dde9561b9856e4f878d9ef
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 11 13:20:43 2010 -0800

    core: stop probing known-unusable ports early

    Some ports we know we shouldn't use when we get certain responses
    from them.  Reading from these ports triggers kernel bugs (at least
    on 2.6.31 and 2.6.32) relating to flow control in some drivers
    (*cough* hso *cough*), so lets try not to aggravate the kernel too
    much.  This happens on Icera-based Option devices like the GI0322
    (AT&T Quicksilver) for example.

    (note: AFAICT this doesn't have any relation to the recent XON/XOFF
    patch, since I get this problem without the XON/XOFF patch on both
    2.6.31 and 2.6.32 as well)

    ---

    BUG: sleeping function called from invalid context at
    kernel/mutex.c:94
    in_atomic(): 1, irqs_disabled(): 1, pid: 9295, name: modem-manager
    Pid: 9295, comm: modem-manager Not tainted 2.6.32.9-67.fc12.x86_64 #1
    Call Trace:
     <IRQ>  [<ffffffff81045d41>] __might_sleep+0xed/0xef
     [<ffffffff81454dd0>] mutex_lock+0x24/0x50
     [<ffffffff8104811e>] ? enqueue_task_fair+0x2a/0x6d
     [<ffffffff812af79f>] tty_throttle+0x1b/0x49
     [<ffffffff812af0d9>] n_tty_receive_buf+0xdbb/0xe12
     [<ffffffff810459fd>] ? task_rq_unlock+0x11/0x13
     [<ffffffff81050c5c>] ? try_to_wake_up+0x2f3/0x305
     [<ffffffff8110de0c>] ? __kmalloc+0x37/0x15e
     [<ffffffff8110de42>] ? __kmalloc+0x6d/0x15e
     [<ffffffff812b12c9>] flush_to_ldisc+0xf8/0x18d
     [<ffffffff812b13ae>] tty_flip_buffer_push+0x50/0x61
     [<ffffffffa040ccd5>] put_rxbuf_data+0xea/0x124 [hso]
     [<ffffffffa040cd97>] put_rxbuf_data_and_resubmit_bulk_urb+0x21/0x6b
     [hso]
     [<ffffffffa040d0b1>] hso_std_serial_read_bulk_callback+0x14d/0x15f
     [hso]
     [<ffffffff8132edf7>] ? dma_unmap_single_attrs.clone.0+0x38/0x3a
     [<ffffffff8132ef74>] usb_hcd_giveback_urb+0x91/0xc5
     [<ffffffff813417c8>] ehci_urb_done+0x7b/0x90
     [<ffffffff81050c5c>] ? try_to_wake_up+0x2f3/0x305
     [<ffffffff81341b45>] qh_completions+0x368/0x4b9
     [<ffffffff8103e7a0>] ? __wake_up_common+0x4e/0x84
     [<ffffffff81343f70>] ehci_work+0x95/0x732
     [<ffffffff81045b53>] ? __wake_up+0x44/0x4d
     [<ffffffff81070490>] ? insert_work+0x8e/0x9b
     [<ffffffff81345f01>] ehci_irq+0x2be/0x420
     [<ffffffff8107071a>] ? __queue_work+0x3a/0x41
     [<ffffffff81049e43>] ? resched_cpu+0x6e/0x77
     [<ffffffff8107075d>] ? delayed_work_timer_fn+0x3c/0x3e
     [<ffffffff810b0e44>] ? __rcu_process_callbacks+0x7d/0x28a
     [<ffffffff8132e846>] usb_hcd_irq+0x3f/0x7b
     [<ffffffff810acd61>] handle_IRQ_event+0x60/0x121
     [<ffffffff810aeb8e>] handle_fasteoi_irq+0x8b/0xc7
     [<ffffffff81014625>] handle_irq+0x8b/0x96
     [<ffffffff81459c14>] do_IRQ+0x5c/0xbc
     [<ffffffff81012693>] ret_from_intr+0x0/0x11

 src/mm-plugin-base.c | 55
 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-serial-port.c | 29 ++++++++++++++++++++-------
 src/mm-serial-port.h |  3 +++
 3 files changed, 79 insertions(+), 8 deletions(-)

commit c7739979ed4a8be97d03ab7ed0087d63dc218cf4
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 11 13:15:33 2010 -0800

    api: update and clarify Location API

 introspection/mm-modem-location.xml | 112
 ++++++++++++++++++++++++++++++++----
 1 file changed, 101 insertions(+), 11 deletions(-)

commit 79aef47b25dcf33ff9ff49d6f0962a8ee32d73d4
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 11 10:22:37 2010 -0800

    api: clarify registration info items

 introspection/mm-modem-gsm-network.xml | 47
 +++++++++++++++++++++++++++++-----
 1 file changed, 40 insertions(+), 7 deletions(-)

commit 13bc593a291a5bb5ff004b553268443b5d2c83aa
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 10 16:30:58 2010 -0800

    gsm: ensure PDP context deactivation happens on disconnect

    The port is still connected until disconnect_done() runs, but by
    this point we already know it's been disconnected so it's safe to
    run the CGACT commands.

 src/mm-generic-gsm.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

commit 8f50dd319189c0a9aef4d41957450096029f4b60
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 10 15:56:27 2010 -0800

    gsm: close open ports on Enable errors

 src/mm-generic-gsm.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit c0c8954828788033ad43f07d7915101378ee2605
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 10 15:45:50 2010 -0800

    gsm: fix PUK2 and other PIN unlock code recognition

    Longer entries first so we catch them before matching shorter
    substrings.  Previously, the strcmp() would have treated
    PUK2 and PUK unlocks the same.

 src/mm-generic-gsm.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

commit 479937cbbba560c77ec37ebf6468fe0e568986bd
Merge: 6a32d374c e3c87e4e1
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 10 15:04:49 2010 -0800

    Merge remote branch 'origin/master' into qcdm

commit 6a32d374cd7d0fb23785c974bf8d8b1ba64e97b5
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 10 14:57:23 2010 -0800

    serial: not all commands have response callbacks

    So don't crash if they don't.

 src/mm-serial-port.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

commit 1979512d8dfb6428353e6bf358f908973a318095
Merge: 8dde6bb8d b7858ba23
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 10 14:50:41 2010 -0800

    Merge remote branch 'origin/master' into qcdm

commit e3c87e4e1418a25bb8da9e64eba882d8fa335265
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 10 14:42:53 2010 -0800

    hso: clean up connect and disconnect

    Disconnect didn't actually work for HSO since it overrode the parent
    class's connect handler and thus didn't set the right state after
    the connection was made.  It turns out we can use the same logic
    that 'mbm' does for connection and not have to override quite so
    much of the parent class.

    This also splits the authentication and connection parts into two
    distinct stages, which wasn't the case before but was what was
    intended.

 plugins/mm-modem-hso.c | 470
 ++++++++++++++++++++++++++-----------------------
 1 file changed, 253 insertions(+), 217 deletions(-)

commit 461de7ea0eeab4dfa5827dcce490eded3d729f6e
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 10 14:42:34 2010 -0800

    mbm: use new disconnect handling helper

 plugins/mm-modem-mbm.c | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

commit 59b75b5194c6f2a649ca2a4bd6747f74b220d773
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 10 14:39:10 2010 -0800

    gsm: clean up disconnect handling

    Allow subclasses to override disconnect more cleanly so that
    modem state gets handled correctly when the disconnect is complete.
    Also fix up PDP Context ID handle (cid) so that subclasses can
    get the previously-activated context ID when disconnecting, and let
    the cid be an int since '0' is a valid context number.

    For the generic devices, this also attempts to actually deactivate
    the PDP context to ensure that the data session is terminated.

 src/mm-generic-gsm.c | 118
 +++++++++++++++++++++++++++++++++++++--------------
 src/mm-generic-gsm.h |  12 ++++--
 2 files changed, 94 insertions(+), 36 deletions(-)

commit b7858ba235c046a514fbc79e18ac9faa75982032
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 10 10:58:27 2010 -0800

    novatel: fix GSM secondary port enabling after PIN changes

    With the PIN changes, the primary port would already be closed
    by the time the Novatel modem class was able to send the DMAT
    command to enable the secondary ports.  Just try again later.

 plugins/mm-modem-novatel-gsm.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

commit 611e832d0ed509f862c8ab047cd8faca98f5aec9
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 10 10:17:26 2010 -0800

    api: add 'reply' parameter to USSD Initiate() command

 introspection/mm-modem-gsm-ussd.xml | 5 +++++
 1 file changed, 5 insertions(+)

commit 05dde9a3152368d40f1a82ece9d296e2ccbac428
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 10 00:15:53 2010 -0800

    gsm: revert part of d2e69d34f86e8994f74fb209082fcfb7573b2ea2

    Reg status returned here is cached reg status, so it's pointless to
    set it here again.

 src/mm-generic-gsm.c | 5 -----
 1 file changed, 5 deletions(-)

commit d2e69d34f86e8994f74fb209082fcfb7573b2ea2
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Mar 10 00:02:56 2010 -0800

    gsm: make registration status change handling consistent

    Ensure we send out signals when anything changes.

 src/mm-generic-gsm.c | 118
 +++++++++++++++++++++++++++++++++++----------------
 1 file changed, 82 insertions(+), 36 deletions(-)

commit 46ec3bdb47cbc0c40f39bb139783dedc5d3c9986
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 9 23:34:19 2010 -0800

    gsm: fix CREG/CGREG parsing with multiple responses

    When a modem sends both CREG and CGREG in the same response packet,
    the parser was failing to correctly distinguish which response
    was being parsed, since the string passed to g_regex_match() is
    the whole response including both CREG + CGREG.

 src/mm-modem-helpers.c         | 67
 +++++++++++++++++++++---------------------
 src/mm-modem-helpers.h         |  2 +-
 src/tests/test-modem-helpers.c | 22 ++++++++++++++
 3 files changed, 57 insertions(+), 34 deletions(-)

commit 658d3d572dc5313d815d9b8ab09c6b563fcbc8bf
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 9 22:12:46 2010 -0800

    zte: handle access technology changes

 plugins/mm-modem-zte.c | 37 +++++++++++++++++++++++++++++++++++--
 1 file changed, 35 insertions(+), 2 deletions(-)

commit b0598738f1e99d3902a2aa79d5c3f74b686310f1
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 9 22:12:21 2010 -0800

    gsm: only update access technology when enabled

 src/mm-generic-gsm.c | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

commit ce1c72152b3488c06e5f01aa6b0dbd9ffcb918a4
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 9 21:56:57 2010 -0800

    mbm: fix memory leak in connection state processing

 plugins/mm-modem-mbm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 82abd5595e41f8a2739590bfa52e687de98d9808
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 9 21:55:51 2010 -0800

    mbm: fix memory leak in unsolicited signal strength processing

 plugins/mm-modem-mbm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 59605936d0e7d5947d1b888778fd993454db3b07
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 9 21:55:19 2010 -0800

    mbm: use unsolicited access technology updates

 plugins/mm-modem-mbm.c | 110
 ++++++++++++++++++++++---------------------------
 1 file changed, 50 insertions(+), 60 deletions(-)

commit 38514db896ea8706375c222e1262fa10b830c4c6
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 9 21:31:57 2010 -0800

    gsm: let generic class handle signal quality caching and updates

 plugins/mm-modem-huawei-gsm.c |  39 +++-----------
 plugins/mm-modem-mbm.c        |  14 ++---
 src/mm-generic-gsm.c          | 123
 ++++++++++++++++++++++++++++++++++--------
 src/mm-generic-gsm.h          |   5 ++
 4 files changed, 121 insertions(+), 60 deletions(-)

commit 07fc116d5a16b1f168c120c298b747b9d9bbe8d8
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 9 18:10:34 2010 -0800

    api: add USSD API proposal

    Loosely based on oFono, from Pablo Marti.

 introspection/Makefile.am           |  3 +-
 introspection/all.xml               |  1 +
 introspection/mm-modem-gsm-ussd.xml | 73
 +++++++++++++++++++++++++++++++++++++
 3 files changed, 76 insertions(+), 1 deletion(-)

commit d01a3ae328afe22552933b1d297b3cf92475b9de
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 9 11:47:13 2010 -0800

    cdma: tell the modem we're using XON/XOFF too

 src/mm-generic-cdma.c | 3 +++
 1 file changed, 3 insertions(+)

commit 81dc2dde459ca91a8fce3c19a3aec79734179dfa
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 9 11:44:25 2010 -0800

    serial: default to XON/XOFF flow control

    This seems to help with Huawei and ZTE devices which often
    appeared to stop responding on either primary or secondary ports
    at various times.  We had this problem a long time ago, but it was
    fixed then by always picking the right serial port via the USB
    interface number (Huawei) or udev rules files (ZTE).  Now that we're
    using the second serial port more extensively the problem came
    up again, so lets try to fix it for real.

 src/mm-generic-gsm.c |  3 +++
 src/mm-serial-port.c | 10 ++++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

commit fbf3efc1e3feac3acb340bbd70617a702b33a42c
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 9 11:43:30 2010 -0800

    gsm: only use CREG responses for authoritative registration state

    For now...

 src/mm-generic-gsm.c | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

commit 076b5df1bcc880555606375ac2af9db488bfda3d
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 9 11:29:04 2010 -0800

    gsm: fix inifinite in ETSI tech -> MM tech conversion function

 src/mm-generic-gsm.c | 1 +
 1 file changed, 1 insertion(+)

commit 2f925599c089484286a08ce84885b0385bcd64d2
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 9 10:20:32 2010 -0800

    gsm: fix crash in Simple API's GetStatus handling

    Can't schedule the info completion until we're sure all the
    requests have completed.  They won't necessarily be completed
    in the same order they were issued since some of the data the
    requests pull from could be cached and thus we don't have to
    wait in the queue to hit up the modem.

 src/mm-generic-gsm.c | 71
 ++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 49 insertions(+), 22 deletions(-)

commit 783de3bc10ba8b6fe934887efaeb229da6ad9d06
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Mar 9 09:55:04 2010 -0800

    core: fix SIGTERM before mainloop has started

 src/main.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 8dde6bb8dd2c063f5740ae78b980343be8e5d669
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 8 20:01:42 2010 -0800

    core: don't try to remove 0 characters after matching responses

 src/mm-at-serial-port.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit f3721a5674ef7899d9a6ef0f4c5b356720bb9833
Merge: f6c514897 9e231c3d4
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 8 20:01:22 2010 -0800

    Merge remote branch 'origin/master' into qcdm

commit 9e231c3d4b463c32e17c7d2b1c50cea4e19d03ac
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 8 18:06:10 2010 -0800

    huawei: attach unsolicited message handlers to the primary port too

 plugins/mm-modem-huawei-gsm.c | 29 ++++++++++++++---------------
 1 file changed, 14 insertions(+), 15 deletions(-)

commit 29a67e9d89f2f4538ae9b0e3e09db6d087b84f61
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 8 18:04:14 2010 -0800

    huawei: unify GSM device probing

    Using the USB product ID to direct certain modems to the generic
    driver is wrong since even new modems like the E1550 are 0x1001
    after the modeswitch.  Instead, lets assume that most current modes
    use the Huawei-specific AT command set.

 plugins/mm-plugin-huawei.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

commit cdf9279ee8cb52d13242dbfad0e8c07c6d7270f3
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 8 18:02:14 2010 -0800

    api+gsm: split out access technology

    As with allowed modes, make things clearer and simpler by giving
    access technology it's own values.

 introspection/mm-modem-gsm-network.xml | 10 ++--
 introspection/mm-modem-gsm.xml         | 34 ++++++++++++
 plugins/mm-modem-huawei-gsm.c          | 36 +++++++------
 src/mm-generic-gsm.c                   | 96
 +++++++++++++---------------------
 src/mm-generic-gsm.h                   |  2 +-
 src/mm-modem-gsm-network.c             | 36 ++++++-------
 src/mm-modem-gsm-network.h             |  2 +-
 src/mm-modem-gsm.h                     | 39 +++++++++-----
 8 files changed, 140 insertions(+), 115 deletions(-)

commit c5a897d0ae1e4609cc2f9d3e127c1e50be9a84c1
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 8 17:27:56 2010 -0800

    api+gsm: clean up AllowedMode values

    Instead of trying to stuff everything into the mode bitfield it
    turns out it's just easier, clearer, and simpler to use different
    values for each of the following:

    1) the device's supported access technologies and allowed modes
    2) the device's current access technology
    3) the device's allowed mode preference

    Since none of the AccessTechnology or AllowedMode stuff has hit a
    release yet, let's make sure we're doing it the right way early on.

 introspection/mm-modem-gsm-network.xml | 16 ++++------
 introspection/mm-modem-gsm.xml         | 29 +++++++++++++++--
 plugins/mm-modem-huawei-gsm.c          | 58
 ++++++++++++++--------------------
 plugins/mm-modem-mbm.c                 | 39 ++++++++++++++++-------
 plugins/mm-modem-option.c              | 22 ++++++-------
 src/mm-generic-gsm.c                   | 42 ++++++++++++++----------
 src/mm-generic-gsm.h                   |  4 +--
 src/mm-modem-gsm-network.c             | 46 ++++++++++-----------------
 src/mm-modem-gsm-network.h             | 17 +++-------
 src/mm-modem-gsm.h                     | 10 ++++++
 10 files changed, 153 insertions(+), 130 deletions(-)

commit aeac17a81edfb3304de405127bb06d100c8a5522
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 8 15:13:14 2010 -0800

    gsm: implement allowed mode

 plugins/mm-modem-huawei-gsm.c | 101
 ++++++++++++++++------------------------
 plugins/mm-modem-mbm.c        |  65 +++++++++++++++++++-------
 plugins/mm-modem-option.c     |  46 +++++++-----------
 src/mm-generic-gsm.c          | 106
 ++++++++++++++++++++++++++++++++++++++----
 src/mm-generic-gsm.h          |  21 +++++++++
 src/mm-modem-gsm-network.c    |  92 +++++++++++++++++++-----------------
 src/mm-modem-gsm-network.h    |  22 ++++-----
 src/mm-modem-gsm.h            |   2 -
 8 files changed, 283 insertions(+), 172 deletions(-)

commit d298885faa72398368a67a7738a6208dae0c6f0a
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 8 14:50:07 2010 -0800

    gsm: fix GObject property maximums for SupportedModes and
    SupportedBands

    Since the values they carry are bitfields, using the highest value
    as the maximum isn't the right thing to do.

 src/mm-modem-gsm-card.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e2c487472e52bc14acd04e93a6d5b7d54a2bcfa5
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 8 14:34:30 2010 -0800

    api: s/AllowedModes/AllowedMode in Gsm.Network

    Only one mode is going to be stored here so it shouldn't be plural.

 introspection/mm-modem-gsm-network.xml | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 5e2983484e4ab3a594e63b03d34804d57c0dc292
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 8 14:15:25 2010 -0800

    api: make HSPA a standalone network mode again

    It's just easier this way.  It makes little sense to allow
    selecting mode combinations for anything other than
    (HSDPA | HSUPA).  Most radios don't allow fine-grained control
    of the different technologies within each 2G or 3G class anyway
    thus combinations like (GPRS | UMTS) are pointless since the
    device wouldn't be able to use GPRS but not use EDGE.

 introspection/mm-modem-gsm.xml | 7 +++++--
 src/mm-modem-gsm.h             | 6 +++---
 2 files changed, 8 insertions(+), 5 deletions(-)

commit 343245fc2179a6d05ba131771def84c84b1be639
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 8 11:40:54 2010 -0800

    gsm: add AccessTechnology property and associated infrastructure

    AccessTechnology takes over half of what NetworkMode was supposed to
    do, but we'll keep NetworkMode around for a while for compatibility
    anyway.  Create async updaters that subclasses can use to update
    the access tech when they get unsolicited messages.

 plugins/mm-modem-huawei-gsm.c |  20 +++---
 src/mm-generic-gsm.c          | 144
 +++++++++++++++++++++++++++++++++++-------
 src/mm-generic-gsm.h          |  19 +++++-
 src/mm-modem-gsm-network.c    |  85 +++++++++++++++++++++++++
 src/mm-modem-gsm-network.h    |  16 ++++-
 src/mm-modem-gsm.h            |  15 +++++
 6 files changed, 263 insertions(+), 36 deletions(-)

commit 82d7c8342d749c827161fbcbc5db670b671282d9
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 7 14:46:38 2010 -0800

    gsm: fix crash getting initial registration state

 src/mm-generic-gsm.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 74ed9baefa0e1b10d1bec184e2dcfca4dc718eff
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 7 11:01:08 2010 -0800

    gsm: add missing 27.007 access technologies

 src/mm-modem-gsm.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit 45fd96132f4568c97a85524b530c2b682fa07c14
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 7 09:58:30 2010 -0800

    api: add new AllowedModes and AccessTechnology API

    This adds split properties and functions for the allowed modes and the
    current access technology used by the device when connected to the
    mobile network.

 introspection/mm-modem-gsm-network.xml | 38
 +++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

commit 8fcc5b7fe2458eee7b1ca0a7a39cbc710ea48b60
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 7 09:53:28 2010 -0800

    api: more clearly document modes and bands

 introspection/mm-modem-gsm.xml | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit e7dd2926a3ba1cf6129996ec63accee7fa1ad155
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 7 09:53:03 2010 -0800

    api: revert parts of 2d194a5798fb06f41b018c2d8c2216f45bfc41a4

    MM hadn't implemented it yet, but Wader already implemented an earlier
    version that didn't use a bitfield but an enum.  Unfortunately the
    network mode stuff doesn't allow for distinguishing between the
    device's
    mode preference and the current access technology.  So deprecate the
    current network mode stuff in the API in preparation for improved API.

 introspection/mm-modem-gsm-network.xml | 56
 ++++++++++++++++++++++++++++------
 1 file changed, 47 insertions(+), 9 deletions(-)

commit ba977cd52966a15b74b261bf6cf370f535ed8d29
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 7 09:52:48 2010 -0800

    api: readability fixes

 introspection/mm-modem-gsm-card.xml | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit 547a9eb9c016dd528a4a275a52da39a24f775a13
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 7 07:35:11 2010 -0800

    introspection: add missing 27.007 access technologies

 introspection/mm-modem-gsm.xml | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

commit 7701478703d6c119c13d544bd594a6ff7b7100d1
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Mar 7 07:13:43 2010 -0800

    gsm: simplify registration state polling code

 src/mm-generic-gsm.c | 94
 ++++++++++++++++++++--------------------------------
 1 file changed, 36 insertions(+), 58 deletions(-)

commit 201295b65e4e9cf3686ee29673f7738d2810dd16
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 6 10:43:54 2010 -0800

    gsm: use secondary serial port while connected

    For registration updates and signal strength.

 src/mm-generic-gsm.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

commit 54c1d069eb688f60cc721fb435953dfaebcfa6d7
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 6 10:28:11 2010 -0800

    gsm: rework registration handling

    First, generically handle registration polling if the device does
    not support unsolicited registration.  Second, using the new
    creg/cgreg parsing functions from mm-modem-helpers.c, handle
    CREG=2 unsolicited registration replies to capture the GSM LAC/CI
    for the location information API.

    Because of these changes we can simplify the registration polling
    during connection as well by using the common registration parsing
    code and the cached registration state.

 plugins/mm-modem-hso.c        |   2 -
 plugins/mm-modem-huawei-gsm.c |   2 -
 plugins/mm-modem-mbm.c        |   2 -
 plugins/mm-modem-zte.c        |   1 -
 src/mm-generic-gsm.c          | 428
 ++++++++++++++++++++++++++++++++----------
 src/mm-generic-gsm.h          |   5 +-
 6 files changed, 334 insertions(+), 106 deletions(-)

commit 31fb97919cd7d95d1f9b23bd0c2428d8a19dc3e4
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Mar 6 00:26:54 2010 -0800

    gsm: fix simple state machine network registration after
    407abc65c6ccd802ce8456e5a63e68fab1c7d0a1

    Got the logic wrong in that commit.  Fix it.  Network registration
    should always be run since it handles polling for registration
    state if needed before continuing.

 src/mm-generic-gsm.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

commit 3232a3f7d6d01400c4ed9acb6692fa119b7720b2
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 5 18:17:51 2010 -0800

    api: better handling of Location API security issues

    Since D-Bus signals cannot by nature be restricted to authenticated
    clients (unless using private D-Bus connections) we can handle the
    security a bit differently here.  Since the Enable() call can be
    authenticated, we'll trust the client to say whether higher
    security should be used by disallowing location update signals.  This
    does mean the client will have to poll for location updates, but at
    least then clients requesting location information can be
    authenticated.

 introspection/mm-modem-location.xml | 58
 +++++++++++++++++++++++++++++++++++--
 1 file changed, 55 insertions(+), 3 deletions(-)

commit 2950f3106859fb8bb90f6eab8a8de5298fd5d297
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 5 17:55:48 2010 -0800

    api: clarify some Location API bits

 introspection/mm-modem-location.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 12a8a63fc1510d1af79581dc66e2b48a8eefcdb6
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 5 17:52:55 2010 -0800

    api: first draft of Location information API

    NOT FINAL; need to discuss with Pablo and others and actually
    implement
    it before declaring it final.

 introspection/Makefile.am           |  3 +-
 introspection/all.xml               |  1 +
 introspection/mm-modem-location.xml | 70
 +++++++++++++++++++++++++++++++++++++
 3 files changed, 73 insertions(+), 1 deletion(-)

commit ad7bbb2f160d52ff581c334ac85c29d10b3e4451
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 5 14:08:40 2010 -0800

    gsm: indicate CREG vs. CGREG

 src/mm-modem-helpers.c         |  6 +++++
 src/mm-modem-helpers.h         |  1 +
 src/tests/test-modem-helpers.c | 55
 ++++++++++++++++++++++++++++++------------
 3 files changed, 47 insertions(+), 15 deletions(-)

commit e4350152c86099e908921df64ba2e16f81ade5cb
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Mar 5 11:47:23 2010 -0800

    gsm: common CREG/CGREG parsing function and testcases

 src/mm-modem-helpers.c         | 222 ++++++++++++++++++++++++++++++
 src/mm-modem-helpers.h         |  11 ++
 src/tests/test-modem-helpers.c | 298
 ++++++++++++++++++++++++++++++++++++-----
 3 files changed, 500 insertions(+), 31 deletions(-)

commit e6e3784c028f8d55bc9d2bd3fd207d958eba5ff4
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 4 20:45:30 2010 -0800

    hso: remove PIN checking code

    This is handled by the generic class before the modem is even exported
    over D-Bus.

 plugins/mm-modem-hso.c | 35 -----------------------------------
 1 file changed, 35 deletions(-)

commit 6c760464d4545d5bedaef01dbbdd8fba5617aa26
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 4 20:43:22 2010 -0800

    zte: remove PIN checking code

    This is handled by the generic class before the modem is even exported
    over D-Bus.

 plugins/mm-modem-zte.c | 22 ++--------------------
 1 file changed, 2 insertions(+), 20 deletions(-)

commit c02835722fda93e3f796d183b2994c89dc817baf
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 4 20:37:36 2010 -0800

    novatel: remove PIN checking code

    This is handled by the generic class before the modem is even exported
    over D-Bus.

 plugins/mm-modem-novatel-gsm.c | 76
 ------------------------------------------
 1 file changed, 76 deletions(-)

commit a40d3dbead026db43b62d8e859b29f6e564d24f9
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 4 20:27:44 2010 -0800

    option: fix power-on delay

    Since the modem states patch the delay for power-on wasn't honored
    for Option devices.  Fix that using the new power-on-done handler
    and also fix the bug where if the modem was removed, the plugin
    would crash because it wasn't handling the timeout removal.

    Also remove the explicit PIN check since that's now handled by the
    generic GSM code before the modem is even exported over DBus.

 plugins/mm-modem-option.c | 86
 ++++++++++++++++++++++++-----------------------
 1 file changed, 44 insertions(+), 42 deletions(-)

commit d94ca3d310f11d98589a76a3d864efe613f4d515
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 4 20:09:54 2010 -0800

    sierra: fix power-on delay

    Since the modem states patch the delay for power-on wasn't honored
    for Sierra devices.  Fix that using the new power-on-done handler
    and also fix the bug where if the modem was removed, the plugin
    would crash because it wasn't handling the timeout removal.

    Also remove the explicit PIN check since that's now handled by the
    generic GSM code before the modem is even exported over DBus.

 plugins/mm-modem-sierra-gsm.c | 73
 +++++++++++++++++++++++++------------------
 1 file changed, 42 insertions(+), 31 deletions(-)

commit c915de5512f69678d0062ceec4cc69fefcdf8fd3
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 4 20:06:17 2010 -0800

    gsm: add ability for subclasses to handle power-on response

    This lets subclasses handle errors when they know the device supports
    the power-up command.  Also will let us simplify a number of plugins.

 src/mm-generic-gsm.c | 28 +++++++++++++++++++---------
 src/mm-generic-gsm.h | 11 +++++++++++
 2 files changed, 30 insertions(+), 9 deletions(-)

commit 3f7b173932bfb23ce83bfab8a74490f7dc85a7f7
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 4 19:40:33 2010 -0800

    sierra: fix comment about CFUN=1 delay

 plugins/mm-modem-sierra-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 407abc65c6ccd802ce8456e5a63e68fab1c7d0a1
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 4 19:30:54 2010 -0800

    gsm: handle PINs better during modem enable and simple state machine

    First, short-circuit the Enable process if the device requires a PIN
    or PUK since for many devices the enable is going to fail anyway
    until the PIN is sent.

    Second, send the PIN first during the simple state machine for the
    same reason; we need the device unlocked before we want to try
    to enable it.  This also reworks the simple state machine to be a
    bit clearer and make each state step correspond to the action it's
    actually doing instead of being off-by-one visually (but not
    logically).

 src/mm-generic-gsm.c | 159
 ++++++++++++++++++++++++++++++++-------------------
 1 file changed, 99 insertions(+), 60 deletions(-)

commit 021ca1244e2be8afcf6bdb552866263dc20c9285
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 4 19:01:13 2010 -0800

    gsm: postpone PIN/PUK success reply until we know updated unlock
    status

    Don't return until we know what the updated lock status is.  Fixes an
    issue where callers that send the PIN before the modem is enabled
    (remember, some modems can't be enabled until the PIN is entered, so
    sometimes we have to send the PIN before it's enabled) would get
    the reply too early and get failures from other operations.

 src/mm-generic-gsm.c | 45 ++++++++++++++++++++++++---------------------
 1 file changed, 24 insertions(+), 21 deletions(-)

commit 3457adefefa8bedd0349e6ac3d5cebcacf958000
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 4 17:28:36 2010 -0800

    gsm: clarify generic GSM subclass API a bit

 src/mm-generic-gsm.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 6dd751bf3f7bf515767ac6864b7eaf126e01fb3d
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Thu Mar 4 17:19:28 2010 -0800

    mbm: handle E2NAP disconnect notification during connection attempt

    If E2NAP:0 is received during a connection attempt the connection
    attempt has failed or will fail.  So stop polling for connection
    success for another 50 seconds and abort the connection attempt
    immediately.  Also moves the E2NAP request call a bit earlier to
    ensure that no E2NAP unsolicited messages are lost.

 plugins/mm-modem-mbm.c | 36 ++++++++++++++++++++++++------------
 1 file changed, 24 insertions(+), 12 deletions(-)

commit 3b9b7920f5157c62715f7450574335b3c1ca4d64
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Mar 4 10:29:42 2010 -0800

    core: register Modem UnlockRequired property for changed signals too

 src/mm-modem-base.c | 3 +++
 1 file changed, 3 insertions(+)

commit a9ef8cb1759f25ee26f8015aa2e45a2bd3cd2da7
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 1 09:15:01 2010 -0800

    policy: split Device into Info and Control

    It's useful to let distros and admins set policy differently for
    device
    information (for support, inventory, etc) than for actually
    controlling
    the device like PIN/PUK unlocks.

 policy/org.freedesktop.modem-manager.policy.in | 15 ++++++++++++---
 src/mm-auth-provider.h                         |  7 ++++---
 src/mm-modem-cdma.c                            |  2 +-
 src/mm-modem-gsm-card.c                        | 12 ++++++------
 src/mm-modem-gsm-network.c                     |  2 +-
 5 files changed, 24 insertions(+), 14 deletions(-)

commit f6c514897e40e768b180963f2782ed60527ffaa6
Merge: 7a0373afe 9d7cb0ddc
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Mar 1 09:07:05 2010 -0800

    Merge remote branch 'origin/master' into qcdm

commit 9d7cb0ddcf69993903c5bc51bbbfbd3a57f55413
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Feb 28 22:11:47 2010 -0800

    gsm: fix direct registration info requests

 src/mm-generic-gsm.c | 58
 +++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 39 insertions(+), 19 deletions(-)

commit 27ede83bd33f570504d25d370422e23034c8f529
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Feb 28 21:15:22 2010 -0800

    trivial: rearrange some code

 src/mm-generic-gsm.c | 67
 ++++++++++++++++++++++++++--------------------------
 1 file changed, 34 insertions(+), 33 deletions(-)

commit 28d065c1f15a7ebf9109abbdca2ba8e831291f13
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Feb 27 12:51:13 2010 -0800

    core: implement optional PolicyKit-based authentication

 org.freedesktop.ModemManager.conf.polkit |   7 ++
 src/Makefile.am                          |  29 ++---
 src/mm-auth-provider-polkit.c            | 153
 +++++++++++++++++++++++++++
 src/mm-auth-provider-polkit.h            |  43 ++++++++
 src/mm-auth-provider.c                   | 133 ++++++++++++-----------
 src/mm-auth-provider.h                   |  10 +-
 src/mm-auth-request-polkit.c             | 175
 +++++++++++++++++++++++++++++++
 src/mm-auth-request-polkit.h             |  53 ++++++++++
 src/mm-modem-base.c                      |   2 +
 src/mm-modem-cdma.c                      |   9 +-
 src/mm-modem-gsm-card.c                  |  71 ++++++++-----
 src/mm-modem-gsm-network.c               |   9 +-
 src/mm-modem-gsm-sms.c                   | 131 +++++++++++++----------
 src/mm-modem.c                           |   3 +
 src/mm-modem.h                           |   3 +
 15 files changed, 664 insertions(+), 167 deletions(-)

commit aed5f3765d4b8e421888f6cc87800d76853b67d4
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Feb 27 12:51:03 2010 -0800

    core: add missing MMAuthRequest class

 src/mm-auth-request.c | 182
 ++++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-auth-request.h |  72 ++++++++++++++++++++
 2 files changed, 254 insertions(+)

commit 588bb65ea654371cabab1cfd6770d845e961f097
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Feb 27 12:49:07 2010 -0800

    trivial: add policy file to gitignore

 .gitignore | 1 +
 1 file changed, 1 insertion(+)

commit 3b6a58145ff29d28bc026d4cec59aec076a99aba
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Feb 27 10:29:34 2010 -0800

    core: simply authentication request objects

 src/Makefile.am            |  12 ++-
 src/mm-auth-provider.c     | 254
 +++++++++++++--------------------------------
 src/mm-auth-provider.h     |  65 +++++-------
 src/mm-modem-base.c        |  72 +------------
 src/mm-modem-cdma.c        |   9 +-
 src/mm-modem-gsm-card.c    |  54 ++++------
 src/mm-modem-gsm-network.c |   9 +-
 src/mm-modem-gsm-sms.c     |  72 +++++--------
 src/mm-modem.c             |   7 +-
 src/mm-modem.h             |   6 +-
 10 files changed, 159 insertions(+), 401 deletions(-)

commit 20796148cee8021766dacf519bd3953fe8d8416c
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Feb 27 07:49:57 2010 -0800

    build: fix build after bffb332481e2fd665a686e46419e2ddfb28529f1

 Makefile.am  | 1 +
 configure.ac | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

commit 27ffa6b272132c6c92c07cb99e0f213521874475
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Feb 27 07:19:37 2010 -0800

    core: authenticate SMS operations

 org.freedesktop.ModemManager.conf.polkit |   8 +
 src/mm-modem-gsm-sms.c                   | 388
 +++++++++++++++++++++++++++++--
 2 files changed, 376 insertions(+), 20 deletions(-)

commit bffb332481e2fd665a686e46419e2ddfb28529f1
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Feb 27 06:25:45 2010 -0800

    core: install correct dbus permissions for with-polkit/without-polkit

 .gitignore                                              |  1 +
 Makefile.am                                             | 14
 ++++++++++++--
 org.freedesktop.ModemManager.conf.nopolkit              | 17
 +++++++++++++++++
 ...ger.conf => org.freedesktop.ModemManager.conf.polkit |  0
 4 files changed, 30 insertions(+), 2 deletions(-)

commit 438a047935f941e8f7d8df27a0069c70e4b4ea05
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Feb 26 18:01:55 2010 -0800

    core: add authorization providers and optional PolicyKit support

    When the support is complete, use --with-polkit to enable
    PolicyKit support.  It's not there yet, but this commit adds an
    authorization provider framework which will be extended to allow
    hooking into PolicyKit.

 Makefile.am                       |   6 +-
 configure.ac                      |  18 ++
 marshallers/mm-marshal.list       |   1 +
 org.freedesktop.ModemManager.conf | 127 +++++++++++-
 src/Makefile.am                   |  19 +-
 src/mm-auth-provider-factory.c    |  45 +++++
 src/mm-auth-provider.c            | 405
 ++++++++++++++++++++++++++++++++++++++
 src/mm-auth-provider.h            |  99 ++++++++++
 src/mm-errors.c                   |   1 +
 src/mm-errors.h                   |   3 +-
 src/mm-modem-base.c               | 108 ++++++++++
 src/mm-modem-cdma.c               |  35 +++-
 src/mm-modem-gsm-card.c           | 262 ++++++++++++++++++++++--
 src/mm-modem-gsm-network.c        |  32 ++-
 src/mm-modem.c                    |  46 +++++
 src/mm-modem.h                    |  32 +++
 16 files changed, 1218 insertions(+), 21 deletions(-)

commit 7a0373afee63eeb9e677f61ccd19fd4aed549ac9
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 23 11:41:40 2010 -0800

    qcdm: add serial port subclass skeleton

 src/Makefile.am           |   4 ++
 src/mm-qcdm-serial-port.c | 176
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-qcdm-serial-port.h |  66 +++++++++++++++++
 3 files changed, 246 insertions(+)

commit bc3ac7bae507f2b264a5f616613c051fa0378d8b
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 21:43:42 2010 -0800

    qcdm: testcase output cleanup

 libqcdm/tests/test-qcdm-com.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

commit d694cebdfe374ae8fbc01d2b787430585e8485e1
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 19:00:31 2010 -0800

    qcdm: add more HDR subsystem protocol enums

    Found in TIA-856-A section 9.  Assuming that the modem firmware just
    passes the protocol states right through.

 libqcdm/src/commands.h        | 39 ++++++++++++++++++-
 libqcdm/tests/test-qcdm-com.c | 91
 ++++++++++++++++++++++++++++++++++++++++---
 2 files changed, 124 insertions(+), 6 deletions(-)

commit 06415201cb8ece13760e98e07fe496ec2415e3ad
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 18:34:12 2010 -0800

    qcdm: add HDR State Info command

 libqcdm/src/commands.c        |  45 ++++++++++++++
 libqcdm/src/commands.h        |  50 ++++++++++++++-
 libqcdm/src/dm-commands.h     |  15 +++++
 libqcdm/tests/test-qcdm-com.c | 138
 ++++++++++++++++++++++++++++++++++++++++++
 libqcdm/tests/test-qcdm-com.h |   2 +
 libqcdm/tests/test-qcdm.c     |   1 +
 6 files changed, 249 insertions(+), 2 deletions(-)

commit 928f8a9ff20934ad1e4383c5db6cb0b610a9fa4d
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 17:35:28 2010 -0800

    qcdm: add Call Manager subsystem STATE_INFO command

 libqcdm/src/commands.c        |  68 +++++++++++++++++++++++++++-
 libqcdm/src/commands.h        |  37 ++++++++++++++++
 libqcdm/src/dm-commands.h     |  16 +++++++
 libqcdm/tests/test-qcdm-com.c | 100
 ++++++++++++++++++++++++++++++++++++++++++
 libqcdm/tests/test-qcdm-com.h |   2 +
 libqcdm/tests/test-qcdm.c     |   1 +
 6 files changed, 223 insertions(+), 1 deletion(-)

commit bf0157162240134dbe18ad4ac70c842ca952483d
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 16:45:50 2010 -0800

    qcdm: add enums for STATUS rx_state values

 libqcdm/src/commands.h | 9 +++++++++
 1 file changed, 9 insertions(+)

commit c937d1399bd5185c813ef02109834fcac2dc2898
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 16:15:19 2010 -0800

    qcdm: add SW_VERSION command

 libqcdm/src/commands.c        | 49
 +++++++++++++++++++++++++++++++++++++++++++
 libqcdm/src/commands.h        | 18 ++++++++++++++++
 libqcdm/src/dm-commands.h     |  8 +++++++
 libqcdm/tests/test-qcdm-com.c | 46
 ++++++++++++++++++++++++++++++++++++++++
 libqcdm/tests/test-qcdm-com.h |  2 ++
 libqcdm/tests/test-qcdm.c     |  1 +
 6 files changed, 124 insertions(+)

commit b50638dcbe7dda084b542cf47c652e95c97aa037
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 15:53:19 2010 -0800

    qcdm: fix up DIAG_CMD_STATUS structure

    There's some junk in between the fields, apparently.

 libqcdm/src/dm-commands.h | 5 +++++
 1 file changed, 5 insertions(+)

commit bdfddd57e772fa86825661b6074f7909106c1569
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 15:53:06 2010 -0800

    qcdm: fix STATUS command SID & NID reporting

 libqcdm/src/commands.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 98ec1bdfea443c58e938a0adf435f396212cc092
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 15:23:34 2010 -0800

    qcdm: add testcases for QCDMResult objects

 libqcdm/src/result.c             |  2 ++
 libqcdm/tests/Makefile.am        |  2 ++
 libqcdm/tests/test-qcdm-result.c | 71
 ++++++++++++++++++++++++++++++++++++++++
 libqcdm/tests/test-qcdm-result.h | 26 +++++++++++++++
 libqcdm/tests/test-qcdm.c        |  4 +++
 5 files changed, 105 insertions(+)

commit c0e227a16bb320790e0cd10683abb3262f87d04f
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 13:27:25 2010 -0800

    qcdm: add status command and rework testcases a bit

    Status command not completely working yet.

 libqcdm/src/commands.c        |  68 +++++++++++++++++++++++++
 libqcdm/src/commands.h        |  19 +++++++
 libqcdm/src/dm-commands.h     |  16 ++++++
 libqcdm/tests/test-qcdm-com.c | 112
 +++++++++++++++++++++++++++++++++++++-----
 libqcdm/tests/test-qcdm-com.h |  10 +++-
 libqcdm/tests/test-qcdm.c     |   9 +++-
 6 files changed, 220 insertions(+), 14 deletions(-)

commit cb59d2e64d8bb79cb7147e7ce2128c83ec66ef1c
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 13:08:19 2010 -0800

    qcdm: fix guint8 result member retrieval

 libqcdm/src/result.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 3d617b7bf62bd35811cd7be6cbd7848e1835ec5e
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 12:17:27 2010 -0800

    qcdm: add command to get MDN (ie, phone number)

 libqcdm/src/Makefile.am       |  1 +
 libqcdm/src/commands.c        | 53
 +++++++++++++++++++++++++++++++++++++++++++
 libqcdm/src/commands.h        | 14 ++++++++++++
 libqcdm/src/nv-items.h        | 35 ++++++++++++++++++++++++++++
 libqcdm/tests/test-qcdm-com.c | 29 +++++++++++++++++++++--
 5 files changed, 130 insertions(+), 2 deletions(-)

commit 7d151e6ae005cdac451b3e24697c7dc1e2c1e462
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 11:33:44 2010 -0800

    qcdm: add DIAG_CMD_ESN

 libqcdm/src/commands.c        | 79
 +++++++++++++++++++++++++++++++++++++++++++
 libqcdm/src/commands.h        | 22 ++++++++++--
 libqcdm/src/dm-commands.h     |  7 ++++
 libqcdm/tests/test-qcdm-com.c | 24 +++++++++++++
 4 files changed, 129 insertions(+), 3 deletions(-)

commit 4c297935efcceb2d764077144757da57a48bd725
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 11:21:48 2010 -0800

    qcdm: fix unref-ing result objects

 libqcdm/src/result.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 10e5e6561f0d0cef5dfa52744fe3ca3abf062684
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 11:06:50 2010 -0800

    qcdm: handle more command error responses

 libqcdm/src/commands.c | 32 +++++++++++++++++++++++++++++++-
 libqcdm/src/error.c    |  4 ++++
 libqcdm/src/error.h    |  4 ++++
 3 files changed, 39 insertions(+), 1 deletion(-)

commit 0f9d4d2a1ac3414b25c71f736c5b1293e1595721
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 22 10:52:59 2010 -0800

    qcdm: fix QCDM packet decapsulation

    Rename and document the encapsulate/decapsulate functions, CRC-check
    the incoming packet, and make callers aware of the difference in how
    big the decapsulated packet is versus how many bytes they should
    discard from the buffer (since the decapsulated packet is at least
    3 bytes shorter than the incoming packet due to the CRC + framing).

 libqcdm/src/commands.c        |   2 +-
 libqcdm/src/utils.c           | 125
 ++++++++++++++++++++++++++++++++++++++++--
 libqcdm/src/utils.h           |  18 ++++--
 libqcdm/tests/test-qcdm-com.c |  33 ++++++++---
 4 files changed, 158 insertions(+), 20 deletions(-)

commit f5d1a9b40038c4c81b361a089b0753d149b3107c
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Feb 21 11:22:16 2010 -0800

    serial: allow file descriptor configuration to be handled by
    subclasses

 src/mm-serial-port.c | 11 +++++++----
 src/mm-serial-port.h |  5 +++++
 2 files changed, 12 insertions(+), 4 deletions(-)

commit 2cdefeb6dafa9d8405ddd1247967ca6e3267b1a7
Merge: a8c7bba19 b9958e6ec
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Feb 20 14:58:04 2010 -0800

    Merge remote branch 'origin/master' into qcdm

commit b9958e6ec5115822b1c2112da5ef2652aa847a51
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Feb 20 14:56:37 2010 -0800

    policy: add missing Makefile.am and icon

 policy/Makefile.am       |  15 +++++++++++++++
 policy/modem-manager.png | Bin 0 -> 817 bytes
 2 files changed, 15 insertions(+)

commit a8c7bba19ea486bd21f4fd1f2050bf899478fdaa
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Feb 20 14:55:10 2010 -0800

    serial: refactor MMSerialPort into a base class and an AT-capable
    serial port

    For QCDM devices we want most of what MMSerialPort does, but not
    the AT command handling stuff since the commands and responses
    aren't AT commands nor are they even strings.  So convert everything
    that MMSerialPort does into a GByteArray, and let MMAtSerialPort
    handle the conversion to strings when necessary.

 plugins/mm-modem-anydata-cdma.c |  28 ++--
 plugins/mm-modem-gobi-gsm.c     |   9 +-
 plugins/mm-modem-hso.c          |  36 ++---
 plugins/mm-modem-huawei-cdma.c  |  24 +--
 plugins/mm-modem-huawei-gsm.c   |  62 ++++----
 plugins/mm-modem-mbm.c          | 113 +++++++-------
 plugins/mm-modem-nokia.c        |  14 +-
 plugins/mm-modem-novatel-gsm.c  |  30 ++--
 plugins/mm-modem-option.c       |  16 +-
 plugins/mm-modem-sierra-cdma.c  |  26 ++--
 plugins/mm-modem-sierra-gsm.c   |   8 +-
 plugins/mm-modem-zte.c          |  48 +++---
 plugins/mm-plugin-huawei.c      |  21 +--
 src/Makefile.am                 |   6 +-
 src/mm-at-serial-port.c         | 323
 ++++++++++++++++++++++++++++++++++++++
 src/mm-at-serial-port.h         |  85 ++++++++++
 src/mm-generic-cdma.c           |  94 ++++++------
 src/mm-generic-cdma.h           |   4 +-
 src/mm-generic-gsm.c            | 182 +++++++++++-----------
 src/mm-generic-gsm.h            |   6 +-
 src/mm-modem-base.c             |   4 +-
 src/mm-plugin-base.c            |  54 +++----
 src/mm-serial-port.c            | 333
 +++++++++++++++++-----------------------
 src/mm-serial-port.h            |  73 +++++----
 24 files changed, 982 insertions(+), 617 deletions(-)

commit a431455059414b4a1cad854776c7fc0572e8c7fc
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Feb 20 14:53:43 2010 -0800

    core: fix memory leak on startup

 src/mm-manager.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

commit 9d8e892ffe602a123697a5f65393b5752129de09
Merge: c916ea7b4 9185ce987
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Feb 20 12:49:22 2010 -0800

    Merge remote branch 'origin/master' into qcdm

commit 9185ce987d254aab07b0e8439a2788ce0670e59d
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Feb 19 18:23:19 2010 -0800

    po: add translatable

 po/POTFILES.in | 1 +
 1 file changed, 1 insertion(+)

commit 16b2f40f1cd83ab37eb079b41a0f35bbcf877c93
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Feb 19 18:21:07 2010 -0800

    policy: add basic PolicyKit authorizations

 Makefile.am                                    |  2 +-
 configure.ac                                   |  1 +
 policy/org.freedesktop.modem-manager.policy.in | 39
 ++++++++++++++++++++++++++
 3 files changed, 41 insertions(+), 1 deletion(-)

commit dcedb5273c059476813dc68d0617210d0835710b
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Feb 19 11:34:47 2010 -0800

    mbm: add new C3607w device ID

 plugins/77-mm-ericsson-mbm.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 9c958c99bc7621fc800617246e5a9fa4bc4d48c8
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 16 11:03:16 2010 -0800

    build: add intltool support for PolicyKit policy translations

 .gitignore     |  5 +++++
 Makefile.am    | 17 +++++++++++++----
 autogen.sh     |  1 +
 configure.ac   | 10 ++++++++++
 po/LINGUAS     |  0
 po/POTFILES.in |  4 ++++
 6 files changed, 33 insertions(+), 4 deletions(-)

commit c916ea7b4b0bb56820a08b7d51f46f5357b27bfe
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 16 10:04:26 2010 -0800

    qcdm: whitespace fixes

 libqcdm/src/result.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

commit 6239d2e3510bc136a14fdcf7d87e6d85c344bf5a
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 16 09:58:47 2010 -0800

    qcdm: implement command handling and minimal infrastructure

 libqcdm/src/Makefile.am       |  10 ++
 libqcdm/src/com.c             |  62 +++++++++++
 libqcdm/src/com.h             |  25 +++++
 libqcdm/src/commands.c        | 108 +++++++++++++++++++
 libqcdm/src/commands.h        |  39 +++++++
 libqcdm/src/dm-commands.h     | 187 ++++++++++++++++++++++++++++++++
 libqcdm/src/error.c           |  82 ++++++++++++++
 libqcdm/src/error.h           |  48 +++++++++
 libqcdm/src/result-private.h  |  41 +++++++
 libqcdm/src/result.c          | 204 +++++++++++++++++++++++++++++++++++
 libqcdm/src/result.h          |  42 ++++++++
 libqcdm/src/utils.c           |  27 ++++-
 libqcdm/src/utils.h           |   9 ++
 libqcdm/tests/Makefile.am     |   2 +
 libqcdm/tests/test-qcdm-com.c | 241
 ++++++++++++++++++++++++++++++++++++++++++
 libqcdm/tests/test-qcdm-com.h |  27 +++++
 libqcdm/tests/test-qcdm.c     |  53 +++++++++-
 17 files changed, 1205 insertions(+), 2 deletions(-)

commit 1a7be4a379e95a0ceb5ed1d30540eaf75354f27f
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Feb 11 08:12:41 2010 -0800

    huawei: ignore CSS on EVDO-capable modems (rh #553199)

    Since CSS doesn't reliably determine EVDO-only registration state.

 plugins/mm-modem-huawei-cdma.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit d8ea5ea003f6e06520ec1254d89ec5fec5438d18
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 9 23:44:23 2010 -0800

    gsm: fix initial PIN checking for devices that echo by default

    If the modem echoed commands by default (since we may not have
    initialized the modem yet), the echoed command would confuse
    the PIN check reply parser.

 src/mm-generic-gsm.c |  8 +++++---
 src/mm-modem-base.c  | 12 +++++++++++-
 src/mm-modem-base.h  |  2 ++
 3 files changed, 18 insertions(+), 4 deletions(-)

commit 95dd4b5be1ebb0408be6e282eb20e2c45df1f253
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 9 22:58:44 2010 -0800

    gsm: try initial PIN check a few times in case SIM is busy

 src/mm-generic-gsm.c | 33 ++++++++++++++++++++++++++++++---
 1 file changed, 30 insertions(+), 3 deletions(-)

commit 953095466d210b76d785175957af0cb686fc5c04
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 9 22:14:06 2010 -0800

    sierra: ignore +PACSP0 on GSM devices

 plugins/mm-modem-sierra-gsm.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit 33c63a6681f439012524e5a68f6aa7220f38d120
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 8 12:37:06 2010 -0800

    zte: quite ZUSIMR messages for PIN-enabled devices too

    Normally this would get done by the prober, but if the device
    has a PIN enabled it'll reject almost all commands so the +CPMS?
    in the prober will fail.  Thus we have to do it after we've unlocked
    the device.

 plugins/mm-modem-zte.c | 66
 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 65 insertions(+), 1 deletion(-)

commit 7fdacfc89bb233ee0018a9ae64ce1ffa5a23f5d3
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 8 11:45:50 2010 -0800

    test: add SE K600i COPS response testcase

 src/tests/test-modem-helpers.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

commit 626f2953bf394eff4361a6d06a608349605fb5aa
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 8 09:25:58 2010 -0800

    qcdm: fix licensing of testcases

 libqcdm/tests/test-qcdm-crc.c      | 17 ++++++-----------
 libqcdm/tests/test-qcdm-escaping.c | 17 ++++++-----------
 libqcdm/tests/test-qcdm.c          | 17 ++++++-----------
 3 files changed, 18 insertions(+), 33 deletions(-)

commit 704d6e90b635305510673dcf5e9933a65376986e
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Feb 8 09:13:17 2010 -0800

    qcdm: add DM protocol utilities and testcases

    Bits for CRC calculation and frame escaping/unescaping.

 .gitignore                         |   2 +
 Makefile.am                        |   2 +-
 configure.ac                       |   3 +
 libqcdm/Makefile.am                |   2 +
 libqcdm/src/Makefile.am            |  31 +++++++
 libqcdm/src/libqcdm.ver            |   6 ++
 libqcdm/src/utils.c                | 169
 +++++++++++++++++++++++++++++++++++++
 libqcdm/src/utils.h                |  37 ++++++++
 libqcdm/tests/Makefile.am          |  26 ++++++
 libqcdm/tests/test-qcdm-crc.c      |  70 +++++++++++++++
 libqcdm/tests/test-qcdm-crc.h      |  25 ++++++
 libqcdm/tests/test-qcdm-escaping.c | 129 ++++++++++++++++++++++++++++
 libqcdm/tests/test-qcdm-escaping.h |  26 ++++++
 libqcdm/tests/test-qcdm.c          |  49 +++++++++++
 14 files changed, 576 insertions(+), 1 deletion(-)

commit 9eb376d782e1f40d430807794c5b0f60a91e058b
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Feb 3 18:37:24 2010 -0800

    longcheer: add more port tags

 plugins/77-mm-longcheer-port-types.rules | 94
 ++++++++++++++++++++++++++++++++
 1 file changed, 94 insertions(+)

commit 8e3406bf740144ac657d13c69bff0f3407311b14
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Feb 3 15:19:36 2010 -0800

    longcheer: tag ChinaBird PL68 (pid 0x9000) ports (bgo #608668)

 plugins/77-mm-longcheer-port-types.rules | 5 +++++
 1 file changed, 5 insertions(+)

commit a9918d59427eae2b00da8fbe92c556a90db38b43
Author: Martin Pitt <martin.pitt@ubuntu.com>
Date:   Tue Feb 2 10:02:53 2010 -0800

    core: ignore VTs

    Even just walking sysfs for driver and parent devices takes
    time for ports we know we'll never use, so take a short-cut
    and save some startup time.  This reduces the startup
    overhead to some 15%.

 src/mm-manager.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 469e54c364de5776b1b41db0f5eaa9cb3f34f6b0
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jan 31 22:33:38 2010 -0800

    gsm: update UnlockRequired status on PIN/PUK entry result

 src/mm-generic-gsm.c | 82
 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 80 insertions(+), 2 deletions(-)

commit c85e61753000514ae140cf745e47e835edb934cb
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jan 31 22:32:33 2010 -0800

    serial: handle string CME error codes too

    Some devices won't get to the initialization stage where we send
    CMEE=1 (for numeric error codes) before they return some errors,
    so handle the string representation of CME error codes too.

 src/mm-serial-parsers.c | 102
 ++++++++++++++++++++++++++++--------------------
 1 file changed, 60 insertions(+), 42 deletions(-)

commit 27d1c8f936379ec88a0098388067d02571a6974d
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jan 31 21:52:29 2010 -0800

    errors: rework error conversion

    Use the same error structure for parsing numeric and string-based
    errors.

 src/mm-errors.c | 173
 ++++++++++++++++++++++++++++++++++++++------------------
 src/mm-errors.h |   4 +-
 2 files changed, 120 insertions(+), 57 deletions(-)

commit ba9634ae4fe0a3685cb9ccbc1d68fd05e0ebc1ac
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jan 31 12:04:53 2010 -0800

    serial: add mm_serial_port_is_open()

 src/mm-serial-port.c | 9 +++++++++
 src/mm-serial-port.h | 2 ++
 2 files changed, 11 insertions(+)

commit 765920803744c6b1326ed44894f73cb9b7481e38
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jan 31 12:00:26 2010 -0800

    core: log when unlock state changes

 src/mm-modem-base.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 42a20ab1872ad8b570ddf97a920d83bc63defd9e
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jan 31 11:57:05 2010 -0800

    core: whitespace fixup

 src/mm-modem-base.c | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

commit 1561436788fc26b82f803ca818ec025253ca9d63
Author: Norbert Frese <nf2.email@gmail.com>
Date:   Sun Jan 31 11:43:52 2010 -0800

    core: check modem PIN state before exporting it (bgo #604551)

    And set UnlockRequired accordingly.  Large cleanups and rework by
    dcbw.

 src/mm-generic-gsm.c | 109
 +++++++++++++++++++++++++++++++++++++++------------
 1 file changed, 84 insertions(+), 25 deletions(-)

commit 3d0f2ecf126734e96ad1f18d7e069ded3711b9f8
Author: Norbert Frese <nf2.email@gmail.com>
Date:   Sun Jan 31 11:06:55 2010 -0800

    core: add an UnlockRequired property that provides lock status
    (bgo #604551)

    Clients can check the property to determine lock/unlock status
    and thus
    unlock the modem before trying to connect if required.

    Bits of the patch by dcbw (see the bug).

 introspection/mm-modem.xml | 12 ++++++++++++
 src/mm-modem-base.c        | 30 ++++++++++++++++++++++++++++++
 src/mm-modem-base.h        |  3 +++
 src/mm-modem.c             |  9 +++++++++
 src/mm-modem.h             |  4 +++-
 5 files changed, 57 insertions(+), 1 deletion(-)

commit 649b7e25a038cd6df735b2558bf22ee9d379924b
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 27 15:50:53 2010 -0800

    build: update .gitignore

 .gitignore | 3 +++
 1 file changed, 3 insertions(+)

commit aab913049b3f297397901ad1259c321975675666
Author: Michael Biebl <biebl@debian.org>
Date:   Wed Jan 27 15:49:28 2010 -0800

    build: update .gitignore file for m4 macros

 .gitignore | 4 ++++
 1 file changed, 4 insertions(+)

commit 22e687833cda89855e6dba9b3771ab403771738d
Author: Michael Biebl <biebl@debian.org>
Date:   Wed Jan 27 15:48:55 2010 -0800

    build: unify compiler warnings

 configure.ac            | 31 ++-----------------------------
 m4/compiler_warnings.m4 | 31 +++++++++++++++++++++++++++++++
 2 files changed, 33 insertions(+), 29 deletions(-)

commit 22f6ab4dc604eba85271a10cdb5a1b987db6490f
Author: Michael Biebl <biebl@debian.org>
Date:   Wed Jan 27 15:48:10 2010 -0800

    build: use separate directory for m4 macros

 Makefile.am  | 2 ++
 configure.ac | 2 ++
 2 files changed, 4 insertions(+)

commit 053db1d27ca5147e7d434ce660fa26ef83d3ed11
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jan 22 14:11:24 2010 -0800

    misc: fix FSF address in license headers

 plugins/mm-modem-mbm.c  | 4 ----
 plugins/mm-modem-mbm.h  | 4 ----
 plugins/mm-plugin-mbm.c | 4 ----
 plugins/mm-plugin-mbm.h | 4 ----
 4 files changed, 16 deletions(-)

commit ed885b7595294115b5cde8755c754515294f27cc
Merge: a919c8358 e98401440
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 15:07:03 2010 -0800

    Merge commit 'origin/anydata'

commit a919c8358284e948717c83d9d6c143281295390b
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 15:03:20 2010 -0800

    release: bump version to 0.3

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fabc1eba2339d28b74747e397ec2e9cad9dc34d2
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 15:02:30 2010 -0800

    doc: build and completeness fixes

 introspection/Makefile.am | 1 +
 introspection/all.xml     | 1 +
 2 files changed, 2 insertions(+)

commit 564d054e8e52e154dbf9996d5efc53260d4f3e09
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 14:35:48 2010 -0800

    cdma: increase data call initiation timeout

    Some cards (Novatel S720 for example) can take a long time to start
    a data call if the device isn't activated on the network or the
    signal strength is low.

 src/mm-generic-cdma.c | 2 +-
 test/mm-test.py       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit c6694a06b546d04a528a3e97c7d1ff696a3c2756
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 14:23:05 2010 -0800

    core: fix mm_modem_check_removed() to return errors correctly

    Make sure all errors actually get returned, not just removal errors.

 src/mm-modem.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

commit e98401440475a1a82486fcb9ce4d02f092e627c5
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 13:56:53 2010 -0800

    anydata: whitespace cleanup

 plugins/mm-modem-anydata-cdma.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

commit e4439d399a055055b01306457b4541103d5c9b92
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 13:56:07 2010 -0800

    anydata: capture some unsolicited messages

 plugins/mm-modem-anydata-cdma.c | 68
 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 67 insertions(+), 1 deletion(-)

commit 7fc53d29cce23347b12d9c3be7a753a506a88c11
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 13:48:21 2010 -0800

    anydata: remove unused code

 plugins/mm-modem-anydata-cdma.c | 19 -------------------
 1 file changed, 19 deletions(-)

commit f6a09050af45a0bdbf3ddcd27e8e6197040671f3
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 13:46:07 2010 -0800

    cdma: allow plugins to override AT+CSS? during registration checking
    (rh #547294)

    Some modems key the AT+CSS? response off their 1X state, so if the
    modem has EVDO service but no 1X service, AT+CSS? will provide
    incorrect
    registration state information and the registration checking will
    end too early.  Allow modems that can handle more specific
    registration
    checking to skip the AT+CSS? part.

 plugins/mm-modem-anydata-cdma.c |  1 +
 src/mm-generic-cdma.c           | 73
 +++++++++++++++++++++++++++++++----------
 src/mm-generic-cdma.h           |  6 ++--
 3 files changed, 61 insertions(+), 19 deletions(-)

commit 19c988d92b67b56d7c87993f7a8efd984124df39
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 13:19:55 2010 -0800

    anydata: add plugin for AnyData CDMA devices (rh #547294)

 plugins/Makefile.am             |  21 ++-
 plugins/mm-modem-anydata-cdma.c | 336
 ++++++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-anydata-cdma.h |  45 ++++++
 plugins/mm-plugin-anydata.c     | 179 +++++++++++++++++++++
 plugins/mm-plugin-anydata.h     |  41 +++++
 5 files changed, 621 insertions(+), 1 deletion(-)

commit f4d2e30525055591d0f3bddd99936be4a5e3d444
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 12:27:54 2010 -0800

    huawei-cdma: robustify SYSINFO parsing

    Shouldn't happen since the number of matches was already
    verified, but doesn't hurt to make sure we don't pass NULL
    to strtol().

 plugins/mm-modem-huawei-cdma.c | 2 ++
 1 file changed, 2 insertions(+)

commit 82eecfca923a3b4dec6c363e756516f6aaa47486
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 11:53:45 2010 -0800

    sierra: prefer primary port for status

 plugins/mm-modem-sierra-cdma.c | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

commit 28eca600f7f1a0387a99c51d35179d81dc3fec59
Merge: 50ad39b28 b1992f903
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 00:21:10 2010 -0800

    Merge commit 'origin/probe-cpin'

commit 50ad39b28e61adb3d9da178c47e41100f554adeb
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 19 03:16:34 2010 -0800

    core: protect against modem removal in critical callbacks (rh #553953)

    There are more places to handle, but these are the most critical.  If
    the modem is removed while a command is in-progress, the
    mm-callback-info
    code will set info->modem to NULL.  Make sure we check for that in
    callbacks and return a reasonable error.  Previous code would just
    blindly forge ahead and die on a null dereference.

 src/mm-callback-info.c |  5 ++--
 src/mm-errors.c        |  3 +-
 src/mm-errors.h        |  3 +-
 src/mm-generic-cdma.c  | 77
 +++++++++++++++++++++++++++-----------------------
 src/mm-generic-gsm.c   | 69 +++++++++++++++++++++++---------------------
 src/mm-modem.c         | 46 +++++++++++++++++++++++++++---
 src/mm-modem.h         |  2 ++
 7 files changed, 129 insertions(+), 76 deletions(-)

commit 73e10c77d37791ed4a1f51ee8c1007600ef24bde
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 18 23:59:54 2010 -0800

    cdma: prefer primary port unless it's connected

 plugins/mm-modem-huawei-cdma.c |  23 ++++----
 src/mm-generic-cdma.c          | 119
 ++++++++++++++++++++++-------------------
 2 files changed, 78 insertions(+), 64 deletions(-)

commit b1992f903b27f2a0b8190daaedcbe76790180c3c
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 18 23:22:02 2010 -0800

    probe: add note about Onda MT503HS (rh #551376)

 src/mm-plugin-base.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit a1520465fd5b5ad6a75508f5b776a77404425daa
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jan 18 15:37:06 2010 -0800

    build: fix 'make clean'

 Makefile.am | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 0cc9c1731ce6250a5538b1f24ddce5dc4298f717
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jan 17 17:37:41 2010 -0800

    probe: add CPIN request during the probing process (bgo #604369)

    Some devices (ZTE MF628) respond to everything except CPIN? with
    ERROR unless the PIN has been sent.  Since no known CDMA devices
    support AT+CPIN, assume that devices that return a CPIN response
    are GSM devices.

 src/mm-plugin-base.c | 99
 ++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 73 insertions(+), 26 deletions(-)

commit 4cb58b8f5f373f5717005a5216d1b4ee8802839c
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jan 16 15:59:29 2010 -0800

    zte: ignore SIM Build Main Menu requests (rh #551376)

 plugins/mm-modem-zte.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 23727a5b106abfef53ccb5929bf2353adf474889
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jan 15 11:48:35 2010 -0800

    longcheer: install udev rules

 plugins/Makefile.am | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 621d9e8751dca6d93bf50e5a8c86dab686bf57d4
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jan 15 11:45:43 2010 -0800

    longcheer: don't try to use untagged ports on known devices

 plugins/77-mm-longcheer-port-types.rules |  3 +++
 plugins/mm-plugin-longcheer.c            | 13 ++++++++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

commit 471d8a70a931bd4571ca025dbe0481510d619f2c
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jan 15 01:37:26 2010 -0800

    longcheer: new plugin for Longcheer (Alcatel etc) devices (bgo
    #606550)

    Anything with vendor ID 0x1c9e really; like Alcatel X020, X030,
    X060s, etc.  Longcheer appears to make the actual hardware that all
    the devices with vendor ID 0x1c9e use.  You'll see it in .INF files
    with "CMLONG" as part of the USB interface definition.

    If the ports are not correctly detected, we need to get the driver's
    .INF files to determine what the ports should be, and add them to
    the udev rules file.

 plugins/77-mm-longcheer-port-types.rules |  42 ++++++++
 plugins/Makefile.am                      |  19 +++-
 plugins/mm-plugin-longcheer.c            | 180
 +++++++++++++++++++++++++++++++
 plugins/mm-plugin-longcheer.h            |  41 +++++++
 4 files changed, 281 insertions(+), 1 deletion(-)

commit a4fee864c21a0c12d391e764f648bae1c38a22e7
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 12 09:29:36 2010 -0800

    release: bump version to 0.2.998 (0.3-rc2)

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit eeb780704455003ec233714ad346963f8ed26b7d
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 5 23:24:59 2010 -0600

    test: add Gobi COPS response testcase

 src/tests/test-modem-helpers.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit d3b5688d4374a9ca39a11453a7b2d143274b2725
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 5 21:54:05 2010 -0600

    test: add Nokia 2720 COPS response testcase

 src/tests/test-modem-helpers.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 008c7e322d91ebe7995b57e77ac48162655556e1
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 5 21:47:40 2010 -0600

    test: add Novatel XU870 and Option GT Ultra Express COPS response
    testcases

 src/tests/test-modem-helpers.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

commit f444533a74884dcd545591035b1c58ec2708be9a
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 5 18:07:29 2010 -0600

    test: add +COPS response testcases for E1550, MF622, and E226

 src/tests/test-modem-helpers.c | 40
 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

commit 1faead71aa79c148288470b9837e50a36746d6bf
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 5 18:07:12 2010 -0600

    test: handle various missing operator strings if the modem doesn't
    report them

 test/mm-test.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit c30f23e02c0759ddd333699c7d39fe53bdf159ac
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 5 15:03:06 2010 -0600

    gsm: add testcase for invalid +COPS response

 src/mm-modem-helpers.c         |  3 +++
 src/tests/test-modem-helpers.c | 26 ++++++++++++++++++++++++++
 2 files changed, 29 insertions(+)

commit 3988f53d2e9b9aae7eb4f6fb8c46dca55373ba6f
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 5 14:57:30 2010 -0600

    gsm: correctly parse Nokia N80 +COPS response

 src/mm-modem-helpers.c         | 108
 ++++++++++++++++++++++++++++++++---------
 src/tests/test-modem-helpers.c |  46 ++++++------------
 2 files changed, 100 insertions(+), 54 deletions(-)

commit 216e49f8d8bbfbc0b7d2fbd00ac712a2de41b33a
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jan 5 14:29:19 2010 -0600

    gsm: split out +COPS response parsing and add testcases

 configure.ac                   |  15 ++
 src/Makefile.am                |  18 +-
 src/mm-generic-gsm.c           | 113 +------------
 src/mm-modem-helpers.c         | 140 ++++++++++++++++
 src/mm-modem-helpers.h         |  31 ++++
 src/tests/Makefile.am          |  22 +++
 src/tests/test-modem-helpers.c | 371
 +++++++++++++++++++++++++++++++++++++++++
 7 files changed, 601 insertions(+), 109 deletions(-)

commit a06b3f20cafab2ff2d1de16553f7ff578a9b761b
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jan 1 20:52:15 2010 -0600

    serial: prevent "hangs" by limiting EAGAIN retries on serial writes

    MM would appear to hang sometimes when writing to serial devices but
    in reality was just retrying the write too many times.  Make the
    retry limit time-based so MM doesn't hang but times the attempt out
    instead.

 src/mm-serial-port.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 5eed83cd753679acae1070893052243299330200
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 23 02:19:26 2009 -0800

    gsm: ensure registration state is reset when disabling the modem

 src/mm-generic-gsm.c | 2 ++
 1 file changed, 2 insertions(+)

commit b94627572fa09ed71bfcc633e9b5a40f5e49c596
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 22 16:58:23 2009 -0800

    core: implement a PropertiesChanged signal for the MMModem class

    At the moment only the Enabled property is exported.

 introspection/mm-modem.xml         |  19 +++
 marshallers/mm-marshal.list        |   1 +
 src/Makefile.am                    |   4 +-
 src/mm-modem-base.c                |  20 ++-
 src/mm-modem.h                     |   2 +
 src/mm-properties-changed-signal.c | 276
 +++++++++++++++++++++++++++++++++++++
 src/mm-properties-changed-signal.h |  28 ++++
 7 files changed, 348 insertions(+), 2 deletions(-)

commit 710986bd4b630095eff7b53bc5d46d0bed94495e
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Dec 21 11:37:36 2009 -0800

    core: add Enabled property to org.freedesktop.ModemManager.Modem
    interface

 introspection/mm-modem.xml | 6 ++++++
 src/mm-modem-base.c        | 8 ++++++++
 src/mm-modem.c             | 8 ++++++++
 src/mm-modem.h             | 2 ++
 4 files changed, 24 insertions(+)

commit 71cbcb834c77025d82d91dadcb2c19bd58dd7b85
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Dec 21 11:18:38 2009 -0800

    build: don't require pppd headers to build

    If they're not there, just ignore them and don't build the PPP-enabled
    bits of the test tool.

 configure.ac     | 25 ++++++++++++++++++++++++-
 test/Makefile.am |  4 ++++
 2 files changed, 28 insertions(+), 1 deletion(-)

commit 791faca8fa1174020052b4dea05b7063946f8c79
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Dec 21 11:17:59 2009 -0800

    introspection: add missing mm-modem-gsm.xml

 introspection/all.xml | 1 +
 1 file changed, 1 insertion(+)

commit 36d8d328c73bfcfb4d52bfcaa3b8c334da952d0e
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Dec 21 10:02:57 2009 -0800

    test: add support for static IP configured devices (ie, 'hso')

 test/mm-test.py | 126
 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 98 insertions(+), 28 deletions(-)

commit a8fc7ecd77cc5e2bf63d457fa30cca605ff63a8c
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Dec 20 00:17:12 2009 -0800

    test: add ability to drive ppp for connection tests

 configure.ac               |   7 ++
 test/Makefile.am           |  16 +++
 test/mm-test-pppd-plugin.c | 264
 +++++++++++++++++++++++++++++++++++++++++++++
 test/mm-test.py            | 154 ++++++++++++++++++++++++--
 4 files changed, 432 insertions(+), 9 deletions(-)

commit 87ee623923ec527aa1158387901aab19e64dc22b
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Dec 20 00:16:45 2009 -0800

    test: fix build warning

 test/lsudev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit db7214c202b7ed9d9cf12f49ff70ceba020f6f33
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Dec 18 19:44:48 2009 -0800

    sierra: fix CDMA registration detection in some cases

    It turns out that "Modem is [NOT] registered" is not a good indicator
    of whether the card has service or not; instead some of the AT!STATUS
    response is needed to really determine registration state or not.

 plugins/mm-modem-sierra-cdma.c | 72
 ++++++++++++++++++++++++++++++++++--------
 1 file changed, 59 insertions(+), 13 deletions(-)

commit 8d42094608e68eccbcf5838d87fd59aa605a18be
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 16 15:26:05 2009 -0800

    zte: handle unsolicited messages during probe

    This implements the same fixes that NetworkManager's 0.7 branch
    implemented in commits f38ad328acfdc6ce29dd1380602c546b064161ae and
    1235f71b20c92cded4abd976ccc5010649aae1a0.  Many ZTE devices will
    spam the port with messages about waiting voicemail/SMS which buffer
    up and cause the device to eventually crash if not suppressed.

 plugins/mm-plugin-zte.c |  9 ++++++
 src/mm-plugin-base.c    | 76
 ++++++++++++++++++++++++++++++++++++++++++++++++-
 src/mm-plugin-base.h    |  5 ++++
 3 files changed, 89 insertions(+), 1 deletion(-)

commit 3ad172d1504b20949049cf47783e1fe7287c9b95
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 16 14:34:29 2009 -0800

    cdma: fix quality parsing if modem doesn't prepend +CSQ:

    Which some Huawei modems (EC168C) don't do.

 src/mm-generic-cdma.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

commit 30a2a202073bb7c9ac56326fff01517850894774
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 16 14:20:24 2009 -0800

    sierra: use at!pcstate on CDMA modems for power control

    at!pcstate is what Sierra CDMA modems use instead of AT+CFUN for
    powering the radio on and off.  It doesn't turn the modem off
    completely
    like AT+CFUN=0 does for many GSM devices though, so it's quite a
    lot nicer.

 plugins/mm-modem-sierra-cdma.c |  46 +++++++++++++++++++
 src/mm-generic-cdma.c          | 100
 ++++++++++++++++++++++++++++++-----------
 src/mm-generic-cdma.h          |  14 ++++++
 3 files changed, 133 insertions(+), 27 deletions(-)

commit 2fc0c039e65173123a39a0fb6c8f44804cbd773a
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Dec 11 16:30:25 2009 -0800

    option: always pick the right data port

    This is the MM equivalent of NM commit
    9d7f5b3d084eee2ccfff721c4beca3e3f34bdc50;
    Genuine Option NV devices are always supposed to use USB interface
    0 as
    the modem/data port, per mail with Option engineers.  Only this port
    will emit responses to dialing commands.

 plugins/mm-plugin-option.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

commit 488baa13302c6d1e839db6afc9fed088e9d5dbba
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Dec 11 13:19:21 2009 -0800

    mbm: ensure various unsolicited responses are turned off when
    disabling

    If the modem wasn't connected when disable is called, the generic GSM
    code doesn't need to shut anything down and thus closes the serial
    port immediately.  That means the mbm plugin's CREG=0 and CMER=0 won't
    get sent because the port is closed.  mbm needs to ensure that it's
    commands actually get sent to the modem by really sending them and
    waiting for the response before chaining up to the parent's disable.

 plugins/mm-modem-mbm.c | 36 +++++++++++++++++++++++++++++-------
 1 file changed, 29 insertions(+), 7 deletions(-)

commit eaf167bebdc24c992b0a7b130432064eb5c537b7
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Dec 11 12:53:50 2009 -0800

    test: argument parsing and connect improvements

 test/mm-test.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 41ea9a0e4bc3817fa060d54c7c7df7a8606eb9d1
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Dec 11 10:48:23 2009 -0800

    cdma: try +CSQ? if CSQ fails

    Some modems want one, some modems want the other.  Try both.

 src/mm-generic-cdma.c | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

commit 3d852435c6032cdae09659e103561a0ecac62b7e
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Dec 11 09:30:51 2009 -0800

    cdma: accept SID 0 in some cases

    Most AT command references allow modems to report SID 0, even though
    SID 0 is not a valid SID and is not assigned to any CDMA network.
    Some Sierra 5725 cards have been seen to report valid class and band
    from the +CSS response but a SID 0.  Accept SID 0 when at least one
    other element of the +CSS response indicates that the modem has
    service.
    Otherwise, report "no service" as before.

 src/mm-generic-cdma.c | 32 +++++++++++++++++++++++++++-----
 1 file changed, 27 insertions(+), 5 deletions(-)

commit 07114d4f43c6e724d22294108b1e73785e7aab2a
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Dec 7 22:07:58 2009 -0800

    release: bump version to 0.2.997

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit dd057d28e4ab3812eebd41a7df1c2f80d90d8600
Merge: f715e0d49 a9e062442
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Dec 7 22:04:28 2009 -0800

    Merge commit 'origin/states'

commit a9e0624426632a38c2d208e7a28fac3bca51d857
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Dec 7 18:40:04 2009 -0800

    gsm: handle different +COPS response behavior

    Some modems delay the +COPS response until registration is complete,
    others return right away.  Make sure that both behaviors work
    correctly.

 src/mm-generic-gsm.c | 61
 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 53 insertions(+), 8 deletions(-)

commit 5a4a9a6239ac771e8ddc343d041f643d848a7ad2
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Dec 7 18:39:18 2009 -0800

    core: add refcounts to MMCallbackInfo

 src/mm-callback-info.c | 39 +++++++++++++++++++++++++++++++--------
 src/mm-callback-info.h |  6 ++++++
 2 files changed, 37 insertions(+), 8 deletions(-)

commit 1157b59a18ee4e5da109977947181f8596f100ff
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 2 14:59:26 2009 -0800

    core: pretty-print state changes

 src/mm-manager.c |  2 --
 src/mm-modem.c   | 43 ++++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem.h   |  2 ++
 3 files changed, 44 insertions(+), 3 deletions(-)

commit 5bdabaabec5ecb64986036bf783196eeee3756e7
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 2 14:43:09 2009 -0800

    gsm: implement enable/connecting/disconnecting state handling

    And consolidate generic port enable code in one place since pretty
    much every modem needs that.

 plugins/mm-modem-hso.c         |  33 ++++----
 plugins/mm-modem-mbm.c         | 165
 +++++++++++++++++++--------------------
 plugins/mm-modem-novatel-gsm.c |  67 +++++++---------
 plugins/mm-modem-option.c      |  21 +++--
 plugins/mm-modem-sierra-gsm.c  |  25 +++---
 plugins/mm-modem-zte.c         |  58 +++++---------
 src/mm-generic-gsm.c           | 170
 ++++++++++++++++++++++++++++-------------
 src/mm-generic-gsm.h           |  28 +++++++
 8 files changed, 309 insertions(+), 258 deletions(-)

commit 872fe9bf6bb0555f7e4df85fc06314a013404428
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Dec 2 14:42:58 2009 -0800

    test: give some time before disconnecting

 test/mm-test.py | 3 +++
 1 file changed, 3 insertions(+)

commit bb6f997fb8b6acad6af62cae081b55e6d94cc1b6
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 16:46:23 2009 -0800

    gsm: update for new states and state flow fixes

 plugins/mm-modem-mbm.c |  1 +
 src/mm-generic-gsm.c   | 74
 ++++++++++++++++++++++++++++++++++++++++++++++----
 src/mm-generic-gsm.h   | 10 +++++++
 3 files changed, 80 insertions(+), 5 deletions(-)

commit 7f1951fec867de5553b130c21df4eb5f447889a1
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 16:44:07 2009 -0800

    core: fix ordering of DISABLING and DISABLED states

 src/mm-modem.c | 2 +-
 src/mm-modem.h | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit bf13b4698f8d94119f42e5cdf5df6a3dbfe354fd
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 16:33:44 2009 -0800

    cdma: reset previous state if disconnect failed

 src/mm-generic-cdma.c | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

commit c169396c1bbb1238e3c405bb9c53eb12712acb9b
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 16:19:27 2009 -0800

    cdma: correctly handle state update after disconnection

    We only want to ignore connected/connecting/disconnecting states
    and update the state based on registration for unsolicited
    registration changes.  Basically, when disconnecting, the modem
    will be in DISCONNECTING state, but after the disconnect has finished
    we want to update the modem's state based on the current
    registration status.  But the previous check for >= DISCONNECTING
    would prevent that from happening, so we need a slightly more specific
    check in update_enabled_state().

 src/mm-generic-cdma.c | 29 +++++++++++++++++++----------
 1 file changed, 19 insertions(+), 10 deletions(-)

commit d438012f63dac7e4819f09b520658abb42234082
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 16:01:20 2009 -0800

    cdma: s/GSM/CDMA

    Oops.

 src/mm-generic-cdma.c | 4 ++--
 src/mm-generic-cdma.h | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 02c7db7fcfc7af226c2677793685528928d6f7f5
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 15:58:11 2009 -0800

    cdma: handle interim enabling/disabling states better

    Have to fall back to the previous state if the enable/disable
    operation fails since we cannot assume anything about the new
    modem state when a failure occurs.

 src/mm-generic-cdma.c | 36 ++++++++++++++++++++++++++++++++++--
 src/mm-generic-cdma.h |  2 ++
 2 files changed, 36 insertions(+), 2 deletions(-)

commit a295afdd2ddd99dea8435d95a72f02d0ade2b2b7
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 15:39:06 2009 -0800

    cdma: update for new modem states and make connect actually work

 src/mm-generic-cdma.c | 41 ++++++++++++++++++++++++++---------------
 1 file changed, 26 insertions(+), 15 deletions(-)

commit e9964231e931f283ecf232f23f45282a22e3471a
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 15:38:11 2009 -0800

    core: use modem states to protect against double operations

 src/mm-modem.c | 111
 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 105 insertions(+), 6 deletions(-)

commit 0f19bbff0f7b29c5922307526c3a7770fe8718e1
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 15:37:37 2009 -0800

    core: add a few more interim modem states

 src/mm-modem.h | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

commit 015da49d06fd7f19c444ba7b9e98baeb31c72c4d
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 14:19:25 2009 -0800

    core: set modem state before potentially destroying the modem

 src/mm-modem-base.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit d269a9a278687c82e5a6ec3f1bba0f91161a05c7
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 12:58:57 2009 -0800

    core: state should always be reset to DISABLED when validity changes

    When the modem becomes valid, it should initially be in disabled
    state,
    and when it becomes invalid, it should also go to disabled.

 src/mm-modem-base.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 76facd689188029cd9fe01be837f86b895231ded
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 12:58:25 2009 -0800

    mbm: update state after enabling the device

 plugins/mm-modem-mbm.c | 5 +++++
 1 file changed, 5 insertions(+)

commit 231d2ca90b6d197d4594407fc3e6b6ee2c7fb850
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 12:57:39 2009 -0800

    core: schedule enabled/disabled callbacks to avoid infinite recursion

 src/mm-modem.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit 3350a3aeea6ceeb959d7622b62f53ab86bb2ab48
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 12:57:18 2009 -0800

    cdma: set correct modem state on connect failure

 src/mm-generic-cdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f715e0d498930409d97a8097b37731aadbc11a72
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 11:25:28 2009 -0800

    build: require glib-2.0 >= 2.6.18 for g_set_error_literal()

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 881a725ea47e059023a268404368346d232dd15a
Merge: 909b8b7c8 b46ac89ff
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 11:22:00 2009 -0800

    Merge commit 'origin/master' into states

commit b46ac89ff68d1e1211f7aa21ca816c23eed6316e
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Dec 1 10:02:47 2009 -0800

    zte: add missing ZTE device aux port tags

 plugins/77-mm-zte-port-types.rules | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 35daaff983ec4c0435066bc5776b664a91359909
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 30 20:17:43 2009 -0800

    gsm: more complete parsing of PIN responses

    Need to handle ex PH-NET PIN from a subsidy-locked device for
    example.

 src/mm-generic-gsm.c | 50
 ++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 42 insertions(+), 8 deletions(-)

commit c87b4dcc7796f9c8b0980c47796b3f2fad8477ec
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 30 17:42:37 2009 -0800

    zte: add additional device port tags

    Don't know the aux port yet but we'll figure that out;
    and in the mean time the autoprobing should tag the
    port as a secondary port anyway.

 plugins/77-mm-zte-port-types.rules | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

commit 909b8b7c8dbe2de97d9550004641c70411d92c56
Merge: c463b5a40 0f595adb7
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 30 15:44:20 2009 -0800

    Merge commit 'origin/master' into states

commit 0f595adb7f07f575627667480f23775b21f9efb2
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 30 15:41:09 2009 -0800

    gsm: fix unsolicited registration segfaults

    By decoupling the solicited registration callback from unsolicited
    replies, we can be sure of the call flow and avoid issues where
    unsolicited registration will be processed when an explicit
    registration request is no longer in progress.

    Also ups the timeout on CREG=0,, to 120 seconds because that
    appears to trigger an internal scan on some of the 'hso' devices
    that I have, and can take up to 60 or more seconds to complete
    or fail.

 src/mm-generic-gsm.c | 124
 ++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 83 insertions(+), 41 deletions(-)

commit f205c814b58d37b3865c42e7f8b5112ce0f78aa0
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 30 09:47:39 2009 -0800

    hso: ensure authentication works again after auth errors

 plugins/mm-modem-hso.c | 3 +++
 1 file changed, 3 insertions(+)

commit d06f8f46c68bd561b349f2db78d3caca531d3a4f
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Nov 29 22:46:48 2009 -0800

    serial: don't run commands when there's already one in-progress

    If there's already a command in-progress don't try to send
    another until the previous one has timed out.  Also use
    g_timeout_add_seconds() since precision doesn't really matter for
    command timeouts.

 src/mm-serial-port.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

commit 028c6a5e4eaf487bbb18debacbc0c56c32f8f52b
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Nov 29 22:45:28 2009 -0800

    hso: fix up connection issues and error ignorance

    Should have ignored errors when cleaning up old contexts that
    may or may not exist.  Rename hso_disable() to something more
    appropriate since it's actually part of the enable/connect path,
    not the disable path.

 plugins/mm-modem-hso.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

commit 3890009bcc15a9524fdd17cdb6c8ec7f1b879f31
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Nov 29 22:45:03 2009 -0800

    test: actually send username and password when connecting

 test/mm-test.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 01db3f1c2fad716088563fb7e91720691fd962d4
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Nov 29 21:49:46 2009 -0800

    test: give connect a bit more time

    Registration can be part of the connect process, which can take
    quite a while.

 test/mm-test.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c8fdb592e3500177c3267b9eefd4afebed58bb64
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Nov 29 18:58:56 2009 -0800

    hso: send authentication info correctly for Icera-based Option modems

    Icera-based modems use AT_OPDPP instead of AT$QCPDPP.

 plugins/mm-modem-hso.c | 86
 ++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 63 insertions(+), 23 deletions(-)

commit 9dbf8f22c06a204dd3cd9521c52cc5afafe8d278
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Nov 29 18:58:21 2009 -0800

    gsm: allow unsolicted registration updates to actually update
    reg state

 src/mm-generic-gsm.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

commit d5b0574f587ddab904d3a1f1af3cb2c354486f66
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Nov 29 18:56:29 2009 -0800

    test: handle scan errors more gracefully

 test/mm-test.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit aea0be5b9a02926a1f8f72104ce32c7dabae3f84
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Nov 26 13:54:47 2009 -0800

    nozomi: fix detection (lp:425312)

    Nozomi devices aren't quite ready when the ports show up, so
    we have to keep trying to open the port for a few seconds and
    eventually it'll succeed.  Should really be fixed in the driver
    (ie, don't create the ttys until they can actually be used) but
    whatever.

 src/mm-errors.c      |  1 +
 src/mm-errors.h      |  3 ++-
 src/mm-plugin-base.c | 67
 ++++++++++++++++++++++++++++++++++++++++++++--------
 src/mm-serial-port.c |  9 ++++++-
 4 files changed, 68 insertions(+), 12 deletions(-)

commit 15595b33dc88724253a147b7894c953a5d3110e6
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Nov 26 13:52:50 2009 -0800

    gsm: CGDCONT parsing fixes (bgo #602552)

    Ignore spaces and account for random parentheses in the CGDCONT
    response.  Also fixes parsing CGDCONT=? on nozomi.

 src/mm-generic-gsm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 8dd2421e9c7c2d8afa5af4080eabed41c5689d81
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Nov 26 13:40:32 2009 -0800

    core: don't allow double-scheduled callbacks

    If the modem becomes invalid (it crashes and resets, for example)
    the callback-info's modem_destroyed_cb() function will handle
    cleanup.  Buf if the callback-info's callback does more work than
    just returning the result (like simple_state_machine) it could
    double-schedule the callback.  Don't let that happen.

    We need better modem-removal handling, but this fixes a crash for
    now.

 src/mm-callback-info.c | 2 ++
 src/mm-callback-info.h | 1 +
 2 files changed, 3 insertions(+)

commit 19e9c0cb480851a6e64ff9b5ce33861765a6e6ee
Author: Jeroen Elebaut <J.Elebaut@option.com>
Date:   Tue Nov 24 15:36:32 2009 -0800

    serial: handle arbitrary amounts of <CR><LF> padding in responses

    Firmware on some Option devices (iCON 505) likes to spray newlines
    all over the place.  Some fixes and boundary checks by me (dcbw).

 src/mm-serial-parsers.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

commit 50412ba3f9fe6b3ee33a83d452155b7f224ff719
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Nov 24 15:16:58 2009 -0800

    test: handle signal quality exceptions

 test/mm-test.py | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

commit 8bd10ebda2a29614319a14344294f495fede0baa
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Nov 24 13:04:21 2009 -0800

    huawei: sometimes reports BOOT with two LFs, not LF+CR

 plugins/mm-plugin-huawei.c | 1 +
 1 file changed, 1 insertion(+)

commit 3218b94376de9598ef4530800584c30acf350810
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Nov 24 12:57:44 2009 -0800

    cdma: handle 1x and EVDO quality separately

 plugins/mm-modem-huawei-cdma.c | 67
 ++++++++++++++++++++++++++++++++++--------
 src/mm-generic-cdma.c          | 39 +++++++++++++++++++-----
 src/mm-generic-cdma.h          |  3 +-
 3 files changed, 88 insertions(+), 21 deletions(-)

commit ac9cae2bc8bc0c7ae7ae0d0cf08d4872dcd9fb60
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Nov 24 12:16:14 2009 -0800

    zte: retry init strings once on timeout

    Some ZTE devices (MF626 for example) will emit the ZPASR unsolicited
    response right after MM opens the port, and they will just throw the
    init string away. So retry the init string once; the ZTE devices will
    see it the second time and continue as normal.

    This is the MM version of NM commit
    861e9689c513cbd61fa75205a681a69d4ba8236c

 plugins/mm-modem-zte.c | 44 ++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 42 insertions(+), 2 deletions(-)

commit 5175c2accb5bff5e2c78e906d00658bd9b70c07e
Author: Jeroen Elebaut <J.Elebaut@option.com>
Date:   Tue Nov 24 11:31:22 2009 -0800

    gsm: some modems dislike spaces in AT+CGDCONT

    0.7 hasn't used spaces for over a year, so this is a pretty safe
    change.  Some modems just don't like it.

    0.7 commit to remove spaces:

    commit 0265bfe52dcc93372aff6064e849044ccb72aa1e
    Author: Dan Williams <dcbw@redhat.com>
    Date:   Fri Oct 24 15:15:06 2008 +0000

        2008-10-24  Dan Williams  <dcbw@redhat.com>

            * src/nm-gsm-device.c
                    - (set_apn): remove erroneous spaces in AT+CGDCONT
                    command (Jerone Young)

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5ceb3a2106612ededa481c4e723626d00722d8da
Author: Jeroen Elebaut <J.Elebaut@option.com>
Date:   Tue Nov 24 00:43:20 2009 -0800

    gsm: allow longer timeout for registration

    Often modems will scan before registering with +COPS.

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c463b5a4005b9e55d0faeb887debe327118ef230
Merge: 3be4a1518 9e92bceb0
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Nov 24 00:20:52 2009 -0800

    Merge commit 'origin/master' into states

commit 9e92bceb0750752bf4761d55a1538d20dc017bea
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Nov 24 00:19:27 2009 -0800

    hso: consolidate PDP context activate/deactivate operations

    And rename the function to make it clearer.  disable() wasn't using
    the common activate/deactivate code so switch it to do so.

 plugins/mm-modem-hso.c | 52
 +++++++++++++++++++-------------------------------
 1 file changed, 20 insertions(+), 32 deletions(-)

commit 3be4a15189aef361187b86df64f62ca70284dee3
Merge: d8ff5f74e e5b5c8339
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 23 23:48:26 2009 -0800

    Merge commit 'origin/master' into states

commit e5b5c8339472a37d3a44ac6239fc3d9bdb9ce5cc
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 23 23:32:01 2009 -0800

    hso: disconnect the PDP context that was active (if any)

    Instead of always disconnecting context #1.

 plugins/mm-modem-hso.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

commit d8ff5f74e008289ad512bb15f2c4cb1576752221
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 23 23:30:30 2009 -0800

    core: state -> DISABLED when the modem becomes invalid

 src/mm-modem-base.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 500fb5f29aebb583f2f8c27fed11a5cd394c9958
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Nov 23 23:30:04 2009 -0800

    gsm: don't regress states on registration change if still registered

 src/mm-generic-gsm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 1fe9150f5c9187d5f53db076ab2224bc9dcf7d45
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Nov 17 15:24:52 2009 -0800

    test: add lsudev.c since I don't know where else to put it

    A helpful little tool to debug udev device relationships.

 test/lsudev.c | 180
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 180 insertions(+)

commit 3193e97bb809d10367ece12e91245eeecca711b9
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Nov 17 14:16:24 2009 -0800

    probe: fix probing on PPC due to missing cast

    gcc will interpret the constant value as a uint32 but
    the port's set_property() was taking it as a uint64.  Thus
    the top 32 bits were probably garbage, and messed up
    on big-endian architectures leading to random large
    probe delays.

 src/mm-plugin-base.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3c6e4056e7cded28e612a76d9321f54fb1b51ce2
Merge: 9bbc6ab53 74f679acd
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Nov 6 15:11:01 2009 -0800

    Merge commit 'origin/master' into states

commit 74f679acdb8caa15c59b6b84b6a117a144426720
Author: Torgny Johansson <torgny.johansson@gmail.com>
Date:   Wed Nov 4 13:11:23 2009 -0800

    mbm: add USB IDs for C3607w

 plugins/77-mm-ericsson-mbm.rules | 3 +++
 1 file changed, 3 insertions(+)

commit 107f950a9e93735fa3ef03f7a522f08f56570f19
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 30 17:11:31 2009 -0700

    gsm: tighter signal strength validation

    The standard dictates CSQ response strength value to be [0 - 31]
    inclusive, and 99 means "unknown" or "no service".  Make that
    apparent and don't treat 99 as 99% which it clearly isn't.  Also,
    allow spaces in the CSQ response.

 src/mm-generic-gsm.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

commit 122aa62afabab2636691ba338508c9ab7da2ff2b
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 30 17:11:22 2009 -0700

    trivial: spacing fix

 src/mm-generic-cdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 07cf870937c981e9c7ac8e9937839a103c1c951e
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 30 16:55:56 2009 -0700

    gsm: give a network scan 2 minutes instead of 1

    On many modems that support 7 or more bands (quad-band 2G, tri-band
    or more for 3G) scans take quite a while.

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 54901933fea26d17ec7fac5e326f6478770b059d
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 30 16:55:04 2009 -0700

    gsm: make "X4 &C1" init arguments optional (lp:455031)

    At least don't error out of the fail since they aren't really
    necessary, just nice to have.

 src/mm-generic-gsm.c | 18 +++++++++++++++++-
 src/mm-generic-gsm.h | 10 +++++-----
 2 files changed, 22 insertions(+), 6 deletions(-)

commit 678f07a1e28e0b7bb74319418c215e9e5ed9b8bb
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 30 16:16:36 2009 -0700

    gobi: don't override generic init commands

    The default ones seem to work just fine.

 plugins/mm-modem-gobi-gsm.c | 32 --------------------------------
 1 file changed, 32 deletions(-)

commit 9bbc6ab53b14097c510548dde4818a596e551617
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Oct 27 15:01:00 2009 -0700

    core: initial implementation of modem states

    Needs more work for GSM, but should be reasonably complete for CDMA.

 marshallers/mm-marshal.list |  2 ++
 src/mm-generic-cdma.c       | 50 +++++++++++++++++++++++++++-------
 src/mm-generic-gsm.c        | 35 +++++++++++++++++++++++-
 src/mm-generic-gsm.h        |  3 +++
 src/mm-modem-base.c         | 11 ++++++++
 src/mm-modem.c              | 65
 +++++++++++++++++++++++++++++++++++++++++++++
 src/mm-modem.h              | 30 +++++++++++++++++++++
 7 files changed, 186 insertions(+), 10 deletions(-)

commit 4e74953b9159de688a05bd8abcb90204d08aaff2
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 26 17:59:33 2009 -0700

    cdma: return registration state, not error, when unregistered

 src/mm-generic-cdma.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 49b5ffd076001ad56647d3357f2d3cb94c1abb8b
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 26 17:56:48 2009 -0700

    core: use G_DEFINE_TYPE_* instead of rolling our own

    Use the macro; save some trees.

 plugins/mm-modem-gobi-gsm.c    |  43 ++-----------
 plugins/mm-modem-hso.c         |  43 ++-----------
 plugins/mm-modem-huawei-cdma.c |  37 +----------
 plugins/mm-modem-huawei-gsm.c  |  41 ++----------
 plugins/mm-modem-mbm.c         |  50 +++------------
 plugins/mm-modem-moto-c-gsm.c  |  43 ++-----------
 plugins/mm-modem-nokia.c       |  35 ++--------
 plugins/mm-modem-novatel-gsm.c |  36 ++---------
 plugins/mm-modem-option.c      |  42 ++----------
 plugins/mm-modem-sierra-cdma.c |  25 +-------
 plugins/mm-modem-sierra-gsm.c  |  34 ++--------
 plugins/mm-modem-zte.c         |  33 ++--------
 src/mm-generic-cdma.c          | 118 +++-------------------------------
 src/mm-generic-gsm.c           | 124 ++++-------------------------------
 src/mm-modem-base.c            | 142
 ++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-base.h            |   5 ++
 16 files changed, 234 insertions(+), 617 deletions(-)

commit 2887a50b232714702c0eb9009c32d9a6b850888b
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 26 15:39:34 2009 -0700

    gsm: ignore errors from power-on command

    Phones especially don't seem to consistently implement this.  For now,
    we'll hack it out, but later, we'll want to have a class method for
    power-on instead of just a property so that subclasses can decided for
    themselves (since they know their hardware better) whether failure
    of the power-on command is fatal or not.

 src/mm-generic-gsm.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

commit 6bc4f0ae8cad621e11d882d2b3813765c86156c2
Author: Jeroen Elebaut <J.Elebaut@option.com>
Date:   Fri Oct 16 14:41:12 2009 -0700

    hso: handle OWANCALL response better

 plugins/mm-modem-hso.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 16f3e00f3438507aee06ffcaee560e337b8e8279
Author: Alexander Sack <asac@ubuntu.com>
Date:   Wed Oct 14 23:33:52 2009 +0200

    gsm: fix unsolicited registration by calling the statemachine callback
    info - lp:416893

 src/mm-generic-gsm.c | 77
 ++++++++++++++++++++++++++++------------------------
 1 file changed, 42 insertions(+), 35 deletions(-)

commit acd785bfa40245879c7c90f8a0209141202fb44f
Author: Alexander Sack <asac@ubuntu.com>
Date:   Wed Oct 14 21:58:30 2009 +0200

    mbm: use generic get_signal_quality implementation rather than our
    own CIND based one

 plugins/mm-modem-mbm.c | 35 -----------------------------------
 1 file changed, 35 deletions(-)

commit 139741d140b18938a14075e22368364dd8b4168f
Author: Alexander Sack <asac@ubuntu.com>
Date:   Wed Oct 14 21:07:36 2009 +0200

    mbm: implement AT*ENAP polling

 plugins/mm-modem-mbm.c | 46
 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 45 insertions(+), 1 deletion(-)

commit 6885505deac1390694b00f3207801f4cb8a0eaa9
Author: Alexander Sack <asac@ubuntu.com>
Date:   Wed Oct 14 18:41:25 2009 +0200

    mbm: flip order in which we send enap/e2nap to modem to make f3507g
    happier

 plugins/mm-modem-mbm.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

commit 6ddd97e81cc2a9412ccc464ba062ec49a258e06c
Author: Alexander Sack <asac@ubuntu.com>
Date:   Wed Oct 14 11:32:55 2009 +0200

    mbm: send ENAP=0 on init to set modem back to sane state and ignore
    CIND errors

 plugins/mm-modem-mbm.c | 32 +++++++++++++++++++++++---------
 1 file changed, 23 insertions(+), 9 deletions(-)

commit 3d86a3e89a18ccd98b9f65b389f70ba19f100004
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Oct 14 13:47:21 2009 -0700

    gsm: don't issue CFUN=0 by default

    Let plugins do it when they know it's OK.

 src/mm-generic-gsm.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit ea29dc8044e649f59f47442a40b999f7998994ab
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Oct 14 13:36:59 2009 -0700

    mbm: fix disable after 3b19a85727458821f5df20153f8c04bc7717ba30

    C & P error in enable/disable split.

 plugins/mm-modem-mbm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c77dbb7a947f776f2dbb0ee800fb4a1cbac75fe0
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Oct 13 16:05:02 2009 -0700

    cdma: give cards more time to register

    5 was left-over from debugging unplug-while-registering issues,
    was meant to be 15 (ie, 60 seconds) anyway.

 src/mm-generic-cdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 0bcdf6a7c105471b195203a4a9f065c3f7fbbc7e
Author: Alexander Sack <asac@jwsdot.com>
Date:   Tue Oct 13 15:14:14 2009 +0200

    nokia: fix class property overrides to stop modemmanager from sending
    AT+CFUN (lp:450256)

 plugins/mm-modem-nokia.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit f4ada20709904ac563457bf0e155ab83958975bf
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 12 22:44:03 2009 -0700

    cdma: implement registration in Simple.Connect path

    Wait a bit for the modem to register before trying to dial.

 src/mm-generic-cdma.c | 229
 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 214 insertions(+), 15 deletions(-)

commit f916d939f3a7e201ef0d99e8eb155e31c7e1e1f5
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 12 22:43:46 2009 -0700

    test: add connect ability

 test/mm-test.py | 53
 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 47 insertions(+), 6 deletions(-)

commit c0253c7c293148a0bdb6c20d4b38a08401d8e34d
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 12 19:51:10 2009 -0700

    core: convert MMCallbackInfo modem refs to weak refs

    Full references prevented destruction of the modem object if
    it was unplugged or somehow removed.  To fix that using full
    references on the modems would require that all usage of
    MMCallbackInfo to be aware of the validity of the modem and to
    ensure the callback was called whenever the modem became invalid.
    That, needless to say, would suck.  Since any in-progress calls
    can't complete when the modem is invalid anyway, just have the
    MMCallbackInfo object return a generic error when the modem goes
    away and the call is still in-progress.

 src/mm-callback-info.c | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

commit 6f65ad768238395a3bfc3e02fd946843282492d2
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 12 11:45:20 2009 -0700

    sierra: handle non-EVDO roaming indication for older cards

    Like the AC580

 plugins/mm-modem-sierra-cdma.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 942b5ff826d5d0a4ce7c6923e92206467736f9af
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 12 10:56:53 2009 -0700

    sierra: add CDMA device subclass and implement registration state
    handling

 plugins/Makefile.am            |   4 +-
 plugins/mm-modem-sierra-cdma.c | 298
 +++++++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-sierra-cdma.h |  45 +++++++
 plugins/mm-plugin-sierra.c     |  12 +-
 4 files changed, 352 insertions(+), 7 deletions(-)

commit 3245ea319369d3198582ad1ee54c0b862447215a
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 12 10:56:11 2009 -0700

    huawei: don't need AT prefix

 plugins/mm-modem-huawei-cdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 958b9048a38cdb21063c8333748041131ba98396
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 12 10:05:27 2009 -0700

    cdma: split 1x and EVDO registration states

    Like UMTS vs. GSM, EVDO and 1x are separate networks and technologies
    and have separate registration state.  You can even be roaming on
    EVDO while in your home 1x network.  Handle that.

 introspection/mm-modem-cdma.xml |  14 ++-
 marshallers/mm-marshal.list     |   1 +
 plugins/mm-modem-huawei-cdma.c  |  37 +++++--
 plugins/mm-modem-huawei-cdma.h  |   4 +-
 plugins/mm-plugin-generic.c     |   4 +-
 plugins/mm-plugin-gobi.c        |   4 +-
 plugins/mm-plugin-huawei.c      |   4 +-
 plugins/mm-plugin-nokia.c       |   4 +-
 plugins/mm-plugin-novatel.c     |   4 +-
 plugins/mm-plugin-sierra.c      |   4 +-
 plugins/mm-plugin-zte.c         |   4 +-
 src/mm-generic-cdma.c           | 238
 +++++++++++++++++++++++++++++++++++-----
 src/mm-generic-cdma.h           |  36 +++++-
 src/mm-modem-cdma.c             |  48 ++++++--
 src/mm-modem-cdma.h             |  16 ++-
 test/mm-test.py                 |   5 +-
 16 files changed, 355 insertions(+), 72 deletions(-)

commit 3f51cf421ee19804503d5636b7399cfad4fa05ef
Author: Alexander Sack <asac@jwsdot.com>
Date:   Mon Oct 12 12:19:12 2009 +0200

    huawei: adjust printf-style format to fix 32-bit gcc-4.4 builds

 plugins/mm-modem-huawei-cdma.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 1f0be4a2e96dc4b5d5eb45f8a29fd78314f073b5
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Oct 11 11:44:34 2009 -0700

    huawei: remove debugging stuff

 plugins/mm-modem-huawei-cdma.c | 4 ----
 1 file changed, 4 deletions(-)

commit f0dc449c502cd1009a4f1930624be9a730dfdcf1
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Oct 11 11:39:18 2009 -0700

    sierra: rename MMModemSierra -> MMModemSierraGsm

 plugins/Makefile.am                                |  4 +-
 .../{mm-modem-sierra.c => mm-modem-sierra-gsm.c}   | 40
 ++++++++++----------
 plugins/mm-modem-sierra-gsm.h                      | 43
 ++++++++++++++++++++++
 plugins/mm-modem-sierra.h                          | 43
 ----------------------
 plugins/mm-plugin-sierra.c                         |  8 ++--
 5 files changed, 69 insertions(+), 69 deletions(-)

commit bdd60a4941b5e8948dd6397208f1ac4cfee61907
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Oct 11 11:31:23 2009 -0700

    cdma: fix memory leak parsing serving system results

 src/mm-generic-cdma.c | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

commit 81163b3032e623e46ef2f60f661ef0306680c241
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Oct 11 11:27:29 2009 -0700

    huawei: add CDMA device subclass and implement registration state
    handling

 plugins/Makefile.am            |   4 +-
 plugins/mm-modem-huawei-cdma.c | 288
 +++++++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-huawei-cdma.h |  43 ++++++
 plugins/mm-plugin-huawei.c     |   7 +-
 4 files changed, 338 insertions(+), 4 deletions(-)

commit 0c5c94b6912024efd80b8ce546e8dee99a72f25a
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Oct 11 11:25:43 2009 -0700

    cdma: add signal quality update helper for subclasses

 src/mm-generic-cdma.c | 10 ++++++++++
 src/mm-generic-cdma.h |  2 ++
 2 files changed, 12 insertions(+)

commit 19b7c8fef19747ece136681237eb48833076f8e2
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Oct 11 11:24:41 2009 -0700

    cdma: use consistent terminology for registration

 src/mm-generic-cdma.c | 12 ++++++------
 src/mm-generic-cdma.h |  6 +++---
 2 files changed, 9 insertions(+), 9 deletions(-)

commit 665d1847a8917a94b4260f211e391fc67b62e53a
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Oct 11 11:23:50 2009 -0700

    cdma: add port accessors for subclasses

 src/mm-generic-cdma.c | 43 ++++++++++++++++++++++++++++++++++---------
 src/mm-generic-cdma.h | 11 +++++++++++
 2 files changed, 45 insertions(+), 9 deletions(-)

commit b7dc5f00da4a5bdcd0f70d5d5177a01197958706
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Oct 11 11:20:36 2009 -0700

    mm-test: fix cdma registration state parsing

 test/mm-test.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 21391286fc166901041de09abcb317dda2efc5e4
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Oct 11 11:19:00 2009 -0700

    huawei: rename MMModemHuawei -> MMModemHuaweiGsm

 plugins/Makefile.am                                |  4 +-
 .../{mm-modem-huawei.c => mm-modem-huawei-gsm.c}   | 86
 +++++++++++-----------
 plugins/mm-modem-huawei-gsm.h                      | 43 +++++++++++
 plugins/mm-modem-huawei.h                          | 43 -----------
 plugins/mm-plugin-huawei.c                         |  8 +-
 5 files changed, 92 insertions(+), 92 deletions(-)

commit e1d757ea763ebb72ea8d7ff979ef0041181d7bd1
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Oct 11 11:15:46 2009 -0700

    cdma: use secondary port more aggressively where one exists

    Like on the Huawei EC121 and EC168C (Reliance India).

 src/mm-generic-cdma.c | 33 ++++++++++++++++++++++++++-------
 1 file changed, 26 insertions(+), 7 deletions(-)

commit 91171cdae295352011252d28d3d777960d0d876a
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 9 16:17:13 2009 -0700

    cdma: implement generic registration state handling

 introspection/mm-modem-cdma.xml |  34 +++++++
 src/mm-generic-cdma.c           | 194
 ++++++++++++++++++++++++++++++++++++----
 src/mm-generic-cdma.h           |  11 +++
 src/mm-modem-cdma.c             |  46 +++++++++-
 src/mm-modem-cdma.h             |  34 +++++--
 test/mm-test.py                 |  18 +++-
 6 files changed, 308 insertions(+), 29 deletions(-)

commit a088f12956763eb99a8f8b37934cf038a0b14cc0
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Oct 8 10:16:25 2009 -0700

    cdma: better CSS response parsing

 src/mm-generic-cdma.c | 100
 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 93 insertions(+), 7 deletions(-)

commit 01100c1008ffe6b74cf0fdb9cc646503f8c39b1c
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Oct 6 12:38:21 2009 -0700

    gsm: strip command response bits from mfg/model/revision responses

 src/mm-generic-gsm.c | 25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

commit 5079b32a09acba15cb0107bbb64c51a16f11b658
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Oct 6 11:45:07 2009 -0700

    hso: fix disable

 plugins/mm-modem-hso.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d867b1fe6a11302c0efcd40bba2a898bc9080b1c
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Oct 6 11:39:40 2009 -0700

    gsm: add cell access technology reporting to Scan()

 introspection/mm-modem-gsm-network.xml |  2 +-
 src/mm-generic-gsm.c                   | 62
 +++++++++++++++++++++++++++++-----
 test/mm-test.py                        | 26 ++++++++++++--
 3 files changed, 77 insertions(+), 13 deletions(-)

commit 912b98723b2965b9aaf1f0328781a2730d7cc178
Merge: 3b19a8572 aa78b5f5e
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Oct 5 09:52:01 2009 -0700

    Merge commit 'origin/master' into enable-split

commit aa78b5f5e5319e04f5b57f928bfab69dd4b93d88
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 2 23:33:18 2009 -0700

    bluetooth: handle rfcomm device moves

    rfcomm devices seem to be created as 'virtual' devices first, without
    any parents, then moved to the right place in the device tree.  So
    handle moves too; if the modem was already found in the 'add' phase
    it'll be ignored in the move phase.

 src/mm-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ed059286c5361bf4dfa849088ee16c04cd075e51
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 2 23:32:57 2009 -0700

    bluetooth: physical device is a bit higher up the tree

 src/mm-plugin-base.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e5441115a2dda5d81de2e9a336fc34e23d20b309
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Oct 2 22:31:16 2009 -0700

    bluetooth: recognize rfcomm devices

    Two hacks here:
    1) rfcomm ports don't have an easily accessible driver name, so
    we just
    match the parent's subsystem to 'bluetooth' and use that

    2) libgudev doesn't seem be be able to get the rfcomm device's
    device file,
    which would normally be /dev/rfcommX.  Oh well, we don't use the
    device file
    yet anyway

 plugins/mm-plugin-generic.c | 20 ++++++++++++++------
 src/mm-plugin-base.c        | 11 ++++++++++-
 2 files changed, 24 insertions(+), 7 deletions(-)

commit 3b19a85727458821f5df20153f8c04bc7717ba30
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Sep 23 16:04:25 2009 -0700

    core: split generic modem enable/disable operations

 plugins/mm-modem-hso.c         | 52 +++++++++++++++------------
 plugins/mm-modem-mbm.c         | 79
 +++++++++++++++++-------------------------
 plugins/mm-modem-novatel-gsm.c | 44 ++++-------------------
 plugins/mm-modem-option.c      | 13 +++----
 plugins/mm-modem-sierra.c      | 62 +++------------------------------
 plugins/mm-modem-zte.c         | 44 ++++-------------------
 src/mm-generic-cdma.c          | 41 +++++++++++++++++-----
 src/mm-generic-gsm.c           | 55 +++++++++++++++++------------
 src/mm-modem.c                 | 22 ++++++++++--
 src/mm-modem.h                 | 10 ++++--
 10 files changed, 175 insertions(+), 247 deletions(-)

commit f2a3825f9d10ecebc63ce3c8602473cbbb6ab72c
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Sep 23 01:38:42 2009 -0700

    generic: match CONNECT even if we get PPP spew

    Found by Eugene Crosser <crosser@average.org>

 src/mm-serial-parsers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 2bad09403aae95dd25ce03790fce45a85578f677
Author: Eugene Crosser <crosser@average.org>
Date:   Tue Sep 22 22:56:58 2009 -0700

    nokia: don't use CFUN at all (lp430576)

    CFUN=0 actually powers off the phone; CFUN=1 isn't really supported
    on some phones either.  So just don't use CFUN at all.

 plugins/mm-modem-nokia.c | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

commit feb00e455337850aa77c1014d4e73fef51953636
Author: Alexander Sack <asac@ubuntu.com>
Date:   Mon Sep 21 15:42:30 2009 -0700

    mbm: more permissive ESTKSMENU regexp

 plugins/mm-modem-mbm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3d178fafcf3e0fc0dbe852d0c6f2d2184f7afae7
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Sat Sep 19 11:42:10 2009 -0700

    mbm: handle *EMWI unsolicited responses

 plugins/mm-modem-mbm.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 1f7bb908ebc40d42f5e83d6cf5671e168577b87e
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Sat Sep 19 11:37:16 2009 -0700

    mbm: fix up +PACSP0 unsolicited response matching

 plugins/mm-modem-mbm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 64b7be7460c3a9dbb3c9981de5754b330a8d2cdd
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Sep 9 07:28:54 2009 -0700

    serial: use connected notifier only when needed

    It's only relevant when the port is open anyway, and marking the port
    disconnected in nm_serial_port_close(), which used to be called from
    the finalize() function, would trigger the notifier when stuff was
    already cleaned up.  So move the nm_serial_port_close() call to
    dispose() and remove the connected notifier before we clean the
    port up.

 src/mm-serial-port.c | 86
 ++++++++++++++++++++++++++++++----------------------
 1 file changed, 50 insertions(+), 36 deletions(-)

commit c02adee8023a023c6f0fd9777d0908e17eb9d89c
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Sep 8 17:41:25 2009 -0700

    serial: mark port disconnected on close

    Otherwise it could still be connected when the port was opened again,
    and subsequent calls for stuff could fail.

 src/mm-serial-port.c | 2 ++
 1 file changed, 2 insertions(+)

commit 14e5c52f78e7ad23b18b111e3271cbecad6acf3f
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Sep 8 17:31:54 2009 -0700

    core: don't allow concurrent flashes on the same device

    Previously, a few operations (like disable) could trigger a modem
    flash in parallel with another flash.  That's wrong, don't allow
    that.  At the same time, add in finer-grained error checking on
    serial port speed operations, and fix a GSM generic bug that would
    send the POWER_UP string on disable.

 introspection/mm-modem-error.xml |  18 +++
 plugins/mm-modem-mbm.c           |  30 +++--
 plugins/mm-modem-novatel-gsm.c   |  32 +++--
 plugins/mm-modem-sierra.c        |  34 ++++--
 plugins/mm-modem-zte.c           |  32 +++--
 src/mm-errors.c                  |   2 +
 src/mm-errors.h                  |   4 +-
 src/mm-generic-cdma.c            |  34 ++++--
 src/mm-generic-gsm.c             |  42 +++++--
 src/mm-plugin-base.c             |  11 +-
 src/mm-serial-port.c             | 252
 +++++++++++++++++++++++++++++++++------
 src/mm-serial-port.h             |   4 +-
 12 files changed, 403 insertions(+), 92 deletions(-)

commit 6cf01d2ab698d05eb58bffa7e85f41024f5c0546
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Sep 8 16:43:20 2009 -0700

    test: allow up to 60 seconds for Scan to complete

 test/mm-test.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 53af144f49b0d81bd4dc1f5ee9eea6d61ccae992
Author: Noel J. Bergman <noel@devtech.com>
Date:   Wed Sep 9 01:17:20 2009 +0200

    udev: handle removal of parent usb devices

    fix device removal event handling to remove modems
    if the associated parent usb device is removed

 src/mm-manager.c | 57
 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 50 insertions(+), 7 deletions(-)

commit d317254a3b47350332563c9cf7d97b0a47d12794
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Sep 4 14:26:53 2009 -0500

    patches: rename directory to avoid conflicts with .deb build mechanism

 .../NetworkManager-r4359-use-modem-manager.patch
 | 0
 {patches => obsolete-patches}/nm-applet-r1053-use-modem-manager.patch
 | 0
 2 files changed, 0 insertions(+), 0 deletions(-)

commit 63dcc3e189025b463f35d047a1b87cf9060641db
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Aug 31 14:30:23 2009 -0500

    cdma: handle older AT+CSS response format

 src/mm-generic-cdma.c | 34 ++++++++++++++++++++++++----------
 1 file changed, 24 insertions(+), 10 deletions(-)

commit a479b58f50f65a736e05e5abe7278b6feb6be899
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Aug 31 14:30:06 2009 -0500

    test: don't bail out on errors parsing CDMA serving system results

 test/mm-test.py | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit 09fc288f2bec6f54d300a916a6238c1533e0daa7
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Aug 31 14:07:10 2009 -0500

    test: make mm-test executable again

 test/mm-test.py | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

commit 8a6cbdfb88f8925261b08030830a38557c92e5ff
Author: Bryan Duff <duff0097@gmail.com>
Date:   Wed Aug 26 11:28:14 2009 -0500

    core: fix uninitialized variable

 src/mm-plugin-base.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 180ad403b8773607bd3edf624983196cc47db755
Author: Alexander Sack <asac@ubuntu.com>
Date:   Fri Aug 21 21:41:48 2009 +0200

    mbm: parse and ignore unsolicited *ESTKSMENU message - lp:416418

 plugins/mm-modem-mbm.c | 5 +++++
 1 file changed, 5 insertions(+)

commit cd750230687177b45c2b8e507a0f0b22095aeb02
Author: Alexander Sack <asac@ubuntu.com>
Date:   Thu Aug 20 20:32:37 2009 +0200

    gsm: handle "net" device removal properly in release_port

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9e106eae1a01cfe15343d407b2282666d623076d
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Thu Aug 20 20:27:32 2009 +0200

    mbm: add more USB IDs

 plugins/77-mm-ericsson-mbm.rules | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

commit 1a75d8d010e76efb44af6e1d2d26f5a2d7808647
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Aug 19 17:08:13 2009 -0500

    moto-c: claim Motorola C380 too (bgo #591978)

 plugins/mm-plugin-moto-c.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ca767e4037ce08ab23d188341ed31139dee0bd09
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Aug 17 13:16:41 2009 -0500

    gsm: update for D-Bus interface specification changes

    Specifically, SupportedModes, SupportedBands, and SMS completeness
    changes.

 marshallers/mm-marshal.list |  1 +
 src/mm-generic-gsm.c        | 16 ++++++++++++++++
 src/mm-generic-gsm.h        |  2 ++
 src/mm-modem-gsm-card.c     | 29 ++++++++++++++++++++++++++++-
 src/mm-modem-gsm-card.h     |  3 +++
 src/mm-modem-gsm-sms.c      | 15 ++++++++++++---
 src/mm-modem-gsm-sms.h      |  6 +++++-
 7 files changed, 67 insertions(+), 5 deletions(-)

commit dc7bdd0494a80d6474fc61864a93251aa2d41eb3
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Aug 17 13:15:59 2009 -0500

    test: obscure IMSI/IMEI/ESN by default

    Pass --private to see these values if required.

 test/mm-test.py | 100
 ++++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 69 insertions(+), 31 deletions(-)

commit 354a4cb07fde0a6604086bf705d94b042a735cbd
Author: Alexander Sack <asac@jwsdot.com>
Date:   Thu Aug 6 12:59:32 2009 +0200

    license: use GPLv2 as top level COPYING for now to reflect the
    license actually used by source files

 COPYING | 666
 ++++++++++++++++++++++++----------------------------------------
 1 file changed, 251 insertions(+), 415 deletions(-)

commit 12ac98e9f61186a6b5c52409e3fac7d2bcb002f7
Author: Alexander Sack <asac@ubuntu.com>
Date:   Wed Jul 22 14:52:44 2009 +0200

    license: add license header to all files and set copyright based on
    git log

 plugins/mm-plugin-generic.h | 13 +++++++++++++
 src/mm-callback-info.c      | 13 +++++++++++++
 src/mm-callback-info.h      | 13 +++++++++++++
 src/mm-errors.c             | 14 ++++++++++++++
 src/mm-errors.h             | 14 ++++++++++++++
 src/mm-generic-cdma.c       | 14 ++++++++++++++
 src/mm-generic-cdma.h       | 14 ++++++++++++++
 src/mm-generic-gsm.c        | 15 +++++++++++++++
 src/mm-generic-gsm.h        | 14 ++++++++++++++
 src/mm-manager.c            | 14 ++++++++++++++
 src/mm-manager.h            | 14 ++++++++++++++
 src/mm-modem-cdma.c         | 14 ++++++++++++++
 src/mm-modem-cdma.h         | 14 ++++++++++++++
 src/mm-modem-gsm-card.c     | 14 ++++++++++++++
 src/mm-modem-gsm-card.h     | 14 ++++++++++++++
 src/mm-modem-gsm-network.c  | 13 +++++++++++++
 src/mm-modem-gsm-network.h  | 14 ++++++++++++++
 src/mm-modem-gsm-sms.c      | 13 +++++++++++++
 src/mm-modem-gsm-sms.h      | 13 +++++++++++++
 src/mm-modem-simple.c       | 14 ++++++++++++++
 src/mm-modem-simple.h       | 13 +++++++++++++
 src/mm-modem.c              | 14 ++++++++++++++
 src/mm-modem.h              | 14 ++++++++++++++
 src/mm-options.c            | 13 +++++++++++++
 src/mm-options.h            | 13 +++++++++++++
 src/mm-plugin.c             | 14 ++++++++++++++
 src/mm-plugin.h             | 14 ++++++++++++++
 src/mm-serial-parsers.c     | 14 ++++++++++++++
 src/mm-serial-parsers.h     | 13 +++++++++++++
 test/mm-send-sms.py         | 13 +++++++++++++
 test/mm-test.py             | 14 ++++++++++++++
 31 files changed, 424 insertions(+)

commit 2d194a5798fb06f41b018c2d8c2216f45bfc41a4
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Aug 5 13:03:59 2009 -0400

    gsm: harmonize band/mode enums

    Use the same enum for set/get of band and mode, as for exposing the
    device's capabilities.

 introspection/Makefile.am              |   1 +
 introspection/mm-modem-gsm-card.xml    |  48 +---------
 introspection/mm-modem-gsm-network.xml | 163
 +++++----------------------------
 introspection/mm-modem-gsm.xml         |  86 +++++++++++++++++
 plugins/mm-modem-huawei.c              | 115 ++++++++++++-----------
 plugins/mm-modem-mbm.c                 |  32 ++++---
 plugins/mm-modem-option.c              |  34 +++----
 src/Makefile.am                        |   1 +
 src/mm-generic-gsm.h                   |   1 +
 src/mm-modem-gsm-network.c             |  52 +++++++++--
 src/mm-modem-gsm-network.h             |  46 ++--------
 src/mm-modem-gsm.h                     |  57 ++++++++++++
 12 files changed, 320 insertions(+), 316 deletions(-)

commit 356f8f097e5fe012ac762157c903bd9b51fa982d
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 23 14:25:48 2009 -0400

    gsm: add SupportedBands property

 introspection/mm-modem-gsm-card.xml | 46
 +++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

commit 71e2e930fd230f9f8567b2028387197d69e688fb
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 23 13:52:57 2009 -0400

    sms: add additional API for multi-part SMS

 introspection/mm-modem-gsm-sms.xml | 43
 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 41 insertions(+), 2 deletions(-)

commit c307606e747faf1c736eade8c839a7a3ca7fa213
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jul 22 07:42:05 2009 -0400

    cdma: fix serving-system parsing for oddly-placed spaces

    Sierra 580 returns "+CSS: 0, Z , 0" when not associated.  Handle that.

 src/mm-generic-cdma.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

commit 354785f440e3b9939606710264c552fb99b3637f
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jul 17 23:03:16 2009 -0400

    cdma: handle devices that don't prefix CSS result with +CSS:

    Like the Sanyo SCP-3800 (Sprint Katana LX).  Make up your freakin'
    mind people, either prefix *all* responses with the command stem,
    or don't.  But just pick one dammit.

 src/mm-generic-cdma.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

commit 482053ce76335b5fadb6a9c0f56e21ec7690b2bc
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jul 15 22:00:36 2009 -0400

    zte: fix udev rules

 plugins/77-mm-zte-port-types.rules | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit d105ac8fd6fed33cfbe3f6e828224e42f29a7411
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jul 14 08:47:13 2009 -0400

    mbm: fix brand of some 'mbm' devices in udev rules

    Should be just Ericsson, not Sony-Ericsson.  The MD300 is SE though.

 plugins/77-mm-ericsson-mbm.rules | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 6610ded40711ea88266beb68d40b00f00933a630
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jul 10 12:19:20 2009 -0400

    mbm: add more USB IDs

 plugins/77-mm-ericsson-mbm.rules | 6 ++++++
 1 file changed, 6 insertions(+)

commit 3cdfba2bad6efc736d6a74b520601edd30f4b2e2
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 9 11:22:10 2009 -0400

    build: sane automake options

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 50105ae28883f21761887beed180ce9ad0755016
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Jul 7 10:45:44 2009 -0400

    build: make distcheck actually work

 Makefile.am                  | 2 ++
 autogen.sh                   | 2 +-
 configure.in => configure.ac | 9 +++++++++
 3 files changed, 12 insertions(+), 1 deletion(-)

commit 34f3117a829d7575f5a748455d5105a219d1c7d7
Author: Dan Williams <dcbw@d410.(none)>
Date:   Tue Jul 7 17:34:04 2009 -0400

    cdma: fix 32-bit compile issues

 src/mm-generic-cdma.c | 6 +++---
 src/mm-modem-cdma.c   | 2 +-
 src/mm-modem-cdma.h   | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

commit 5f25d3a60bbe4b03b5a412443271e6e094e546f1
Author: Dan Williams <dcbw@d410.(none)>
Date:   Tue Jul 7 17:30:17 2009 -0400

    remove old pre-udev bits

 configure.in | 1 -
 1 file changed, 1 deletion(-)

commit 736aa0d2d63cf62e7e2fe3c6e25ddf6b57f6ff05
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jul 6 11:40:22 2009 -0400

    serial: rework 'connected' logic

    So many modems just don't implement carrier detect that it makes
    the previous 'connected' logic useless, so base it off
    connect/disconnect
    and fix up a few places that didn't check connect status before
    trying to send commands.  Also ensure the serial port is unlocked
    for PPP to use when connected.

 plugins/mm-modem-mbm.c         |  2 +-
 plugins/mm-modem-novatel-gsm.c |  2 +-
 plugins/mm-modem-sierra.c      |  2 +-
 plugins/mm-modem-zte.c         |  2 +-
 src/mm-errors.c                |  1 +
 src/mm-errors.h                |  3 ++-
 src/mm-generic-cdma.c          | 46
 ++++++++++++++++++++++++++++++++++++++++-
 src/mm-generic-gsm.c           | 22 ++++++++++++--------
 src/mm-port.c                  | 40 +++++++++++++++++++++++++++++++++++
 src/mm-port.h                  |  5 +++++
 src/mm-serial-port.c           | 47
 +++++++++++++++++++++++++++---------------
 src/mm-serial-port.h           |  2 --
 12 files changed, 140 insertions(+), 34 deletions(-)

commit 869c69e223208564302ba3be074dafbdf1b02cc2
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 2 16:08:54 2009 -0400

    zte: fix port tagging rules to actually work

 plugins/77-mm-zte-port-types.rules | 100
 +++++++++++++++++++------------------
 1 file changed, 52 insertions(+), 48 deletions(-)

commit 52da9990eef279bbc349685a7558d26cf4b7893b
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jul 2 13:48:30 2009 -0400

    plugins: allow plugins to more easily suggest port types

    ZTE modems need to use udev rules to assign port type hints,
    so generalize that and port all the plugins over to suggested
    port types in the MMModem interface's grab_port() function.

 plugins/77-mm-zte-port-types.rules | 75
 ++++++++++++++++++++++++++++++++++++++
 plugins/Makefile.am                |  4 +-
 plugins/mm-modem-hso.c             |  3 +-
 plugins/mm-modem-huawei.c          |  8 ++--
 plugins/mm-modem-mbm.c             | 17 +++++----
 plugins/mm-modem-nokia.c           | 12 ++++--
 plugins/mm-modem-novatel-gsm.c     | 17 +++++----
 plugins/mm-modem-sierra.c          | 12 +++---
 plugins/mm-modem-zte.c             | 12 ++++--
 plugins/mm-plugin-generic.c        |  4 +-
 plugins/mm-plugin-gobi.c           |  4 +-
 plugins/mm-plugin-hso.c            |  4 +-
 plugins/mm-plugin-huawei.c         | 10 ++---
 plugins/mm-plugin-mbm.c            |  4 +-
 plugins/mm-plugin-moto-c.c         |  4 +-
 plugins/mm-plugin-nokia.c          |  4 +-
 plugins/mm-plugin-novatel.c        |  4 +-
 plugins/mm-plugin-option.c         |  4 +-
 plugins/mm-plugin-sierra.c         | 13 ++++---
 plugins/mm-plugin-zte.c            | 11 +++++-
 src/mm-generic-cdma.c              | 19 ++++++----
 src/mm-generic-gsm.c               | 18 ++++++---
 src/mm-modem.c                     |  3 +-
 src/mm-modem.h                     |  4 ++
 24 files changed, 191 insertions(+), 79 deletions(-)

commit 4e7548e496d580f26a763bcdaeca7e7af75d5141
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 23:11:43 2009 -0400

    gsm: fix init for modems for which ATZ does not play well with others

 src/mm-generic-gsm.c | 5 +++++
 src/mm-generic-gsm.h | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

commit 5298be26ddf580681a4a506cf0379996d7eb9d4d
Merge: 5a563d56d 8e3da6359
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 22:54:32 2009 -0400

    Merge branch 'master' into udev

commit 8e3da63599020a8ec9e4b8be6451a5e333a8056c
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 22:53:20 2009 -0400

    gsm: increase COPS manual registration timeout; it just takes longer
    sometimes

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5a563d56d125d28a021442bec967575310819d0e
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 22:50:58 2009 -0400

    sierra: handle APP[x] ports being recognized before the master port

 plugins/mm-plugin-sierra.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

commit 2730fe4539b3ecde797078ba2dae6745a371a9e7
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 22:50:37 2009 -0400

    moto-c: fix port grabbing; remove dead code

 plugins/mm-plugin-moto-c.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

commit 36ee982b61e5350d643cd7d8701d8f719b89509f
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 22:50:16 2009 -0400

    sierra: ensure port is valid before doing stuff to it

 plugins/mm-modem-sierra.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 78633192d2a02693f17df162eba0a73478ebbcaa
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 22:49:19 2009 -0400

    plugin-base: better Huawei detection; don't drop BUSlink response

 src/mm-plugin-base.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit d929eb859b99f750e174358e5e39bd561af28265
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 17:35:15 2009 -0400

    errors: fix typo

 src/mm-errors.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b38c3160ae80381b81641776c0d36ca10e084340
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 16:53:23 2009 -0400

    plugin-base: don't scribble on memory when looking up cached
    capabilities

 src/mm-plugin-base.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

commit 7b7df91eb879b1070ed7fe99b5e201835eff53f6
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 16:51:25 2009 -0400

    manager: do modem creation from an idle handler

    It helps make the supports/grab callchain less crappy to look at
    in gdb by ensuring that the supports chain unwinds before the grab
    happens, and also ensures that we use the right subsys/name variables
    rather than depending on ones the plugin provided to
    supports_callback,
    that may go be freed by the plugin somewhere in grab_port().

 src/mm-manager.c | 86
 ++++++++++++++++++++++++++++++++------------------------
 1 file changed, 50 insertions(+), 36 deletions(-)

commit e3eef316a570e36d45ca582bf54aef4db9c2eb8d
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 16:51:06 2009 -0400

    generic: remove unused code

 plugins/mm-plugin-generic.c | 8 --------
 1 file changed, 8 deletions(-)

commit ef1e709c126d30d22e26135bba3b05d0339c2238
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 16:50:50 2009 -0400

    serial-port: shut valgrind up

 src/mm-serial-port.c | 2 ++
 1 file changed, 2 insertions(+)

commit 853af00142256d2eeae7039a1b7e8dd64cf9105e
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 14:24:43 2009 -0400

    plugin-base: fix finding the physical device again

    Don't mis-use udev's ID_BUS key.

 src/mm-plugin-base.c | 53
 +++++++++++++++++++++-------------------------------
 src/mm-plugin-base.h |  4 ++++
 2 files changed, 25 insertions(+), 32 deletions(-)

commit c106368ce7c06e0ae5b64cc6146ad05c3b9fa819
Merge: ff58936f1 c397247c0
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 13:14:11 2009 -0400

    Merge commit 'origin/master' into udev

commit c397247c05dbefb33edccc0987734eb715312b85
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 13:00:58 2009 -0400

    gsm: attempt to fix registration crashes due to mishandled timeouts

 src/mm-generic-gsm.c | 137
 +++++++++++++++++++++++++--------------------------
 1 file changed, 67 insertions(+), 70 deletions(-)

commit 04540bddb4d9345a2c480d5abfe87fb96317d170
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 12:59:59 2009 -0400

    mbm: remove dead code

 plugins/mm-modem-mbm.c | 3 ---
 1 file changed, 3 deletions(-)

commit 3f5501906ba61f55948c912617e75cf91560a3cf
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Mon Jun 29 10:34:33 2009 -0400

    mbm: fix +CIND quality parsing

    Broken by Dan with ef0a604dc2fb6c6fe3e9231a8ee85890c6ef6e85

 plugins/mm-modem-mbm.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

commit ff58936f1f7ef1645be9062095c35de2b03c0cc1
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 10:15:52 2009 -0400

    mbm: port to udev and new plugin API

 plugins/77-mm-ericsson-mbm.rules |  22 +++
 plugins/Makefile.am              |  19 ++-
 plugins/mm-modem-mbm.c           | 343
 +++++++++++++++++++--------------------
 plugins/mm-modem-mbm.h           |   8 +-
 plugins/mm-plugin-mbm.c          | 278 ++++++++++++-------------------
 plugins/mm-plugin-mbm.h          |  10 +-
 6 files changed, 309 insertions(+), 371 deletions(-)

commit b79ebbac352e581c5a9d6eea2a5000f4cdc62188
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 10:15:14 2009 -0400

    gsm/cdma: mark netdev as data device if it was found first

 src/mm-generic-cdma.c | 2 +-
 src/mm-generic-gsm.c  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 8ae41eeee3cdafaebc9eca7f5e8f0d8415a5a76d
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 10:09:26 2009 -0400

    hso: always mark netdev as supported

 plugins/mm-plugin-hso.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit fe7acaf45750d4f801acbfee98048453c10c7308
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 10:08:56 2009 -0400

    plugin-base: better detection of physical device

 src/mm-plugin-base.c | 43 +++++++++++++++++++++++++++++--------------
 1 file changed, 29 insertions(+), 14 deletions(-)

commit c6d0174b41524c84ba756472e47c810239be0886
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 09:00:25 2009 -0400

    hso: fix grab of netdev port

 plugins/mm-plugin-hso.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

commit 504b4991cd3aecd358d92a9c39233e6ca09036fa
Merge: 6077763d9 ef0a604dc
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon Jun 29 07:29:57 2009 -0400

    Merge commit 'origin/master' into udev

commit ef0a604dc2fb6c6fe3e9231a8ee85890c6ef6e85
Author: Torgny Johansson <torgny.johansson@ericsson.com>
Date:   Mon Jun 29 07:26:20 2009 -0400

    mbm: merge updated Ericsson 'mbm' driver from
    git://gitorious.org/~torgny_j/modemmanager/mbm-mainline.git

    And other cleanups by Dan.

 plugins/mm-modem-mbm.c  | 795
 +++++++++++++++++++++++++++++++++---------------
 plugins/mm-modem-mbm.h  |  46 +--
 plugins/mm-plugin-mbm.c |  42 ++-
 plugins/mm-plugin-mbm.h |  40 ++-
 src/mm-generic-gsm.c    |   2 +-
 5 files changed, 610 insertions(+), 315 deletions(-)

commit 6077763d90b69cfc60b23f383c4529f966facaaf
Author: Dan Williams <dcbw@redhat.com>
Date:   Sun Jun 28 14:05:05 2009 -0400

    asynchronous and deferred port detection

    Allow plugins to perform asynchronous port detection, and to defer
    port detection
    until later.  This moves the prober bits into MMPluginBase so that
    all plugins
    can take adavantage of it only when needed; the probing is not done
    at udev time.
    Furthermore, plugins like Novatel can flip the secondary ports over
    the AT mode
    through deferred detection, by deferring the secondary ports until
    the main port
    has been detected and AT$NWDMAT has been sent.

    This commit also finishes the port of the rest of the plugins
    (except mbm) over
    to the new port detection methods and plugin API.

 Makefile.am                                   |   2 +-
 callouts/77-mm-modem-probe-capabilities.rules |  23 -
 callouts/Makefile.am                          |  13 -
 callouts/mm-modem-probe.c                     | 639 ---------------------
 marshallers/mm-marshal.list                   |   1 +
 plugins/Makefile.am                           |  66 ++-
 plugins/mm-modem-hso.c                        |   1 +
 plugins/mm-modem-huawei.c                     |   6 +-
 plugins/mm-modem-nokia.c                      |  69 ++-
 plugins/mm-modem-nokia.h                      |  19 +-
 plugins/mm-modem-novatel-cdma.c               |  73 ---
 plugins/mm-modem-novatel-cdma.h               |  28 -
 plugins/mm-modem-novatel-gsm.c                | 103 +++-
 plugins/mm-modem-novatel-gsm.h                |  19 +-
 plugins/mm-modem-option.c                     |  42 +-
 plugins/mm-modem-option.h                     |  19 +-
 plugins/mm-modem-sierra.c                     |  80 ++-
 plugins/mm-modem-sierra.h                     |  19 +-
 plugins/mm-modem-zte.c                        | 129 +++--
 plugins/mm-modem-zte.h                        |  19 +-
 plugins/mm-plugin-generic.c                   | 288 +++-------
 plugins/mm-plugin-gobi.c                      | 298 +++-------
 plugins/mm-plugin-hso.c                       | 240 +++-----
 plugins/mm-plugin-huawei.c                    | 405 +++++++------
 plugins/mm-plugin-moto-c.c                    | 241 +++-----
 plugins/mm-plugin-nokia.c                     | 223 ++++----
 plugins/mm-plugin-nokia.h                     |  21 +-
 plugins/mm-plugin-novatel.c                   | 253 ++++----
 plugins/mm-plugin-novatel.h                   |  20 +-
 plugins/mm-plugin-option.c                    | 219 +++----
 plugins/mm-plugin-option.h                    |  20 +-
 plugins/mm-plugin-sierra.c                    | 246 ++++----
 plugins/mm-plugin-sierra.h                    |  20 +-
 plugins/mm-plugin-zte.c                       | 219 +++----
 plugins/mm-plugin-zte.h                       |  20 +-
 src/mm-generic-cdma.c                         |   1 +
 src/mm-generic-gsm.c                          |   1 +
 src/mm-manager.c                              | 313 ++++++++--
 src/mm-modem-base.c                           |   2 +-
 src/mm-modem.c                                |   3 +-
 src/mm-modem.h                                |   2 +
 src/mm-plugin-base.c                          | 796
 ++++++++++++++++++++++++--
 src/mm-plugin-base.h                          |  89 ++-
 src/mm-plugin.c                               |  21 +-
 src/mm-plugin.h                               |  61 +-
 src/mm-serial-parsers.c                       |   8 +-
 src/mm-serial-port.c                          |   1 +
 47 files changed, 2888 insertions(+), 2513 deletions(-)

commit 112f2da19dbe8dcd8f32b998459298e7c1884c67
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 25 16:45:49 2009 -0400

    serial-port: open port exclusively

 src/mm-serial-port.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit bb50295e5efabf3f8dcbee1102bf3856343f04d9
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 25 14:14:10 2009 -0400

    serial-port: if 0 bytes are read, just return

    Otherwise, if something else is mistakenly holding the serial port
    open at
    the same time as this MMSerialPort, you get a stream of reads of
    size 0 and
    effectively hang modem-manager.

 src/mm-serial-port.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 742bf7d17cef714a7fa456061b80e239761c4fed
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 25 06:14:11 2009 -0400

    serial-port: print port name in debug messages

 src/mm-serial-port.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 05ab7b2a7c647777231e8b92bcf4ec51036702e4
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jun 20 18:18:08 2009 -0400

    plugins: implement mm_plugin_base_get_device_ids()

    We'll need it in more than one place, so make it generic.

 plugins/mm-plugin-huawei.c | 86
 +++-----------------------------------------
 src/mm-plugin-base.c       | 89
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-plugin-base.h       |  6 ++++
 3 files changed, 99 insertions(+), 82 deletions(-)

commit d5a43aa862cc527c5d3a86ba6ec9401c029547c0
Author: Dan Williams <dcbw@redhat.com>
Date:   Sat Jun 20 10:49:09 2009 -0400

    udev: modem port refactor; convert 'hso' to udev

    Create a base MMPort class to handle both tty and net ports
    generically,
    and move plugins over to that.  Also port the 'hso' plugin to udev.

 plugins/Makefile.am         |  12 +-
 plugins/mm-modem-gobi-gsm.c |  13 +-
 plugins/mm-modem-hso.c      | 212 ++++++++++++++++---------
 plugins/mm-modem-hso.h      |  32 ++--
 plugins/mm-modem-huawei.c   |  57 +++----
 plugins/mm-plugin-gobi.c    |   2 +-
 plugins/mm-plugin-hso.c     | 365
 ++++++++++++++++++++++++--------------------
 plugins/mm-plugin-hso.h     |  31 +++-
 plugins/mm-plugin-huawei.c  |   2 +-
 plugins/mm-plugin-moto-c.c  |   2 +-
 src/Makefile.am             |   6 +-
 src/mm-generic-cdma.c       | 103 +++++++------
 src/mm-generic-cdma.h       |   6 +-
 src/mm-generic-gsm.c        | 109 +++++++------
 src/mm-generic-gsm.h        |  19 +--
 src/mm-modem-base.c         | 156 +++++++++++++++++++
 src/mm-modem-base.h         |  59 +++++++
 src/mm-port.c               | 238 +++++++++++++++++++++++++++++
 src/mm-port.h               |  74 +++++++++
 src/mm-serial-port.c        |  99 +++---------
 src/mm-serial-port.h        |  17 +--
 src/mm-serial.c             | 154 -------------------
 src/mm-serial.h             |  57 -------
 23 files changed, 1121 insertions(+), 704 deletions(-)

commit 73e536c3c35de6020b6b6a1aeb9deac522e21cb4
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jun 19 22:59:43 2009 -0400

    huawei: convert to udev and new API

 plugins/Makefile.am        |  12 +-
 plugins/mm-modem-huawei.c  | 230 ++++++++++++++++++++--------
 plugins/mm-modem-huawei.h  |  32 ++--
 plugins/mm-plugin-huawei.c | 371
 +++++++++++++++++++++++++++++++--------------
 plugins/mm-plugin-huawei.h |  32 ++--
 src/mm-generic-gsm.c       |  43 ++++--
 src/mm-generic-gsm.h       |   6 +
 7 files changed, 514 insertions(+), 212 deletions(-)

commit c3dd2eb070ce1fc37863d4eda5e318c9cc44116d
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jun 19 14:33:24 2009 -0400

    moto-c: rebase onto MMPluginBase

 plugins/mm-plugin-moto-c.c | 41 ++++-------------------------------------
 plugins/mm-plugin-moto-c.h |  5 +++--
 2 files changed, 7 insertions(+), 39 deletions(-)

commit af4ecc3e6dce5a3ad6bad3f6276151a2d783f1ac
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jun 19 13:55:00 2009 -0400

    cdma: implement GetServingSystem

 introspection/mm-modem-cdma.xml | 13 ++++++
 src/mm-generic-cdma.c           | 84
 +++++++++++++++++++++++++++++++++++++++
 src/mm-modem-cdma.c             | 88
 ++++++++++++++++++++++++++++++++++++++++-
 src/mm-modem-cdma.h             | 15 +++++++
 test/mm-test.py                 | 14 ++++++-
 5 files changed, 212 insertions(+), 2 deletions(-)

commit f50a762763f7060cdd1c3417a4e68918bfef101b
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jun 19 13:02:16 2009 -0400

    cdma: fix up quality reporting

 src/mm-generic-cdma.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

commit 9be1d66ef01123e5d74a12e20f6c71e670a59831
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jun 19 12:54:07 2009 -0400

    cdma: implement GetEsn()

 introspection/mm-modem-cdma.xml | 13 +++++++++
 src/mm-generic-cdma.c           | 64
 +++++++++++++++++++++++++++++++----------
 src/mm-modem-cdma.c             | 48 +++++++++++++++++++++++++++++++
 src/mm-modem-cdma.h             |  8 ++++++
 test/mm-test.py                 |  6 ++++
 5 files changed, 124 insertions(+), 15 deletions(-)

commit 6d4616c1d3641d5074e3df6b04c99a593bbfe2bc
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jun 19 12:43:37 2009 -0400

    modem: move GetInfo from GsmCard -> Modem interface

    It's generic, everything implements some variant of +GMM, +GMR,
    and +GMI.

 introspection/mm-modem-gsm-card.xml | 13 -----
 introspection/mm-modem.xml          | 13 +++++
 src/mm-generic-cdma.c               | 95
 +++++++++++++++++++++++++++++++++++++
 src/mm-generic-gsm.c                | 14 +++---
 src/mm-modem-gsm-card.c             | 86
 ---------------------------------
 src/mm-modem-gsm-card.h             | 15 ------
 src/mm-modem.c                      | 83 ++++++++++++++++++++++++++++++++
 src/mm-modem.h                      | 15 ++++++
 test/mm-test.py                     |  8 ++--
 9 files changed, 218 insertions(+), 124 deletions(-)

commit 88bdb5d29ac291589489f9b646f95fed0b87d281
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jun 19 11:55:31 2009 -0400

    plugin: add a base class to handle modem tracking

 plugins/mm-plugin-generic.c |  42 ++-------------
 plugins/mm-plugin-generic.h |  17 +++---
 plugins/mm-plugin-gobi.c    |  42 ++-------------
 plugins/mm-plugin-gobi.h    |   6 ++-
 src/Makefile.am             |   4 +-
 src/mm-plugin-base.c        | 127
 ++++++++++++++++++++++++++++++++++++++++++++
 src/mm-plugin-base.h        |  52 ++++++++++++++++++
 7 files changed, 203 insertions(+), 87 deletions(-)

commit 018e9e58312863611390c42ba242d894dc30ee05
Author: Dan Williams <dcbw@redhat.com>
Date:   Fri Jun 19 11:51:04 2009 -0400

    test: refactor

 test/mm-test.py | 84
 +++++++++++++++++++++++++++++++--------------------------
 1 file changed, 46 insertions(+), 38 deletions(-)

commit 10b8674e5c4550517bd1e1ae887b5dc495112d88
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 18 23:32:08 2009 -0400

    gobi: add plugin for Qualcomm Gobi devices

 plugins/Makefile.am         |  19 +++
 plugins/mm-modem-gobi-gsm.c | 177 +++++++++++++++++++++++
 plugins/mm-modem-gobi-gsm.h |  43 ++++++
 plugins/mm-plugin-gobi.c    | 343
 ++++++++++++++++++++++++++++++++++++++++++++
 plugins/mm-plugin-gobi.h    |  42 ++++++
 src/mm-generic-gsm.c        |   1 +
 6 files changed, 625 insertions(+)

commit 983e3c994750e1fdeb439ce6dd9d430e2f6f3f84
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 18 23:22:07 2009 -0400

    core: gracefully handle SIGTERM and SIGINT by shutting down cleanly

 src/main.c       | 32 +++++++++++++++++++++++++++-----
 src/mm-manager.c |  2 +-
 2 files changed, 28 insertions(+), 6 deletions(-)

commit aa8d3241e51c32b0582a339eb200ca4fa1bae574
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 18 22:48:51 2009 -0400

    moto-c: add plugin for Motorola C-series phones and BUSlink SCWi275u

 plugins/Makefile.am           |  19 +++
 plugins/mm-modem-moto-c-gsm.c | 158 +++++++++++++++++++++
 plugins/mm-modem-moto-c-gsm.h |  43 ++++++
 plugins/mm-plugin-moto-c.c    | 309
 ++++++++++++++++++++++++++++++++++++++++++
 plugins/mm-plugin-moto-c.h    |  42 ++++++
 src/mm-generic-gsm.c          |  86 +++++++++++-
 src/mm-generic-gsm.h          |  18 +++
 7 files changed, 669 insertions(+), 6 deletions(-)

commit 53d6ca970c0a670a14492033674d5e7f93772e8d
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 18 22:36:31 2009 -0400

    test: allow IMEI request to fail

 test/mm-test.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 832b43cab5e3cef6b755d8651fa4b715e3e63fd7
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 18 22:35:58 2009 -0400

    generic: misc fixes

 plugins/mm-plugin-generic.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 4eb2e75ca386b19b6b099d95b8817b43319052fe
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 18 14:39:40 2009 -0400

    plugin: bump required plugin major version for udev changes

 src/mm-plugin.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 924814c101da42fcb53005691d136852653f0eae
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 18 14:25:30 2009 -0400

    udev: move device probing and detection to udev

    Get rid of dependency on HAL, using libgudev instead.  Fix up the
    plugin API
    to no longer use either HAL or udev defines, but let plugins use
    whatever
    mechanism they want for getting more information out of the device
    given the
    subsystem and device node name.

    Modems are now defined as "master" devices which "own" a one or
    more ports.
    A port could be a serial tty device or a network device or whatever.
    The
    plugin figures out whether it supports a given port or not and
    then assigns
    it to a new or existing modem.  Modems now have a 'valid' property
    that
    should be set to TRUE when the modem has enough ports to operate
    correctly.
    For devices (ex. 'hso') that use a network device for data transfer,
    the
    modem would need to grab at least one TTY and the network device
    associated
    with that physical device to be 'valid'.

    Also move the generic modem support code to a plugin like other
    modem plugins,
    and change the I-support-this-device mechanism to return a number
    indicating
    the level of support.  For example, the generic plugin would return
    a quite
    low number if the device indicates via probing that it can do GSM
    or CDMA, but
    a more specific plugin can indicate better support for the device,
    and thus
    the more specific plugin would win control.

 .gitignore                                    |    2 +
 Makefile.am                                   |    2 +-
 callouts/77-mm-modem-probe-capabilities.rules |   23 +
 callouts/Makefile.am                          |   13 +
 callouts/mm-modem-probe.c                     |  639 ++++++++++++++
 configure.in                                  |    7 +-
 introspection/mm-modem.xml                    |   10 +-
 marshallers/mm-marshal.list                   |    1 +
 plugins/Makefile.am                           |   17 +
 plugins/mm-plugin-generic.c                   |  350 ++++++++
 plugins/mm-plugin-generic.h                   |   27 +
 src/Makefile.am                               |   22 +-
 src/main.c                                    |   93 +--
 src/mm-generic-cdma.c                         |  217 ++++-
 src/mm-generic-cdma.h                         |   17 +-
 src/mm-generic-gsm.c                          |  457 +++++++---
 src/mm-generic-gsm.h                          |   17 +-
 src/mm-manager.c                              |  376 ++++-----
 src/mm-manager.h                              |    6 +-
 src/mm-modem.c                                |   97 ++-
 src/mm-modem.h                                |   54 +-
 src/mm-plugin.c                               |   48 +-
 src/mm-plugin.h                               |   58 +-
 src/mm-serial-port.c                          | 1107
 +++++++++++++++++++++++++
 src/mm-serial-port.h                          |  114 +++
 src/mm-serial.c                               | 1024
 ++---------------------
 src/mm-serial.h                               |   80 +-
 27 files changed, 3280 insertions(+), 1598 deletions(-)

commit 0555cc1824aabbdda77cf1440c4e7be4ef8cc69e
Author: Dan Williams <dcbw@redhat.com>
Date:   Thu Jun 18 13:28:09 2009 -0400

    test: fix up test program for current API

 test/mm-test.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 440cd967e25f931dd4ed8684e27a72791e4d40f0
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Jun 9 14:34:12 2009 +0300

    Fix a typo.

    Thanks to Pablo Martí Gamboa.

 introspection/mm-modem-connect-error.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 911a105408f9809a62a01e1ea2462f2464dfdafe
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon May 25 10:17:11 2009 +0300

    Fix a typo.

 test/mm-send-sms.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9b5425cdd913ec66ee56ec9acfc1626f2e6957fa
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon May 25 10:16:12 2009 +0300

    Turn off carrier detection for all Huawei modems.

    Find the monitoring device for Huawei modems by usb interface number.

 plugins/mm-modem-huawei.c  |  1 +
 plugins/mm-plugin-huawei.c | 17 +++++++----------
 2 files changed, 8 insertions(+), 10 deletions(-)

commit f7e9e61cf9ecff3af2ef0d69c696da0ce5722d69
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon May 18 14:10:31 2009 +0300

    Handle the case where there's no APNs set up on the card.

    Based on patch from Torgny Johansson <torgny.johansson@ericsson.com>.

 src/mm-generic-gsm.c | 2 ++
 1 file changed, 2 insertions(+)

commit ddbeb418292c9ddf05e15a107904ca2c35219f3e
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu May 14 13:14:45 2009 +0300

    Make pending_registration_stop() accessible to inherited
    implementations.

 src/mm-generic-gsm.c | 13 ++++++-------
 src/mm-generic-gsm.h |  2 ++
 2 files changed, 8 insertions(+), 7 deletions(-)

commit 92041d5f750ab440d278c95c1f65483aa8ebf192
Merge: 2a3acc7a3 58a48405c
Author: Dan Williams <dcbw@redhat.com>
Date:   Mon May 11 06:43:43 2009 -0400

    Merge branch 'gsm-mode-cleanup'

commit 2a3acc7a3d13e6c359f6b280a9e7718d7b2d42bd
Author: Tambet Ingo <tambet@gmail.com>
Date:   Wed Apr 22 16:10:32 2009 +0300

    Handle "Call setup failed" case for HSO modems to speed up error
    reporting.

 plugins/mm-modem-hso.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

commit 58a48405cf95e3d74633ac4d5d4e0d4d0ab491f4
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Apr 15 10:44:09 2009 -0400

    gsm: clean up network modes

    Add specific modes for HSUPA and HSPA; add modes for 2G and 3G
    only, and
    update plugins to use the right modes.

 introspection/mm-modem-gsm-network.xml | 30
 +++++++++++++++++++++++++-----
 plugins/mm-modem-huawei.c              | 34
 +++++++++++++++++++++++-----------
 plugins/mm-modem-mbm.c                 | 29 +++++++++++++++++++++--------
 plugins/mm-modem-option.c              | 20 +++++++++++++-------
 src/mm-modem-gsm-network.h             | 22 +++++++++++++---------
 5 files changed, 95 insertions(+), 40 deletions(-)

commit 8eb9fa50b40658d267da8763e7eef3680cad4b0b
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Apr 14 11:42:00 2009 +0300

    Handle cases where HAL is not running/disappears/reappears.

 src/main.c       | 156
 +++++++++++++++++++++++++++++++++++++++++++++----------
 src/mm-manager.c |  99 ++++++++++++++++++++++++-----------
 src/mm-manager.h |   9 +++-
 3 files changed, 206 insertions(+), 58 deletions(-)

commit b79a3c0a6533092a82da49bffc603fbd84536cf0
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Apr 3 13:45:17 2009 +0300

    Fix a typo.

 plugins/mm-modem-zte.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d37820474201ea46e574c13c86fb015698d0cab9
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Apr 2 15:19:34 2009 +0300

    Fix a typo (thanks to Torgny Johansson).

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 636fe2921c39293a8e2e121f134a764151b4799e
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Apr 2 14:48:12 2009 +0300

    Implement a plugin for ZTE modems.

    Contributed by Jesse Sung (jsung@novell.com).

 plugins/Makefile.am     |  17 ++++-
 plugins/mm-modem-zte.c  | 191
 ++++++++++++++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-zte.h  |  28 +++++++
 plugins/mm-plugin-zte.c | 148 +++++++++++++++++++++++++++++++++++++
 plugins/mm-plugin-zte.h |  27 +++++++
 5 files changed, 410 insertions(+), 1 deletion(-)

commit 1ca34cfc0cb126f5f824a10720b6ed24fd1f4a8d
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Apr 2 12:41:59 2009 +0300

    Implement Nokia plugin.

 plugins/Makefile.am       |  17 +++++-
 plugins/mm-modem-nokia.c  |  65 ++++++++++++++++++++
 plugins/mm-modem-nokia.h  |  28 +++++++++
 plugins/mm-plugin-nokia.c | 148
 ++++++++++++++++++++++++++++++++++++++++++++++
 plugins/mm-plugin-nokia.h |  28 +++++++++
 5 files changed, 285 insertions(+), 1 deletion(-)

commit eae902db41879551945200c61e2148a78f4caa11
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Apr 2 12:31:40 2009 +0300

    Implement 'V1 E1' parser to work with modems which refuse to turn
    their echo off.

 src/mm-serial-parsers.c | 51
 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-serial-parsers.h |  8 ++++++++
 2 files changed, 59 insertions(+)

commit cf6aeffd6363fdab5ab5526f0bca47919f38ba2f
Author: Tambet Ingo <tambet@gmail.com>
Date:   Wed Apr 1 16:20:19 2009 +0300

    Fix a compilation error (with certain warning flags).

 src/mm-serial.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 83ba035aad0dc04d0c1ed9a4ded90e02b2a291bd
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Mar 27 09:10:23 2009 +0200

    Fix the use of uninitialized variables.

 src/mm-modem-gsm-sms.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 45f32e7e09aa3e35ff89b224df55c89c7beaa026
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Mar 23 13:28:22 2009 +0200

    Implement sending SMS messages.

    Add a test program to use the newly added method.

 introspection/mm-modem-gsm-sms.xml |  18 +++
 src/Makefile.am                    |   8 +-
 src/mm-generic-gsm.c               |  52 +++++++
 src/mm-modem-gsm-sms.c             | 298
 +++++++++++++++++++++++++++++++++++++
 src/mm-modem-gsm-sms.h             |  45 ++++++
 test/mm-send-sms.py                |  39 +++++
 6 files changed, 459 insertions(+), 1 deletion(-)

commit 697b5f0364cee038a685ac82b211993e2809eb75
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Mar 12 15:43:27 2009 +0200

    Add the NM patch back. Create a directory for patches.

 .../NetworkManager-r4359-use-modem-manager.patch   | 5691
 ++++++++++++++++++++
 .../nm-applet-r1053-use-modem-manager.patch        |   69 +-
 2 files changed, 5729 insertions(+), 31 deletions(-)

commit 8750037fafbf27bd4218b6ea37e17dbc85102dcc
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Mar 2 10:13:54 2009 +0200

    Implement MMModemNovatelCdma class for Novatel CDMA devices.

    Rename MMModemNovatel to MMModemNovatelGsm.

 plugins/Makefile.am                                |  6 +-
 plugins/mm-modem-novatel-cdma.c                    | 73
 ++++++++++++++++++++++
 plugins/mm-modem-novatel-cdma.h                    | 28 +++++++++
 .../{mm-modem-novatel.c => mm-modem-novatel-gsm.c} | 40 ++++++------
 plugins/mm-modem-novatel-gsm.h                     | 28 +++++++++
 plugins/mm-modem-novatel.h                         | 28 ---------
 plugins/mm-plugin-novatel.c                        | 12 ++--
 7 files changed, 159 insertions(+), 56 deletions(-)

commit 6606e15a9b6877d91a7125a31510c011522217b7
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Feb 27 10:21:23 2009 +0200

    Handle CDMA modems in Novatel plugin.

 plugins/mm-plugin-novatel.c | 64
 ++++++++++++++++++++++++++++++++-------------
 1 file changed, 46 insertions(+), 18 deletions(-)

commit a7f9033611290a3fe87d89c1a7ae30c47c04e87a
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Feb 26 11:28:00 2009 +0200

    Probe HSO modems, don't trust (often incorrect) HAL modem properties.

 plugins/mm-plugin-hso.c | 30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)

commit d8fa8d7d1bcfc29a0711c024e9e68bd6a9e1eeda
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Feb 20 12:10:12 2009 +0200

    Eat "^BOOT:..." messages in Huawei plugin.

 plugins/mm-modem-huawei.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 469529985d8f6f79739a69efb020be1b36489666
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Feb 20 12:09:47 2009 +0200

    Use cached commands for things that never change (while the card
    is plugged).

 src/mm-generic-gsm.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

commit 9e6aa4ec96c2b3c56b0d927db05890ba843e840d
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Feb 20 12:09:15 2009 +0200

    Implement cached commands.

 src/mm-serial.c | 76
 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 src/mm-serial.h |  6 +++++
 2 files changed, 76 insertions(+), 6 deletions(-)

commit 1215bd6a9d607018e0af7ad7afa85bc35cb713a0
Author: Tambet Ingo <tambet@gmail.com>
Date:   Wed Feb 18 14:48:08 2009 +0200

    Rework unsolicited message handling.

    Implement registration using unsolicited messages for generic GSM
    class (which
    is disabled by default, HSO and Huawei plugins enable it).

    Modify all GSM modem subclasses that used unsolicited messages to
    use the new
    method.

 plugins/mm-modem-hso.c    |  46 +++----
 plugins/mm-modem-huawei.c | 342
 ++++++++--------------------------------------
 plugins/mm-modem-mbm.c    |  71 ++++------
 src/Makefile.am           |   4 +-
 src/mm-generic-gsm.c      | 273 +++++++++++++++++++++++-------------
 src/mm-generic-gsm.h      |   3 +
 src/mm-serial.c           |  97 +++++++++++++
 src/mm-serial.h           |  11 ++
 src/mm-util.c             |  57 --------
 src/mm-util.h             |  20 ---
 10 files changed, 384 insertions(+), 540 deletions(-)

commit 13facad4fa3be24d07768892135caebd88e95fcc
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Feb 13 10:54:21 2009 +0200

    Close the serial device on HUP.

 src/mm-serial.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

commit 28fd7f7820bc0da1e0a6b7c75d3273e6d63fcbf7
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Feb 10 15:26:51 2009 +0200

    Implement the spec correctly for DeviceAdded and DeviceRemoved
    signals.

 src/mm-manager.c | 14 +++++++-------
 src/mm-manager.h |  4 ++--
 2 files changed, 9 insertions(+), 9 deletions(-)

commit 1f08d4c4087282f12039da08ae59e9563a6c6e0d
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Feb 10 15:26:18 2009 +0200

    Fix a compilation warning/error.

 plugins/mm-modem-mbm.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 2adf9a0088f681c7c180f04383c5e0051689fc71
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 10 06:53:09 2009 -0500

    remove NetworkManager patch; no longer necessary

 NetworkManager-r4241-use-modem-manager.patch | 5569
 --------------------------
 1 file changed, 5569 deletions(-)

commit bef9c48ffc926b97a7c0b1d56b9de751e37efe69
Author: Dan Williams <dcbw@redhat.com>
Date:   Tue Feb 10 06:48:56 2009 -0500

    add --enable-more-warnings=yes/no and fix up resulting errors

 configure.in                | 29 ++++++++++++++++++++++++++++
 plugins/mm-modem-hso.c      | 47
 +++++++++++++++++++++++----------------------
 plugins/mm-modem-huawei.c   |  8 ++++----
 plugins/mm-modem-mbm.c      |  4 ++--
 plugins/mm-modem-novatel.c  |  4 ++--
 plugins/mm-modem-option.c   |  6 +++---
 plugins/mm-modem-sierra.c   |  6 +++---
 plugins/mm-plugin-hso.h     |  2 ++
 plugins/mm-plugin-huawei.h  |  2 ++
 plugins/mm-plugin-mbm.h     |  2 ++
 plugins/mm-plugin-novatel.h |  2 ++
 plugins/mm-plugin-option.h  |  2 ++
 plugins/mm-plugin-sierra.h  |  2 ++
 src/main.c                  |  1 +
 src/mm-generic-cdma.c       |  4 ++--
 src/mm-generic-gsm.c        |  4 ++--
 src/mm-modem-simple.c       |  2 +-
 src/mm-serial-parsers.c     |  3 ++-
 18 files changed, 87 insertions(+), 43 deletions(-)

commit 618db2dd8ab255271f388c3c4a7ccbe8ad9a0ae4
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Feb 9 10:48:26 2009 +0200

    Bump the version.

    Remove a leftover include from mbm modem implementation to make
    it compile
    again.

 configure.in           | 2 +-
 plugins/mm-modem-mbm.c | 2 --
 2 files changed, 1 insertion(+), 3 deletions(-)

commit fd5f4222d7c18a3279085edd4ca6ed36247923e6
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Feb 6 13:34:02 2009 +0200

    Extend org.freedesktop.ModemManager.Modem interface.

    * Add IpMethod property with known values ppp (default), static, DHCP.
    * Rename DataDevice property to Device.
    * Add GetIP4Config method. It should be implemented only when
    IpMethod==static.
    * Update org.freedesktop.ModemManager.Modem.Gsm.Sms interface based on
      Pablo Martí Gamboa's suggestions.
    * Adjust MBM and HSO interfaces to take advantage of the generic Modem
      interface.

 introspection/Makefile.am          |   1 -
 introspection/mm-modem-gsm-hso.xml |  21 ---
 introspection/mm-modem-gsm-sms.xml |  36 ++++--
 introspection/mm-modem.xml         |  41 +++++-
 plugins/Makefile.am                |   7 +-
 plugins/mm-modem-hso.c             | 259
 +++++++++++++++----------------------
 plugins/mm-modem-hso.h             |  14 --
 plugins/mm-modem-huawei.c          |   3 +-
 plugins/mm-modem-mbm.c             |  71 +++-------
 plugins/mm-modem-mbm.h             |  19 ---
 plugins/mm-modem-novatel.c         |   3 +-
 plugins/mm-modem-option.c          |   1 +
 plugins/mm-modem-sierra.c          |   1 +
 src/mm-generic-cdma.c              |  17 ++-
 src/mm-generic-gsm.c               |  30 ++++-
 src/mm-modem.c                     | 108 +++++++++++++++-
 src/mm-modem.h                     |  30 ++++-
 src/mm-serial.h                    |   2 +-
 18 files changed, 356 insertions(+), 308 deletions(-)

commit 19bd7d7e7f9e6128f29de8888ba23071f8f4e4d8
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Feb 6 13:32:45 2009 +0200

    Fix DBus permissions.

 README                             |  2 +-
 introspection/mm-modem-gsm-mbm.xml | 12 ------------
 org.freedesktop.ModemManager.conf  | 19 +++++++------------
 3 files changed, 8 insertions(+), 25 deletions(-)

commit d4e1d7dc8c6f3b766cac148e13c84d51e10c07f3
Author: Tambet Ingo <tambet@gmail.com>
Date:   Wed Feb 4 15:24:39 2009 +0200

    Fix a typo in error message when MM couldn't acquire it's DBus
    service name.

 src/main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 2226bb8752987d210a5e7dd673dd9426a3d2701f
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Jan 26 11:54:10 2009 +0200

    Implement Novatel plugin.

 plugins/Makefile.am         |  19 ++++-
 plugins/mm-modem-novatel.c  | 170
 ++++++++++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-novatel.h  |  28 ++++++++
 plugins/mm-plugin-novatel.c | 148 ++++++++++++++++++++++++++++++++++++++
 plugins/mm-plugin-novatel.h |  26 +++++++
 5 files changed, 389 insertions(+), 2 deletions(-)

commit 6b14ebe6ab2b94066c797696748a4d06abbff259
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Jan 23 11:58:38 2009 +0200

    Relax the "CONNECT" string regex a bit.

 src/mm-serial-parsers.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d8fada178591a77bbf8a7a67d6f10da703cf0c1f
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Jan 22 12:30:25 2009 +0200

    Don't require 'number' property, it's not always needed.

 src/mm-generic-gsm.c | 6 ------
 1 file changed, 6 deletions(-)

commit 8bf265f349f531c3204efce1c88eb1f153b7097c
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Jan 22 12:30:09 2009 +0200

    Implement 'Simple' interface for HSO modems.

 plugins/mm-modem-hso.c | 100
 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 100 insertions(+)

commit b4c861540951afccf0498092b9d6dd4aa6b56994
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Jan 22 12:29:45 2009 +0200

    Implement 'Simple' interface for CDMA devices.

 src/mm-generic-cdma.c | 160
 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 160 insertions(+)

commit 17b739c73d5e054cf110049d09d8ec56b3b6af91
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Jan 13 11:01:48 2009 +0200

    Implement simple interface.

 introspection/Makefile.am         |   1 +
 introspection/mm-modem-simple.xml |  58 +++++++++
 src/Makefile.am                   |   6 +
 src/mm-generic-gsm.c              | 260
 ++++++++++++++++++++++++++++++++++++++
 src/mm-modem-simple.c             | 142 +++++++++++++++++++++
 src/mm-modem-simple.h             |  46 +++++++
 6 files changed, 513 insertions(+)

commit 423637272a9a021742c070930f3b3a2c96c31695
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Jan 13 11:29:44 2009 +0200

    Fix the "Option" plugin to not steal modems from "HSO" plugin.

 plugins/mm-plugin-option.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit 6018ff81babf1296f13fa0f45a60faae4fd7e0d5
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Jan 13 11:27:41 2009 +0200

    Implement DCD disabling for serial base class.

    Turn DCD detection off for certain Huawei modems that don't report it
    correctly.

 plugins/mm-plugin-huawei.c | 31 +++++++++++++++++++++++++------
 src/mm-serial.c            | 29 +++++++++++++++++++++++++----
 src/mm-serial.h            |  1 +
 3 files changed, 51 insertions(+), 10 deletions(-)

commit 50d2a8b80c25f25e3327127d725277c70570cff3
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Jan 13 11:23:02 2009 +0200

    If none of the HSO serial device parents match none of the network
    device
    parents, try to match "grandparents" as well.

 plugins/mm-plugin-hso.c | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

commit 9804a216860e04c6e6f98b5bbced9213bf49aadb
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Jan 13 11:18:16 2009 +0200

    Explicitly disable unsolicited messages for generic GSM modems.

 src/mm-generic-gsm.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 56bd8994eeeb70eb22c45b59603c42cddc2e68a8
Author: Tambet Ingo <tambet@gmail.com>
Date:   Wed Dec 17 13:37:57 2008 +0200

    Implement Huawei modem registration with unsolicited messages
    (no polling).

    Keep registration info in sync correctly. Emit signal when it changes.

 plugins/mm-modem-huawei.c | 204
 ++++++++++++++++++++++++++++++++++++++--------
 src/mm-generic-gsm.c      |  81 ++++++++----------
 src/mm-generic-gsm.h      |   4 -
 3 files changed, 204 insertions(+), 85 deletions(-)

commit a1223a9eaf35e7f198b46061ebb7d0ca567886fb
Author: Tambet Ingo <tambet@gmail.com>
Date:   Wed Dec 17 13:35:22 2008 +0200

    Convert multiple return values to structs.

    Python DBus bindings are unable to implement methods that return
    multiple
    values.

 introspection/mm-modem-gsm-card.xml     | 14 ++------------
 introspection/mm-modem-gsm-contacts.xml | 14 ++------------
 introspection/mm-modem-gsm-network.xml  | 17 +++++------------
 introspection/mm-modem-gsm-sms.xml      | 19 ++-----------------
 src/mm-modem-gsm-card.c                 | 28 ++++++++++++++++++++++++++--
 src/mm-modem-gsm-network.c              | 31
 +++++++++++++++++++++++++++----
 6 files changed, 64 insertions(+), 59 deletions(-)

commit 614aa0316a4c0801d187949b0ab2e6816c82328e
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Dec 15 14:03:27 2008 +0200

    Clean up generic registration code.

 src/mm-generic-gsm.c | 27 ++++++++-------------------
 1 file changed, 8 insertions(+), 19 deletions(-)

commit e4efbc5c841407b5c5017caf55c80c10e065b7b2
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Dec 15 13:56:53 2008 +0200

    Cache data in Huawei modem.

 plugins/mm-modem-huawei.c | 334
 +++++++++++++++++++++++++++++-----------------
 1 file changed, 214 insertions(+), 120 deletions(-)

commit 4bf6681800dd502a3e341f3d6b7bba101bfd8dc7
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Dec 15 11:50:31 2008 +0200

    Parse Huawei flow report.

 plugins/mm-modem-huawei.c | 7 +++++++
 1 file changed, 7 insertions(+)

commit 4e94acfbc3b73471b235b2be18177475d1af53a4
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Dec 12 10:14:41 2008 +0200

    Don't ever disable radio of Sierra GSM modems.

    Based on patch from Stefan Seyfried <seife@suse.de>.

 plugins/mm-modem-sierra.c | 48
 +++++++++++++++++++++++++++++++++++++----------
 1 file changed, 38 insertions(+), 10 deletions(-)

commit d1d94de6a1235a36a6e40652efd4d86911eec3b2
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Dec 9 15:41:51 2008 +0200

    Lots of random fixes:

    Rework the MMCallbackInfo callback invocation.
    Always use g_error_literal() where it makes sense.
    Replace sleep() calls, with timeouts to not block the whole MM.

 plugins/mm-modem-hso.c     | 21 ++++-------
 plugins/mm-modem-huawei.c  | 25 ++++++-------
 plugins/mm-modem-mbm.c     |  4 +--
 plugins/mm-modem-option.c  | 22 ++++++++----
 plugins/mm-modem-sierra.c  | 25 ++++++++++++-
 src/mm-callback-info.c     | 89
 +++++++++++++++++++++++++++++++---------------
 src/mm-callback-info.h     | 18 +++++++---
 src/mm-generic-gsm.c       | 87
 +++++++++++++++++++-------------------------
 src/mm-modem-cdma.c        |  4 +--
 src/mm-modem-gsm-card.c    | 40 ++++++---------------
 src/mm-modem-gsm-network.c | 42 +++++++++-------------
 src/mm-modem.c             |  4 +--
 12 files changed, 199 insertions(+), 182 deletions(-)

commit a504fb408aa2ba3bb495a08d948ae97bdcb1cdd6
Merge: 793044b57 1673c6c99
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Dec 5 15:57:55 2008 +0200

    Merge branch 'master' of git://gitorious.org/modemmanager/asacs-mbm

commit 1673c6c998ccca73097c7d032b14ff15883d053b
Author: Alexander Sack <asac@jwsdot.com>
Date:   Fri Nov 28 23:51:26 2008 +0100

    Implement SendPuk feature
    * introspection/mm-modem-gsm-card.xml: add SendPuk method
            Gsm.Card interface

    * src/mm-generic-gsm.c (send_puk_done, send_puk):
            - implement generic SendPuk with +CPIN="<puk>,<pin>"

    * src/mm-modem-gsm-card.h,
      src/mm-modem-gsm-card.c (mm_modem_gsm_card_send_pin,
      impl_gsm_modem_send_pin): implement SendPuk glue.

 introspection/mm-modem-gsm-card.xml | 18 ++++++++++++++++++
 src/mm-generic-gsm.c                | 30 ++++++++++++++++++++++++++++++
 src/mm-modem-gsm-card.c             | 32 ++++++++++++++++++++++++++++++++
 src/mm-modem-gsm-card.h             | 12 ++++++++++++
 4 files changed, 92 insertions(+)

commit 793044b577c18d3b9028276fdec629981c75f5ed
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Dec 4 17:39:15 2008 +0200

    Add support for the HP branded version of the sierra mc8775.

    Patch from Stefan Seyfried <seife@suse.de>.

 plugins/mm-plugin-sierra.c | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 3d84a60ab1efade2ef7ae0885abfa4400d6b386b
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Dec 1 12:04:08 2008 +0200

    Fix HSO modem plugin.

 plugins/mm-modem-hso.c    | 200
 +++++++++++++++++++++++++++++++++++++++-------
 plugins/mm-modem-option.c |  23 +-----
 src/mm-generic-gsm.c      |  43 ++++++++++
 src/mm-generic-gsm.h      |   4 +
 4 files changed, 220 insertions(+), 50 deletions(-)

commit 929c1a8a54fdc6f24bc058b0ea2b1d0556bda2ce
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Dec 1 11:34:52 2008 +0200

    Make the MBM plugin's HAL UDI checking more strict, it caught HSO
    modems too.

 plugins/mm-plugin-mbm.c | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

commit 1c67b9327e3d4b1c9eb7e5b4eef012736a23e68d
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Nov 28 13:25:26 2008 +0200

    Fix the bug where HSO plugin would create a modem instance for each
    serial device.

 plugins/mm-plugin-hso.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

commit c44079b3126825564ec13923ccb6e09e85ca3162
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Nov 24 16:41:23 2008 +0200

    Always print out which plugin created the modem.

 src/mm-manager.c |  8 +++++---
 src/mm-plugin.c  | 10 +++++++++-
 2 files changed, 14 insertions(+), 4 deletions(-)

commit 157da2be755fbc954cf53f4ab9fc415139ea155c
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Nov 18 13:04:21 2008 +0200

    Implement plugin for Sierra Wireless modems.

    For now, it only waits a bit after CFUN=1 call.

 plugins/Makefile.am        |  17 +++++-
 plugins/mm-modem-sierra.c  | 104 +++++++++++++++++++++++++++++++
 plugins/mm-modem-sierra.h  |  28 +++++++++
 plugins/mm-plugin-sierra.c | 148
 +++++++++++++++++++++++++++++++++++++++++++++
 plugins/mm-plugin-sierra.h |  26 ++++++++
 5 files changed, 322 insertions(+), 1 deletion(-)

commit cf2344381ceabd9ac15bfea1ddd57c81a62b16da
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Nov 18 12:35:34 2008 +0200

    Make +CMEE optional for CDMA modems.

    It's mandatory by spec, so it really shouldn't be optional. Need
    to figure
    out which CDMA modems have problems with it and implement plugin
    for them.

 src/mm-generic-cdma.c | 30 ++++++++++++++++++++++++++----
 1 file changed, 26 insertions(+), 4 deletions(-)

commit ca4de81fa3bcd54cef3a9c3c4a72ec4d79ceec85
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Oct 31 12:30:39 2008 +0200

    Update the NM and nm-applet patches to latest SVN revision.

 ...=> NetworkManager-r4241-use-modem-manager.patch | 56
 +++++++++++++++-------
 ...patch => nm-applet-r994-use-modem-manager.patch |  0
 2 files changed, 38 insertions(+), 18 deletions(-)

commit 00c79d7fa153895dd9cddaeda8cadcaa50005223
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Oct 30 17:00:15 2008 +0200

    Explicitly check the PIN after modem is enabled.

 plugins/mm-modem-option.c | 85
 +++++++++++++++++++----------------------------
 1 file changed, 34 insertions(+), 51 deletions(-)

commit 0b9badee75d162f23d7f462eb5a5ccbcb73bef3a
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Oct 30 16:55:06 2008 +0200

    Hope the card will eventually start searching after it replied OK
    to registration request.

 src/mm-generic-gsm.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

commit de6c6cd561a0a10342f9f5ff50168ac92f0d0282
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Oct 30 15:15:23 2008 +0200

    Implement Option plugin.

 plugins/Makefile.am        |  18 ++-
 plugins/mm-modem-option.c  | 275
 +++++++++++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-option.h  |  28 +++++
 plugins/mm-plugin-option.c | 148 ++++++++++++++++++++++++
 plugins/mm-plugin-option.h |  26 +++++
 5 files changed, 494 insertions(+), 1 deletion(-)

commit fe4e7ee62b1956694aef2ceeeef63c57d4a865cc
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Oct 30 15:13:51 2008 +0200

    Enable/disable debugging on SIGUSR1.

 src/main.c       | 128
 ++++++++++++++++++++++++++++++++-----------------------
 src/mm-options.c |   6 +++
 src/mm-options.h |   5 ++-
 src/mm-serial.c  |  19 ++++++---
 4 files changed, 97 insertions(+), 61 deletions(-)

commit ced49a6a10def8c7207173cf08b518e519f634b5
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Oct 30 10:46:46 2008 +0200

    Add the device path to mbm modem creator in NM patch.

 NetworkManager-r4232-use-modem-manager.patch | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

commit f8c2f2af6579796123e32dd83570d21107c830a4
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Oct 30 10:33:16 2008 +0200

    Implement unsolicited message parsers for MBM modem.

    Patch from Per Hallsmark <per@hallsmark.se>.

 plugins/mm-modem-mbm.c | 109
 ++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 95 insertions(+), 14 deletions(-)

commit 65992e69c3bead44f12c21ee2f296af5c26280e2
Author: Tambet Ingo <tambet@gmail.com>
Date:   Wed Oct 29 12:15:43 2008 +0200

    Update NetworkManager and nm-applet patches.

 ...=> NetworkManager-r4232-use-modem-manager.patch | 141
 +++++++++++++--------
 ...patch => nm-applet-r988-use-modem-manager.patch |  73 +++++++----
 2 files changed, 131 insertions(+), 83 deletions(-)

commit d7c7ab27321d7be4e902aed7995f956e8e70cbb1
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Oct 28 09:28:37 2008 +0200

    Implement signal quality and network mode querying for MBM modem.

    Patch from Bjorn Runaker <bjorn.runaker@ericsson.com>.

 plugins/mm-modem-mbm.c | 115
 +++++++++++++++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-mbm.h |   1 +
 2 files changed, 116 insertions(+)

commit 128021dc16729233a8e2542206d53c3e05091f20
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Oct 24 17:46:01 2008 +0300

    Add guards to public functions to validate passed arguments.

 src/mm-serial-parsers.c | 10 ++++++++++
 src/mm-util.c           |  3 +++
 2 files changed, 13 insertions(+)

commit 705aa1c4041e4d12146628c07d2e808ea0d31fa2
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Oct 24 16:22:50 2008 +0300

    Update the NM and nm-applet patches.

 ...=> NetworkManager-r4209-use-modem-manager.patch | 41
 +++++++++++++---------
 ...patch => nm-applet-r965-use-modem-manager.patch |  0
 2 files changed, 24 insertions(+), 17 deletions(-)

commit f82b187c2bb3efb117f96e5b6062128f20ab2f39
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Oct 24 16:20:22 2008 +0300

    Move the string parser with regexp from huawei plugin to generic
    utility function.

    It's useful for other modems too that need to strip unsolicited
    messages from
    responses.

 plugins/mm-modem-huawei.c | 55
 +++--------------------------------------------
 src/Makefile.am           |  4 +++-
 src/mm-util.c             | 54
 ++++++++++++++++++++++++++++++++++++++++++++++
 src/mm-util.h             | 20 +++++++++++++++++
 4 files changed, 80 insertions(+), 53 deletions(-)

commit 0bd4f4a6049838dd7b09320c18c1991196ae80ee
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Oct 24 10:04:42 2008 +0300

    More work with MBM plugin.

    Author: Per Hallsmark.

 plugins/mm-modem-mbm.c | 177
 +++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 149 insertions(+), 28 deletions(-)

commit f7aeeafec8cde16268abe2d15a75bbc2ed2b8132
Author: Tambet Ingo <tambet@gmail.com>
Date:   Wed Oct 22 16:36:25 2008 +0300

    Use only one serial device in Huawei plugin.

 plugins/mm-modem-huawei.c | 322
 +++++++++++++++++++++++-----------------------
 plugins/mm-modem-huawei.h |   2 -
 src/mm-generic-gsm.c      |  20 ++-
 3 files changed, 176 insertions(+), 168 deletions(-)

commit fd4e78fe920492099a45dbf42ba9d4f1e9b0899b
Author: Tambet Ingo <tambet@gmail.com>
Date:   Wed Oct 22 16:34:34 2008 +0300

    Add a default send delay to the serial class.

    Show the correct error in case of write errors (EAGAIN).

 src/mm-serial.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit 3201a1e6b7913577690ff059a4ac0d5fb7f23094
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Oct 20 18:39:19 2008 +0300

    Don't loop forever on EAGAIN (copied from NM).

 src/mm-serial.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

commit 2b76d6885494601c97db5826f178597b8cf872bc
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Oct 20 17:13:18 2008 +0300

    Update NM patch.

 NetworkManager-r4160-use-modem-manager.patch | 5 +++--
 src/mm-generic-cdma.c                        | 1 +
 2 files changed, 4 insertions(+), 2 deletions(-)

commit 4d27cef5ed1304ea01750e1cee11c76838bf1383
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Oct 20 14:37:56 2008 +0300

    Add a response parser to the generic CDMA implementation.

 src/mm-generic-cdma.c | 4 ++++
 1 file changed, 4 insertions(+)

commit 446a4752d654b9169c26aee2f0e36a0b1894af21
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Oct 20 12:25:14 2008 +0300

    Remove the fancy init string options, these do not seem to work
    very well.

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 096246e2fd0f64b3aea2a7ac8ac3b600645ee92f
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Oct 20 12:12:55 2008 +0300

    Fix mm-test.py.

 test/mm-test.py | 147
 +++++++++++++++++++++++---------------------------------
 1 file changed, 61 insertions(+), 86 deletions(-)

commit cdccfa8ac10ec0dabd7c46f6d6e537d5cc457c03
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Oct 20 11:54:02 2008 +0300

    Return an error ig scan results can not be parsed (fixes a segfault).

 src/mm-generic-gsm.c | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

commit 94501f08542052c064065058b9d58fe29f310e47
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Oct 20 11:23:50 2008 +0300

    Update NetworkManager patch.

 NetworkManager-r4160-use-modem-manager.patch | 346
 ++++++++++++++++++++++++++-
 1 file changed, 339 insertions(+), 7 deletions(-)

commit ed5d81da8f7978a6213bf7cd1d9d182d36161ebf
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Oct 20 11:11:23 2008 +0300

    Implement a plugin for Ericsson MBM modems (like F3507g) (Author
    Per Hallsmark).

 introspection/Makefile.am          |   2 +-
 introspection/mm-modem-gsm-mbm.xml |  12 ++
 plugins/Makefile.am                |  24 +++-
 plugins/mm-modem-mbm.c             | 267
 +++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-mbm.h             |  70 ++++++++++
 plugins/mm-plugin-mbm.c            | 244
 +++++++++++++++++++++++++++++++++
 plugins/mm-plugin-mbm.h            |  48 +++++++
 7 files changed, 664 insertions(+), 3 deletions(-)

commit 4c8088d8ba58ec6a939f66863ba73a3b5fd19861
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Oct 20 10:29:53 2008 +0300

    Fix a typo in 'SetApn' command in NetworkManager patch.

 NetworkManager-r4160-use-modem-manager.patch | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit ba166485e3eabe90807ea3c466a8df341e01744e
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Oct 13 09:40:46 2008 +0300

    Update the NetworkManager and nm-applet patches.

 ...=> NetworkManager-r4160-use-modem-manager.patch | 816
 +++++++++--------
 ...patch => nm-applet-r938-use-modem-manager.patch | 995
 ++++++++++++++++++---
 2 files changed, 1270 insertions(+), 541 deletions(-)

commit 5853f2216c81e693db06eaa8469ce7d61fd687ec
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Sep 18 14:31:45 2008 +0300

    Specify call mode in the modem init string.

 src/mm-generic-gsm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5c403fb223a340ad5f4a9010892db7759a9b4dba
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Sep 18 12:39:46 2008 +0300

    Reset the CID when the modem is enabled/disabled and disconnected.

 src/mm-generic-gsm.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit 447bca91b00fb6be9bf572d7adaf2adc87036bfa
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Sep 18 12:33:25 2008 +0300

    Reduce the amount of power used to minimum when modem is disabled.

 src/mm-generic-gsm.c | 38 ++++++++++++++++++++++++++++++--------
 1 file changed, 30 insertions(+), 8 deletions(-)

commit 36acdcb70e5f7cf5c295010e89008ade51bc778d
Author: Tambet Ingo <tambet@gmail.com>
Date:   Wed Sep 17 13:37:35 2008 +0300

    Finish the non-verbose (V0) mode parser.

 src/mm-serial-parsers.c | 75
 +++++++++++++++++++++++++++++++++++--------------
 src/mm-serial-parsers.h |  3 --
 2 files changed, 54 insertions(+), 24 deletions(-)

commit 341c28de2f5b1199ba287ccad549ef3f3c6e9555
Author: Tambet Ingo <tambet@gmail.com>
Date:   Wed Sep 17 12:37:27 2008 +0300

    Add correct message to mobile (+CMEE) errors.

 src/mm-errors.c | 110
 +++++++++++++++++++++++++++-----------------------------
 1 file changed, 52 insertions(+), 58 deletions(-)

commit 6f9adb1980cd0661390ad53b928236ff7b8df235
Author: Tambet Ingo <tambet@gmail.com>
Date:   Wed Sep 17 11:54:46 2008 +0300

    Get the monitoring device from HAL.

 plugins/mm-plugin-huawei.c | 62
 +++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 58 insertions(+), 4 deletions(-)

commit 07f1b3cc3a15bf3bdf946521eb88b43ef7a905cb
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Sep 16 14:00:10 2008 +0300

    Document DBus error codes and messages.

 introspection/Makefile.am                |   6 +-
 introspection/all.xml                    |   5 +
 introspection/mm-mobile-error.xml        | 318
 +++++++++++++++++++++++++++++++
 introspection/mm-modem-connect-error.xml |  30 +++
 introspection/mm-modem-error.xml         |  18 ++
 introspection/mm-serial-error.xml        |  24 +++
 src/mm-errors.c                          | 112 +++++------
 src/mm-errors.h                          |   2 +-
 src/mm-manager.c                         |   1 -
 9 files changed, 457 insertions(+), 59 deletions(-)

commit da3bbdc893b43c52dec20216945a572632c56806
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Sep 16 13:03:38 2008 +0300

    Add marshallers so that RegistrationInfo signal can be enabled.

 .gitignore                    |  3 ++-
 Makefile.am                   |  2 +-
 configure.in                  |  4 ++++
 marshallers/Makefile.am       | 21 +++++++++++++++++++++
 marshallers/mm-marshal-main.c |  2 ++
 marshallers/mm-marshal.list   |  1 +
 src/Makefile.am               |  4 +++-
 src/mm-modem-gsm-network.c    |  4 +---
 src/mm-serial.c               |  2 +-
 test/mm-test.py               |  2 ++
 10 files changed, 38 insertions(+), 7 deletions(-)

commit e0c720e19c02c43c56f09be9de09cc90d46543a3
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Sep 16 12:42:14 2008 +0300

    Fix the loadable module name checking.

 src/mm-manager.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f1acf5aaec1d2ca79858a4e472b458f43a1caead
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Sep 16 12:18:19 2008 +0300

    Disconnect modem if it's connected while disabling.

 src/mm-generic-gsm.c | 30 ++++++++++++++++++++----------
 1 file changed, 20 insertions(+), 10 deletions(-)

commit 8e1cabbefce757c071544d878f4a060a080ed25d
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Sep 15 17:20:00 2008 +0300

    Make sure the device is enabled before trying to send commands to it.

 src/mm-serial.c | 6 ++++++
 1 file changed, 6 insertions(+)

commit f570e1517dcf293583614d671b6dd7aae93f028f
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Sep 15 17:08:46 2008 +0300

    Implement PIN changing and enabling/disabling.

 introspection/mm-modem-gsm-card.xml |  2 +-
 src/mm-generic-gsm.c                | 60
 +++++++++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+), 1 deletion(-)

commit 1455c424c2a5b2fcb61163b2feb3a2aadc0bfad0
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Sep 15 13:07:03 2008 +0300

    Implement smarter APN choosing.

    If the APN chosen by user is already configured in card, use
    that. If not,
    find the highest used CID, the allowed range of CIDs and add new
    (or overwrite
    the highest one).

 src/mm-generic-gsm.c | 157
 ++++++++++++++++++++++++++++++++++++++++++++++++---
 src/mm-generic-gsm.h |   3 +
 2 files changed, 153 insertions(+), 7 deletions(-)

commit b4176325e5c51bc920366e4475c3c75bf1bc3757
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Sep 12 17:05:43 2008 +0300

    Update the patches for NetworkManager and nm-applet.

    Implement modem properties dialog for the applet which shows all
    sorts of
    information about the modem, allows to scan for visible networks
    and create
    NMConnections based on scan results.

 ...=> NetworkManager-r4060-use-modem-manager.patch |  112 +-
 nm-applet-r874-use-modem-manager.patch             |  427 ------
 nm-applet-r884-use-modem-manager.patch             | 1524
 ++++++++++++++++++++
 3 files changed, 1620 insertions(+), 443 deletions(-)

commit 567278d19dc95880d1091794fd9fa0c3f77fb99d
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Sep 11 16:55:44 2008 +0300

    Make sure the response buffer doesn't grow without bounds.

 src/mm-serial.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

commit 675964a6b278d5fcbef19b3518e519dfd2e544de
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Sep 11 16:37:01 2008 +0300

    Fix device added and removed signals.

    The device argument was a MMModem object, which conflicted with
    the spec.
    Changed it to the modem's udi.

 src/mm-manager.c | 22 ++++++++++------------
 src/mm-manager.h |  4 ++--
 2 files changed, 12 insertions(+), 14 deletions(-)

commit e0b3d478b42654a338d9d9b7f271ef1a96d73af9
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Sep 11 16:36:41 2008 +0300

    Fix the typos.

 src/mm-errors.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

commit 37b716de8aa06833c1bea1066111f6268e08d440
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Sep 11 15:12:07 2008 +0300

    Fix error codes.

 src/mm-errors.c         | 225
 +++++++++++++++++++++++++++++++++++-------------
 src/mm-errors.h         |  10 ++-
 src/mm-generic-gsm.c    |   7 +-
 src/mm-manager.c        |   2 +-
 src/mm-serial-parsers.c |  45 ++++------
 src/mm-serial.c         |   8 +-
 6 files changed, 196 insertions(+), 101 deletions(-)

commit 29387c24b08f4fb3d9d265a3f054ca78a90be54f
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Sep 11 11:41:36 2008 +0300

    Fix a bug where the serial command queue sent the same command
    multiple times.

 src/mm-generic-gsm.c |  1 -
 src/mm-serial.c      | 24 ++++++++++++++++++++++--
 2 files changed, 22 insertions(+), 3 deletions(-)

commit 55bc5300db97295ed2ac23b0c82f7132435b6604
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Sep 11 11:22:04 2008 +0300

    Cache signal quality after successful registration.

    If trying to get signal quality when connected, use the cached value.

 src/mm-generic-gsm.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

commit 40e4d2fed0bdaeb7602a9b18ac74c116d4b18fc7
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Sep 11 11:21:04 2008 +0300

    Don't try to send commands to the serial device if it's connected.

    Implement mm_serial_is_connected() function and call it before trying
    to write
    anything to the serial port.

 src/mm-serial.c | 40 +++++++++++++++++++++++++++++++---------
 src/mm-serial.h |  1 +
 2 files changed, 32 insertions(+), 9 deletions(-)

commit ac4409e7cea29e03d311e6b805a084837d8bb70f
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Sep 11 08:35:32 2008 +0300

    Rewrite serial device communications.

    Instead of vague "send something, wait something" the responses
    are now
    analyzed by (overridable) parsers. Makes all the modem implementations
    much
    easier since each caller knows without any code whether the call
    succeeded
    or failed.

    Another thing that makes modem code simpler (and the whole thing
    more robust),
    is the queueing of sent commands. Each queued command has a command
    and a
    callback which is quaranteed to get called, even if sending failed.

    Define and implement error reporting.

 plugins/mm-modem-hso.c     |  80 ++---
 plugins/mm-modem-huawei.c  | 354 ++++++++++------------
 src/Makefile.am            |  10 +-
 src/main.c                 |  23 +-
 src/mm-callback-info.c     |  16 +-
 src/mm-callback-info.h     |   2 -
 src/mm-errors.c            | 175 +++++++++++
 src/mm-errors.h            | 110 +++++++
 src/mm-generic-cdma.c      | 118 ++------
 src/mm-generic-gsm.c       | 737
 +++++++++++++++++----------------------------
 src/mm-manager.c           |   8 +-
 src/mm-modem-cdma.c        |   2 +-
 src/mm-modem-error.c       |  37 ---
 src/mm-modem-error.h       |  22 --
 src/mm-modem-gsm-card.c    |   2 +-
 src/mm-modem-gsm-network.c |   2 +-
 src/mm-modem.c             |   2 +-
 src/mm-options.c           |  36 +++
 src/mm-options.h           |   9 +
 src/mm-serial-parsers.c    | 266 ++++++++++++++++
 src/mm-serial-parsers.h    |  26 ++
 src/mm-serial.c            | 708
 ++++++++++++++-----------------------------
 src/mm-serial.h            |  91 +++---
 23 files changed, 1401 insertions(+), 1435 deletions(-)

commit bb874acea0c8552f86932084e222b45a94119f29
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Sep 2 09:51:23 2008 +0300

    Update the NetworkManager and nm-applet patches.

 ...=> NetworkManager-r4027-use-modem-manager.patch | 501
 +++++++++++++++++++--
 ...patch => nm-applet-r874-use-modem-manager.patch |  12 +-
 2 files changed, 466 insertions(+), 47 deletions(-)

commit 9c9de2d6261c145fc24c1c855b3e122ee6eedab9
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Sep 1 18:54:28 2008 +0300

    License ModemManager with GNU Lesser General Public License,
    version 2.1.

 COPYING | 505
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 504 insertions(+), 1 deletion(-)

commit ebd99af6a0b463e3e681bded03e39e7ea6b0afcc
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Sep 1 18:51:48 2008 +0300

    Disable the HSO modem in addition to just closing the device on
    Enable(False).

 plugins/mm-modem-hso.c | 46
 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

commit c56d5a257b35a8f1072a250df68437cf4ec50bf9
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Sep 1 16:01:55 2008 +0300

    Handle reading failure replies correctly everywhere.

 plugins/mm-modem-huawei.c |  2 +-
 src/mm-generic-gsm.c      | 10 +++++++---
 2 files changed, 8 insertions(+), 4 deletions(-)

commit 1bb60347b503e1aaf043548b853f19156a31b5e4
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Sep 1 15:45:55 2008 +0300

    Implement reading IMEI, IMSI, manufacturer, model, and version
    (revision).

 plugins/mm-modem-huawei.c |  28 ++++----
 src/mm-callback-info.c    |  91 +++++++++++++++---------
 src/mm-callback-info.h    |  22 ++++--
 src/mm-generic-cdma.c     |   2 +-
 src/mm-generic-gsm.c      | 172
 ++++++++++++++++++++++++++++++++++++++++++----
 5 files changed, 251 insertions(+), 64 deletions(-)

commit 209a6390cb5a3aaa3aeee4c8e6a23a59e705316c
Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Sep 1 11:27:35 2008 +0300

    Fix up HSO modem plugin.

 introspection/Makefile.am                          |   2 +-
 introspection/all.xml                              |   1 +
 .../{mm-gsm-modem-hso.xml => mm-modem-gsm-hso.xml} |  29 ++-
 plugins/Makefile.am                                |   8 +-
 plugins/mm-modem-hso.c                             | 248
 +++++++++------------
 5 files changed, 126 insertions(+), 162 deletions(-)

commit 2087ca49b6a162462e0006b01089ecf8ff0dc8e0
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Aug 29 18:09:23 2008 +0300

    Fix another upper case inconsistency in the public API (SetApn).

 NetworkManager-r4012-use-modem-manager.patch | 2 +-
 introspection/mm-modem-gsm-network.xml       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit c71ae54f887fb337eab7d7822cd2d8654b085744
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Aug 29 14:29:26 2008 +0300

    Include the missing mm-gsm-modem-hso.xml to EXTRA_DIST.

 introspection/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit 3d9fc420d259a66880ad29987af31d1036185cab
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Aug 29 13:13:00 2008 +0300

    Update the NetworkManager and nm-applet patches.

    Update the NetworkManager and nm-applet patches to work with the
    DBus API reorganization.

 NetworkManager-r4012-use-modem-manager.patch | 499
 +++++++++------------------
 nm-applet-r866-use-modem-manager.patch       |   4 +-
 2 files changed, 161 insertions(+), 342 deletions(-)

commit 424f514b02494e62097d0a15fb17be4b7e92262f
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Aug 29 11:43:36 2008 +0300

    Implement the more granular GSM interfaces as agreed on NM mailing
    list.

    Convert all exisiting code over to new DBus interfaces.

 introspection/Makefile.am                          |   9 +-
 introspection/all.xml                              |   8 +-
 .../{mm-cdma-modem.xml => mm-modem-cdma.xml}       |   2 +-
 introspection/mm-modem-gsm-card.xml                | 104 +++++
 introspection/mm-modem-gsm-contacts.xml            | 114 +++++
 .../{mm-gsm-modem.xml => mm-modem-gsm-network.xml} |  77 ++--
 introspection/mm-modem-gsm-sms.xml                 |  98 ++++
 plugins/mm-modem-hso.c                             |  18 +-
 plugins/mm-modem-huawei.c                          |  86 ++--
 src/Makefile.am                                    |  29 +-
 src/mm-cdma-modem.h                                |  39 --
 src/mm-generic-cdma.c                              |  12 +-
 src/mm-generic-gsm.c                               | 127 +++---
 src/mm-generic-gsm.h                               |   4 +-
 src/mm-gsm-modem.c                                 | 470
 -------------------
 src/mm-gsm-modem.h                                 | 186 --------
 src/{mm-cdma-modem.c => mm-modem-cdma.c}           |  36 +-
 src/mm-modem-cdma.h                                |  39 ++
 src/mm-modem-gsm-card.c                            | 319 +++++++++++++
 src/mm-modem-gsm-card.h                            |  87 ++++
 src/mm-modem-gsm-network.c                         | 507
 +++++++++++++++++++++
 src/mm-modem-gsm-network.h                         | 178 ++++++++
 src/mm-modem.h                                     |   5 +
 23 files changed, 1664 insertions(+), 890 deletions(-)

commit 2d00b7534137f6fa6ccf9b951efff699fcf75044
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Aug 28 10:52:00 2008 +0300

    Make the timeout handling simpler in the NMSerial class.

 src/mm-serial.c | 54
 +++++++-----------------------------------------------
 1 file changed, 7 insertions(+), 47 deletions(-)

commit 9d5b29203e7589cb4e36d0548a9df3737c9cbbbe
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Aug 26 15:08:57 2008 +0300

    Update the NetworkManager and nm-applet patches.

 ...patch => NetworkManager-r4012-use-modem-manager.patch | 16
 ++++++++--------
 ...nager.patch => nm-applet-r866-use-modem-manager.patch |  0
 2 files changed, 8 insertions(+), 8 deletions(-)

commit 64b4827c4c2e6fbb68682d249cfb642650789e81
Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Aug 26 14:40:20 2008 +0300

    Implement HSO modem driver.

 introspection/Makefile.am          |   1 +
 introspection/all.xml              |   1 +
 introspection/mm-gsm-modem-hso.xml |  41 +++
 plugins/Makefile.am                |  30 ++-
 plugins/mm-modem-hso.c             | 500
 +++++++++++++++++++++++++++++++++++++
 plugins/mm-modem-hso.h             |  49 ++++
 plugins/mm-plugin-hso.c            | 183 ++++++++++++++
 plugins/mm-plugin-hso.h            |  26 ++
 src/mm-generic-gsm.c               |  18 +-
 src/mm-gsm-modem.c                 |  14 ++
 src/mm-gsm-modem.h                 |   8 +
 11 files changed, 862 insertions(+), 9 deletions(-)

commit fc992ce8abe8e7c8b07b5a0645348073af0cc708
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Aug 22 14:54:42 2008 +0300

    Add a patch for the current nm-applet to make it use ModemManager.

 nm-applet-r861-use-modem-manager.patch | 427
 +++++++++++++++++++++++++++++++++
 1 file changed, 427 insertions(+)

commit 36b1ba72d4180e8bf5e2ffef51af23efdc6f8530
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Aug 22 14:50:02 2008 +0300

    Grab the registration information right after a successful
    registration.

    The registration information is stored now because in the generic
    case, it
    is not possible to issue AT commands when the device is connected.

 src/mm-generic-gsm.c | 297
 +++++++++++++++++++++++++++++----------------------
 src/mm-generic-gsm.h |   8 +-
 src/mm-gsm-modem.c   |   2 +-
 src/mm-gsm-modem.h   |   4 +-
 4 files changed, 181 insertions(+), 130 deletions(-)

commit 91ac2260b75236f87f3c4d9b101656acef27c311
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Aug 22 14:49:12 2008 +0300

    Remove the pkg-config file, we're not a library.

 Makefile.am        |  5 -----
 ModemManager.pc.in | 12 ------------
 configure.in       |  1 -
 3 files changed, 18 deletions(-)

commit d6be2af93f3b5f7dde9761b8533ce187c30377b3
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Aug 21 17:18:38 2008 +0300

    Implement registration information retrieving for GSM modems.

 introspection/mm-gsm-modem.xml |  56 ++++++++++
 src/mm-generic-gsm.c           | 226
 ++++++++++++++++++++++++++++++++++++-----
 src/mm-gsm-modem.c             |  60 +++++++++++
 src/mm-gsm-modem.h             |  24 +++++
 4 files changed, 341 insertions(+), 25 deletions(-)

commit 9afafdf46dbd9ded0df4f99505ed5107242b4883
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Aug 21 09:48:11 2008 +0300

    Add a patch to make the latest NetworkManager use ModemManager.

 NetworkManager-r3989-use-modem-manager.patch | 4835
 ++++++++++++++++++++++++++
 1 file changed, 4835 insertions(+)

commit 149b41f2205948a8446bf2d9f8c8b7b9dfa0e1d1
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Aug 21 09:11:17 2008 +0300

    Implement per modem type DBus interfaces.

    A major code reorganization.

 introspection/Makefile.am       |   5 +-
 introspection/all.xml           |   2 +
 introspection/mm-cdma-modem.xml |  31 ++++
 introspection/mm-gsm-modem.xml  | 243 ++++++++++++++++++++++++
 introspection/mm-modem.xml      | 232 +----------------------
 plugins/mm-modem-huawei.c       | 252 ++++++++++++++-----------
 src/Makefile.am                 |  12 ++
 src/mm-cdma-modem.c             | 128 +++++++++++++
 src/mm-cdma-modem.h             |  39 ++++
 src/mm-generic-cdma.c           | 102 ++++++++++-
 src/mm-generic-gsm.c            | 224 +++++++++++++----------
 src/mm-generic-gsm.h            |   2 +
 src/mm-gsm-modem.c              | 396
 ++++++++++++++++++++++++++++++++++++++++
 src/mm-gsm-modem.h              | 154 ++++++++++++++++
 src/mm-manager.c                |  35 ++--
 src/mm-modem.c                  | 296 +-----------------------------
 src/mm-modem.h                  | 122 -------------
 17 files changed, 1405 insertions(+), 870 deletions(-)

commit 751a9f8273a063b7d5bb99093ed4583b34614643
Author: Tambet Ingo <tambet@gmail.com>
Date:   Wed Aug 13 10:05:45 2008 +0300

    Fix a typo.

 introspection/mm-modem.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a93f08429c142e1be5b1a4b0454d6a6051a7af3c
Author: Tambet Ingo <tambet@gmail.com>
Date:   Wed Aug 13 10:05:31 2008 +0300

    Fix distcheck.

 configure.in | 9 +++++++++
 1 file changed, 9 insertions(+)

commit be059f7a73fceda95bf5504634ed03b5de085ab2
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Jul 31 17:14:50 2008 +0300

    Document the public DBus API.

 .gitignore                   |   1 +
 Makefile.am                  |  23 ++
 configure.in                 |   9 +
 doc-generator.xsl            | 691
 +++++++++++++++++++++++++++++++++++++++++++
 docs/plugins.txt             |   0
 introspection/all.xml        |  27 ++
 introspection/mm-manager.xml |  29 +-
 introspection/mm-modem.xml   | 250 ++++++++++++++--
 8 files changed, 1009 insertions(+), 21 deletions(-)

commit 135fad9e6ddbdd3819ae9332cc6b526eb960a655
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Jul 31 15:45:07 2008 +0300

    Fix typos.

 README | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

commit cf815d39523c2f52a964a074c35b872e97d54468
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Jul 31 15:43:25 2008 +0300

    Write README.

 README | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

commit c375992cc2c9a7a75f39c71aed776b214ed73d78
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Jul 31 15:01:01 2008 +0300

    Enable the device before trying to operate on it.

 test/mm-test.py | 45 ++++++++++++++++++++++++++-------------------
 1 file changed, 26 insertions(+), 19 deletions(-)

commit 710df6f66bc215d3a654d0177382c874f5e33a1a
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Jul 31 15:00:03 2008 +0300

    Handle Enable() method correctly when it's already been called.

 plugins/mm-modem-huawei.c | 31 +++++++++++++++++++++++--------
 1 file changed, 23 insertions(+), 8 deletions(-)

commit 911b2b69260aee6450a16d406e5c79d97255c725
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Jul 31 14:58:38 2008 +0300

    Handle serial device opening when it's already open.

 src/mm-serial.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit f0a2dc606c20a65a45152127b0450ae31476adbf
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Jul 31 14:03:37 2008 +0300

    Add an example testing program.

 .gitignore       |   1 +
 Makefile.am      |   2 +-
 configure.in     |   1 +
 test/Makefile.am |   3 ++
 test/mm-test.py  | 141
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 147 insertions(+), 1 deletion(-)

commit fa9c303d98cc933f0daa35f0e2182dd63f361d90
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Jul 31 12:24:12 2008 +0300

    Merge fixes from NetworkManager SVN.

 src/mm-generic-gsm.c | 16 ++++++++++------
 src/mm-serial.c      |  2 +-
 2 files changed, 11 insertions(+), 7 deletions(-)

commit c7e8eacb1c7a974466729bec3726395e31d62c73
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Jul 31 09:49:25 2008 +0300

    Add .gitignore.

 .gitignore | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

commit cc31458b18e8c274641cf124f5bf7ec6fe506dfb
Author: Tambet Ingo <tambet@gmail.com>
Date:   Thu Jul 31 09:43:00 2008 +0300

    Initial commit.

 AUTHORS                                 |    2 +
 COPYING                                 |    1 +
 ChangeLog                               |    0
 Makefile.am                             |   30 +
 ModemManager.pc.in                      |   12 +
 NEWS                                    |    0
 README                                  |    0
 autogen.sh                              |   20 +
 configure.in                            |   24 +
 introspection/Makefile.am               |    4 +
 introspection/mm-manager.xml            |   19 +
 introspection/mm-modem.xml              |   85 +++
 org.freedesktop.ModemManager.conf       |   19 +
 org.freedesktop.ModemManager.service.in |    4 +
 plugins/Makefile.am                     |   14 +
 plugins/mm-modem-huawei.c               |  556 +++++++++++++++
 plugins/mm-modem-huawei.h               |   31 +
 plugins/mm-plugin-huawei.c              |  155 +++++
 plugins/mm-plugin-huawei.h              |   26 +
 src/Makefile.am                         |   39 ++
 src/main.c                              |  166 +++++
 src/mm-callback-info.c                  |   98 +++
 src/mm-callback-info.h                  |   38 ++
 src/mm-generic-cdma.c                   |  259 +++++++
 src/mm-generic-cdma.h                   |   29 +
 src/mm-generic-gsm.c                    |  705 +++++++++++++++++++
 src/mm-generic-gsm.h                    |   29 +
 src/mm-manager.c                        |  457 +++++++++++++
 src/mm-manager.h                        |   36 +
 src/mm-modem-error.c                    |   37 +
 src/mm-modem-error.h                    |   22 +
 src/mm-modem.c                          |  460 +++++++++++++
 src/mm-modem.h                          |  196 ++++++
 src/mm-plugin.c                         |   81 +++
 src/mm-plugin.h                         |   55 ++
 src/mm-serial.c                         | 1117
 +++++++++++++++++++++++++++++++
 src/mm-serial.h                         |   85 +++
 37 files changed, 4911 insertions(+)
