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
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>
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.
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.
Doesn't parse any events yet since we don't know what any events
are. We also need to fix up ModemManager to handle unsolicited
responses in the QcdmSerialPort class.
Rename and document the encapsulate/decapsulate functions, CRC-check
the incoming packet, and make callers aware of the difference in how
big the decapsulated packet is versus how many bytes they should
discard from the buffer (since the decapsulated packet is at least
3 bytes shorter than the incoming packet due to the CRC + framing).