aboutsummaryrefslogtreecommitdiff
path: root/net/modemmanager/Makefile
Commit message (Collapse)AuthorAge
* modemmanager: add possibilty for setting initial EPS bearerFlorian Eckert2023-12-04
| | | | | | | | | | | | | | | | | If no GSM but only 4G is available and a special APN must be used, it is necessary to set an inital EPS bearer beforehand. If this is not set, then modem cannot log in and register in the mobile network. The new option 'init_epsbearer' could be set to the following options. * none: No init EPS bearer is used and the old one is deleted (default) * default: Use init EPS bearer with the following config options 'iptype', 'allowedauth', 'password', 'user' and 'apn' as for the connection bearer. * custom: Other parameters are used that do not match those of the default connection bearer. These have an 'init_' prefix and are named in the same way as the default connection bearer config options. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* modemmanager: check modem state before establishing a connectionFlorian Eckert2023-12-04
| | | | | | | | | With this change the following modem 'state' are checked before a connection attempt setup. * failed: Stop connection attempt because of sim-missing * locked: Stop connection attempt if no pincode is set Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* modemmanager: move iface cleanup to wrapper scriptOliver Sedlbauer2023-10-30
| | | | | | | | | | If the ModemManager process crashes, the interfaces are not cleaned up properly because the stop_service method is not called. With this change, the interfaces are cleaned up both when stopping the service and during a crash. Therefore it is no longer necessary to perform a cleanup at the beginning. Signed-off-by: Oliver Sedlbauer <osedlbauer@tdt.de>
* modemmanager: improve cleanup of ifacesOliver Sedlbauer2023-10-30
| | | | | | | | | | Change workflow to cleanup interfaces using the sysfscache. The sysfscache stores the processed sysfs-paths. Using this instead of mmcli -L, the interfaces can be properly cleaned up even if, for example, ModemManager crashes and mmcli is no longer usable. Signed-off-by: Oliver Sedlbauer <osedlbauer@tdt.de>
* modemmanager: check status of report-kernel-eventOliver Sedlbauer2023-10-25
| | | | | | | | | | | At mm_report_modem_wait a wait status is set. When attempting to report an event (via hotplug or during startup) and the DBus is not yet available, the status in the sysfs cache is set to 'processed' incorrectly, even if mmcli fails. This is fixed by aborting the operation and logging an error when the kernel report fails. Signed-off-by: Oliver Sedlbauer <osedlbauer@tdt.de>
* modemmanager: remove sysfscache after dbus readyOliver Sedlbauer2023-10-25
| | | | | | | | | | | | | | The mm_report_events_from_cache method is called during the startup and informs the ModemManager of kernel events. Additionally, hotplug scripts inform the ModemManager of kernel events. Processed events are stored in the sysfs cache. It is possible for a hotplug script to write to the sysfs cache while the mm_report_events_from_cache method is still waiting for the ModemManager to be available on the bus during startup. This could lead to a misbehavior where modems are not recognized. To ensure a clean state on startup, the sysfs cache is cleared after the ModemManager is available, ensuring reliable processing of kernel events. Signed-off-by: Oliver Sedlbauer <osedlbauer@tdt.de>
* modemmanager: bump to 1.22.0Maxim Anisimov2023-10-18
| | | | | | | | - switch to builtin plugins - import upstream patch for fixing support of ublox LARA-R6001 / LARA-R6001D modules (see: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/779) Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
* modemmanger: bump PKG_RELEASEFlorian Eckert2023-09-27
| | | | | | | | | The PKG_RELEASE was not incremented during the last merge, the commit shows that it is incremented by one, but this was already done during the last change. Very strange. Hence this commit which increments PKG_RELEASE by one. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* modemmanager: handle no *.conf files being installedPhilip Prindeville2023-09-05
| | | | | | | | | | | | | | | | To begin with, there are only a couple of .conf files, and one of them is for testing, and the other is only installed when MBIM is enabled, so if you build without MBIM you'll have a failing install: install -m0644 /home/pprindeville/work/openwrt/build_dir/target-x86_64_musl/modemmanager-1.20.6/ipkg-install/usr/share/ModemManager/*.conf /home/pprindeville/work/openwrt/build_dir/target-x86_64_musl/modemmanager-1.20.6/.pkgdir/modemmanager/usr/share/ModemManager install: cannot stat '/home/pprindeville/work/openwrt/build_dir/target-x86_64_musl/modemmanager-1.20.6/ipkg-install/usr/share/ModemManager/*.conf': No such file or directory make[2]: *** [Makefile:161: /home/pprindeville/work/openwrt/build_dir/target-x86_64_musl/modemmanager-1.20.6/.pkgdir/modemmanager.installed] Error 1 make[2]: Leaving directory '/home/pprindeville/work/openwrt/feeds/packages/net/modemmanager' So make sure there's anything there to copy over first. Signed-off-by: Philip Prindeville <pprindeville@netgate.com>
* modemmanager: copy dbus interfaces file to stagingFlorian Eckert2023-08-18
| | | | | | | | In order to use the dbus interfaces via the command gdbus-codegen, the xml files must be copied into the building staging directory, so that other programmes can use them during compilation. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* modemmanager: add setting for allowed and preferred modeFlorian Eckert2023-08-09
| | | | Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* modemmanager: remove unneeded teardown error reportingFlorian Eckert2023-08-09
| | | | | | | Teardown error reporting is not needed, bacause it overrides init error reporting. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* modemmanager: fix white spacesFlorian Eckert2023-08-09
| | | | Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* modemmanager: improve 'simple connection' option handlingFlorian Eckert2023-07-24
| | | | | | | | The line to generate the argument list for 'simple connect' is quite long and is not maintainable. To improve the handling a function 'append_param' was added for appending the 'simple connect' options. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* modemmanager: Adding support for 'allow_roaming' optionFrancisco Jose Alvarez2023-07-24
| | | | | | | Signed-off-by: Francisco Jose Alvarez <francisco.alvarez@galgus.net> * Update commit head * Rebase patch to the latest changes Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* modemmanger: add missing proto_init_update in teardownFlorian Eckert2023-07-24
| | | | | | | Inform netifd with missing 'proto_update', that the interface is not up anymore. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* modemmanager: do not set proto_notify_error on teardownFlorian Eckert2023-07-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If on teardown the 'proto_notify_error' is set to 'MM_TEARDOWN_IN_PROGRESS', then an error which is set on 'setup' is not visible in the ubus network.interface.<iface> status output. { "up": false, "pending": false, "available": true, "autostart": false, "dynamic": false, "proto": "modemmanager", "data": { }, "errors": [ { "subsystem": "dualsim", "code": "MM_TEARDOWN_IN_PROGRESS" } ] } It alway shows the code 'MM_TEARDWON_IN_PROGRESS'! By removing the line 'proto_notify_error "${interface}" MM_TEARDOWN_IN_PROGRESS' in teardown, the last error is show in the proto stack from setup. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* modemmanager: support setting plmnMladen Milinkovic2023-07-21
| | | | Signed-off-by: Mladen Milinkovic <maxrd2@smoothware.net>
* modemmanager: if an alias name is used do not check sysfs pathFlorian Eckert2023-06-15
| | | | | | | | | If an alias name is used for the modem, then a check if the device exists in sysfs does not work. To fix this remove the check if the sysfs device exists. The protocoll handler already checks if the modem is responsible for this device on the next line. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* modemmanager: do not cache virtual device eventsFlorian Eckert2023-06-15
| | | | | | | | | | | On small systems with many virtual devices, the modem manager sometimes could not start because it took too long until all devices for the modem were recognised. This is because all system events that are stored in the file events.cache have to be processed. To speed up the processing, all devices under /sys/devices/virtual are now filtered out so that they do not have to be processed. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* treewide: refactor to use PKG_BUILD_FLAGS:=gc-sectionsAndre Heider2023-04-08
| | | | | | | | | | | | See commit da370098 "treewide: add support for "gc-sections" in PKG_BUILD_FLAGS" on the main repository. Note: This only touches packages which use all three parts (-ffunction-sections, -fdata-sections and -Wl,--gc-sections) enabled by this build flag. Some packages only use a subset, and these are left unchanged for now. Signed-off-by: Andre Heider <a.heider@gmail.com>
* modemmanager: bump to 1.20.6Kuan-Yi Li2023-03-09
| | | | Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
* modemmanager: bump to 1.20.2Kuan-Yi Li2022-12-09
| | | | | | | | Drop deprecated AUTORELEASE. Disable unused tests as its compilation is optional in 1.20. Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
* modemmanager: bump to 1.18.12Maxim Anisimov2022-09-14
| | | | Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
* treewide: remove PKG_INSTALL for meson projectsRosen Penev2022-06-15
| | | | | | It doesn't seem to be used by meson. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* modemmanager: report network initiated disconnections to netifdAleksander Morgado2022-05-14
| | | | | | | | | | | | | | The new connection dispatcher scripts support integrated in ModemManager 1.18.8 allows us to provide a openwrt-specific dispatcher script used to report netifd that the underlying network connection is down. See also https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/775 Fixes https://github.com/openwrt/openwrt/issues/8368 Fixes https://github.com/openwrt/packages/issues/14096 Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: install available FCC unlock scriptsAleksander Morgado2022-05-14
| | | | | | The FCC unlock scripts are installed but not enabled by default. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: bump to 1.18.8Aleksander Morgado2022-05-14
| | | | | | | Also removed two patches that are already included in the upstream release. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: switch to meson build toolsMaxim Anisimov2022-03-30
| | | | | | | | | | Using https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git to download the source code. Added compile option to compile qrtr support. Enabled lto and additional gcc flags for perfomance and less size. Modified to use meson as upstream has abandoned autotools. Removed BUILD_PARALLEL options. These are default with ninja/meson. Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
* modemmanager: bump to 1.18.6Kuan-Yi Li2022-03-09
| | | | | | Remove upstreamed patch. Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
* modemmanager: bump to 1.18.4 with patchNicholas Smith2022-02-11
| | | | | | | | | | | | | | The included patch corrects an issue preventing udev rules from being parsed correctly. [1][2] This patch should not be needed after the next release. [3] More information: [1] https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/commit/e9f254ba3f923248efffe4fd458dc5e5469e0f73 [2] https://lists.freedesktop.org/archives/modemmanager-devel/2021-December/009024.html [3] https://lists.freedesktop.org/archives/modemmanager-devel/2021-December/009022.html Signed-off-by: Nicholas Smith <nicholas@nbembedded.com>
* ModemManager: refactoring procd init scriptFlorian Eckert2021-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The way the init script is written now, we get a bad output when calling the ubus service backend. ubus call service list "{'verbose':true,'name':'modemmanager'}" >{ > "modemmanager": { > "instances": { > "instance1": { > "running": true, > "pid": 20511, > "command": [ > "sh", > "-c", > ". >/usr/share/ModemManager/modemmanager.common; \t >mkdir -m 0755 -p /var/run/modemmanager; \t >mm_cleanup_interfaces; \t >( mm_report_events_from_cache ) >/dev/null 2>&1 & \t >/usr/sbin/ModemManager" > ], > "term_timeout": 5, > "respawn": { > "threshold": 3600, > "timeout": 5, > "retry": 5 > }, > "pidfile":"/var/run/modemmanager/modemmanager.pid" > } > } > } >}" I also get the output in the log that the PID file cannot be created. > daemon.err procd: Failed to remove pidfile: :No such file or directory The changes in this commit fixes this issues, by moving startup into a wrapper script. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* modemmanager: add support for wwan subsystem in hotplugAleksander Morgado2021-10-19
| | | | | | | | | WWAN devices may now be exposed in the new 'wwan' subsystem in the kernel (since 5.13), initially applicable to devices exposed in PCIe (no USB), but at some point may also apply to USB devices that until now were exposed via other subsystems (e.g. usbmisc, tty). Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: bump to 1.18.2Kuan-Yi Li2021-09-20
| | | | Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
* modemmanager: switch to autoreleaseNicholas Smith2021-08-22
| | | | Signed-off-by: Nicholas Smith <nicholas@nbembedded.com>
* modemmanager: bump to 1.16.10Nicholas Smith2021-08-22
| | | | Signed-off-by: Nicholas Smith <nicholas@nbembedded.com>
* modemmanager: bump to 1.16.6Nicholas Smith2021-06-07
| | | | Signed-off-by: Nicholas Smith <nicholas@nbembedded.com>
* modemmanager: bump to 1.16.2Nicholas Smith2021-03-07
| | | | Signed-off-by: Nicholas Smith <nicholas@nbembedded.com>
* modemmanager: bump to version 1.16.0Nicholas Smith2021-02-24
| | | | Signed-off-by: Nicholas Smith <nicholas@nbembedded.com>
* modemmanager: bump versionNicholas Smith2021-01-19
| | | | Signed-off-by: Nicholas Smith <nicholas.smith@telcoantennas.com.au>
* modemmanager: bump releaseRosen Penev2020-12-09
| | | | Signed-off-by: Rosen Penev <rosenp@gmail.com>
* Merge pull request #13009 from valexi7/masterRosen Penev2020-12-09
|\ | | | | modemmanager: Added options
| * modemmanager: added new proto optionsValtteri Holopainen2020-08-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added signal refresh rate option modemmanager: update readme.md Added description for added proto options. Added compile option to compile --with-at-command-via-dbus for allowing AT commands to modem without --debug flag Changes to be committed: modified: net/modemmanager/Config.in modified: net/modemmanager/Makefile modified: net/modemmanager/files/modemmanager.init modified: net/modemmanager/files/modemmanager.proto modified: README.md Signed-off-by: Valtteri Holopainen <valtsu@gmail.com>
* | modemmanager: bump to 1.14.8Nicholas Smith2020-11-30
| | | | | | | | Signed-off-by: Nicholas Smith <nicholas.smith@telcoantennas.com.au>
* | modemmanager: include all init commands in the procd instanceAleksander Morgado2020-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | If procd relaunches the ModemManager daemon after e.g. a crash, we also want it to notify all cached hotplug events, or otherwise we would end up leaving the daemon running without the full initial processing done. This change modifies the init script to include all the required init commands as part of the procd instance command, so that procd launches all of them on every respawn. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* | modemmanager: increase initial timeout for event reportingAleksander Morgado2020-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the ModemManager daemon is started by the init script, we're explicitly calling mm_report_events_from_cache() so that all the hotplug events that happened before that moment are properly notified to the newly launched daemon. This initial reporting of events does a wait for the ModemManager process to be available in DBus, and if the daemon isn't registered in the bus in a given time, the process is considered failed: Sun Sep 6 16:20:02 2020 ModemManager: hotplug: checking if ModemManager is available... Sun Sep 6 16:20:02 2020 ModemManager: hotplug: ModemManager not yet available Sun Sep 6 16:20:03 2020 [2180]: <info> ModemManager (version 1.14.6) starting in system bus... Sun Sep 6 16:20:03 2020 ModemManager: hotplug: checking if ModemManager is available... Sun Sep 6 16:20:04 2020 ModemManager: hotplug: ModemManager not yet available Sun Sep 6 16:20:05 2020 ModemManager: hotplug: checking if ModemManager is available... Sun Sep 6 16:20:05 2020 ModemManager: hotplug: ModemManager not yet available Sun Sep 6 16:20:06 2020 ModemManager: hotplug: checking if ModemManager is available... Sun Sep 6 16:20:06 2020 ModemManager: hotplug: ModemManager not yet available Sun Sep 6 16:20:07 2020 ModemManager: hotplug: checking if ModemManager is available... Sun Sep 6 16:20:07 2020 ModemManager: hotplug: ModemManager not yet available Sun Sep 6 16:20:08 2020 ModemManager: hotplug: checking if ModemManager is available... Sun Sep 6 16:20:08 2020 ModemManager: hotplug: ModemManager not yet available Sun Sep 6 16:20:09 2020 ModemManager: hotplug: checking if ModemManager is available... Sun Sep 6 16:20:09 2020 ModemManager: hotplug: ModemManager not yet available Sun Sep 6 16:20:10 2020 ModemManager: hotplug: checking if ModemManager is available... Sun Sep 6 16:20:10 2020 ModemManager: hotplug: ModemManager not yet available Sun Sep 6 16:20:11 2020 ModemManager: hotplug: checking if ModemManager is available... Sun Sep 6 16:20:11 2020 ModemManager: hotplug: ModemManager not yet available Sun Sep 6 16:20:12 2020 ModemManager: hotplug: checking if ModemManager is available... Sun Sep 6 16:20:12 2020 ModemManager: hotplug: ModemManager not yet available Sun Sep 6 16:20:12 2020 ModemManager: hotplug: error: couldn't report initial kernel events: ModemManager not running Update the default wait time for this initial event notification from 10s to 60s, because there are cases where the daemon is slower to boot, e.g. during the first boot after a sysupgrade. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* | modemmanager: bump to 1.14.6Nicholas Smith2020-10-15
| | | | | | | | Signed-off-by: Nicholas Smith <nicholas.smith@telcoantennas.com.au>
* | modemmanager: bump to 1.14.2Aleksander Morgado2020-08-20
| | | | | | | | | | | | https://lists.freedesktop.org/archives/modemmanager-devel/2020-August/008099.html Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* | modemmanager: avoid requiring autoreconf to build packageAleksander Morgado2020-07-30
|/ | | | | | | | | | | | | | | | | | | | | | | | | Do not manually overwrite the paths of gdbus-codegen or glib-mkenums in the ModemManager package build, as modifying the configure.ac ends up requiring a full autoreconf. Since MM 1.14, git builds or autoreconf-ed source package builds require autoconf-archive installed in the build system, and so the build would fail if this happens. The update to overwrite the paths was to force using the gdbus-codegen and glib-mkenums provided by the "host" glib2 package instead of the "target" glib2 package (see fa8ad6e69c41d694b1220e04ec4f45bb8e8c1edf), but these tools are really the same in both as they're python programs, arch independent. Tested in a local build where the setup detects and uses the correct glib tool paths from the target: /home/user/openwrt/staging_dir/target-mips_24kc_musl/usr/bin/gdbus-codegen /home/user/openwrt/staging_dir/target-mips_24kc_musl/usr/bin/glib-mkenums Fixes https://github.com/openwrt/packages/issues/12958 Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: add error message notifications to proto handlerNicholas Smith2020-07-10
| | | | Signed-off-by: Nicholas Smith <nicholas.smith@telcoantennas.com.au>