Index: gsm/src/gsmd/gsmd.c =================================================================== --- gsm.orig/src/gsmd/gsmd.c 2007-06-13 20:13:47.000000000 +0200 +++ gsm/src/gsmd/gsmd.c 2007-06-13 20:15:20.000000000 +0200 @@ -62,7 +62,8 @@ { struct gsmd_alive_priv *alp = ctx; - if (!strcmp(resp, "OK")) + if (!strcmp(resp, "OK") || + ((alp->gsmd->flags & GSMD_FLAG_V0) && resp[0] == '0')) alp->alive_responded = 1; return 0; } @@ -201,7 +202,8 @@ { struct gsmd *gsmd = ctx; - if (strcmp(resp, "OK")) { + if (strcmp(resp, "OK") && + (!(gsmd->flags & GSMD_FLAG_V0) || resp[0] != '0')) { gsmd_log(GSMD_FATAL, "response '%s' to initial command invalid", resp); exit(5); }