Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
trulala Junior member
Зарегистрирован: 21.06.2003 Сообщения: 4 Откуда: Москва
|
Добавлено: Сб Июн 21, 2003 11:56 am Заголовок сообщения: Положить трубку по выкл-вкл DTR |
|
|
- В некоторых ситуациях, когда удалённый модем бросил трубку, например, при неудачной попытке хендшейка или после некоторых сессий, мой 5614 реагирует на дёрганье DTR с сильным запаздыванием -- продолжает висеть на линии ещё десяток-другой секунд. Настройки &D2 S13.0=0 S13.1=0, время выключенного DTR больше S25. Чем модем в это время занимается? Как сделать, чтобы по DTR off модем клал трубку немедленно и на что это может повлиять?
- Для чего на практике может понадобиться задержка распознавания изменения уровня DTR, задаваемая S25? Почему этот регистр не сохраняется в NVRAM?
|
|
Вернуться к началу |
|
|
Technical Support Expert
Зарегистрирован: 31.10.2002 Сообщения: 6330
|
Добавлено: Сб Июн 21, 2003 1:44 pm Заголовок сообщения: |
|
|
По порядку вопросов:
1. Заканчивая сеанс связи, модемы говорят друг другу "До свидания". Это выражается в обмене соответствующими управляющими кадрами протокола коррекции ошибок (DISC, UA), а также в передаче предусмотренных протоколом модуляции сигналов завершения сеанса (ннапример, GSTN Cleardown).
Если модем уходит по английски, не прощаясь, то возникает именно та ситуация, с которой Вы боретесь: партнёр пытается восстановить связь, не зная о том, что с другой стороны уже не модем, а короткие гудки АТС.
Настроенный по умолчанию, модем всегда пытается "попрощаться". Если Вы (т.е. Ваше программное обеспечение) попросили рассоединиться, выключив цепь DTR в тот момент, когда модем занят перетренировкой, то он сначала постарается завершить перетренировку, потом передать накопившиеся в его буфере данные и наконец, проинформировать партнёра об отключении. Во время перетренировки передача данных (в т.ч. управляющего кадра DISC) невозможна.
Ограничить время ожидания окончания перетренировки перед разрывом соединения можно регистром S38 (Windows TAPI сбрасывают этот регистр в 0).
Добиться немедленного прекращения связи по перепаду DTR - установкой S13.1=1. В этом случае модем уйдёт, не прощаясь - и удалённый будет пытаться удержать связь с "короткими гудками".
Получить гарантированный разрыв соединения за 2 секунды можно с помощью установки S13.0=1. Тогда в большинстве случаев модем будет корректно завершать сеанс, и в то же время не будет ждать дольше 2 сек перед разрывом соединения. Т.е. "не получилось - ну и не надо".
2. Задержка нужна для того, чтобы "провалы" в сигнале DTR не приводили к разрыву связи. Например, DTR отключается драйвером последовательного порта при выполнении операции Close (закрытие). Если Вы хотите "передать модем" другому приложению, то нужно закрыть порт в текущем приложении, а потом его снова открыть в другом приложении. Вот тут как раз и помогает задержка. Регистр не сохраняется в NVRAM потому, что так сделано в других модемах на этом же чипсете (т.е. из соображений совместимости). _________________ Inpro
Technical Support |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|