Вопросы и ответы по kppp

Вопросы и ответы по kppp Иногда у пользователей KDE, которые используют для подключения к Интернет kppp, возникают проблемы с этой утилитой. Хочется сделать обзор наиболее часто задаваемых вопросов по этой теме.

Я не могу заставить kppp работать. kppp говорит мне, что pppd умер или что время для соединения вышло!
Попробуйте сделать следующее:
— Щелкните на кнопку "Детали" (далее ниже: везде, где рекомендуется выбрать тот или иной раздел или нажать на какую-либо кнопку, подразумевается, что эти действия выполняются в настройках kppp). kppp распечатает вам выборку из log-сообщений PPP (может не работать для не-Linux'овых систем и даже для некоторых дистрибутивов Linux). Эти записи могут помочь вам выследить ошибку.
— Убедитесь, что ваша копия pppd это не сценарий, а бинарный файл.
— Убедитесь, что pppd имеет setuid суперпользователя root. Вы можете установить этот параметр командой chmod u+s pppd, зарегистрировавшись как root (Примечание: setuid — бит в правах доступа к файлу, его числовое значение 4000, выглядит в правах доступа как rws–x–x. Смысл в следующем: обычно программа работает под правами запустившего ее пользователя, но при наличии этого бита она работает под ПРАВАМИ ВЛАДЕЛЬЦА ФАЙЛА, т.е. установив setuid root'а на программу, мы позволяем ей работать под правами суперпользователя).
— Убедитесь, что ваш файл /etc/ppp/options существует и что он не содержит конфликтующих записей. Если вы не уверены, просто оставьте этот файл пустым.
— Убедитесь, что вы НЕ используете ключ "lock" как аргумент для pppd (kppp сам позаботится о блокировании модема).
— Удалите опцию "lock" из файла /etc/ppp/options и файла .ppprc вашего домашнего каталога.
— Иногда использование символической ссылки /dev/modem может вызвать конфликты. Исключите этот возможный источник проблем, используя реальное устройство, то есть прописывая вместо /dev/modem строчку вида /dev/cuaX или /dev/ttySX (порт COM1 соответствует ttyS0, COM2 — ttyS1 и так далее).
— Убедитесь, что вы установили правильный уровень доступа. Если возникают проблемы, сначала попробуйте все настроить, зарегистрировавшись как root, и потом, когда все заработает, установите менее опасный доступ, если вы не имеете возможности запускать kppp c setuid суперпользователя root. Правильным путем для этого будет создание группы "modem".
— Возможно, pppd запускается слишком рано, то есть до того, как удаленный сервер готов "вести переговоры" об установлении PPP соединения, то есть требуется установить задержку. Если вы используете сценарий регистрации, вы должны использовать встроенный терминал для проверки процедуры регистрации. Некоторые провайдеры будут требовать от вас простого "Send" или "Send ppp" для запуска PPP. Иногда требуется добавить "Pause 1" или "Pause 2" в сценарий, для того чтобы разрешить временные конфликты. Если ничто не помогает, вы можете получить отладочную информацию из сообщений вашей системы, используя команду:
tail /var/log/messages

kppp говорит "не могу открыть модем''.
Это означает, что kppp не имеет допуска к открытию модемного устройства или то, что вы выбрали как модемное устройство в разделе диалога "Модем", на самом деле модемом не является. Прежде всего убедитесь, что вы выбрали правильное устройство модема. Если вы уверены, что оно выбрано правильно, вы должны дать kppp правильный уровень допуска для работы с модемом и для изменения файла /etc/resolv.conf, если вы хотите, чтобы kppp настроил для вас DNS. Если вы можете позволить kppp запускаться с setuid root, то этот шаг должен разрешить все проблемы с доступом, если нет — вы должны будете разобраться, в каком уровне доступа вы нуждаетесь для ваших целей. Для того чтобы установить на kppp setuid root, дайте следующие команды (подразумевается, что на данный момент вы находитесь не под root'ом, иначе первая и последняя команды не потребуются):
su root
chown root:root ${KDEDIR}/bin/kppp
chmod +s ${KDEDIR}/bin/kppp
exit

kppp говорит, что он не может создать файл блокировки модема.
В большинстве случаев это означает, что вы установили kppp без установленного setuid бита, в то время как вы, персона, запустившая kppp, не имеете допуска на внесение изменений в каталоге, где размещается файл блокировки, по умолчанию это /var/lock. По крайней мере, это так для дистрибутивов RedHat. Проверьте диалог модема для уточнения расположения этого файла. Решить это проблему довольно просто. Вы либо запускаете kppp с установленным setuid root, если у вас есть такая возможность, либо создаете группу "modem", которая будет иметь доступ к файлу блокировки.

Почему kppp устанавливается с setuid битом в положении "on"?
На самом деле в setuid бите нет нужды, если вы немного знаете об администрировании Unix систем. Просто создайте группу "modem", добавьте туда всех пользователей, которые, по вашему мнению, должны иметь доступ к модему, и сделайте устройство модема доступным для чтения/записи этой группой. Если вы хотите, чтобы конфигурация DNS работала с kppp, группа "modem" должна иметь допуск чтение/запись к файлу /etc/resolv.conf. То же самое касается /etc/ppp/pap-secrets и /etc/ppp/chap-secrets, если вы хотите использовать встроенную поддержку PAP или CHAP, соответственно.

kppp завис и ждет ("Ожидание OK").
— Надо поиграть с настройкой CR/LF. Попробуйте изменить ее на CR, LF или CR/LF.
— Просто ваш модем требует некоторого времени для реагирования на его инициализацию. Откройте диалог "Команды модема" в разделе "Модем" и измените задержки "перед инициализацией" и "после инициализации". Убедитесь, что модем реагирует так, как вы ожидаете, когда вы резко увеличиваете время задержек и затем делаете тонкую подгонку.

Подсоединение происходит без проблем, но я не могу запустить ни одно приложение.
Возможно, вы активировали опцию "Автоконфигурация DNS имени" и X-сервер не может подсоединиться к компьютеру с заданным именем. Если вам действительно нужна эта функция (вполне вероятно, что не нужна), вы можете сами установить требуемые авторизации.
Использование команды xhost + перед установкой соединения должно помочь, но имейте в виду, что это рискованно, так как теперь любой будет иметь доступ к вашему X-серверу.

kppp выдает сообщение об успешном соединении, но Netscape говорит "The server does not have a DNS entry" (На сервере не задан DNS).
Попробуйте использовать утилиту ping на известном вам IP адресе. Если ping сработал, значит вы должны:
— убедиться, что вы задали для kppp хотя бы один DNS адрес;
— проверить содержимое /etc/host.conf. Там должна быть строка, содержащая что-то типа: order hosts, bind. Ключевое слово bind советует библиотеке resolver включать запрос имени сервера при выполнении поиска адреса.

Мой модем делает столько шума при дозвоне!
Щелкните "Настройка", "Модем". Вы можете здесь задать три уровня громкости модема: выключена (off), средняя (medium), высокая (high). Для большинства модемов "средняя" и "высокая" дают одинаковый уровень громкости. Если это не работает, убедитесь, что в "Настройка"/"Модем"/"Команды модема" установлены правильные настройки.

Я установил громкость модема на "выключена" ("off") и проверил команды модема, но я все равно слышу этот шум при дозвоне!
Строка инициализации модема может быть потеряна, если ваш модем не может справиться с той скоростью, с которой он получает команды от kppp. Увеличьте значение в опции "Задержка после инициализации" в разделе "Настройка"/"Модем"/"Команды модема".

kppp регистрирует необычную скорость модема — типа 115200, 57600.
Многие модемы по умолчанию показывают скорость последовательного порта, а не скорость потока информации по телефонным линиям. Вы должны настроить такие модемы на регистрирование действительной скорости линии. Для этого добавьте к строке инициализации или дозвона нужную команду. Для многих модемов это команда ATW2. Если вы хотите добавить ее к строке дозвона (обычно эта строка по умолчанию имеет вид "ATD" или "ATDT" ("ATDP" для наших импульсных линий)), то новая строка дозвона будет "ATW2D" или "ATW2DT" соответственно (для случая импульсного набора: "ATW2DP").

kppp показывает "Неизвестная скорость".
Новые модемы часто имеют очень сложные сообщения о соединении, типа "CONNECT LAP.M/V42.bis/ 115000:RX/31200:TX", и kppp не может обработать правильно такое сообщение. Включите "Показывать окно протокола" — и вы увидите скорость соединения.

Медленная скорость соединения.
Если вы не удовлетворены скоростью соединения, убедитесь, что вы задали скорость соединения ("Настройка"/"Устройство"/"Скорость") на 57600 или выше. Убедитесь, что ваш последовательный порт поддерживает более высокие скорости. Некоторые системы работают неудовлетворительно, если вы устанавливаете скорость на 115200. Если у вас установлен контроллер 8250 UART, это работать не будет. Если у вас 16550 или 16550А — все должно работать без проблем.

Я должен использовать импульсный набор номера вместо тонового (или наоборот).
Вам нужно изменить строку дозвона модема. Почти все модемы поддерживают следующие AT-команды:
— ATDT — устанавливает тоновый набор;
— ATDP — устанавливает импульсный набор.

Как написать файл с правилами обсчета стоимости телефонных звонков?
Следуйте образцу файлов правил обсчета, который поставляется вместе с kppp. Вы должны найти его в ${KDEDIR}/doc/HTML/kppp. Используйте ключ командной строки -r kppp для того, чтобы проверить синтаксис созданного вами файла правил.

Как заставить kppp звонить по нескольким номерам?
Если вы задаете несколько номеров, разделяя их двоеточием, то kppp будет пытаться набирать эти номера в циклическом порядке каждый раз, когда он получает сигнал "занято". Пример: "1111111:2222222:3333333".

Напоследок приведу одну хитрость работы с модемом: ускорение набора номера в тоновом режиме. Если вы хотите применять тоновый набор номера, то продолжительность времени набора может быть изменена, если вы используете регистр S11. Он задает протяженность (в сотых секунды) времени, в течение которого пересылается каждый тон во время набора. По умолчанию обычно задается 95 (почти секунда). Как быстро вы можете набирать в действительности, зависит от оборудования вашей телефонной компании. Минимальный промежуток равен 50, что почти в два раза быстрее, и такая скорость обычно работает. Для установки нового значения задержки используйте последовательно следующие команды модема:
— ATZ — перезагрузка модема на установки, заданные по умолчанию;
— ATS11=50 — записываем самое малое значение, оно соответствует самому быстрому набору номера из всех возможных, используйте большее значение, если набор не срабатывает;
— AT&W — запись установки в заданные по умолчанию параметры.

X-Stranger xstranger@tut.by
www.linux4u.narod.ru


(c) компьютерная газета


Компьютерная газета. Статья была опубликована в номере 45 за 2001 год в рубрике soft :: linux

©1997-2024 Компьютерная газета