Страница 4 из 5
Начните с примитивного сценария, похожего на start-ppp.dip, чтобы иметь возможность убедиться в работоспособности базовых настроек, прежде чем наращивать сложность сценария, добавляя обработку ошибок. Выполните сценарий посредством dip с ключом подробной диагностики (-v). Строки сценария будут отображаться по мере их выполнения. Обращайте внимание на следующие возможные проблемы:
- Модем не реагирует на команды сценария. Убедитесь, что в команде port используется корректное имя устройства. Убедитесь, что аргументы команд databits, parity, speed и stopbits, если таковые присутствуют в сценарии, являются допустимыми для установленного модема. Еще раз проверьте, что модем понимает команды системы Hayes, в особенности если настройка модема выполняется при помощи ключевых слов dip, а не команды send.
- Модем не может соединиться с удаленным узлом. Убедитесь, что настройки модема идентичны тем, что использовались при подключении вручную. Параметры модема, такие как databits и parity, должны соответствовать настройкам удаленной системы. Вполне возможно, что для регистрации в удаленной системе требуется временное переключение на сочетание 7-бит/контроль четности. После регистрации следует переключиться обратно на сочетание 8-бит/без контроля, которое требуется для работы РРР и SLIP. Не забудьте убедиться, что верен номер телефона, указанный в команде набора, особенно если модем выводит строки VOICE, RING - NO ANSWER либо BUSY вместо ожидаемого CONNECT.
- Сценарий зависает. Вероятно, он находится ожидании ответа. Убедитесь, что корректны строки команд wait. Помните, что в качестве ожидаемой строки необходимо указывать лишь часть ответа. Лучше использовать строку «>», чем «Port9>», в случае, когда вы не уверены в номере порта, отображаемого удаленной системой. Используйте подстроку, которой заканчивается предполагаемый ответ, чтобы сценарий не начинал передачу данных прежде, чем будет готов к приему сервер. Кроме того, пробуйте вставлять задержку в сценарий, непосредственно перед первой командой серверу: к примеру, sleep 2, чтобы создать двухсекундную задержку. Задержка бывает необходима, чтобы сервер успел инициализировать порт, когда установлено модемное соединение.