summaryrefslogtreecommitdiff
path: root/src/gsmd/vendor_wavecom.c
Commit message (Collapse)AuthorAgeFilesLines
* wavecom: Fix unaligned memory access and silent stack corruptionHolger Hans Peter Freyther2013-03-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | The parameters were uint16_t and we asked the libc to make a store of uint32_t. So 16bit were written to the wrong part of the struct and on ARM this is causing unaligned memory access. Use the %hx to make a uint16_t store and avoid the above issue. GDB #0 0x4d4d0a20 in _IO_vfscanf () from /lib/libc.so.6 (gdb) bt #0 0x4d4d0a20 in _IO_vfscanf () from /lib/libc.so.6 #1 0x4d4d5d54 in __isoc99_vsscanf () from /lib/libc.so.6 #2 0x4d4d5cd0 in __isoc99_sscanf () from /lib/libc.so.6 #3 0x400a597c in ?? () from /usr/lib/gsmd/libgsmd-vendor_wavecom.so Cannot access memory at address 0x3 Clang: vendor_wavecom.c:114:21: warning: format specifies type 'unsigned int *' but the argument has type 'u_int16_t *' (aka 'unsigned short *') [-Wformat] sscanf(tok, "%x", &aux->u.cell_info.ci); ~~ ^~~~~~~~~~~~~~~~~~~~ %hx
* vendor_wavecom: Reset the modem on initialization using AT+CFUN=1Harald Welte2013-03-151-0/+1
| | | | | In some cases the modem might be stuck once we start up, so it's best to re-initialize it at gsmd startup.
* wavecom/sysmocom: Directly send GPS/AIS via UDP to gpsdHarald Welte2013-03-141-2/+64
| | | | | | This avoids having to have another client program which then passes messages from gsmd into gpsd. Rather, gpsd can directly receive the messages via UDP.
* vendor_wavecom: Make sure MCC of first reported cell is not zeroHarald Welte2013-03-021-2/+2
|
* add support for encapsulating and forwarding GPS and AIS dataHarald Welte2013-02-271-1/+54
| | | | | | we simply convert the sysmocom specific unsolicited messages into an usock event which is transported to the client[s] who subscribed to it.
* HACKS: Temporary hacks to make it work for wavecom / rf_lockHarald Welte2012-06-011-1/+1
|
* add new (incomplete) Wavecom vendor moduleHarald Welte2012-06-011-0/+152
personal git repositories of Harald Welte. Your mileage may vary