aboutsummaryrefslogtreecommitdiff
path: root/net/modemmanager
Commit message (Collapse)AuthorAge
...
* 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: remove 2s timeout before reporting cached eventsAleksander Morgado2022-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When ModemManager is started on boot we may end up with hotplug events reported directly to the daemon, plus some others already cached in the cache file before the daemon was started. If the cached events correspond to the same device that is still notifying ports directly, we may end up with a modem object created before the cached events have been emitted, so the modem may not handle all control/data ports it should. E.g.: - modem detected - hotplug event for wwan0 port, cached as MM not running - hotplug event for cdc-wdm0 port, cached as MM not running - hotplug event for ttyUSB0, cached as MM not running - MM starts - hotplug event for ttyUSB1, directly processed as MM is running - hotplug event for ttyUSB2, directly processed as MM is running - modem object created with ttyUSB1 and ttyUSB2 - 2s after MM starts, cached events for wwan0, cdc-wdm0 and ttyUSB0 happen, but are ignored because the modem object has already been created MM expects that ports of the same device are reported with less than 1500ms in between ports. In other words, if ports are reported more than 1500ms after the last reported port, they may get ignored. If we remove the 2s timeout, the report of the cached events will happen as soon as MM starts, which makes it much more likely to happen in the timeslot that MM expects for ports of the same device reported. The logic is still not perfect, and we may also need to increase that 1500ms timeout inside MM, but removing the 2s timeout right away here makes sense. This 2s timeout was introduced along with the new wrapper launcher for the daemon, it didn't exist before. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: refactoring hotplug debug loggingFlorian Eckert2021-12-14
| | | | | | | | | | | | | The output of the hotplug is very chatty and floods the log with messages that are not necessary in functioning operation. So that the log can be filtered. A log level was added to each message as the first opiton on mm_log function call. In addition, the facility of the hotplug script has been set to daemon, which in my view fits better than user. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* ModemManager: add service optionsFlorian Eckert2021-12-14
| | | | Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* 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: fix physdev sysfs path detection in PCIe modemsAleksander Morgado2021-11-12
| | | | | | | | The PCIe physdev path lookup relies on the 'vendor' and 'device' attribute files, instead of the 'idVendor' and 'idProduct' ones, which are USB specific. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* 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>
* modemmanager: bump to 1.14.0Nicholas Smith2020-07-06
| | | | Signed-off-by: Nicholas Smith <nicholas.smith@telcoantennas.com.au>
* Merge pull request #12086 from aleksander0m/aleksander/mm-authRosen Penev2020-06-28
|\ | | | | Authentication protocol setup in ModemManager
| * modemmanager: improve package READMEAleksander Morgado2020-05-14
| | | | | | | | | | | | | | | | Explain which are the options supported by the protocol, and also which are the supported values in each (if the field has value validation). Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
| * modemmanager: allow specifying list of authentication protocolsAleksander Morgado2020-05-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ModemManager allows specifying which are the authentication protocols to be used during the user/password context authentication with the peer. This protocol update allows users to provide a new 'allowedauth' option in the interface configuration, which is then used in two different places: * It is sent to ModemManager in the --simple-connect call so that modems with a network interface can perform the authentication using their own vendor-specific protocol. * If the connection is done using PPP, this list of protocols is used to configure the pppd call. If the new 'allowedauth' option is not given, all auth protocols are implicitly allowed. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* | modemmanager: set interface MTU based on bearer settingsAleksander Morgado2020-05-25
|/ | | | | | | | Using the same method used by other protocol handlers like uqmi. Fixes https://github.com/openwrt/packages/issues/11383 Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: release 1.12.10Aleksander Morgado2020-05-09
| | | | | | https://lists.freedesktop.org/archives/modemmanager-devel/2020-May/007828.html Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: fix compilation under uClibc-ngRosen Penev2020-04-22
| | | | | | Needs nls.mk as a result of the glib2 change. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* modemmanager: release 1.12.8Aleksander Morgado2020-03-14
| | | | | | https://lists.freedesktop.org/archives/modemmanager-devel/2020-March/007729.html Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: release 1.12.6Aleksander Morgado2020-02-12
| | | | | | https://lists.freedesktop.org/archives/modemmanager-devel/2020-February/007713.html Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: fixed license informationRosen Penev2020-01-22
| | | | | | | | Removed unrecognized configure option. Small cleanups. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* modemmanager: release 1.12.4Aleksander Morgado2020-01-14
| | | | | | | | | New stable release with lots of fixes, including some severe memory leaks happening when GPS management is used in QMI-based devices. https://lists.freedesktop.org/archives/modemmanager-devel/2020-January/007670.html Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: depend on ppp explicitlyAleksander Morgado2019-12-19
| | | | | | | | | | | | | | | The ModemManager protocol handler checks for the pppd daemon during the initialization, and if it doesn't exist, the protocol handler is not even loaded by netifd. This is because the IP method to use on the connection of a given modem is not known until ModemManager reports via its interfaces how the modem should be connected (either using PPP, with DHCP, or with explicit IP settings). Fixes https://github.com/openwrt/packages/issues/10802 Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: release 1.12.2Aleksander Morgado2019-12-10
| | | | | | | | This new release also installs additional 'shared utils' loadable libraries in /usr/lib/ModemManager, so make sure we include them in the packaging. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: install common utils in /usr/share/ModemManagerAleksander Morgado2019-11-27
| | | | | | | | | The modemmanager.common file includes several utility functions that are used in several places like the protocol handler and in hotplug scripts. These utilities should not be installed in /etc as they're not configuration. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: don't flag the 'device' option as 'device' typeAleksander Morgado2019-11-27
| | | | | | | | | Unlike other modem protocol handlers like the ones implemented by uqmi or umbim, in the modemmanager protocol handler the 'device' option does not specify a device node in /dev. Therefore, we shouldn't flag the option as 'device' type (dt_type_device). Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: fix device unplug handlingAleksander Morgado2019-11-27
| | | | | | | | | | | | | | | | | | | | | | | | | When a USB modem device is unplugged, we had to do two different things: first, cleanup the sysfs cache; and second, set interface as unavailable. Those two things were never being done properly due to several different issues: * The parent sysfs path retrieval logic relies on checking for which sysfs path has the vid/pid files. This logic obviously only works when the device is available, and cannot be used on e.g. removal events. * The command to cleanup the modem wait status from the sysfs cache was not removing the previous state properly, because the sysfs path variable wasn't escaped properly for the sed command. This patch handles those issues in order to have a proper device removal handling, by making sure the sysfs path is properly escaped in the sed command, and by introducing a new hotplug script that runs when the full USB device is removed. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: flag as available and no_device when initializingAleksander Morgado2019-11-27
| | | | | | | Otherwise, if the modem is reseted, netifd will think that the device is gone forever. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: add default proto configsAleksander Morgado2019-11-27
| | | | Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: fix 'any' iptype settingAleksander Morgado2019-11-15
| | | | | | | | | | | When the user requests 'any' as 'iptype', we may get either IPv4 or IPv6 settings. Simplify the logic by not requiring any explicit iptype before loading the method reported by the bearer object for IPv4 and IPv6; just load the methods right away and setup settings based on those. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: add IPv6/IPv4v6 supportAleksander Morgado2019-11-08
| | | | Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: bump to version 1.12.0Aleksander Morgado2019-11-07
| | | | Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: add proto dynamic defaults on dhcp setupAleksander Morgado2019-11-07
| | | | | | Also, explicitly close the JSON object. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: add missing path for PID fileAleksander Morgado2019-11-07
| | | | | | | The procd based init setup uses a custom `pidfile` parameter, but the used MODEMMANAGER_PID_FILE was not being defined anywhere. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: install carrier mapping configuration filesAleksander Morgado2019-11-07
| | | | | | | | Since ModemManager 1.10.2, per-device carrier mapping configuration files may be installed, providing support for automatic carrier config selection. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>
* modemmanager: fix bearer disconnection logicAleksander Morgado2019-11-07
| | | | | | | The bearer status wasn't being loaded in key/value mode, and therefore would always fail to load the IPv4 config method. Signed-off-by: Aleksander Morgado <aleksander@aleksander.es>