aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-20build: require libmbim 1.31.5Aleksander Morgado
We need a newer libmbim to handle the MBIM_CID_QDU_COMMAND operation introduced for AT over MBIM in Quectel modems. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/892
2024-09-18qrtr-bus-watcher: Increase delay for probingKamesh Relangi
Sometimes Qualcomm modem is not detected because modem is up after initial probing is completed. Increase in wait time for probing to ensure that modem is up.
2024-09-17helpers: consolidate some uses of mm_kernel_device_get_subsystem()Dan Williams
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2024-09-17port-probe: restart AT probing if "NO CARRIER" is received during QCDM probingDan Williams
If the system and modem are independently powered, a system restart may leave one of the modem's AT ports in PPP mode. On restart this may cause AT probing to fail. The modem may terminate PPP after receiving bogus HDLC frames from QCDM probing (since PPP also uses HDLC framing), and return "NO CARRIER". We can use this to restart AT probing now that PPP is down and auto-detect the expected additional AT ports. Feb 08 20:22:53 ModemManager[385]: <debug> [1675887773.887574] [ttyUSB2/at] <-- '\8\158\239~' Feb 08 20:22:54 ModemManager[385]: <debug> [1675887774.215054] [ttyUSB2/at] <-- '\8\214\137~' Feb 08 20:22:54 ModemManager[385]: <debug> [1675887774.851349] [ttyUSB2/at] <-- '\8\250\177~' Feb 08 20:22:55 ModemManager[385]: <debug> [1675887775.576776] [ttyUSB2/at] <-- '\8\168u~' Feb 08 20:22:55 ModemManager[385]: <debug> [1675887775.612694] [ttyUSB2/at] <-- '\8w\25~' Feb 08 20:22:55 ModemManager[385]: <debug> [1675887775.862886] [ttyUSB2/at] <-- '\8!&~' Feb 08 20:22:56 ModemManager[385]: <debug> [1675887776.614747] [ttyUSB2/at] <-- '\8%\254~' Feb 08 20:22:56 ModemManager[385]: <debug> [1675887776.686207] [ttyUSB2/probe] port is not AT-capable Feb 08 20:22:56 ModemManager[385]: <debug> [1675887776.686447] [ttyUSB2/probe] probing QCDM... Feb 08 20:22:56 ModemManager[385]: <debug> [1675887776.725483] [ttyUSB2/qcdm] --> 7e 00 78 f0 7e Feb 08 20:22:56 ModemManager[385]: <debug> [1675887776.880941] [ttyUSB2/qcdm] <-- 0d 0a 4e 4f 20 43 41 52 52 49 45 52 0d 0a Signed-off-by: Dan Williams <dan@ioncontrol.co>
2024-09-17port-probe: rework and consolidate port probe flow for AT/QCDM/QMI/MBIMDan Williams
Open the AT port from the regular port probe flow rather than doing that one-off at the beginning of probing. That lets us re-open the AT port later if needed, based on QCDM/QMI/MBIM probing results. Signed-off-by: Dan Williams <dan@ioncontrol.co>
2024-09-17port-probe: consolidate serial port closure and cleanupDan Williams
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2024-09-16cinterion: implement FDL update methodLukas Voegl
Adds AT^SFDL based Firmware Download as an update method for supported Cinterion modems. Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2024-09-16build: unstable release version bump to 1.23.11Aleksander Morgado
2024-09-11broadband-modem-mbim: log hex value of IP type if unknownAleksander Morgado
The L850 seems to report 0xFFFFFFFF as MbimContextIpType value, which is not a correct value. Instead of printing "(none)" (the default used by glib when trying to print a NULL pointer as a string), make it so that we end up printing the actual numeric value in hex. <dbg> [modem0] 'home' settings found at configuration index 0 <dbg> [modem0] 'non-partner' settings found at configuration index 1 <dbg> [modem0] 'partner' settings not found <dbg> [modem0] updates in the home LTE attach configuration settings: <dbg> [modem0] ip type: 'unknown (0xffffffff)' -> ''ipv4v6' <dbg> [modem0] updates in the partner LTE attach configuration settings: <dbg> [modem0] none (skipped) <dbg> [modem0] updates in the non-partner LTE attach configuration settings: <dbg> [modem0] none
2024-09-11broadband-modem-mbim: update all home/partner/non-partner LTE attach settingsAleksander Morgado
Instead of updating the attach settings associated with the home network, update all three to the same values, so that network attach while roaming uses the same settings as in home. This is a major change in behavior; if there is ever a need to roll back to the old behavior because a given device doesn't support this, we can provided device-specific behaviors using the load_set_initial_eps_bearer_settings_mask() virtual method.
2024-09-11fibocom: L850 specific hack when using an AT&T 310280 SIM cardAleksander Morgado
L850 modems running a firmware version less than 18500.5001.0.7 and using AT&T SIM cards with MCCMNC 310280 do not support specifying "partner" settings in the MBIM operation to set the LTE attach configuration.
2024-09-11broadband-modem-mbim: rework the logic to set LTE attach configurationAleksander Morgado
The ModemManager API provides a single method to update the attach settings used in LTE registration, but in the MBIM protocol there are three different distinct configurations associated with that operation. Until now we have exclusively updated the "home" settings, leaving the "partner" and "non-partner" settings untouched (i.e. we loaded the existing settings for these sections, and used the same ones when providing our update operation). Unfortunately, this logic does not fit all needs. Some modems will require all 3 elements to be unconditionally updated, and some other modems may need to fully skip one of the configuration sections. The rework done in this commit does not change the behavior, but provides the ability for subclasses to modify how the operation is done, via a set of flags that is provided on each update attempt (as sometimes the behavior is operator-specific).
2024-09-11broadband-modem-mbim: rework home settings lookup in LTE attach config responseAleksander Morgado
We look for the home settings, but also allow to optionally lookup for the partner and non-partner settings, logging in each case if we find anomalies (e.g. if not found or if found duplicated entries).
2024-09-11modem-helpers-mbim: minor coding style fixAleksander Morgado
2024-09-10tests: test mm_split_string_groups()Dan Williams
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2024-09-10modem-helpers: remove duplicate includeDan Williams
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2024-09-09mm-sms-list: tag dbg messages with base sms identifierKyle Evans
This helps identify which base sms the message belongs to. Previous [modem0/sms-list] found existing multipart SMS object with reference '126': adding new part New [modem0/sms0] found existing multipart SMS object with reference '126': adding new part Signed-off-by: Kyle Evans <kvans32@gmail.com>
2024-09-09sms-part-3gpp: add the message timestamp in dbgKyle Evans
This aids in determining the age of messages stuck in receiving. Signed-off-by: Kyle Evans <kvans32@gmail.com>
2024-09-09mm-base-sms: cmp by reference & numberKyle Evans
Messages from different senders can have the same reference. Stale messages from the same sender can also conflict. Consider the number of the sender and also the max parts when assigning parts to a base sms. Ref 3gpp specification section 9.2.3.24.1 Fixes #757 Signed-off-by: Kyle Evans <kvans32@gmail.com>
2024-09-09quectel: implement DFOTA update methodLukas Voegl
2024-09-09Quectel: Fix obtaining incorrect module namesmank.wang
2024-09-09plugin,rolling: Update RW135 udev rules.Vanillan Wang
2024-08-29mtk: never reload TX/RX stats in FM350Aleksander Morgado
The device always reports empty TX/RX values so there is no point in periodically asking. The logic to poll for stats is kept in place only if the device requires the IP packet filters removal hack.
2024-08-23fibocom: NL668 ttys are managed by the option driverAleksander Morgado
So they are ttyUSB instead of ttyACM.
2024-08-23fibocom: add L850 AT port hintsAleksander Morgado
Just so that we make sure no other probing type is tried with them.
2024-08-21build: unstable release version bump to 1.23.10Aleksander Morgado
2024-08-21modem-helpers-qmi: map the DUN/tethering APN typeAleksander Morgado
libqmi version is bumped to 1.35.6, which is the unstable tag that includes the new symbols.
2024-08-05telit: add port hints for FN912C04 0x3000 and 0x3001 compositionsDaniele Palmas
Related kernel commits: 9a590ff28342 ("USB: serial: option: add Telit FN912 rmnet compositions") 77453e2b015b ("net: usb: qmi_wwan: add Telit FN912 compositions")
2024-08-02build: reorder netprisma plugin alphabeticallyAleksander Morgado
2024-08-02netprisma: remove serial modems supportAleksander Morgado
2024-08-02Netprisma: Add new pluginMank Wang
2024-08-02mm-iface-modem: Always check properties for disabling signal pollingSebastian Krzyszkowiak
MMBroadbandModemQmi only disables signal polling once it successfully sets the indication up. To do that, it sets the properties on MMIfaceModem. This, however, doesn't actually disable polling, as the property values are only checked once in get_private when Private structure hasn't been created yet. Once that happens, only the cached values are ever checked, and there's nothing that would update them. Since there's only one place where these properties are checked, get rid of cached bools in Private structure and instead read the property values directly in periodic_signal_check_step, letting QMI modems actually disable polling at runtime.
2024-07-31plugin,mtk: Add load_unlock_retriesBolan Wang
This patch add load_unlock_retries support by AT in mtk-based Fibocom modem.
2024-07-31intel: mark XMM7360 as unsupportedThomas Vogt
2024-07-31port-probe: detect XMMRPC portsThomas Vogt
2024-07-31broadband-modem-mbim: workaround for invalid SMS part index on L850Michal Mazur
Fibocom L850 modems report an invalid part index (always 1) in the response message. Because we know which message part was requested, we can use that value instead to workaround this bug.
2024-07-31quectel: support at over mbim in quectel modemsmank.wang
2024-07-26build: unstable release version bump to 1.23.9Aleksander Morgado
2024-07-22rolling: Set RW101 AT port to ignorelupuliang
MM does not need to use two AT ports at the same time. Sending AT to both ports at the same time may cause the ports to not work.
2024-07-22fibocom: Set FM101 AT port to ignorePuliang Lu
MM does not need to use two AT ports at the same time. Sending AT to both ports at the same time may cause the ports to not work.
2024-07-17man: fix line starting with ' and remove an extra .Dan Williams
Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/867 Thanks to John Veness
2024-07-09mmcli: fix a memory leakLubomir Rintel
Poor modem_uid got left behind.
2024-07-09ublox/helpers: fix propagation of +URAT response parse errorLubomir Rintel
The fallback error handling branch happens much too late, just leaking the newly made GError instead of propagating.
2024-07-09Revert "ublox/helpers: fix propagation of +URAT response parse error"Lubomir Rintel
Not quite correct -- with the patch applied, the newly allocated GError could potentially overwrite inner_error that was set previously. This reverts commit d550a24ffdae4492e9f9e18fdf294adcda28fb65.
2024-07-09build: bump libmbim dependencyLubomir Rintel
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')
2024-07-08qcdm: fix order of calloc() argumentsLubomir Rintel
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); | ^~~
2024-06-21Revert "fibocom: disable CPOL features in NL668"Aleksander Morgado
This reverts commit f7b351fc85f6cacb5d8b4483b052834be3aefe17. The whole AT over MBIM support is disabled in the NL668.
2024-06-21fibocom: disable AT over MBIM in NL668Aleksander Morgado
The AT over MBIM support is exposed as a supported service, but the underlying implementation is not good enough.
2024-06-19fibocom: disable CPOL features in NL668Aleksander Morgado
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.
2024-06-14build: unstable release version bump to 1.23.8Aleksander Morgado