This reverts commit e2f3034f6e.
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.
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>
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
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.
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.
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.
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.
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
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
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.
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.
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.