mirror of git://git.sysmocom.de/ofono
Fix: Introduce PPP data state
Some modems send PPP data introspersed along with the CONNECT final response. Fixup the parser so we can still detect the final response.
This commit is contained in:
parent
ee8084c0d0
commit
988b24adb0
|
@ -42,6 +42,7 @@ enum GSMV1_STATE {
|
|||
GSMV1_STATE_PDU_CR,
|
||||
GSMV1_STATE_PROMPT,
|
||||
GSMV1_STATE_ECHO,
|
||||
GSMV1_PPP_DATA,
|
||||
};
|
||||
|
||||
enum GSM_PERMISSIVE_STATE {
|
||||
|
@ -79,6 +80,8 @@ static GAtSyntaxResult gsmv1_feed(GAtSyntax *syntax,
|
|||
case GSMV1_STATE_IDLE:
|
||||
if (byte == '\r')
|
||||
syntax->state = GSMV1_STATE_INITIAL_CR;
|
||||
else if (byte == '~')
|
||||
syntax->state = GSMV1_PPP_DATA;
|
||||
else
|
||||
syntax->state = GSMV1_STATE_ECHO;
|
||||
break;
|
||||
|
@ -199,6 +202,16 @@ static GAtSyntaxResult gsmv1_feed(GAtSyntax *syntax,
|
|||
|
||||
break;
|
||||
|
||||
case GSMV1_PPP_DATA:
|
||||
if (byte == '~') {
|
||||
syntax->state = GSMV1_STATE_IDLE;
|
||||
res = G_AT_SYNTAX_RESULT_UNRECOGNIZED;
|
||||
i += 1;
|
||||
goto out;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue