Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Работа с TAPI на Delphi под Win 98 и Win XP   Найти похожие ветки 

 
viv-x ©   (2005-09-03 20:13) [0]

Для реализации удаленного доступа и связи компьютеров по TCP/IP по 4-х пров. выделенной линии пишу дозвонщик (Dialer) на Delphi 6.0 с использованием TAPI. Для работы выбраны модемы ZyXEL U-336S, которые настраиваются для работы на 4-х пров. выделенной линии, в связи с чем пришлось поправить установочные inf-файлы для этого модема (для Win"98 - mdmz336s.inf, для XP - mdmzyxel.inf, mdmzyxlg.inf).
 Первоначально звонилка была сделана для Win"98 и успешно работала. Затем пришлось ее доработать для XP. Однако в XP возникли проблемы. Если Win"98 ложил трубку (RasHangUpA) в течении 1-2 секунд и корректно сбрасывал модем, то Win"XP RasHangUpA выполнял секунд 40, при этом все это время программа ожидала возвращения управления. Между тем, для модема ZyXEL в режиме 4-х пров. линии (как и для большинства модемов) сброс модема производится снятием сигнала DSR (готовность компьютера). В 98 сигнал DSR на панели модема сбрасывался, а в XP оставался поднятым.
 Указанная ситуация поторялась и с использованием стандартного соединения компонента "Удаленноый доступ" системы Windows XP (без участия моего дозвонщика).
 Не могу понять почему продвинутый во времени XP не может корректно положить трубку и сбросить модем, а устаревший Win"98 делает это нормальным образом.
 Подскажите почему так происходит и как с этим бороться ?

--- LOG-файл работы модема в 98"ом ---
09-02-2005 22:44:56.25 - ZyXEL U-336S, Plug&Play in use.
09-02-2005 22:44:56.25 - Modem type: ZyXEL U-336S, Plug&Play
09-02-2005 22:44:56.25 - Modem inf path: ZYXELC~1.INF
09-02-2005 22:44:56.25 - Modem inf section: U336S
09-02-2005 22:44:56.49 - 57600,N,8,1
09-02-2005 22:44:56.49 - 57600,N,8,1
09-02-2005 22:44:56.49 - Initializing modem.
09-02-2005 22:44:56.49 - Send: AT&FE0X7<cr>
09-02-2005 22:44:56.49 - Recv: AT&FE0X7<cr>
09-02-2005 22:44:56.52 - Recv: <cr><lf>OK<cr><lf>
09-02-2005 22:44:56.52 - Interpreted response: Ok
09-02-2005 22:44:56.52 - Send: ATM0&D3*Q0S41=80S43=0S49=0<cr>
09-02-2005 22:44:56.53 - Recv: <cr><lf>OK<cr><lf>
09-02-2005 22:44:56.53 - Interpreted response: Ok
09-02-2005 22:44:56.53 - Send: AT<cr>
09-02-2005 22:44:56.54 - Recv: <cr><lf>OK<cr><lf>
09-02-2005 22:44:56.54 - Interpreted response: Ok
09-02-2005 22:44:56.54 - Send: ATS7=60S10=15&L2S52=88*P07S35=40&N70<cr>
09-02-2005 22:44:56.55 - Recv: <cr><lf>OK<cr><lf>
09-02-2005 22:44:56.55 - Interpreted response: Ok
09-02-2005 22:44:56.55 - Dialing.
09-02-2005 22:44:56.55 - Send: ATA<cr>
09-02-2005 22:45:01.92 - Hanging up the modem.
09-02-2005 22:45:01.92 - Send: <cr>
09-02-2005 22:45:03.92 - Session Statistics:
09-02-2005 22:45:03.92 -                Reads : 33 bytes
09-02-2005 22:45:03.92 -                Writes: 81 bytes
09-02-2005 22:45:03.92 - ZyXEL U-336S, Plug&Play closed.

--- LOG-Файл работы модема в XP ---
09-03-2005 17:46:07.431 - Тип модема: ZyXEL U-336S, Plug&Play
09-03-2005 17:46:07.431 - INF-файл модема: mdmzyxel.inf
09-03-2005 17:46:07.431 - Секция INF-файла модема: U336S
09-03-2005 17:46:07.431 - Соответствие аппаратному коду (ID): serenum\zyx0303
09-03-2005 17:46:07.441 - Opening Modem
09-03-2005 17:46:07.451 - 57600,8,N,1, ctsfl=1, rtsctl=2
09-03-2005 17:46:07.451 - Инициализация модема.
09-03-2005 17:46:07.461 - Послано: AT&FE0X7<cr>
09-03-2005 17:46:07.461 - Принято: AT&FE0X7<cr>
09-03-2005 17:46:07.461 - Режим вывода команд на экран
09-03-2005 17:46:07.491 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.491 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.501 - Послано: ATM0&D3*Q0S41=80S43=0S49=0<cr>
09-03-2005 17:46:07.511 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.511 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.522 - Послано: AT<cr>
09-03-2005 17:46:07.522 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.522 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.522 - Отправка пользовательских команд инициализации.
09-03-2005 17:46:07.532 - Послано: ATS7=60S10=15&L2S52=88*P07S35=40&N70<cr>
09-03-2005 17:46:07.542 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.542 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.552 - TSP(0000): Совершение звонка
09-03-2005 17:46:07.562 - Ожидание звонка.
09-03-2005 17:46:07.562 - 57600,8,N,1, ctsfl=1, rtsctl=2
09-03-2005 17:46:07.562 - Инициализация модема.
09-03-2005 17:46:07.572 - Послано: AT&FE0X7<cr>
09-03-2005 17:46:07.602 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.602 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.612 - Послано: ATM0&D3*Q0S41=80S43=0S49=0<cr>
09-03-2005 17:46:07.622 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.622 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.632 - Послано: AT<cr>
09-03-2005 17:46:07.632 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.632 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.632 - Отправка пользовательских команд инициализации.
09-03-2005 17:46:07.642 - Послано: ATS7=60S10=15&L2S52=88*P07S35=40&N73<cr>
09-03-2005 17:46:07.652 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:46:07.652 - Интерпретированный ответ: ОК
09-03-2005 17:46:07.652 - Набор номера.
09-03-2005 17:46:07.652 - Завершение асинхронной операции (0x000102cd) поставщика
                         служб телефонии (TSP). Состояние 0x00000000
09-03-2005 17:46:07.652 - TSP(0000): LINEEVENT: LINECALLSTATE_DIALING
09-03-2005 17:46:07.652 - TSP(0000): LINEEVENT: LINECALLSTATE_PROCEEDING
09-03-2005 17:46:07.662 - Послано: ATA<cr>
09-03-2005 17:46:15.443 - TSP(0000): Завершение звонка
09-03-2005 17:46:15.443 - Идет попытка отмены текущей команды
09-03-2005 17:46:15.443 - Послано: <cr>
09-03-2005 17:46:24.586 - TSP(0000): Закрытие звонка
09-03-2005 17:47:23.961 - TSP(0000): Совершение звонка
09-03-2005 17:47:27.667 - Ожидается отклик модема
09-03-2005 17:47:27.667 - Разрыв соединения модема.
09-03-2005 17:47:27.677 - Послано: +++
09-03-2005 17:47:32.684 - Ожидается отклик модема
09-03-2005 17:47:32.694 - Послано: +++
09-03-2005 17:47:37.701 - Ожидается отклик модема
09-03-2005 17:47:37.711 - Послано: +++
09-03-2005 17:47:42.718 - Ожидается отклик модема
09-03-2005 17:47:42.728 - Послано: +++
09-03-2005 17:47:47.736 - Ожидается отклик модема
09-03-2005 17:47:47.736 - 57600,8,N,1, ctsfl=1, rtsctl=2
09-03-2005 17:47:47.736 - Инициализация модема.
09-03-2005 17:47:47.746 - Послано: AT&FE0X7<cr>
09-03-2005 17:47:47.746 - Принято: <cr><lf>OK<cr><lf>
09-03-2005 17:47:47.746 - Интерпретированный ответ: ОК
09-03-2005 17:47:47.756 - Послано: ATM0&D3*Q0S41=80S43=0S49=0<cr>
09-03-2005 17:47:47.916 - Принято: <cr><lf>NO CARRIER<cr><lf>
09-03-2005 17:47:47.916 - Интерпретированный ответ: Нет несущей частоты
09-03-2005 17:47:47.916 - Статистика сеанса:
09-03-2005 17:47:47.916 -                Чтение: 20 байт
09-03-2005 17:47:47.916 -                Запись: 36 байт


 
viv-x ©   (2005-09-05 23:17) [1]

Небольшая поправка. Для удаленного доступа мною используется конечно не TAPI, а RAS API. В стандартном Delphi 6.0 RAS разумеется не реализован, пришлось использовать пример из Inet"а. В остальном все так как изложено.



Страницы: 1 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.052 c
1-1129371372
DelphiLexx
2005-10-15 14:16
2005.11.06
Как в TRadioGroup разместить символ &amp;#948; - дельта?


5-1101036755
Ilg
2004-11-21 14:32
2005.11.06
Простейший Редактор свойств


4-1125093097
ronyn
2005-08-27 01:51
2005.11.06
Как шрифт установить?...


2-1129273740
Andry
2005-10-14 11:09
2005.11.06
CGI


2-1128628571
leonw
2005-10-06 23:56
2005.11.06
Directory