Commit Graph

3174 Commits

Author SHA1 Message Date
Aleksander Morgado
caefbcfbd9 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.
2012-10-09 16:29:37 +02:00
Aleksander Morgado
f1bcc531a3 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.
2012-10-09 16:28:46 +02:00
Aleksander Morgado
927889edbe bearer-qmi: use user-specified allowed authentication methods
If none of the specified methods is supported, an error is returned.
2012-10-09 15:54:48 +02:00
Aleksander Morgado
316b9fa001 libmm-glib,build: remove unneeded rule 2012-10-08 14:09:35 +02:00
Aleksander Morgado
08eb8c22e8 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.
2012-10-08 12:26:53 +02:00
Aleksander Morgado
13fa73f666 broadband-modem-qmi: process CDMA 1x & EV-DO roaming flags 2012-10-08 11:41:03 +02:00
Aleksander Morgado
8d47d31b29 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
2012-10-08 09:53:28 +02:00
Aleksander Morgado
41cc66f33a core: log successful shutdown 2012-10-08 09:41:58 +02:00
Aleksander Morgado
c9d22a655a 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.
2012-10-08 09:38:46 +02:00
Aleksander Morgado
7f21653786 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>
2012-10-08 09:08:09 +02:00
Aleksander Morgado
8ddee24cc9 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()'.
2012-10-07 21:12:00 +02:00
Aleksander Morgado
de96243cd4 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()'.
2012-10-07 21:12:00 +02:00
Aleksander Morgado
f4790c26bf icera: use user-specified allowed authentication methods
If none of the specified methods is supported, an error is returned.
2012-10-07 21:12:00 +02:00
Aleksander Morgado
ebd792d2aa 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
2012-10-07 21:12:00 +02:00
Dan Williams
7ae18eecdd vl600: add supported AT commands for V8 firmware 2012-10-06 12:17:38 -05:00
Aleksander Morgado
2a96592f69 cli: include signal quality information in modem status info 2012-10-05 14:40:28 +02:00
Aleksander Morgado
8a23ac8a55 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.
2012-10-05 14:19:25 +02:00
Aleksander Morgado
0f8f345d79 broadband-modem: export the Firmware interface even if locked 2012-10-05 11:28:37 +02:00
Aleksander Morgado
f743350210 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.
2012-10-05 11:28:37 +02:00
Aleksander Morgado
da8cc53636 iface-modem-firmware: fix error reporting on firmware change 2012-10-05 11:07:41 +02:00
Aleksander Morgado
d4b6b8dd8c 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.
2012-10-05 10:10:50 +02:00
Aleksander Morgado
3cf4f3cc1d broadband-modem-qmi: implement Firmware interface support using QMI 2012-10-04 19:08:03 +02:00
Aleksander Morgado
1ccf89dbb8 api,libmm-glib,cli: handle firmware images of type `MM_FIRMWARE_IMAGE_TYPE_GOBI' 2012-10-04 19:08:03 +02:00
Aleksander Morgado
1b83af9482 broadband-modem: implement the firmware interface 2012-10-04 19:08:03 +02:00
Aleksander Morgado
67db1b50b4 iface-modem-firmware: new `MMIfaceModemFirmware' interface 2012-10-04 19:08:03 +02:00
Aleksander Morgado
9e16aeb6bf libmm-glib: fix firmware list result parsing 2012-10-04 18:53:00 +02:00
Aleksander Morgado
a27fd5a47b api,instrospection: fix firmware list result signature 2012-10-04 18:52:53 +02:00
Aleksander Morgado
15a99ebe55 cli,firmware: no need to be enabled to run actions 2012-10-04 18:52:47 +02:00
Aleksander Morgado
0d00ee28be api,libmm-glib: use a 'unique-id' as ID of the firmware image, not a 'name'
Also, make only the 'unique-id' mandatory.
2012-10-04 18:52:39 +02:00
Aleksander Morgado
d84b4f634e build,data: include missing generation of the policy file 2012-10-04 12:25:35 +02:00
Aleksander Morgado
7cd047b75d 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.
2012-10-04 12:25:35 +02:00
Aleksander Morgado
ebf7f790a6 build,build-aux: include missing `mm-errors-quarks-template.c' file in dist 2012-10-04 12:25:26 +02:00
Aleksander Morgado
99cb8cb2e6 tests: fix sms part tests 2012-10-04 12:10:22 +02:00
Aleksander Morgado
82f253b8ca docs: include the logos in the generated documentation 2012-10-04 12:10:22 +02:00
Aleksander Morgado
86ff6b35c3 data: include ModemManager logo images 2012-10-04 11:13:49 +02:00
Aleksander Morgado
8bdf70e1c2 docs: include documentation for enum/flags helpers 2012-10-04 10:17:13 +02:00
Aleksander Morgado
3228ca10be docs: don't rebuild types every time 2012-10-04 10:17:13 +02:00
Aleksander Morgado
2d5000abae docs: fix `libmm-glib-sections.txt' for the gdbus-codegen generated stuff 2012-10-04 10:17:13 +02:00
Aleksander Morgado
4251030bd8 api: only allow including `ModemManager.h' directly 2012-10-04 10:17:13 +02:00
Aleksander Morgado
239c56cf7f libmm-glib: don't install the common helpers header
And make it only available for internal ModemManager compilation.
2012-10-04 10:17:13 +02:00
Aleksander Morgado
b52bbf7b0b libmm-glib,sms-properties: improve documentation 2012-10-04 10:17:12 +02:00
Aleksander Morgado
054915299a libmm-glib,bearer-ip-config: improve documentation 2012-10-04 10:17:12 +02:00
Aleksander Morgado
52f457bb88 libmm-glib,bearer-properties: improve documentation 2012-10-04 10:17:12 +02:00
Aleksander Morgado
54c2ee77b0 libmm-glib,firmware-properties: improve documentation 2012-10-04 10:17:12 +02:00
Aleksander Morgado
dc4656cead libmm-glib,network-timezone: improve documentation 2012-10-04 10:17:12 +02:00
Aleksander Morgado
487090607d libmm-glib,location-gps-raw: improve documentation 2012-10-04 10:17:12 +02:00
Aleksander Morgado
030daafc45 libmm-glib,location-gps-nmea: improve documentation 2012-10-04 10:17:12 +02:00
Aleksander Morgado
7edc3508c7 libmm-glib,location-3gpp: improve documentation 2012-10-04 10:17:12 +02:00
Aleksander Morgado
f99ac11cbb libmm-glib,simple-status: improve documentation 2012-10-04 10:17:12 +02:00
Aleksander Morgado
8185f24e64 libmm-glib,simple-connect-properties: improve documentation 2012-10-04 10:17:12 +02:00