Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
`libqcdm`'s meson build files have been improved slightly by
removing unnecessary variables shortening their contents.
|
|
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.
|
|
==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)
|
|
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));
| ~~~~~~^~~~~~~~
|
|
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));
| ^
|
|
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");
| ^~~~~~~~~~~~~~
|
|
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));
| ^
|
|
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));
| ~~~~~~^~~~~~~~
|
|
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));
| ^
|
|
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__)
| ^~~~~~~~~~~
|
|
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));
| ^
|
|
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));
|
|
|
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;
| ^
|
|
commands.c: In function ‘nv_mode_pref_from_qcdm’:
commands.c:109:5: warning: switch missing default case [-Wswitch-default]
109 | switch (qcdm) {
| ^~~~~~
|
|
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.
|
|
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);
^
|
|
|
|
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
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
Just like 'modepref', but not doing any mode changes, just OFFLINE+RESET.
|
|
Avoids warnings during build; e.g.:
warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS')
|
|
|
|
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
|
|
Signed-off-by: Bjørn Mork <bjorn@mork.no>
|
|
Signed-off-by: Bjørn Mork <bjorn@mork.no>
|
|
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>
|
|
|
|
|
|
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>
|
|
The helper functions got the return code of qcdm_result_* wrong
and thus failed all requests for pilot sets.
|
|
|
|
Found by Enrico Murador.
|
|
as in, CDMA+EVDO+LTE and GSM+UMTS+LTE which were missing before.
|
|
Otherwise it doesn't actually take until you unplug/replug.
|
|
Sets and gets the NV "mode pref" item for allowed access
technologies.
|
|
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.
|
|
Typo caused candidate or remaining sets to be treated as the
active pilot set.
|
|
Returns various ERI information like Indicator ID/Index, Icon
ID/Index, Icon Mode, and banner.
|
|
|
|
|