Age | Commit message (Collapse) | Author |
|
reference
|
|
procedure
|
|
|
|
ptr_array_add_sysfs_attribute_link_basename() already reads the
current subsystem, so we should avoid overwriting the pointer.
==1630== 13 bytes in 2 blocks are definitely lost in loss record 270 of 3,092
==1630== at 0x4842839: malloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==1630== by 0x4A1DDE8: g_malloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6800.1)
==1630== by 0x4A329E3: g_strdup (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6800.1)
==1630== by 0x26128E: ptr_array_add_sysfs_attribute_link_basename (mm-kernel-device-generic.c:244)
==1630== by 0x263FD0: preload_contents_platform (mm-kernel-device-generic.c:314)
==1630== by 0x263FD0: preload_contents (mm-kernel-device-generic.c:549)
==1630== by 0x263FD0: check_preload (mm-kernel-device-generic.c:992)
==1630== by 0x263FD0: initable_init (mm-kernel-device-generic.c:1139)
==1630== by 0x4B6DDB9: g_initable_new_valist (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.6800.1)
==1630== by 0x4B6DE6C: g_initable_new (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.6800.1)
==1630== by 0x262087: mm_kernel_device_generic_new_with_rules (mm-kernel-device-generic.c:1054)
==1630== by 0x17F66F: handle_kernel_event (mm-base-manager.c:689)
==1630== by 0x17F7D2: report_kernel_event_auth_ready (mm-base-manager.c:1238)
==1630== by 0x4BA37D8: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.6800.1)
==1630== by 0x4BA3A1A: ??? (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.6800.1)
|
|
|
|
The logic initializing the SIM object already prints the loaded
fields, taking into account that some of them should be treated as
personal info (so redacted by default).
[modem0/sim0] loaded SIM identifier: 8988211000000123456
[modem0/sim0] loaded SIM identifier: ###
[modem0/sim0] loaded IMSI: 901700000012345
[modem0/sim0] loaded IMSI: ###
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
manager events
Fixes e3024ec620f2d4087c1d03579c8575b6cb988503
|
|
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
|
|
The mm_device_create_modem() was updated so that it would not run the
modem initialization implicitly. Due to this change, we must ensure
the modem initialization is run after a modem inhibition operation
after we recreate the modem object.
Fixes: 04d826f563a497f2af0557982cdfae7586ca8efb
|
|
The mm_device_create_modem() was updated so that it would not run the
modem initialization implicitly. Due to this change, we must ensure
the modem initialization is run after a modem reprobe operation,
e.g. when switching SIM slots.
The logic to run the modem initialization is moved to MMDevice for
simplicity and clarity.
Fixes: 04d826f563a497f2af0557982cdfae7586ca8efb
|
|
|
|
Use the more generic MMBaseModemClass instead of MMBroadbandModemClass.
|
|
|
|
So that plugins can provide their own implementations as needed.
|
|
When we don't care about the type of AT port to use, prefer the QMI or
MBIM based ones if any available.
|
|
The whole codebase is updated to assume the MMBaseModem AT operations
require an object implementing the MMIfacePortAt interface, instead of
a MMPortSerialAt object.
In the places where we know the port is a MMPortSerialAt, e.g. when we
query explicitly for the primary or secondary serial AT port, we will
use an explicit MM_IFACE_PORT_AT() cast when calling the AT command
method.
In the places where we get_best_at_port() we're going to assume that
we don't know the port type. This method will be updated in a follow
up commit to support the MMIfacePortAt interface as well.
|
|
|
|
For now implemented in a generic way by the MMPortSerialAt object.
|
|
No functional changes should happen.
The purpose of this change is to align coding style with the rest of
the project and also simplify the implementation of the different AT
command handling methods, e.g. to avoid needing so many internal
helper methods.
|
|
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
|
|
The new modem_initialize() method is run for both real devices (after
the modem setup phase) and also for virtual devices in unit
tests (where no modem setup phase exists).
|
|
There are cases where the user wants to configure some actions
to be run on a modem before ModemManager takes over full control.
The new "modem setup" dispatcher scripts allow running operations
in the modem after the port probing has happened and we know which
ports are usable in the device.
The scripts may e.g. change device configuration, enable modem
logging infrastructure, or any other process that would otherwise
conflict with MM's own modem management operations.
|
|
|
|
|
|
This uses the proprietary `^NDISSTATQRY` instead of the default
`+CGDCONT` command, as the latter might return diffrent results
(i.e. reporting v6 support, that can't be used via NDIS).
Also add a fallback to `+CGDCONT?` for older modems that don't
support ^NDISSTATQRY.
|
|
|
|
|
|
|