diff --git a/balong_flash.c b/balong_flash.c index 149c4cc..3cef4ff 100644 --- a/balong_flash.c +++ b/balong_flash.c @@ -77,7 +77,7 @@ printf("\n Утилита предназначена для аварийной U -p - последовательный порт для общения с загрузчиком (по умолчанию /dev/ttyUSB0\n\ -m - вывести карту файла прошивки и завершить работу\n\ -e - разобрать файл прошивки на разделы и завершить работу\n\ --r - перезагрузить модем после прошивки\n\ +-r - выйти из режима прошивки и перезагрузить модем\n\ \n",argv[0]); return; @@ -103,6 +103,8 @@ printf("\n Утилита предназначена для аварийной U } } +if ((optind>=argc)&rflag) goto sio; // перезагрузка без указания файла + if (optind>=argc) { printf("\n - Не указано имя файла для загрузки\n"); return; @@ -175,6 +177,8 @@ printf("\n"); return; } +sio: + // Настройка SIO if (!open_port(devname)) { @@ -235,6 +239,7 @@ replybuf[3+i]=0; printf("\n Версия протокола: %s",replybuf+3); printf("\n"); +if ((optind>=argc)&rflag) goto reset; // перезагрузка без указания файла // Главный цикл записи разделов @@ -300,7 +305,10 @@ printf("\n"); port_timeout(1); // выходим из режима HDLC и перезагружаемся +reset: + if (rflag) { + printf("\n Перезарузка модема...\n"); send_cmd(cmd_reset,1,replybuf); write(siofd,resetcmd,strlen(resetcmd)); }