Index: gsm/src/gsmd/gsmd.c =================================================================== --- gsm.orig/src/gsmd/gsmd.c 2007-06-03 11:57:43.000000000 +0200 +++ gsm/src/gsmd/gsmd.c 2007-06-03 11:57:45.000000000 +0200 @@ -311,6 +311,7 @@ { "leak-report", 0, NULL, 'L' }, { "vendor", 1, NULL, 'v' }, { "machine", 1, NULL, 'm' }, + { "wait", 1, NULL, 'w' }, { 0, 0, 0, 0 } }; @@ -333,6 +334,7 @@ "\t-l file\t--logfile file\tSpecify a logfile to log to\n" "\t-v\t--vendor v\tSpecify GSM modem vendor plugin\n" "\t-m\t--machine m\tSpecify GSM modem machine plugin\n" + "\t-w\t--wait m\tWait for the AT Interpreter Ready message\n" ); } @@ -362,6 +364,7 @@ char *logfile = "syslog"; char *vendor_name = NULL; char *machine_name = NULL; + int wait = -1; signal(SIGTERM, sig_handler); signal(SIGINT, sig_handler); @@ -374,7 +377,7 @@ print_header(); /*FIXME: parse commandline, set daemonize, device, ... */ - while ((argch = getopt_long(argc, argv, "FVLdhp:s:l:v:m:", opts, NULL)) != -1) { + while ((argch = getopt_long(argc, argv, "FVLdhp:s:l:v:m:w:", opts, NULL)) != -1) { switch (argch) { case 'V': /* FIXME */ @@ -411,6 +414,9 @@ case 'm': machine_name = optarg; break; + case 'w': + wait = atoi(optarg); + break; } } @@ -455,6 +461,9 @@ exit(1); } + if (wait >= 0) + g.interpreter_ready = !wait; + if (atcmd_init(&g, fd) < 0) { fprintf(stderr, "can't initialize UART device\n"); exit(1);