Commit Graph
99 Commits
Author SHA1 Message Date
Jongmin Kim fbeaffe2fd fcc-unlock: add FCC unlock specs for Quectel RM520N
Add symlinks for new supported Quectel RM520N:

- RM520N (standard)       2c7c:0801
- RM520N (HP shipped)     1eac:1004
- RM520N (Lenovo shipped) 1eac:1007

Signed-off-by: Jongmin Kim <jmkim@debian.org>
2025-03-08 22:01:51 +09:00
Jongmin Kim 13fce479b3 fcc-unlock: combine Quectel FCC unlock scripts for 1eac and 2c7c
Both scripts control MBIM ports and can be merged into a single script.

Signed-off-by: Jongmin Kim <jmkim@debian.org>
2025-03-08 22:01:38 +09:00
Yegor Yefremov 907f7a2813 Specify a path to the ITS rules
Use our own ITS rules found under data/its. This resolves a
configuration breakage on some systems:

msgfmt: cannot locate ITS rules for data/org.freedesktop.ModemManager1.policy.in

According to the msgfmt manual, we need to specify a path to the parent
directory containing its folder. Hence, we add a path to data as the
data_dirs option.
2025-01-23 02:36:31 +00:00
Guido Günther 1fb74f266f data: Add a policy rule to access the cellbroadcast API
Allow access to cell broadcast functionality.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-12-01 21:41:10 +00:00
Lorenzo Zolfanelli 2ca948f403 fcc-unlock: add fcc-unlock specs for new quectel variants
Add symlinks in `fcc-unlock.available.d` for new supported Quectel
variants:

- EM05-G: 2c7c:0313, 2c7c,0314

Fixes #858
2024-11-20 12:24:43 +00:00
Aleksander Morgado 200ff43a07 dispatcher-modem-setup: update example test script with more details 2024-04-16 13:00:12 +02:00
Nero 04d826f563 dispatcher-modem-setup: new modem setup dispatcher
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.
2024-04-16 12:14:45 +02:00
Yegor Yefremov a729a92e10 build: fix fs.copyfile usage for meson versions 0.64/0.64.1
Though this function was introduced in 0.64, its usage with install_dir
was broken till meson version 1.0.0. Hence, bump the minimal required
meson version for the fs.copyfile() routine.

See the following meson commit for details:
https://github.com/mesonbuild/meson/commit/100456de0761ee949e2277c97746cb8571b6ba39
2024-01-30 12:23:39 +01:00
Yegor Yefremov 7c23c3db2f build: resolve deprecated 'copy' key argument in configure_file warning
Resolves the following warning:

NOTICE: Future-deprecated features used:
 * 0.64.0: {'copy arg in configure_file'}

copy arg was deprecated in meson version 0.64. Hence, use
fs.copyfile() that is also introduced in 0.64, in versions
since 0.64 and use the old approach for older versions.
2024-01-15 09:40:40 +00:00
Yegor Yefremov fdf1aead04 99-log-event: add double quote to silence SC2086 warning
SC2086 suggests using double quote to to prevent globbing and word
splitting.
2024-01-10 08:30:30 +01:00
Thilo-Alexander Ginkel 738152176d fcc-unlock: add support for Lenovo-shipped FM350-GL FCC unlock 2023-11-07 14:37:24 +00:00
Dennis Gilmore 8061bcd9c0 fcc-unlock: add link for new T99W175 5G modem variant
Create link from existing unlock script for the modem in the Lenovo x13s.
IDs are documented at https://cateee.net/lkddb/web-lkddb/MHI_BUS.html

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2023-09-29 10:51:52 +00:00
Ujjwal Pande e3a1206c57 api: new carrier lock support
Adding support for carrier lock for MBIM modems using google simlock
mechanism.
2023-06-08 20:16:12 +00:00
Aleksander Morgado 1c4da332ee build: new option to build plugins within the daemon binary
Instead of creating libmm-plugin* and libmm-shared* libraries that are
dlopen()-ed on runtime, allow incorporating all plugins into the
daemon binary itself.

