Commit Graph
14 Commits
Author SHA1 Message Date
Carlo Lobrano c208d33e5b telit: fix AT#BND parsing for LE910C1-EUX
Some modems, like LE910C1-EUX, express the LTE part of #BND output in
HEX format, but currently the MM parser for such case is limited to
modems that have "ext_4g_bands". This commits use the new MMTelitModel
info to decide how to parse #BND command output.

Fixes #487
2022-03-29 14:18:55 +00:00
Carlo Lobrano 30a35e6dc3 telit: detect modem model from revision
Telit revision string can be used to identify the specific model, which
in turn is useful to specialize the behavior of the plugin.

This change adds revision parsing to detect some telit modems. Initially
it adds the ones that have different behaviors in #BND output parsing
for example.
2022-03-29 14:18:55 +00:00
Carlo Lobrano 3df96a4255 telit: override load revision
Currently, firmware revision string is obtained via AT+CGMR or AT+GMR
commands from the default mm-broadband-modem. For a class of Telit
modems however this command does not return the actual Telit Software
Package version, but the "Modem FW Version", which is only a component
of the whole firmware. For this class of modems, the correct string is
obtained with "AT#SWPKGV" command.

This change overrides load_revision* functions to add the ability to
parse "AT#SWPKGV" command for the modems that support it, and falls back
to the same logic that was implemented in mm-broadband-modem otherwise.
2022-03-29 14:18:55 +00:00
Daniele Palmas c447785fd8 telit: fix mode 'any' setting with AT commands
When setting mode 'any' with +WS46 command the supported modes
should be considered for choosing the at command correct argument.
2022-03-18 16:32:24 +01:00
Daniele Palmas 6c574ce3d6 telit: remove prefix mm_shared in static function names 2021-10-15 15:23:59 +02:00
Daniele Palmas f8c1e84939 telit: prefer qmi for set_current_bands if available 2021-10-15 15:22:02 +02:00
Daniele Palmas 266043255f telit: prefer qmi for load_current_bands if available 2021-10-15 15:21:57 +02:00
Daniele Palmas 91e16ca282 telit: prefer qmi for load_supported_bands if available 2021-10-15 15:18:14 +02:00
Carlo Lobrano 3522a11578 telit: Detect 4G BND format from BND test reply
Telit modems that require hexadecimal number when specifying 4G bands
also reply to #BND=? command with a 4th parameter <LTE_band_ext>
(e.g. LM940, LM960, LN920, FN980).
On the other hand, modems that require decimal number when specifying 4G
bands only return 3 parameters to the same command.

It is then possible replace the detection of ext_4g_bands via UDEV tags
with an inspection of BND=? reply.
2021-10-15 11:39:33 +00:00
Amol Lad 650cdc5a32 telit: LN920 bands support 2021-10-15 11:39:33 +00:00
Daniele Palmas 41482d823b telit: fix segmentation fault in initialize_alternate_3g_band
Fix the following segmentation fault:

ModemManager[128007]: mm_port_peek_kernel_device: assertion 'MM_IS_PORT (self)' failed

Thread 1 "ModemManager" received signal SIGSEGV, Segmentation fault.
0x00005555556c6e3e in mm_kernel_device_get_global_property
(self=0x0, property=0x7ffff5947480 "ID_MM_TELIT_BND_ALTERNATE")
at kerneldevice/mm-kernel-device.c:309

Reported by Carlo Lobrano <c.lobrano@gmail.com>
2021-10-11 16:02:40 +00:00
Aleksander Morgado 078c638165 telit: port to use object logging 2020-04-08 16:35:10 +02:00
Aleksander Morgado be4fa661c1 plugins,telit: refactor #BND command support
And added support for several new things, including:
 * Setting "any" band now attempts to set all supported bands.
 * Added new 2G band value '5' (egsm+dcs+pcs+g850).
 * Setup support for two different 3G band combinations, a default one
   plus an alternate one applicable to the LM940/960 models only. The
   alternate combination is selected via udev tags.

During the refactor, the following Telit-specific helpers were also
removed and exchanged with more generic counterparts.
 * mm_telit_bands_contains() -> mm_common_bands_garray_lookup()
 * mm_telit_get_band_flags_from_string() -> mm_parse_uint_list()
2019-09-17 10:52:42 +02:00
Daniele Palmas 3921c120b3 telit: move shared functions to mm-shared-telit 2019-02-28 15:42:28 +01:00