Commit Graph
9541 Commits
Author SHA1 Message Date
Daniele Palmas e292401beb telit: tests: fix LN920 current bands configuration
Fix LN920 current bands test configuration by setting
modem_has_hex_format_4g_bands to TRUE.

The current wrong setting does not cause the test failure since the modem
supports also extended settings and function telit_get_ext_4g_mm_bands
considers both standard and extended bands as hex without checking
the flag, since decimal format for extended bands is not supported.

Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
2026-07-07 10:55:13 -05:00
Dan Williams 545b183934 Merge request !1467 from 'rm520-sahara-firehose'
quectel: add RM520N Sahara/Firehose support

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1467
2026-07-07 10:50:42 -05:00
Lukas Voegl 3dbdc0704d quectel: add RM520N Sahara/Firehose support
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2026-07-03 14:12:48 +02:00
Dan Williams fcc9d19f5e Merge request !1424 from 'fix/multiline-gsv'
location-gps-nmea: add complete sequence to traces at once

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1424
2026-05-26 19:16:43 -05:00
Andrey Skvortsov 13a3ee81a3 libmm-glib: add more tests for MMLocationGpsNmea
Extra tests cover various corner cases.

Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
2026-05-26 20:56:53 +00:00
Dan Williams c0d9497066 libmm-glib: add tests for MMLocationGpsNmea
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2026-05-26 20:56:53 +00:00
Andrey Skvortsov f7da97989b location-gps-nmea: add complete sequence to traces at once
Currently sequence messages are added to traces as they are
received. Therefore content of traces depends at the time, when
request is issued and data is reported. Sometimes not all sequence
traces are reported, because only first record was received yet and it
overwrote previous full sequence trace.

For example,

```
$GPGSV,3,1,12,01,35,282,,02,68,264,,03,02,243,,08,35,206,,1*68
$GPGSV,3,2,12,10,46,074,,14,16,312,,17,,,,22,16,327,,1*53
$GPGSV,3,3,12,23,07,068,,24,15,030,,27,14,181,,32,51,120,,1*60

$GLGSV,2,1,08,82,25,135,,76,11,029,,75,21,334,,69,11,201,,1*7A
```

one GSV sentence is missing and second later full sequence is
reported

```
$GPGSV,3,1,12,01,35,282,,02,68,264,,03,02,243,,08,35,206,,1*68
$GPGSV,3,2,12,10,46,074,,14,16,312,,17,,,,22,16,327,,1*53
$GPGSV,3,3,12,23,07,068,,24,15,030,,27,14,181,,32,51,120,,1*60

$GLGSV,2,1,08,82,25,135,,76,11,029,,75,21,334,,69,11,201,,1*7A
$GLGSV,2,2,08,84,40,306,,83,79,161,,67,56,056,,68,58,177,,1*7D
```

Therefore client software reports different number of visible
satellites.

Usually sequence sentences are reported consequently in NMEA
stream. Let's cache and join sequence sentences until new trace type
is received. In that case full sequence always overrides
previous full sequence.

Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
2026-05-26 20:56:53 +00:00
Andrey Skvortsov 38548fedd3 location-gps-nmea: use g_autofree in location_gps_nmea_take_trace to track ownership
It allows simplify error handling.

Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
2026-05-26 20:56:53 +00:00
Dan Williams 42ca47472a Merge request !1431 from 'add-kk-l10n'
i18n: Add Kazakh translation

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1431
2026-05-25 10:10:36 -05:00
Baurzhan Muftakhidinov 027c8c068c po: add Kazakh translation
Signed-off-by: Baurzhan Muftakhidinov <baurthefirst@gmail.com>
2026-05-25 10:09:47 -05:00
Dan Williams 62a967131d Merge request !1427 from 'bulgarian'
po: add Bulgarian translation

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1427
2026-05-24 10:59:27 -05:00
twlvnn 07704018dd po: add Bulgarian translation
Signed-off-by: twlvnn <kraft_werk@tutanota.com>
2026-05-24 10:57:44 -05:00
Dan Williams de5058c283 Merge request !1429 from 'l10n-sv'
po: Update Swedish translation

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1429
2026-05-24 08:47:15 -05:00
Anders Jonsson fc1b1e9b1e po: Update Swedish translation
Signed-off-by: Anders Jonsson <anders.jonsson@norsjovallen.se>
2026-05-24 08:43:49 -05:00
Dan Williams 87c88dc237 Merge request !1421 from 'xmm7360-assert-cleanup'
intel: XMM7360: convert message parsing g_assert()s to GErrors and split out protocol functions

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1421

