200
Глава б. Настройка интерфейса
наращивать сложность сценария, добавляя обработку ошибок. Выполните
сценарий посредством 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, чтобы создать двухсекундную за-
держку. Задержка бывает необходима, чтобы сервер успел инициализи-
ровать порт, когда установлено модемное соединение.
• Удаленный сервер отображает сообщение об ошибке. Вероятно, сценарий
посылает неверное значение. Проверьте строки всех команд передачи.
Убедитесь, что они завершаются именно той комбинацией символов воз-
врата каретки и новой строки, которая ожидается сервером.
Если возникли проблемы со сценарием, попробуйте выполнить dip в режиме
тестирования (ключ -t), который позволяет вводить команды вручную, одну
за другой. Повторяйте процедуру до тех пор, пока не получите четкой после-
довательности команд, необходимых для регистрации на удаленном серве-
ре. Затем возвращайтесь к отладке сценария. Скорее всего, свежий взгляд
на процесс регистрации позволит вам быстро выявить ошибку в сценарии.
Когда сценарий запущен, а соединение успешно установлено, ничто не
должно препятствовать нормальной работе. Удаленный сервер должен отве-
чать на команду
ping.
Если здесь возникают проблемы, дело, вероятно, в на-