Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
Unless when compiling libmm-glib itself, of course.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
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.
|
|
Image types of `MM_FIRMWARE_IMAGE_TYPE_GENERIC' will expose only the mandatory
parameters. Other vendor-specific images may expose other properties.
|
|
Not just a typedef of the gdbus-codegen generated `MmGdbusSms'.
|
|
Not just a typedef of the gdbus-codegen generated `MmGdbusSim'.
|
|
Not just a typedef of the gdbus-codegen generated `MmGdbusBearer'.
|
|
Not just a typedef of the gdbus-codegen generated `MmGdbusModemTime'.
|
|
Not just a typedef of the gdbus-codegen generated `MmGdbusModemSimple'.
|
|
Not just a typedef of the gdbus-codegen generated `MmGdbusModemMessaging'.
|
|
Not just a typedef of the gdbus-codegen generated `MmGdbusModemLocation'.
|
|
Not just a typedef of the gdbus-codegen generated `MmGdbusModemCdma'.
|
|
Not just a typedef of the gdbus-codegen generated `MmGdbusModem3gppUssd'.
|
|
Not just a typedef of the gdbus-codegen generated `MmGdbusModem3gpp'.
|
|
Not just a typedef of the gdbus-codegen generated `MmGdbusModem'.
|
|
Not just a typedef of the gdbus-codegen generated `MmGdbusObject'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
When none of the commands in the AT sequence succeeds no error is set.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
Just skips the additional check for AT support in the port.
|
|
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.
|