Closes #1034
2026-05-24 08:36:57 -05:00
Dan Williams a94dd40a2a intel: XMM7360: convert remaining asserts to error checks
Return useful errors rather than asserting on unexpected responses.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2026-05-24 08:33:48 -05:00
Dan Williams fd98a809af sierra: enable XMM7160-based devices like Comneon HL7588
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2026-05-24 08:33:48 -05:00
Dan Williams a486776a44 intel: XMM7360: better handle negative ASN integers from modem
The original code for xmm7360_byte_array_read_asn_int() returned
signed integers both from the function and from the returned
Xmm7360RpcMsgArg, but didn't handle sign extension on the
value returned from the function. That would lead to different
values between the function return and the Xmm7360RpcMsgArg
value, which seems wrong.

Make those two correspond and add checks in various places that
shouldn't ever see negative ints.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2026-05-24 08:33:48 -05:00
Dan Williams d6fe0722c9 intel: XMM7360: add xmmrpc protocol test infrastructure
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2026-05-24 08:33:48 -05:00
Dan Williams 64d8053413 intel: XMM7360: move Xmm7360RpcMsgArgType UNKNOWN value first in enum
That way UNKNOWN is the zero'd value instead of BYTE; it's easier
to test for and less error-prone if not explicitly set to the right
value.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2026-05-24 08:33:48 -05:00
Dan Williams 4fead86d24 intel: XMM7360: better handling of silly ASN int sizes
xmm7360_byte_array_read_asn_int() would keep bit-shifting a gint into
oblivion if the int's size was > 32-bit. It also didn't handle size 0
ints at all, and while size 24 ints would get stuffed into a 32-bit
variable those probably aren't a thing and if they actually are they
should get specifically handled.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2026-05-24 08:33:48 -05:00
Dan Williams 3f7b39075c intel: XMM7360: move standalone protocol functions to their own file
So we can unit-test all the parsing and building code more easily
without having to link to a bunch of serial port stuff.

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2026-05-24 08:33:48 -05:00
Dan Williams 07dc7e7304 intel: XMM7360: return a GError from parse_response_xmm7360()
Signed-off-by: Dan Williams <dan@ioncontrol.co>
2026-05-24 08:33:48 -05:00
Dan Williams 1565e3ada7 intel: XMM7360: convert message parsing g_assert()s to GErrors (#1034)
We shouldn't be g_asserting (and thus crashing) on untrusted input code;
should instead check validity and return an error that upper layers
can reasonbly log and handle.

Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/1034

Signed-off-by: Dan Williams <dan@ioncontrol.co>
2026-05-24 08:33:48 -05:00
Dan Williams 174f17f6ea Merge request !1438 from 'mtk_legacy_fix_err_memleak'
broadband-modem-mtk-legacy: fix `GError` memory leak

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1438
2026-05-24 08:15:06 -05:00
Barnabás Pőcze 62cc4de68e broadband-modem-mtk-legacy: fix GError memory leak
If the error matches, then a `+CIMI` command is sent to the device and
processing continues. However, the current error (for the `+CPIN?` command)
is not freed or propagated, fix that.

Fixes: 5c1fcbfe4a ("mtk-legacy: read IMSI if CPIN response is an error")
Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com>
2026-05-24 08:12:41 -05:00
Dan Williams a02355c5ce Merge request !1448 from 'qmi/handle-shuttingdown'
ModemManager: handle QMI_DMS_OPERATING_MODE_SHUTTING_DOWN similar as OFFLINE

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1448
2026-05-12 12:48:51 -05:00
Alexander Couzens 31cbf9c1be ModemManager: handle QMI_DMS_OPERATING_MODE_SHUTTING_DOWN similar as OFFLINE
Found and tested on Oneplus 6T with postmarketOS.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2026-05-12 12:44:49 -05:00
Dan Williams 56f3ba761a Merge request !1449 from 'RW135'
plugin,rolling: Add udev rules for RW135R modules.

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1449
2026-05-12 12:35:26 -05:00
Wenbin f6676cc5f3 plugin,rolling: Add udev rules for RW135R modules.
The Rolling needs to add the udev rules for supporting RW135R modules.

Signed-off-by: Wenbin <ywbjob@163.com>
2026-05-12 12:30:53 -05:00
Dan Williams 50759a2e52 Merge request !1440 from 'dco'
ci: Add build_container as a dependency of verify_dco job

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1440
2026-05-12 11:50:20 -05:00
Sebastian Krzyszkowiak 4a33e408e3 ci: Add build_container as a dependency of verify_dco job
Otherwise it fails for first contributions.

Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
2026-05-12 11:47:32 -05:00
Aleksander Morgado 74159e05e2 Merge request !1447 from 'fix-rolling-single-plugin-build'
rolling: fix single plugin build

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1447
2026-04-22 16:40:36 +02:00
Aleksander Morgado 44330936c6 rolling: fix single plugin build
The MTK specific modem object should be included in the 'mtk' shared
utils, so that they're available to other plugins.

Signed-off-by: Aleksander Morgado <aleksandermj@google.com>
2026-04-22 14:27:38 +00:00
Aleksander Morgado d111c242c9 Merge request !1436 from 'mtk_support'
Rolling: Add modifications related to the rw350-usb project

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1436
2026-04-22 12:34:56 +02:00
xuhongxing b10139f96b Rolling: Add modifications related to the rw350-usb project
1.Modify rule files for the 33f8/0802 MI interface
2.Modify the rolling plugin code to share and reuse code from the mtk plugin

T: Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 5 Spd=5000 MxCh= 0
D: Ver= 3.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS= 9 #Cfgs= 1
P: Vendor=33f8 ProdID=0802 Rev=00.01
S: Manufacturer=Rolling Wireless S.a.r.l.
S: Product=USB DATA CARD
C: #Ifs=10 Cfg#= 1 Atr=a0 MxPwr=896mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
E: Ad=82(I) Atr=03(Int.) MxPS= 64 Ivl=32ms
I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I: If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=85(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I: If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=usbfs
E: Ad=05(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=86(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I: If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=06(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=87(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I: If#= 7 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=07(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=88(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I: If#= 8 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=08(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=89(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I: If#= 9 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=09(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=8a(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms

Signed-off-by: xuhongxing <James.Xu@fibocom.com>
2026-04-22 18:26:57 +08:00
Aleksander Morgado fa32b5e1e9 Merge request !1445 from 'fix-qmi-wds-enum-missing'
modem-helpers-qmi: add missing QMI_WDS_PDP_TYPE_NON_IP check

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1445
2026-04-15 15:01:23 +02:00
Aleksander Morgado b6d53915a6 port-qmi: add missing QMI_DATA_ENDPOINT_TYPE_ETHERNET
Fixes build with latest libqmi.

Signed-off-by: Aleksander Morgado <aleksandermj@google.com>
2026-04-15 12:54:09 +00:00
Aleksander Morgado c34b326709 modem-helpers-qmi: add missing QMI_WDS_PDP_TYPE_NON_IP check
Fixes build with latest libqmi.

Signed-off-by: Aleksander Morgado <aleksandermj@google.com>
2026-04-15 12:46:28 +00:00
Dan Williams e5ce798783 Merge request !1432 from 'cbm-pad'
mm-cbm-part: Try harder to convert message text

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1432

Closes #1042
2026-03-24 21:01:05 -05:00
Guido Günther b59e0acb08 mm-cbm-part: Try harder to convert message text
Current cell broadcast messages from missile warnings in Israel
have an addition `00` at the end to pad for an even byte number.

This breaks conversion making the whole message fail conversion. As this
is a 15 part message in 3 languages the whole notification is lost in
this case.

Try harder to convert the message and recover even partial bits.

Closes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/1042
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2026-03-24 20:53:23 -05:00
Dan Williams eae9ed5485 Merge request !1435 from 'upstream-TX62-W-C-support'
plugins: cinterion: add new USB interface number for TX62-W-C modem

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1435
2026-03-24 12:59:08 -05:00
Lorenzo Medici 49fb75cd94 cinterion: add USB interface number 0x05 for TX62 modem
Signed-off-by: Lorenzo Medici <lorenzo.medici@canonical.com>
2026-03-20 16:24:04 +02:00
Aleksander Morgado 8053db6cc0 Merge request !1426 from 'id-mm-typos'
api,doc: fix a typo in 'Modem.Device' documentation

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1426
2026-02-03 12:01:53 +01:00
Aleksander Morgado d8a01479ed api,doc: fix a typo in 'Modem.Device' documentation
Originally reported by Lubomir Rintel.

Signed-off-by: Aleksander Morgado <aleksandermj@google.com>
2026-02-03 11:59:32 +01:00
Aleksander Morgado 66e72979a1 Merge request !1423 from 'local1'
rolling: update RW101 port type hints

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1423
2026-02-03 11:53:53 +01:00
Wenbin 387c41cb04 rolling: update RW101 port type hints
The port type hints for the RW101-cat6 and RW101-cat12 have been
updated, with USB interface #2 now designated as both the AT primary
port and fastboot port.

Signed-off-by: Wenbin <ywbjob@163.com>
2026-02-03 11:49:42 +01:00
Aleksander Morgado 1fc9059407 Merge request !1425 from 'dp/port-hints'
Port hints for various Telit modems

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/merge_requests/1425
2026-02-03 10:58:52 +01:00
Daniele Palmas aa2aa54748 telit: add port hints for FN990B40 rmnet and MBIM compositions
Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
2026-01-30 16:09:01 +01:00
Daniele Palmas 6131303fb2 telit: add port hints for FE910C04 rmnet and MBIM compositions
Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
2026-01-30 16:08:37 +01:00