aboutsummaryrefslogtreecommitdiff
path: root/libqcdm
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,reset: fix warnings with -Wdiscarded-qualifiersAleksander Morgado
reset.c: In function ‘main’: reset.c:238:17: warning: passing argument 1 of ‘putenv’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 238 | putenv ("QCDM_DEBUG=1"); | ^~~~~~~~~~~~~~ In file included from reset.c:22: /usr/include/stdlib.h:647:26: note: expected ‘char *’ but argument is of type ‘const char *’ 647 | extern int putenv (char *__string) __THROW __nonnull ((1)); | ~~~~~~^~~~~~~~
2020-01-30libqcdm,reset: fix warnings with -Wsign-compareAleksander Morgado
reset.c: In function ‘print_buf’: reset.c:47:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 47 | for (i = 0; i < len; i++) { | ^ reset.c: In function ‘qcdm_wait_reply’: reset.c:168:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 168 | } while (total < sizeof (readbuf)); | ^
2020-01-30libqcdm,ipv6pref: fix warnings with -Wdiscarded-qualifiersAleksander Morgado
ipv6pref.c: In function ‘main’: ipv6pref.c:288:11: warning: passing argument 1 of ‘putenv’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 288 | putenv ("QCDM_DEBUG=1"); | ^~~~~~~~~~~~~~
2020-01-30libqcdm,ipv6pref: fix warnings with -Wsign-compareAleksander Morgado
ipv6pref.c: In function ‘print_buf’: ipv6pref.c:46:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 46 | for (i = 0; i < len; i++) { | ^ ipv6pref.c: In function ‘qcdm_wait_reply’: ipv6pref.c:167:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 167 | } while (total < sizeof (readbuf)); | ^
2020-01-30libqcdm,modepref: fix warnings with -Wdiscarded-qualifiersAleksander Morgado
modepref.c: In function ‘main’: modepref.c:539:11: warning: passing argument 1 of ‘putenv’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 539 | putenv ("QCDM_DEBUG=1"); | ^~~~~~~~~~~~~~ In file included from modepref.c:21: /usr/include/stdlib.h:647:26: note: expected ‘char *’ but argument is of type ‘const char *’ 647 | extern int putenv (char *__string) __THROW __nonnull ((1)); | ~~~~~~^~~~~~~~
2020-01-30libqcdm,modepref: fix warnings with -Wsign-compareAleksander Morgado
modepref.c: In function ‘print_buf’: modepref.c:46:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 46 | for (i = 0; i < len; i++) { | ^ modepref.c: In function ‘qcdm_wait_reply’: modepref.c:167:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 167 | } while (total < sizeof (readbuf)); | ^
2020-01-30test-qcdm-com: fix warnings with -Wdouble-promotionAleksander Morgado
test-qcdm-com.c: In function ‘test_com_pilot_sets’: test-qcdm-com.c:1085:59: warning: implicit conversion from ‘float’ to ‘double’ when passing argument to function [-Wdouble-promotion] 1085 | g_message (" EC/IO %d (%.1f dB)", ecio, db); | ^~ /usr/include/glib-2.0/glib/gmessages.h:333:32: note: in definition of macro ‘g_message’ 333 | __VA_ARGS__) | ^~~~~~~~~~~
2020-01-30test-qcdm-com: fix warnings with -Wsign-compareAleksander Morgado
test-qcdm-com.c: In function ‘print_buf’: test-qcdm-com.c:273:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘gsize’ {aka ‘long unsigned int’} [-Wsign-compare] 273 | for (i = 0; i < len; i++) { | ^ test-qcdm-com.c: In function ‘wait_reply’: test-qcdm-com.c:367:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 367 | } while (total < sizeof (readbuf)); | ^
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.
2016-01-13libqcdm: fix mixed whitespace in test-qcdm.cDan Williams
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-07-03libqcdm: new 'reset' testerAleksander Morgado
Just like 'modepref', but not doing any mode changes, just OFFLINE+RESET.
2014-06-22build: avoid using 'INCLUDES' in Makefile.amAleksander Morgado
Avoids warnings during build; e.g.: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
2014-05-29qcdm: fix memory leaks in testsBen Chan
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 utility to display and set the "IPv6 enabled" variableBjørn Mork
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2013-12-05qcdm: add IPv6 nvram setting to test suiteBjørn Mork
Signed-off-by: Bjørn Mork <bjorn@mork.no>
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-06-18build: remove unneeded GLIB_CHECK_VERSION checks, 2.32 already requiredAleksander Morgado
2013-06-18build: setup gtester based testsAleksander Morgado
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-13qcdm: add auto-LTE modes for GSM and CDMADan Williams
as in, CDMA+EVDO+LTE and GSM+UMTS+LTE which were missing before.
2013-03-12qcdm: modepref: reset device after setting mode preferenceDan Williams
Otherwise it doesn't actually take until you unplug/replug.
2013-03-12qcdm: add modepref utilityDan Williams
Sets and gets the NV "mode pref" item for allowed access technologies.
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