Commit Graph
8954 Commits
Author SHA1 Message Date
Aleksander Morgado 471656addf broadband-modem: implement loading initial EPS bearer info 2024-05-29 09:05:22 +00:00
Aleksander Morgado 97cab9f37e broadband-modem: implement loading initial EPS bearer settings
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).
2024-05-29 09:05:04 +00:00
Aleksander Morgado 50755b07d3 cli,3ppp: allow updating EPS settings before enabling 2024-05-29 08:14:13 +00:00
Aleksander Morgado 1263905753 cinterion: remove custom logic to power down modem before initial EPS bearer settings update 2024-05-29 08:14:12 +00:00
Aleksander Morgado cf1035169c fibocom: remove custom logic to power down modem before initial EPS bearer settings update
This is now done for all modems unconditionally.
2024-05-29 08:14:03 +00:00
Aleksander Morgado 1f508a8e1b broadband-modem-qmi: remove custom logic to power down modem before initial EPS bearer settings update 2024-05-29 08:02:40 +00:00
Aleksander Morgado fa169bda9f iface-modem-3gpp: power down before updating initial EPS bearer settings
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.
2024-05-29 08:02:40 +00:00
Aleksander Morgado c5b9effdc7 iface-modem: allow reporting the previous power state after an update
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.
2024-05-29 08:02:40 +00:00
Aleksander Morgado e215f644d6 huawei: trivial: remove trailing whitespaces 2024-05-29 08:01:36 +00:00
Oliver Kästner 8fb660f0e4 huawei: use G_GUINT64_CONSTANT 2024-05-23 00:35:01 +02:00
Oliver Kästner 2d3caa9a35 huawei: enable setting LTE bands 2024-05-23 00:35:01 +02:00
Aleksander Morgado e01eac5bfe test: longer timeout to wait for modem in test fixture
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.
2024-05-17 08:36:43 +00:00
Aleksander Morgado 6a60543495 mtk: FM350 multiplexing support is checked in runtime
This was introduced in 2f306e8e7c
2024-05-17 08:12:47 +00:00
Aleksander Morgado 378d28118b build: unstable release version bump to 1.23.7 2024-05-13 11:29:21 +00:00
Aleksander Morgado 48e2452754 broadband-modem-mbim: add support for MS extensions device reset 2024-05-13 09:43:46 +00:00
Aleksander Morgado c60e76bf71 plugin-manager: use autoptr to simplify methods needing a valid PortContext reference 2024-05-13 09:13:33 +00:00
Aleksander Morgado 21998a7b3e plugin-manager: ensure DeviceContext is valid during the whole cancellation procedure 2024-05-13 09:13:33 +00:00
Aleksander Morgado 0bb31c3e8b plugin-manager: fix comment specifying which context should exist 2024-05-10 10:27:57 +00:00
Aleksander Morgado e77c644ce2 kernel-device-generic: plug memleak when processing platform ports
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)
2024-05-10 10:27:07 +00:00
Aleksander Morgado 405e7a6012 broadband-modem-mbim: add missing MBIM port header 2024-05-09 14:11:10 +00:00
Aleksander Morgado 35292eec2f base-sim: avoid printing IMSI/ICCID and others twice
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: ###
2024-05-08 21:49:54 +00:00
Alyssa Ross daa8292878 build: prepend to LD_LIBRARY_PATH and GI_TYPELIB_PATH
In Nixpkgs packages are installed in separate prefixes.
Starting from GLib / gobject-introspection 2.80, GLib introspection data
is provided by GLib itself instead of gobject-introspection. This causes
tests failures in Nixpkgs because the GI_TYPELIB_PATH set by the build
environment was overridden, leaving it unable to find GLib:

	    ImportError: cannot import name GLib, introspection typelib not found

Only GI_TYPELIB_PATH needs to be preserved in our case, but I've made
the same change for LD_LIBRARY_PATH, other environments might rely on
that in a similar way.
2024-05-08 09:53:14 +02:00
Aleksander Morgado 218d6d2c58 shared-simtech: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:39 +00:00
Aleksander Morgado 4afb6a3172 shared-cinterion: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:39 +00:00
Aleksander Morgado e4e6857aed shared-quectel: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:39 +00:00
Aleksander Morgado 18a084940a shared-option: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:39 +00:00
Aleksander Morgado 5a9634773b shared-fibocom: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:39 +00:00
Aleksander Morgado acca9dc9ec shared-xmm: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:39 +00:00
Aleksander Morgado b34d547d9c shared-telit: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:39 +00:00
Aleksander Morgado 1c919890c6 iface-modem-cdma: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:39 +00:00
Aleksander Morgado 92a89efd02 iface-modem-oma: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:39 +00:00
Aleksander Morgado 0f48695d54 iface-modem-voice: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:38 +00:00
Aleksander Morgado 074277ca1a iface-modem-time: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:38 +00:00
Aleksander Morgado bec62a406c iface-modem-signal: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:38 +00:00
Aleksander Morgado 0a91a6035b iface-modem-simple: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:38 +00:00
Aleksander Morgado cc2f1317b3 iface-modem-sar: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:38 +00:00
Aleksander Morgado 070975736f iface-modem-messaging: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:38 +00:00
Aleksander Morgado aa94b21e0a iface-modem-location: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:45:38 +00:00
Aleksander Morgado e535c90f5f iface-modem-firmware: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:27:05 +00:00
Aleksander Morgado 2b7e738b9b iface-modem-3gpp-ussd: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:27:04 +00:00
Aleksander Morgado f033a0a9f2 iface-modem-3gpp-profile-manager: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:27:04 +00:00
Aleksander Morgado ab6e4bf391 iface-modem-3gpp: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:27:04 +00:00
Aleksander Morgado 35c0a6905b iface-modem: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:27:04 +00:00
Aleksander Morgado 9aab129759 iface-port-at: use G_DECLARE|DEFINE_INTERFACE() macros 2024-05-06 13:27:04 +00:00
Aleksander Morgado 1e26e16168 broadband-modem-qmi-quectel: fix task completion when not enabling profile manager events
Fixes e3024ec620
2024-05-06 13:24:22 +00:00
Lukas Voegl e3024ec620 quectel: disable qmi unsolicited profile manager events
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2024-05-02 20:38:02 +00:00
Aleksander Morgado 040adb141a device: launch modem initialization after inhibition
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: 04d826f563
2024-04-30 00:00:34 +02:00
Aleksander Morgado 95099a3ef4 device: launch modem initialization after reprobe
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: 04d826f563
2024-04-29 09:45:06 +00:00
Aleksander Morgado c66a6b89ec fibocom: create custom MBIM port object with potential AT support 2024-04-23 07:25:12 +00:00
Aleksander Morgado 586f98f71d fibocom: change parent class peeker method
Use the more generic MMBaseModemClass instead of MMBroadbandModemClass.
2024-04-23 07:25:12 +00:00