This makes the startup of the daemon much faster and also avoids
issues with builds that require linker namespace isolation.

Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/674
2023-01-03 13:56:25 +00:00
Aleksander Morgado e14b904cbd build: move plugins directory to src/plugins
We are going to allow including the plugin sources built within the
ModemManager daemon binary; moving the sources within the daemon
sources directory makes it easier.
2023-01-03 13:56:25 +00:00
Christian Taedcke 02baf28323 fcc-unlock: switch bash shell scripts to use sh
This enables the usage with busybox and fixes yocto dependency
issues.

This is related to #483 and the previous commit
91ed72aa29.
2022-11-11 10:31:36 +01:00
Aleksander Morgado f419f56628 build: drop autotools 2022-11-07 14:26:02 +00:00
Aleksander Morgado ead9f1809f fcc-unlock: add FCC unlock support for Quectel EM05-G
Using the FCC unlock prepared and tested by:
 Leah Oswald <mail@leahoswald.de>,

Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/640
2022-10-10 12:09:28 +00:00
Dylan Van Assche ba96ccc615 build: make tests optional
Add a meson option -Dtests and --without-tests automake option
to disable the compilation of all available testcases.
This is useful for compiling projects with Flatpak such as
GNOME Control Center which disables all possible integrations since they
only need the DBus part of ModemManager.

Contributes to https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1392
2022-07-25 11:01:51 +02:00
Thilo-Alexander Ginkel ac06052b97 fcc-unlock: add support for new Lenovo T99W175 SDX55 FCC unlock method
Tested w/ Lenovo firmware T99W175.F0.1.0.0.9.DT.003.055 (old unlock method) and
T99W175.F0.1.0.0.9.DT.003.079 (new unlock method)
2022-05-30 23:29:36 +02:00
Aleksander Morgado 7960b365d5 data: add example connection dispatcher
Just a minimal example that prints the events in syslog
2022-04-05 08:14:53 +00:00
Aleksander Morgado 99232154b3 build: rename directory where fcc unlocks are kept 2022-04-05 08:14:53 +00:00
Simon Deziel 8ce4555a79 systemd: don't run ModemManager in containers
This assumes the needed modem hardware is typically not available
inside containers. If however, the local admin configures the container
to get access to the hardware in question, ModemManager can be
instructed to run in that specific container by doing:

`sudo systemctl edit ModemManager.service`

Then entering the following text in the editor:

  [Unit]
  # Remove condition of "not container"
  ConditionVirtualization=

Upon saving/exiting, ModemManager can then be started with:

`sudo systemctl start ModemManager.service`

Signed-off-by: Simon Deziel <simon@sdeziel.info>
2022-03-14 10:30:45 -04:00
Sven Schwermer b64ffeee9c fcc-unlock: Make scripts POSIX shell compatible
This allows us to not rely on bash which may not be available on
constrained systems, e.g. Yocto-built embedded systems. The scripts now
pass shellcheck.

Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
2022-02-25 21:51:36 +01:00
Aleksander Morgado a7e579cd7b meson,data: generate test service file
The test service file is used in the test-plugin-generic unit tests,
which require the ModemManager daemon to be launched in a private test
DBus session.
2022-02-16 00:11:35 +01:00
Bruce A. Johnson 91ed72aa29 core: switch bash shell scripts to use /bin/sh for use w/Busybox.
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/483
2022-01-05 10:26:16 +01:00
Xeonacid 922bc2df5f build,meson: Remove incorrect args for i18n.merge_file
`i18n.merge_file` has been ignoring positional arguments for a time and explicitly rejects with error since meson 0.60.0.
2021-12-23 09:14:02 +08:00
Aleksander Morgado e7a6bb7504 data,fcc-unlock: add example unlock scripts
Added scripts for Foxconn SDX55, Quectel EM120, and several old Sierra
Wireless manufactured devices:
 * Installed but not used by default, the user needs to setup manual
   links from ${pkgdatadir}/fcc-unlock.available.d, to
   ${pkgsysconfdir}/fcc-unlock.d in order to enable them.
 * Installed with rights only for the owner, so that the dispatcher in
   ModemManager can validate them.
 * They rely on $PATH to find the qmicli/mbimcli tools.

In addition to these scripts, per-vid:pid links are created in the
same ${pkgdatadir}/fcc-unlock.available.d directory, specifying which
are the specific devices that require the FCC unlock operation.

