Добрый день!
Возникла проблема работы приложения с GSM модемом через ttySx(COM). Последовательность действий такова. Я открыл файл модема. Пощелкал DTRом, осциллографом увидел переключения. ioctl отработал без ошибок. Сделал звонок. Чтобы отключиться поднимаю DTR. Он поднимается. Потом чтобы продолжить работу опускаю DTR. ioctl возвращает -1, в errno input/output error. Далее любые функции работы с файловым дескриптором дают те же ошибки. Помогает только переоткрытие файла. Та же ситуация с DSR. После того как отключается удаленный абонент, DSR физически опускается и функции начинают возвращать -1.
Как это побороть?
Файл открылся только в NON_BLOCK режиме. В блокируюшем нет возврата из функции open().
Спасибо!