diff options
Diffstat (limited to 'src/atcmd.c')
-rw-r--r-- | src/atcmd.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/atcmd.c b/src/atcmd.c index 76372d2..aad15e9 100644 --- a/src/atcmd.c +++ b/src/atcmd.c @@ -611,6 +611,21 @@ int atcmd_v_write(int fd, int mode) return 0; } +int atcmd_q_write(int fd, int mode) +{ + char buf[ATCMD_LINE_SIZE]; + int tmp; + + atcmd_writeline(fd, "ATQ%d", mode); + tmp = atcmd_expect_line(fd, buf, sizeof(buf), "OK"); + if (tmp <= 0) { + log_debug("expected OK but it was not received"); + return -1; + } + + return 0; +} + int atcmd_plus_cmgf_write(int fd, int mode) { char buf[ATCMD_LINE_SIZE]; @@ -1099,6 +1114,11 @@ int atcmd_init(int fd, int read_timeout) { int tmp; + tmp = atcmd_q_write(fd, 0); + if (tmp < 0) { + return tmp; + } + tmp = atcmd_v_write(fd, 1); if (tmp < 0) { return tmp; |