aboutsummaryrefslogtreecommitdiff
path: root/libqcdm/src
AgeCommit message (Collapse)Author
2022-11-07build: drop autotoolsAleksander Morgado
2022-02-15libqcdm, errors: fix format specifier for integerPablo Barciela
2022-02-15libqcdm, errors: Fix argument orderPablo Barciela
2022-02-14libqcdm,commands: 'const' instead 'static' in 'char' variablePablo Barciela
2021-09-10build,meson: Improve libqcdm buildIñigo Martínez
`libqcdm`'s meson build files have been improved slightly by removing unnecessary variables shortening their contents.
2021-09-07build: Port to mesonIñigo Martínez
meson is a build system focused on speed an ease of use, which helps speeding up the software development. This patch adds meson support along autotools.
2021-07-27libqcdm: plug leak in qcdm_cdm_log_config_new()Aleksander Morgado
==748616== 37 bytes in 1 blocks are definitely lost in loss record 2,850 of 4,938 ==748616== at 0x48435FF: calloc (vg_replace_malloc.c:1117) ==748616== by 0x249CCF: qcdm_cmd_log_config_new (commands.c:1742) ==748616== by 0x24A321: qcdm_cmd_log_config_set_mask_new (commands.c:1901) ==748616== by 0x1DAE12: modem_cdma_setup_cleanup_unsolicited_events (mm-broadband-modem.c:8643) ==748616== by 0x1DAF21: modem_cdma_setup_unsolicited_events (mm-broadband-modem.c:8671) ==748616== by 0x1AE49F: interface_enabling_step (mm-iface-modem-cdma.c:1627) ==748616== by 0x1AE680: mm_iface_modem_cdma_enable (mm-iface-modem-cdma.c:1693) ==748616== by 0x1E2DF6: enabling_step (mm-broadband-modem.c:11756) ==748616== by 0x1E204E: iface_modem_3gpp_ussd_enable_ready (mm-broadband-modem.c:11606) ==748616== by 0x4F03533: g_task_return_now (gtask.c:1219) ==748616== by 0x4F07078: UnknownInlinedFun (gtask.c:1289) ==748616== by 0x4F07078: g_task_return (gtask.c:1245) ==748616== by 0x1AA323: interface_enabling_step (mm-iface-modem-3gpp-ussd.c:702)
2020-01-30libqcdm,logs: fix warnings with -Wdouble-promotionAleksander Morgado
logs.c: In function ‘qcdm_log_item_evdo_pilot_sets_v2_get_pilot’: logs.c:179:94: warning: implicit conversion from ‘float’ to ‘double’ to match other operand of binary expression [-Wdouble-promotion] 179 | *out_rssi_dbm = (int32_t) (-110.0 + ((float) MAX (le16toh (pilot->pilot_energy) - 50, 0) / 14.0)); |
2020-01-30libqcdm,commands: fix warnings with -Wdouble-promotionAleksander Morgado
commands.c: In function ‘qcdm_cmd_pilot_sets_result_get_pilot’: commands.c:756:33: warning: implicit conversion from ‘float’ to ‘double’ to match other operand of binary expression [-Wdouble-promotion] 756 | *out_db = (float) set->ecio * -0.5; | ^
2020-01-30libqcdm,commands: fix warnings with -Wswitch-defaultAleksander Morgado
commands.c: In function ‘nv_mode_pref_from_qcdm’: commands.c:109:5: warning: switch missing default case [-Wswitch-default] 109 | switch (qcdm) { | ^~~~~~
2020-01-30build: use AX_IS_RELEASE() and AX_COMPILER_FLAGS()Aleksander Morgado
The autoconf macros AX_COMPILER_FLAGS_{CFLAGS|GIR|LDFLAGS} test for compiler and linker support of various flags, and add the flags to the generated output. If the command-line option '--enable-compile-warnings' is specified to 'configure', a number of additional warning options is also added to the output. This is the default. This update requires the presence of the GNU autoconf-archive in the system.
2018-10-27libqcdm: remove useless checks on always true conditionBen Chan
result.c: In function ‘qcdm_result_add_u8_array’: result.c:338:36: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits] qcdm_return_if_fail (array_len >= 0); result.c: In function ‘qcdm_result_add_u16_array’: result.c:418:36: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits] qcdm_return_if_fail (array_len >= 0); ^
2018-01-25*: Spelling fixesVille Skyttä
2017-02-28libqcdm: fix WCDMA L1 Manager statesDan Williams
The enum was wrong. There isn't actually an L1M_INIT state; the enum should start with L1M_IDLE. There should also be a L1M_PCH_SLEEP state between DEACTIVATE and DEEP_SLEEP. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=100000
2016-11-23libqcdm,libwmc: use C99 sized types from stdint.hAleksander Morgado
2016-07-27broadband-modem/libqcdm: add signal strength from QCDM EVDO Pilot Sets log ↵Dan Williams
messages When a CDMA-only modem is registered with the EVDO network, its not possible to read signal strength in the following cases: 1) while a data connection is active on single-AT-port modems, because the AT port is used for PPP and not available for AT+CSQ, AT+CIND or vendor-specific signal strength commands 2) when the modem reports only CDMA 1x signal strength with AT+CSQ Now that we have a reasonable interpretation of RSSI from the QCDM EVDO Pilot Sets V2 log messgae, use that when other means of getting signal strength aren't available.
2016-07-21qcdm: avoid upsetting the compiler with wrong aliasingLubomir Rintel
We shouldn't be accessiing u_int8_t * as u_int16_t *. Let's construct the 16-bit value by or-ing the 8-bit halves directly; avoiding the endianness conversion too.
2016-07-20libqcdm: add HDR Pilot Sets V2 log item structuresDan Williams
Apparently I was looking at this in 2012: https://blogs.gnome.org/dcbw/2012/11/14/got-evdo-help-me-out/ So why not at least get the structures into libqcdm and figure out a rough correlation between pilot energy and EC/IO.
2015-11-27Do not use obsolete XCASE terminal mode flagFelix Janda
The XCASE terminal mode flag because is no longer specified by POSIX and has no effect on linux. Because of the latter fact we can remove it. This fixes a compilation error with musl libc.
2015-01-11build: add code coverage supportJakub Sitnicki
Build all targets, except for CLI tools (mmcli, uml290), with special flags needed for collecting code coverage information when the build has been configured with --enable-code-coverage. Three new targets are available in the top build directory: - `check-code-coverage' runs the test suite and generates a code coverage report, - `code-coverage-capture' generates a code coverage report from already collected data, which can come in handy when one wants to see code paths touched by a particular test, - `code-coverage-clean' removes the collected coverage data and the generated reports.
2014-02-06libqcdm: use NULL instead of 0 for empty pointerYunlian Jiang
When I use clang 3.5 to build it, I got commands.c:1444:16: error: expression which evaluates to zero treated as a null pointer constant of type 'QcdmResult *' (aka 'struct QcdmResult *') [-Werror,-Wnon-literal-null-conversion] return FALSE; ^~~~~ ./utils.h:29:15: note: expanded from macro 'FALSE' #define FALSE ((u_int8_t) 0) ^~~~~~~~~~~~~~ commands.c:1464:20: error: expression which evaluates to zero treated as a null pointer constant of type 'QcdmResult *' (aka 'struct QcdmResult *') [-Werror,-Wnon-literal-null-conversion] return FALSE; ^~~~~ ./utils.h:29:15: note: expanded from macro 'FALSE' #define FALSE ((u_int8_t) 0) ^~~~~~~~~~~~~~ 2 errors generated. make[3]: *** [libqcdm_la-commands.lo] Error 1 make[3]: *** Waiting for unfinished jobs.... Below is the patch that fixes it
2013-12-05qcdm: add IPv6 nvram settingBjørn Mork
Some Qualcomm firmwares disable IPv6 unless this flag is set in nvram, at least for the LTE default bearer. The firmware will happily let you configure the IPV6 and IPV4V6 PDP types, also including the default profile, but any attempt to connect will fail. Signed-off-by: Bjørn Mork <bjorn@mork.no>
2013-04-25qcdm: remove unnecessary NULL check on free()Ben Chan
This patch removes a few unnecessary NULL checks on free(), which also fixes the following clang warnings: result.c:59:27: error: if statement has empty body [-Werror,-Wempty-body] if (v->u.u8_array); ^ result.c:59:27: note: put the semicolon on a separate line to silence this warning result.c:62:28: error: if statement has empty body [-Werror,-Wempty-body] if (v->u.u16_array); ^ result.c:62:28: note: put the semicolon on a separate line to silence this warning Bug reported on https://code.google.com/p/chromium/issues/detail?id=219280 Patched by Yunlian Jiang <yunlian@chromium.org>
2013-04-17qcdm: fix CDMA1x Pilot Sets pilot handlingDan Williams
The helper functions got the return code of qcdm_result_* wrong and thus failed all requests for pilot sets.
2013-04-05qcdm: add unsolicited signal level indication from Samsung Z810Dan Williams
2013-04-02qcdm: fix IM*I buffer sizes for GSM and WCDMA state info requestsDan Williams
Found by Enrico Murador.
2013-03-12qcdm: fix up NV Mode Pref item handlingDan Williams
While the QCDM and DIAG_NV are the same, in reality they shouldn't be and there should be a mapping between them. That wasn't happening, so fix that up and add a few missing modes to the NV item defines.
2013-02-08qcdm: fix handling of active pilot setDan Williams
Typo caused candidate or remaining sets to be treated as the active pilot set.
2013-02-06qcdm: add Novatel ERI subsystem supportDan Williams
Returns various ERI information like Indicator ID/Index, Icon ID/Index, Icon Mode, and banner.
2013-02-06qcdm: rename Novatel subsystem definesDan Williams
2013-01-14qcdm: various LTE-related NV mode pref and sysmode updatesDan Williams
2012-11-14qcdm: get/set functions for hybrid preferenceDan Williams
2012-11-14qcdm: trivial cleanup of log item numbersDan Williams
2012-11-14qcdm: clarify log item command length memberDan Williams
2012-09-27qcdm: add qcdm_cmd_control_new() to set operating modeDan Williams
2012-08-15qcdm: add some EVDO log item numbersDan Williams
2012-08-08qcdm: interpret MCC value from StatusSnapshot commandDan Williams
2012-06-04qcdm: fix 1x/HDR mode pref and add GSM/UMTS mode prefsDan Williams
2012-05-30qcdm: namespace stuff properlyDan Williams
2012-02-17qcdm: decode some more log itemsDan Williams
2012-01-21qcdm: clarify IMxI conversions a bit; fix up WCDMA L1 statesDan Williams
2012-01-19qcdm: add some mode prefsDan Williams
2012-01-18qcdm: some devices do implement SW_VERSIONDan Williams
Like the MF627 for some reason. Also, the format appears to be more like the DM_CMD_VERSION_INFO response where at least the comp_date and comp_time fields are the same size as VERSION_INFO, just with some padding between.
2012-01-18qcdm: GSM MCC, MNC, LAC and CI don't seem to valid in WCDMA modeDan Williams
So don't bother trying to parse them.
2012-01-17qcdm: fill in some GSM and WCDMA stuffDan Williams
2012-01-12qcdm: start filling out log messages and itemsDan Williams
Log messages are enabled by LOG_CONFIG and are then reported as unsolicited responses with code DM_CMD_LOG. Each log type appears to have its own message format which are now being added to log-items.h.
2012-01-11qcdm: fix warning when no log codes are enabledDan Williams
2012-01-11qcdm: only warn on unknown mode pref NV item valuesDan Williams
2012-01-11qcdm: LOG_CONFIG fixupsDan Williams
Fix some buffer overruns. Log codes are also 16-bit not 32.
2012-01-11qcdm: add support for Log Config commandDan Williams
This appears to be a newer version of EXT_LOGMASK that also works with GSM/UMTS and other subsystems.