Commit Graph
13 Commits
Author SHA1 Message Date
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
Colin Helliwell 8f26848ef0 helpers: move generic load_unlock_retries from Telit plugin
As a precursor to a generic load_unlock_retries method, move the
CSIM Response parser from the Telit plugin into the core code.
2018-01-01 18:37:10 +01:00
Carlo Lobrano b5dba9ad1c telit-plugin: ignore QSS when SIM-ME interface is locked
With some modems, the lock/unlock of the SIM-ME interface with +CSIM=1/0
command is followed by #QSS unsolicited messages. With the current
implementation, this messages are mistaken for SIM swap events and so the
modem is first dropped and then re-probed.

With this patch, the plugin takes into account the SIM-ME lock state when
parsing #QSS unsolicited, so that the QSS handler can correctly
elaborate the messages that are not related to SIM swap events.
2017-08-01 10:11:12 +02:00
Carlo Lobrano 4cd5044bfd telit: manage QSS transitions
Currently, Telit's SIM swap implementation is stateless and
based on #QSS unsolicited messages 0/1 (SIM_REMOVED/SIM_INSERTED).

However, the user might have configured the modem in order to provide a
more detailed information, with #QSS values 2/3 (SIM UNLOCKED/SIM READY).

In this case and with current implementation, even receiving "#QSS: 3" will
trigger the "SIM swap" logic. The same issue might occur in other use cases
too, i.e. with SIM locked or when the message is received from both USB
ports.

This patch makes SIM swap implementation stateful, and it considers as an
actual SIM swap, only transitions from #QSS: 0 to #QSS: 1/2/3 and vice
versa.
2017-06-05 14:04:42 +02:00
Carlo Lobrano 44daf791bb telit: add error_code recognition to +CSIM parser
- Refactored mm_telit_parse_csim_response in order to correctly
  recognize the following +CSIM error codes:
    * 6300 - Verification failed
    * 6983 - Authentication method blocked
    * 6984 - Reference data invalidated
    * 6A86 - Incorrect parameters
    * 6A88 - Reference data not found

- Updated correspondent tests.
- Finally, some minor changes in other files for better error logging

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=100374
2017-04-19 10:37:05 +02:00
Carlo Lobrano 1322201a43 telit: implemented set current bands 2016-03-10 16:10:18 +01:00
Carlo Lobrano beeabdea2f telit: add load_current_bands interface 2016-02-15 14:22:48 +01:00
Carlo Lobrano 70b8ec1a88 telit: add load_supported_bands interface 2016-01-25 12:37:46 +01:00
Aleksander Morgado a74edab57f telit: prefix helper methods with 'mm_telit' 2015-12-19 11:45:32 +01:00
Aleksander Morgado 740e1b5461 telit: fix minor coding style issues 2015-12-19 11:44:00 +01:00
Carlo Lobrano c4ffe572ae telit: add load_unlock_retries interface 2015-12-19 11:39:48 +01:00