This patch also creates the ${pkgsysconfdir}/fcc-unlock.d and
${pkglibdir}/fcc-unlock.d directories where ModemManager looks for the
enabled tools.

Note that the meson setup doesn't support creating/deleting links
officially yet, so we use a workaround using meson.add_install_script
that is not perfect (i.e. doesn't handle the symlink removal during
uninstall). See https://github.com/mesonbuild/meson/issues/1602
2021-11-18 11:20:41 +01:00
Iñigo Martínez 77d1c24361 build: Port to meson
meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.
2021-09-07 10:55:43 +00:00
Arnaud Ferraris d5c16382c5 service: add QIPCRTR address family
With the recently added support for modems using QRTR, ModemManager
needs to have access to the corresponding address family so it can
interact with the modem.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2021-05-21 14:50:07 +02:00
Undef a381622304 service: Fix Mobile Data on EG25
This allows mobile data to work on the EG25 (and probably other modems).
2021-05-20 11:07:37 +00:00
Michal Mazur dfc04cbc2e iface-modem-3gpp: define new API to disable facility locks 2021-04-30 18:40:29 +00:00
Aleksander Morgado 10aa516f07 iface-modem-3gpp-profile-manager: new interface for profile management
This interface will provide support for the profile management
operations in different modem types.

This initial commit introduces support for the interface and provides
handlers for the methods that may be called in the interface.
2021-04-29 10:13:22 +00:00
Aleksander Morgado a74c1c9bd8 data,icon: resize to fit the contents 2021-04-14 13:03:12 +02:00
Aleksander Morgado 09619e8cc4 data: added valgrind suppressions file imported from NM 2019-12-02 13:40:32 +01:00
Aleksander Morgado 55c3f7d3f6 systemd: always start MM after polkit service if enabling policy
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/113
2019-10-11 08:40:37 +00:00
Aleksander Morgado 8a652179de policy: USSD policy requires user authentication in strict mode 2019-09-25 13:08:32 +02:00
Aleksander Morgado 958c243489 polkit,conf: trivial comment update regarding Signal.Setup() 2019-09-25 13:08:32 +02:00
Aleksander Morgado 110f6fd021 polkit,conf: add missing firmware management methods 2019-09-25 13:08:32 +02:00
Aleksander Morgado 2e5af74db8 polkit,conf: add missing OMA methods 2019-09-25 13:08:32 +02:00
Aleksander Morgado 7a7b3aa5cb polkit,time: protect GetNetworkTime() with a new 'Time' policy rule 2019-09-25 13:08:32 +02:00
Aleksander Morgado be2500b02a polkit,conf: add missing supplementary voice service methods 2019-09-25 12:24:35 +02:00
Aleksander Morgado 01acd9a0d9 polkit,conf: add missing InjectAssistanceData 2019-09-25 12:24:13 +02:00
Aleksander Morgado 9e24d1c12f polkit,conf: add missing SetInitialEpsBearerSettings 2019-09-25 12:23:59 +02:00
Aleksander Morgado 614c7fbc7e polkit,conf: add missing SetEpsUeModeOperation 2019-09-25 12:23:44 +02:00
Aleksander Morgado f2182a73bf polkit,conf: add missing SetCurrentCapabilities 2019-09-25 12:21:48 +02:00
Aleksander Morgado 3696a009c5 polkit,conf: add missing SetPowerState 2019-09-25 12:21:32 +02:00
Aleksander Morgado d3e75eec97 policy,conf: use SetCurrentBands instead of SetBands 2019-09-25 12:21:12 +02:00
Mohammed Sadiq e21e7ddfae policy: Use SetCurrentModes instead of SetAllowedModes
There is no DBus API for SetAllowedModes, but only for SetCurrentModes.
2019-09-24 19:10:31 +05:30
Bob Ham e34699cc9e policy: Call method name should be SendDtmf rather than SendTone
The method on MMBaseCall is send_tone but the D-Bus method call is
SendDtmf.  Without this patch, calls return
org.freedesktop.DBus.Error.AccessDenied.
2018-12-07 16:47:43 +00:00