Age | Commit message (Collapse) | Author |
|
Fibocom's MBIM support needs this:
mm-port-mbim-fibocom.c: In function ‘iface_port_at_check_support’:
mm-port-mbim-fibocom.c:64:66: error: ‘MBIM_SERVICE_FIBOCOM’ undeclared (first use in this function); did you mean ‘MBIM_SERVICE_GOOGLE’?
64 | if (!mm_port_mbim_supports_command (MM_PORT_MBIM (self), MBIM_SERVICE_FIBOCOM, MBIM_CID_FIBOCOM_AT_COMMAND)) {
| ^~~~~~~~~~~~~~~~~~~~
| MBIM_SERVICE_GOOGLE
mm-port-mbim-fibocom.c:64:66: note: each undeclared identifier is reported only once for each function it appears in
mm-port-mbim-fibocom.c:64:88: error: ‘MBIM_CID_FIBOCOM_AT_COMMAND’ undeclared (first use in this function)
64 | if (!mm_port_mbim_supports_command (MM_PORT_MBIM (self), MBIM_SERVICE_FIBOCOM, MBIM_CID_FIBOCOM_AT_COMMAND)) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
Fixes: c66a6b89ec45 ('fibocom: create custom MBIM port object with potential AT support')
|
|
GCC 14 is unhappy. Not sure why does this matter, maybe it just does
not. Let's silence the warning at the very least:
libqcdm/src/result.c: In function ‘val_new_string’:
libqcdm/src/result.c:76:25: warning: ‘calloc’ sizes specified with
‘sizeof’ in the earlier argument and not in the later argument
[-Wcalloc-transposed-args]
76 | v = calloc (sizeof (Val), 1);
| ^~~
|
|
This reverts commit f7b351fc85f6cacb5d8b4483b052834be3aefe17.
The whole AT over MBIM support is disabled in the NL668.
|
|
The AT over MBIM support is exposed as a supported service, but the
underlying implementation is not good enough.
|
|
Running +CPOL? in the NL668 using AT over MBIM seems to trigger a
firmware crash. Let's disable the feature altogether in this device
for this reason.
|
|
|
|
Changes to expose network rejections for QMI based modems.
|
|
Changes to expose network rejections for MBIM based modems.
|
|
When a modem is not able to register to the network, MBIM and QMI indications
related to registration reports network rejection cause codes if request is
rejected by the network. This information is currently logged in the ModemManager
but not exposed outside of ModemManager.
These are the changes to define interface to expose network reject cause codes
over d-bus to the above layers which could be used by above layers to present
this information in a user friendly way.
|
|
If CID parsing from the +CGDCONT response fails, the very last PDP
structure allocated is not put on the list yet and therefore
mm_3gpp_pdp_context_list_free() wouldn't free it.
Let's put it on the list first, as to not leak it on error.
|
|
|
|
|
|
Probably not a real issue, given if there's a password there's probably
an user name too.
|
|
|
|
There's an off-by-one error.
|
|
|
|
str needs to be freed in pds_get_agps_config_ready().
|
|
On error, *converted may already be allocated and we need to free it
(but not in case we're returning it from the task).
|
|
We have been constructing a GError too late, just leaking it instead of
propagating.
|
|
|
|
|
|
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
|
|
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
|
|
This plugin provides support for modems from Rolling Wireless. The
current approach is to re-use the AT-based and MBIM-based specific
modem implementations from the Fibocom plugin.
Based on an original implementation from:
vanillan wang <vanillanwang@163.com>
See https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1170
|
|
|
|
|
|
The Cinterion specific implementation relies on the generic one but
adds the authentication information support using ^SGAUTH.
The loading of the initial EPS bearer status (i.e. the one agreed with
the network, not the settings) no longer has any Cinterion specific
behavior. The auth settings are NOT reported in the initial EPS bearer
status.
|
|
|
|
The implementation in the generic MMBroadbandModem object should fit
well instead of the custom implementation.
There is also no need to specify via udev tags which is the initial
EPS bearer context id, we try to automatically guess it in runtime.
|
|
|
|
|
|
The main issue here is how to select the id of the context that is
used for attach in the modem.
We will assume that the lowest cid value for the IP range returned in
the CGDCONT=? test is the one used for the attach context. This
assumption works with modems following the 3GPP specs (with cid=0) and
also in Qualcomm based modems (with cid=1).
|
|
|
|
settings update
|
|
settings update
This is now done for all modems unconditionally.
|
|
EPS bearer settings update
|
|
Before the operation to update the current initial EPS bearer
settings, we will now unconditionally put the modem in low power
mode. so that when the next network registration happens we are sure
the new settings are in place.
This approach was previously applied already to all QMI-based modems
as well as to all Fibocom modems. The approach applies now to all
modems of all vendors and in all control protocols.
|
|
Let the caller of mm_iface_modem_set_power_state() know which was the
power state in the device before the actual update happened.
This is useful in cases where we want to temporarily switch to a given
power state (e.g. low) before returning to the original power state.
|
|
|
|
|
|
|
|
If the system running the test is under heavy load, the modem may need
time to get exposed. Just bump the timeout to a long enough value.
|
|
This was introduced in 2f306e8e7c830d7991b747b127533c7db73754fd
|
|
|
|
|
|
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)
|
|
|