Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
|
|
It makes much more sense than returning a gchar array, as gchar is
signed.
|
|
|
|
Also, remove the trailing NUL byte that was appended to the output
binary stream, as it's not needed in any case.
|
|
Optionally given explicitly, and -1 can be used to assume it's
NUL-terminated.
|
|
This util method checks whether the input string is a valid hex
string, so make sure we return a GError on failure.
|
|
|
|
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.
|
|
This is no real charset, it is the fake one we used to represent a
UCS2 hex-encoded string.
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
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.
|
|
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.
|
|
|
|
Move the code into the main() routine and pass main_loop as
a parameter to the signal handler.
|
|
Move comments under the class and method definitions.
Also rework boolean handling.
|
|
|
|
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/301
|
|
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)
|
|
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.
|
|
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
|
|
Disables suspend/resume support at runtime.
This is useful for modems which are never turned off
or suspended when the host suspends.
|
|
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'
|
|
$ ./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
|
|
Remove unused imports and fix import sorting using isort utility.
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
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
|
|
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
|
|
|
|
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/306
Signed-off-by: Louis-Alexis Eyraud <louis-alexis.eyraud@sigfox.com>
|
|
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>
|
|
|
|
See See https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/302
|
|
The _get_port_gps() returns a full reference, use _peek_port_gps()
instead.
See https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/302
|
|
Translation by JRfi:
https://l10n.gnome.org/vertimus/ModemManager/master/po/fi/
|
|
|
|
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>
|
|
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>
|
|
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
|