aboutsummaryrefslogtreecommitdiff
path: root/plugins
AgeCommit message (Collapse)Author
2020-06-29quectel,shared: port GPS enabling to use AT sequenceAleksander Morgado
2020-06-29huawei: simplify GPS stop logicAleksander Morgado
The NMEA data port is closed right before stopping the engine.
2020-06-29huawei: port GPS enabling to use AT sequenceAleksander Morgado
2020-06-29quectel,shared: skip QGPS? check after enabling/disabling failuresAleksander Morgado
If any enabling/disabling command fails, we consider the operation failed, regardless of the QGPS status. This is because e.g. enabling involves more operations than just QGPS=1, and so we should treat a failure in the command sequence as a failure in the whole operation.
2020-06-29huawei: minor refactor in GPS enabling/disabling logicAleksander Morgado
2020-06-29quectel,shared: don't report GPS capabilities if no GPS port foundAleksander Morgado
The QGPS based implementation needs the existence of a port flagged as GPS data; if there is no such port, we cannot provide GPS support.
2020-06-29quectel,shared: fix reporting supported location capabilitiesAleksander Morgado
The method that reports what location capabilities are supported must report the capabilities provided by the parent interface plus the additional capabilities supported by the shared implementation. Also, simplify the logic a bit reducing the amount of implemented methods.
2020-06-29quectel,shared: private context at beginning of source fileAleksander Morgado
2020-06-29quectel: coding style fixes in the QGPS logicAleksander Morgado
2020-06-29quectel,shared: fix parent location disablingAleksander Morgado
The GTask must be passed as user_data.
2020-06-29quectel: implement GPS support with +QGPSArenM
Quectel modems allow provide location information via AT commands. Add this as a location source.
2020-06-28base-modem,at: response processors return a more specific enumAleksander Morgado
Instead of using the FALSE return of the method to indicate either a fatal error (if result_error was set) or the continuation request (if result_error wasn't set), provide a enum that has explicit states for all three possible values (failure, success or continue).
2020-06-22u-blox: always ignore M8 and M9 GPS modulesAleksander Morgado
2020-06-19cinterion: added port type hints for the mPLS62-w in MBIM modeAleksander Morgado
T: Bus=01 Lev=02 Prnt=04 Port=01 Cnt=01 Dev#= 40 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1e2d ProdID=005d Rev=17.30 S: Manufacturer=Cinterion Wireless Modules S: Product=PLSx C: #Ifs=12 Cfg#= 1 Atr=e0 MxPwr=100mA I: If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=01 Driver=cdc_acm I: If#=0x1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm I: If#=0xa Alt= 1 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim I: If#=0xb Alt= 2 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim I: If#=0x2 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00 Driver=cdc_acm I: If#=0x3 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm I: If#=0x4 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00 Driver=cdc_acm I: If#=0x5 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm I: If#=0x6 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00 Driver=cdc_acm I: If#=0x7 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm I: If#=0x8 Alt= 0 #EPs= 1 Cls=02(commc) Sub=02 Prot=00 Driver=cdc_acm I: If#=0x9 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm
2020-06-19cinterion: allow MBIM-powered devicesAleksander Morgado
Like the mPLS62-w when setup to be controlled in MBIM mode instead of plain AT commands.
2020-06-16quectel: add port type hints for EG95Brendan Peter
2020-06-04ublox: fully ignore GPS devices with plugin-installed rulesAleksander Morgado
Instead of setting up the ID_MM_TTY_BLACKLIST tag used in 'legacy' filter mode, tag all known u-blox GPS devices with the broader ID_MM_DEVICE_IGNORE tag that applies under all filter modes. Also, make this rules be installed by the plugin itself, because at the end, it is the u-blox plugin the one attempting to probe all devices with vid 0x1546.
2020-06-02wavecom: break loop matching 2G bands if exact combination foundAleksander Morgado
2020-06-02wavecom: port to use g_autoptr() setupAleksander Morgado
2020-06-02wavecom: fix GTask return handling when loading current capsAleksander Morgado
2020-06-01huawei: ignore NDISDUP disconnection errorsAleksander Morgado
Running NDISDUP=1,0 on an already disconnected bearer/context will report ERROR, so we can really ignore the result of the command, because we're anyway going to get the correct bearer/context status later on with the NDISSTATQRY checks.
2020-06-01huawei: don't delay reporting network initiated disconnectsAleksander Morgado
When a network-initiated event is received telling us that a bearer/context is disconnected, we should handle and process it right away, without thinking on whether there is going to be a user-requested disconnect afterwards or not. This effectively reverts the changes introduced in commit 21a5aaf4fe6934aad2e6c770aa4bdffa3ad29f9d, which looks like was done to handle synchronization issues with upper layers (e.g. with NetworkManager or Shill). Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/205
2020-05-29huawei: fix memory leak when parsing HCSQ responseLouis-Alexis Eyraud
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/220
2020-05-28cinterion: fix syntax error for setting radio/bands/[23]gGiacinto Cifelli
2020-05-27cinterion: skip sim ready check for modules that don't support itGiacinto Cifelli
2020-05-26cinterion: simplify checkGiacinto Cifelli
no longer need to check the charset because of the fix in charsets, that now accepts GSM and UCS2.
2020-05-26zte: add MF667 port type hintsAleksander Morgado
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/217
2020-05-26cinterion: minor coding style fixes in new band managementAleksander Morgado
2020-05-26cinterion: radio/band handling for LTE modemsGiacinto Cifelli
2020-05-26Revert "charsets: don't warn in unlikely case of needing to convert to HEX ↵Aleksander Morgado
from UTF-8" This reverts commit 6a7dd87f30b2cc1b459abab38a0805aa8ba1bfbc. Reverting because the merge request was set to squash all together....
2020-05-26charsets: don't warn in unlikely case of needing to convert to HEX from UTF-8Giacinto Cifelli
This would really be an implementation detail, not a real use case. Just don't warn in this case, as in the conversion in the opposite direction.
2020-05-22huawei: ignore ^CCALLSTATE URCs for nowAleksander Morgado
We will want to support these to avoid needing to have CLCC call polling, but for now, just ignore them so that they don't interfere with the call management. For context, see: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/216
2020-05-19cinterion,tests: avoid cast-align errorsAleksander Morgado
We can safely cast the data in a GArray to gpointer first, and then to the pointer type we require. cinterion/tests/test-modem-helpers-cinterion.c: In function 'common_test_scfg': cinterion/tests/test-modem-helpers-cinterion.c:56:56: error: cast increases required alignment of target type [-Werror=cast-align] expected_bands_str = mm_common_build_bands_string ((const MMModemBand *)expected_bands->data, ^ cinterion/tests/test-modem-helpers-cinterion.c:58:47: error: cast increases required alignment of target type [-Werror=cast-align] bands_str = mm_common_build_bands_string ((const MMModemBand *)bands->data, ^ cinterion/tests/test-modem-helpers-cinterion.c: In function 'common_test_scfg_response': cinterion/tests/test-modem-helpers-cinterion.c:209:56: error: cast increases required alignment of target type [-Werror=cast-align] expected_bands_str = mm_common_build_bands_string ((const MMModemBand *)expected_bands->data, ^ cinterion/tests/test-modem-helpers-cinterion.c:211:47: error: cast increases required alignment of target type [-Werror=cast-align] bands_str = mm_common_build_bands_string ((const MMModemBand *)bands->data, ^
2020-05-19wavecom: avoid cast-align errorsAleksander Morgado
We can safely cast the data in a GArray to gpointer first, and then to the pointer type we require. wavecom/mm-broadband-modem-wavecom.c: In function 'set_bands_3g': wavecom/mm-broadband-modem-wavecom.c:800:50: error: cast increases required alignment of target type [-Werror=cast-align] bands_string = mm_common_build_bands_string ((MMModemBand *)bands_array_final->data, ^ wavecom/mm-broadband-modem-wavecom.c: In function 'set_bands_2g': wavecom/mm-broadband-modem-wavecom.c:872:50: error: cast increases required alignment of target type [-Werror=cast-align] bands_string = mm_common_build_bands_string ((MMModemBand *)bands_array_final->data, ^
2020-05-19cinterion,helpers: minor coding style fixAleksander Morgado
2020-05-19novatel-lte: use GPtrArray to build a GStrvAleksander Morgado
novatel/mm-broadband-modem-novatel-lte.c: In function 'response_processor_nwmdn_ignore_at_errors': novatel/mm-broadband-modem-novatel-lte.c:241:19: error: cast increases required alignment of target type [-Werror=cast-align] own_numbers = (GStrv) g_array_free (array, FALSE); ^
2020-05-19huawei,helpers: fix warnings with -Wcast-alignAleksander Morgado
huawei/mm-modem-helpers-huawei.c: In function 'match_info_to_ip4_addr': huawei/mm-modem-helpers-huawei.c:193:39: error: cast increases required alignment of target type [-Werror=cast-align] *out_addr = GUINT32_SWAP_LE_BE (*((guint32 *) bin)); ^ /usr/include/glib-2.0/glib/gtypes.h:184:77: note: in definition of macro 'GUINT32_SWAP_LE_BE' # define GUINT32_SWAP_LE_BE(val) ((guint32) __builtin_bswap32 ((gint32) (val))) ^~~
2020-05-19huawei: avoid cast-align errorsAleksander Morgado
We can safely cast the data in a GArray to gpointer first, and then to the pointer type we require. huawei/mm-broadband-modem-huawei.c: In function 'set_current_bands': huawei/mm-broadband-modem-huawei.c:916:50: error: cast increases required alignment of target type [-Werror=cast-align] bands_string = mm_common_build_bands_string ((MMModemBand *)bands_array->data, ^
2020-05-19xmm: avoid cast-align errorsAleksander Morgado
We can safely cast the data in a GArray to gpointer first, and then to the pointer type we require. xmm/mm-shared-xmm.c: In function 'validate_and_build_command_set_current_bands': xmm/mm-shared-xmm.c:512:45: error: cast increases required alignment of target type [-Werror=cast-align] str = mm_common_build_bands_string ((const MMModemBand *)unapplied_bands->data, unapplied_bands->len); ^
2020-05-19ublox,helpers: avoid cast-align errorsAleksander Morgado
We can safely cast the data in a GArray to gpointer first, and then to the pointer type we require. ublox/mm-modem-helpers-ublox.c: In function 'parse_bands_from_string': ublox/mm-modem-helpers-ublox.c:1612:48: error: cast increases required alignment of target type [-Werror=cast-align] tmpstr = mm_common_build_bands_string ((MMModemBand *)(bands->data), bands->len); ^
2020-05-19cinterion,helpers: avoid cast-align errorsAleksander Morgado
We can safely cast the data in a GArray to gpointer first, and then to the pointer type we require. cinterion/mm-modem-helpers-cinterion.c: In function 'mm_cinterion_build_band': cinterion/mm-modem-helpers-cinterion.c:409:54: error: cast increases required alignment of target type [-Werror=cast-align] bands_string = mm_common_build_bands_string ((MMModemBand *)bands->data, bands->len); ^
2020-05-19telit,helpers: avoid cast-align errorsAleksander Morgado
We can safely cast the data in a GArray to gpointer first, and then to the pointer type we require. telit/mm-modem-helpers-telit.c: In function 'mm_telit_build_bnd_request': telit/mm-modem-helpers-telit.c:256:55: error: cast increases required alignment of target type [-Werror=cast-align] bands_str = mm_common_build_bands_string ((const MMModemBand *)(bands_array->data), bands_array->len); ^ telit/mm-modem-helpers-telit.c:275:55: error: cast increases required alignment of target type [-Werror=cast-align] bands_str = mm_common_build_bands_string ((const MMModemBand *)(bands_array->data), bands_array->len); ^
2020-05-19plugins,tests: avoid cast-align errorsAleksander Morgado
We can safely cast the data in a GArray to gpointer first, and then to the pointer type we require. tests/test-helpers.c: In function 'mm_test_helpers_compare_bands': tests/test-helpers.c:41:47: error: cast increases required alignment of target type [-Werror=cast-align] bands_str = mm_common_build_bands_string ((MMModemBand *)(bands->data), bands->len); ^ tests/test-helpers.c:46:56: error: cast increases required alignment of target type [-Werror=cast-align] expected_bands_str = mm_common_build_bands_string ((MMModemBand *)(expected_bands_array->data), expected_bands_array->len); ^
2020-05-16udev rules for the PLS62 in 005b enumerationGiacinto Cifelli
2020-05-15huawei: NDISDUP based devices may use plain TTYs for controlAleksander Morgado
So don't warn if no associated cdc-wdm port is found.
2020-05-15plugins/cinterion: added Signal interfaceGiacinto Cifelli
Not all Cinterion modems support AT+CESQ. However a much larger group of them support AT^SMONI This commit uses the latter instead of the default former.
2020-05-14telit: flag GPS port in the LE910C1Aleksander Morgado
2020-05-14telit: add LE910C1 udev ruleDavid Khouya
2020-05-10broadmobi: new pluginAleksander Morgado
Right now, just with port type hints for the BM818.
2020-04-28huawei: updated HCSQ regex to match unquoted responseMurithi Borona