реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Переключения DTR DSR модема вызывают input/output error в errno
Kirill_Good
сообщение Sep 5 2012, 05:05
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 10-12-10
Из: Москва
Пользователь №: 61 528



Добрый день!

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

Как это побороть?

Файл открылся только в NON_BLOCK режиме. В блокируюшем нет возврата из функции open().

Спасибо!

Сообщение отредактировал Kirill_Good - Sep 5 2012, 05:07
Go to the top of the page
 
+Quote Post
kurtis
сообщение Sep 5 2012, 05:45
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 466
Регистрация: 21-06-05
Пользователь №: 6 205



Можно исходники глянуть, чего оно там делает

Если у вас GSM модем через "обычный" tty интерфейс, то для общения с модемом, можно использовать утилиту chat (есть в бизибоксе)
Go to the top of the page
 
+Quote Post
sasamy
сообщение Sep 5 2012, 06:16
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(Kirill_Good @ Sep 5 2012, 09:05) *
Добрый день!

Возникла проблема работы приложения с GSM модемом через ttySx(COM). Последовательность действий такова. Я открыл файл модема. Пощелкал DTRом, осциллографом увидел переключения. ioctl отработал без ошибок. Сделал звонок. Чтобы отключиться поднимаю DTR.


интересно - нафига это нужно sm.gif
Go to the top of the page
 
+Quote Post
Kirill_Good
сообщение Sep 5 2012, 06:57
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 10-12-10
Из: Москва
Пользователь №: 61 528



Цитата(sasamy @ Sep 5 2012, 10:16) *
интересно - нафига это нужно sm.gif

DTR переключать - для разрыва соединения.
Go to the top of the page
 
+Quote Post
sasamy
сообщение Sep 5 2012, 07:06
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(Kirill_Good @ Sep 5 2012, 10:57) *
DTR переключать - для разрыва соединения.


ваш GSM модем не поддерживает переход в командный режим (+++) ?
Go to the top of the page
 
+Quote Post
Kirill_Good
сообщение Sep 5 2012, 07:20
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 10-12-10
Из: Москва
Пользователь №: 61 528



Цитата(kurtis @ Sep 5 2012, 09:45) *
Если у вас GSM модем через "обычный" tty интерфейс, то для общения с модемом, можно использовать утилиту chat (есть в бизибоксе)

Общение нужно самому реализовать.

Цитата(sasamy @ Sep 5 2012, 11:06) *
ваш GSM модем не поддерживает переход в командный режим (+++) ?

Спасибо! Я не знал об этой команде. То есть в потоке данных мне нужно передать +++ затем ATH и произойдет разрыв? А как отловить, разрыв от удаленного? Парсить поток на "No carrier"?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 22:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01425 секунд с 7
ELECTRONIX ©2004-2016