Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Yuri V. Bondarenko Expert
Зарегистрирован: 25.03.2003 Сообщения: 19
|
Добавлено: Пн Май 22, 2006 10:53 am Заголовок сообщения: Пауза после "Послано: ATH<cr>" |
|
|
Цитата: | Пауза необходима, но конечно, не 5-секундная. Из журналов видно, что и 1 секунды вполне достаточно (а может быть, и это время удастся сократить). Основной вопрос на этот момент такой: каким образом заставить TAPI делать паузу перед отправкой ATH? Попробуем отыскать ответ... |
У меня нет информации о том, как можно изменить интервал времени между получением TAPI сообщения модема NO CARRIER и отправкой ему команды ATH. Однако, можно попробовать в драйвере модема (с его переустановкой) или непосредственно в системном реестре (без необходимости перезагрузки) изменить команды разрыва модемом соединения. Например, так:
Было:
HKR, Hangup, 1,, "ATH<cr>"
Стало:
HKR, Hangup, 1,, "AAAAAAAAAAAAAAAAAAAAAAAAAATH<cr>"
(число символов "A" подбирается экспериментально, пока не заработает)
или так:
Было:
HKR, Hangup, 1,, "ATH<cr>"
Стало:
HKR, Hangup, 1,, "AT<cr>"
HKR, Hangup, 2,, "ATH<cr>"
К сожалению, для поиска оптимума необходимо провести эксперименты, которые я не в состоянии провести прямо сейчас. Так что прошу прощения за ответ, который мог бы быть подробнее... |
|
Вернуться к началу |
|
|
GGS Member
Зарегистрирован: 18.05.2006 Сообщения: 16 Откуда: Санкт-Петербург
|
Добавлено: Пн Май 22, 2006 12:18 pm Заголовок сообщения: |
|
|
Идея понятна - ввести "пустые" команды для создания паузы перед ATH<cr>
Не проходит.
Вот вариант с "удлиннением" (соблюдая ограничение 40 символов в строке)
Код: | 05-22-2006 12:59:10.827 - Разрыв соединения модема.
05-22-2006 12:59:10.827 - Аппаратный разрыв соединения с помощью понижения DTR.
05-22-2006 12:59:11.307 - Найденный сигнал CD потерян из-за понижения сигнала DTR
05-22-2006 12:59:11.307 - Принято: <cr><lf>NO CARRIER<cr><lf>
05-22-2006 12:59:11.307 - Интерпретированный ответ: Нет несущей частоты
05-22-2006 12:59:11.317 - Послано: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATH<cr>
05-22-2006 12:59:16.325 - Ожидается отклик модема
05-22-2006 12:59:16.335 - Послано: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATH<cr>
05-22-2006 12:59:16.505 - Принято: <cr><lf>OK<cr><lf>
05-22-2006 12:59:16.505 - Интерпретированный ответ: ОК |
Вот вариант с дополнительной строкой
Код: | 05-22-2006 13:11:17.285 - Разрыв соединения модема.
05-22-2006 13:11:17.285 - Аппаратный разрыв соединения с помощью понижения DTR.
05-22-2006 13:11:17.755 - Найденный сигнал CD потерян из-за понижения сигнала DTR
05-22-2006 13:11:17.755 - Принято: <cr><lf>NO CARRIER<cr><lf>
05-22-2006 13:11:17.755 - Интерпретированный ответ: Нет несущей частоты
05-22-2006 13:11:17.765 - Послано: AT<cr>
05-22-2006 13:11:22.773 - Ожидается отклик модема
05-22-2006 13:11:22.783 - Послано: AT<cr>
05-22-2006 13:11:22.883 - Принято: <cr><lf>OK<cr><lf>
05-22-2006 13:11:22.883 - Интерпретированный ответ: ОК
05-22-2006 13:11:22.893 - Послано: ATH<cr>
05-22-2006 13:11:23.063 - Принято: <cr><lf>OK<cr><lf>
05-22-2006 13:11:23.063 - Интерпретированный ответ: ОК |
|
|
Вернуться к началу |
|
|
Technical Support Expert
Зарегистрирован: 31.10.2002 Сообщения: 6330
|
Добавлено: Вт Май 23, 2006 11:20 am Заголовок сообщения: |
|
|
Дополнительные 'A' не внесли какой-либо существенной задержки. Было так:
Код: | 05-19-2006 21:32:20.697 - Послано: ATH<cr>
05-19-2006 21:32:25.705 - Ожидается отклик модема |
Как видите, передача команды занимала 8 мс. Теперь стало так:
Код: | 05-22-2006 12:59:11.317 - Послано: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATH<cr>
05-22-2006 12:59:16.325 - Ожидается отклик модема |
Как видите, всё те же 8 мс. Так и должно быть, поскольку модем внутренний и UART последовательного порта, хоть и аппаратно, но симулируется; реально передачи даннных через последовательный интерфейс не происходит в связи с его (интерфейса) отсутствием.
Нужно создать бОльшую задержку. Думаем, речь идёт о сотнях миллисекунд, а этого с помощью дополнительных 'A' не добьёшься.
Поэтому, если задача и разрешима, то другими средствами. _________________ Inpro
Technical Support |
|
Вернуться к началу |
|
|
GGS Member
Зарегистрирован: 18.05.2006 Сообщения: 16 Откуда: Санкт-Петербург
|
Добавлено: Вт Май 23, 2006 12:46 pm Заголовок сообщения: |
|
|
Цитата: | Поэтому, если задача и разрешима, то другими средствами |
Я тоже так думаю. Вопрос какими, внесением изменений в FirmWare? |
|
Вернуться к началу |
|
|
Technical Support Expert
Зарегистрирован: 31.10.2002 Сообщения: 6330
|
Добавлено: Вт Май 23, 2006 1:10 pm Заголовок сообщения: |
|
|
Нет, речь идёт о том, чтобы заставить TAPI немного подождать. Вопрос сейчас в том, есть ли такая настройка у TAPI. _________________ Inpro
Technical Support |
|
Вернуться к началу |
|
|
GGS Member
Зарегистрирован: 18.05.2006 Сообщения: 16 Откуда: Санкт-Петербург
|
Добавлено: Вт Май 23, 2006 3:26 pm Заголовок сообщения: |
|
|
Я в начале темы говорил, что "Lucent Win Modem" не даёт подобной задержки. У него так: Код: | 05-14-2006 08:56:48.334 - Послано: ATH E1<cr>
05-14-2006 08:56:48.504 - Принято: <cr><lf>OK<cr><lf> |
Понятно, что там виртуальный COM-порт, но как-то он с TAPI ладит, понимают они друг друга. Причём штатными средствами WinXP. |
|
Вернуться к началу |
|
|
Technical Support Expert
Зарегистрирован: 31.10.2002 Сообщения: 6330
|
Добавлено: Вт Май 23, 2006 5:08 pm Заголовок сообщения: |
|
|
У Win-модемов не только нет последовательного порта, но и AT-команды обрабатываются драйвером. Согласитесь, что было бы крайне удивительно, если бы драйвер не обрабатывал запросы, поступающие со стороны операционной системы (не со стороны аппаратуры)
Что касается ключей, с которыми можно попробовать поиграться, то их пока найдено два:
Код: | Settings, ConfigDelay
Description
Command specifying the delay between opening the port and issuing AT
commands, thus allowing the modem sufficient time to power itself up
and initialize its firmware state. The delay is expressed in units of
milliseconds.
Format
A single command string.
Sample
HKR, ,ConfigDelay, 1, b8, 0b, 00, 00
Notes
The delay is expressed in units of milliseconds. In the example above,
0x00000bb8 = 3000 ms, or three seconds. |
и такой:
Код: | HKR,, CDWaitPeriod, 1, c0, d4, 01, 00[quote]
К сожалению, описания ключа не нашли. Попробуйте, может быть удастся притормозить систему этими ключами (пробуйте по одному).[/quote] |
_________________ Inpro
Technical Support |
|
Вернуться к началу |
|
|
GGS Member
Зарегистрирован: 18.05.2006 Сообщения: 16 Откуда: Санкт-Петербург
|
Добавлено: Ср Май 24, 2006 12:09 am Заголовок сообщения: |
|
|
Цитата: | со стороны операционной системы (не со стороны аппаратуры) |
Как я понимаю "со стороны аппаратуры" это и есть FirmWare. |
|
Вернуться к началу |
|
|
Technical Support Expert
Зарегистрирован: 31.10.2002 Сообщения: 6330
|
Добавлено: Ср Май 24, 2006 7:46 am Заголовок сообщения: |
|
|
В случае модема - да. _________________ Inpro
Technical Support |
|
Вернуться к началу |
|
|
GGS Member
Зарегистрирован: 18.05.2006 Сообщения: 16 Откуда: Санкт-Петербург
|
Добавлено: Ср Май 24, 2006 9:37 am Заголовок сообщения: |
|
|
Цитата: | Попробуйте, может быть удастся притормозить систему этими ключами (пробуйте по одному) |
Никакой реакции на это не последовало. Я делал так:
1. Добавил в MdmIDC.inf в секцию [All] Код: | [All]
HKR, ,ConfigDelay, 1, b8, 0b, 00, 00 | во втором случае Код: | [All]
HKR,, CDWaitPeriod, 1, c0, d4, 01, 00 | 2. В свойствах модема выбрал обновление драйвера.
3. Перезагрузка.
В реестре соответствующие переменные появлялись. |
|
Вернуться к началу |
|
|
Technical Support Expert
Зарегистрирован: 31.10.2002 Сообщения: 6330
|
Добавлено: Ср Май 24, 2006 12:38 pm Заголовок сообщения: |
|
|
Вообще никаких изменений? ConfigDelay, как минимум, должен отрабатывать в момент открытия последовательного порта, где-то здесь:
Код: | 05-20-2006 15:56:22.315 - Opening Modem
05-20-2006 15:56:22.315 - 115200,8,N,1, ctsfl=1, rtsctl=2
05-20-2006 15:56:22.325 - Инициализация модема.
05-20-2006 15:56:22.335 - Послано: AT&FS41=41S95=0E0<cr> |
_________________ Inpro
Technical Support |
|
Вернуться к началу |
|
|
GGS Member
Зарегистрирован: 18.05.2006 Сообщения: 16 Откуда: Санкт-Петербург
|
Добавлено: Ср Май 24, 2006 1:32 pm Заголовок сообщения: |
|
|
Цитата: | ConfigDelay, как минимум, должен отрабатывать в момент открытия последовательного порта |
Виноват, не уследил. Есть 3 сек.
Без ConfigDelay: Код: | 05-24-2006 14:09:23.466 - Тип модема: IDC 2814BL Plus PnP
05-24-2006 14:09:23.466 - INF-файл модема: MdmIDC.inf
05-24-2006 14:09:23.466 - Секция INF-файла модема: Modem21
05-24-2006 14:09:23.466 - Соответствие аппаратному коду (ID): serenum\idc3301
05-24-2006 14:09:23.466 - Opening Modem
05-24-2006 14:09:23.466 - 115200,8,N,1, ctsfl=1, rtsctl=2
05-24-2006 14:09:23.476 - Инициализация модема.
05-24-2006 14:09:23.486 - Послано: AT&FS41=41S95=0E0<cr> |
С ConfigDelay = b8 0b 00 00: Код: | 05-24-2006 14:15:40.277 - Тип модема: IDC 2814BL Plus PnP
05-24-2006 14:15:40.277 - INF-файл модема: mdmidc.inf
05-24-2006 14:15:40.277 - Секция INF-файла модема: Modem21
05-24-2006 14:15:40.277 - Соответствие аппаратному коду (ID): serenum\idc3301
05-24-2006 14:15:43.282 - Opening Modem
05-24-2006 14:15:43.282 - 115200,8,N,1, ctsfl=1, rtsctl=2
05-24-2006 14:15:43.282 - Инициализация модема.
05-24-2006 14:15:43.292 - Послано: AT&FS41=41S95=0E0<cr> |
Как теперь это использовать? |
|
Вернуться к началу |
|
|
Technical Support Expert
Зарегистрирован: 31.10.2002 Сообщения: 6330
|
Добавлено: Ср Май 24, 2006 1:47 pm Заголовок сообщения: |
|
|
Похоже, что никак. Предполагалось, что система подождёт подольше после переоткрытия порта (это делается после сброса DTR), но этого не произошло. Надо поискать другой ключик (надеемся, он всё-таки есть)... Работаем... _________________ Inpro
Technical Support |
|
Вернуться к началу |
|
|
Yuri V. Bondarenko Expert
Зарегистрирован: 25.03.2003 Сообщения: 19
|
Добавлено: Чт Май 25, 2006 11:00 am Заголовок сообщения: Пауза после "Послано: ATH<cr>" |
|
|
Цитата: | Похоже, что никак. Предполагалось, что система подождёт подольше после переоткрытия порта (это делается после сброса DTR), но этого не произошло. Надо поискать другой ключик (надеемся, он всё-таки есть)... |
Я проверял работу IDC-2814BXL+ 2.10 под Windows 98 SE и Windows XP SP2 - тот же глюк имеется под управлением обеих ОС и с этим модемом.
Я думаю, что есть смысл выполнить ещё два эксперимента:
1) Меня заинтересовало, почему Windows сначала дропает DTR, а потом посылает ATH... Я подумал, что оптимальной реакцией модема на такое поведение ОС было бы перейти в Online Command Mode по перепаду DTR, а потом уже в этом режиме съесть ATH и отвалиться от линии. Соответственно, в пользовательскую инит-строку нужно добавить AT&D1
2) Попробовать поставить какой-то стандартный драйвер от AT&T'шного модема и посмотреть, как IDC-2814BL+ будет работать с ним. Пример такого драйвера я поищу... |
|
Вернуться к началу |
|
|
GGS Member
Зарегистрирован: 18.05.2006 Сообщения: 16 Откуда: Санкт-Петербург
|
Добавлено: Чт Май 25, 2006 12:13 pm Заголовок сообщения: |
|
|
Цитата: | в пользовательскую инит-строку нужно добавить AT&D1 |
Да, при этом получается другая картина, есть "экономия" около 3 сек. и цела статистика по AT%S: Код: | 05-25-2006 12:57:58.006 - Разрыв соединения модема.
05-25-2006 12:57:58.006 - Аппаратный разрыв соединения с помощью понижения DTR.
05-25-2006 12:58:00.129 - Найденный сигнал CD потерян из-за понижения сигнала DTR
05-25-2006 12:58:00.129 - Принято: <cr><lf>OK<cr><lf>
05-25-2006 12:58:00.129 - Интерпретированный ответ: ОК
05-25-2006 12:58:00.129 - Принято: <cr><lf>NO CARRIER<cr><lf>
05-25-2006 12:58:00.129 - Интерпретированный ответ: Нет несущей частоты
05-25-2006 12:58:00.139 - Послано: ATH<cr>
05-25-2006 12:58:00.439 - Принято: <cr><lf>OK<cr><lf>
05-25-2006 12:58:00.439 - Интерпретированный ответ: ОК |
Цитата: | поставить какой-то стандартный драйвер |
Я пробовал ставить как "Стандартный модем 33600 bps" - положительного эффекта не было. |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|