<chapter id="faq"> <title >Вопросы и ответы</title> &reporting.bugs; <qandaset id="faqlist"> <qandadiv id="faq-dialing"> <title >Вопросы о дозвоне</title> <qandaentry> <question ><para >&kppp; не работает. &kppp; сообщает, что демон <application >ppp</application > прекратил работу или истёк период времени ожидания. Что происходит?</para ></question> <answer ><para >Внимательно ли вы прочли это руководство? Ниже приводятся наиболее распространённые ловушки:</para> <itemizedlist> <listitem ><para >Нажмите на кнопку <guibutton >Подробности</guibutton >. &kppp; выдаст вам выдержку из логов сообщений <acronym >PPP</acronym > (эта опция может на работать на не-&Linux; компьютерах, и даже на некоторых дистрибутивах ОС &Linux;). Логи помогут вам найти ошибку.</para ></listitem> <listitem ><para >Убедитесь в том, что демон <application >ppp</application > является двоичным исполняемым демоном <application >ppp</application >, а не скриптом</para ></listitem> <listitem ><para >Убедитесь в том, что демон <application >ppp</application > установлен с SUID-битом и правами <systemitem >root</systemitem >. Вы можете задать этот режим командой <userinput ><command >chmod</command > <option >u+s pppd</option ></userinput > как суперпользователь <systemitem >root</systemitem >. </para ></listitem> <listitem ><para >Убедитесь в том, что файл <filename >/etc/ppp/options</filename > существует и не содержит конфликтующих записей. Если что-либо в этом файле вызывает у вас сомнения: удалите содержимое файла. </para ></listitem> <listitem ><para >Убедитесь в том, что вы <emphasis >НЕ</emphasis > используете опцию <option >lock</option > в качестве аргумента для демона <application >ppp</application > (программа &kppp; сама заботится о блокировке модема).</para ></listitem> <listitem ><para >Удалите опцию <option >lock</option > из <emphasis >обоих</emphasis > файлов <filename >/etc/ppp/options</filename > <emphasis >и</emphasis > <filename >˜/.ppprc</filename >!</para ></listitem> <listitem ><para >Использование символической ссылки <filename class="symlink" >/dev/modem</filename > также может вызвать конфликт. Устраните причину ошибки использованием реального устройства, то есть <filename >/dev/cuaX</filename > или <filename >/dev/ttySX</filename >. </para> <note ><para ><hardware >COM1</hardware > относится к <filename >ttyS0</filename >, <hardware >COM2</hardware > - к <filename >ttyS1</filename > и так далее. </para ></note ></listitem> <listitem ><para >Убедитесь в правильности задания прав на доступ. В случае неполадок вы можете запустить программу как суперпользователь, а затем, когда неполадки будут устранены, задать меньшие права, если не можете позволить себе выполнение &kppp; с правами <systemitem >суперпользователя</systemitem >. Возможно, решением окажется создание группы <systemitem >modem</systemitem >.</para ></listitem> <listitem ><para >Возможно, вы запускаете демон <application >ppp</application > слишком рано, то есть, до того, как удалённый сервер готов установить <acronym >PPP</acronym >-соединение. Если вы используете скрипт регистрации, с помощью встроенного терминала проверьте процедуру регистрации. Некоторые провайдеры требуют наличия простых команд <command >Send</command > или <command >Send ppp</command > для запуска <acronym >PPP</acronym >. По словам некоторых пользователей, им пришлось добавить команду <command >Pause 1</command > или <command >Pause 2</command > в скрипт для решения конфликтов с временем.</para ></listitem> </itemizedlist> <para >Если проблема так и не разрешилась, вы можете получить информацию для отладки из логов системы, выполнив команду:</para> <screen ><prompt >#</prompt > <userinput ><command >tail</command > <filename >/var/log/messages</filename ></userinput ></screen> </answer> </qandaentry> <qandaentry> <question ><para >pppd закрыл соединение - Удалённая система должна пройти аутентификацию ...</para ></question> <answer> <para >Типичное сообщение об ошибке в системном журнале:</para> <screen >pppd[699]: The remote system is required to authenticate itself pppd[699]: but I couldn't find any suitable secret (password) for it to use to do so. pppd[699]: (None of the available passwords would let it use an IP address.) </screen> <para >Возможны две причины этой проблемы: </para> <itemizedlist> <listitem ><para >В файле <filename >/etc/ppp/options</filename > задан параметр <option >auth</option >. Закомментируйте его, добавив <prompt >#</prompt > в начало строки, и попробуйте ещё раз. </para ></listitem > <listitem ><para >Ваша система уже имеет маршрут по умолчанию. Возможно, вы уже в локальной сети? В таком случае последние версии pppd будут вести себя так, как будто задан параметр <option >auth</option >. Чтобы исправить это, задайте <option >noauth</option > в качестве параметра pppd в диалоге настройки kppp. Или же просто отключайте локальный интерфейс прежде чем начать дозвон. Я был бы благодарен тому, кто сможет подсказать простой способ мирного сосуществования двух подключений - по локальной сети и по модему. </para ></listitem> </itemizedlist> </answer> </qandaentry> <qandaentry> <question ><para >pppd завершает работу при ядре 2.4.x в Линукс</para ></question> <answer> <para >Типичные сообщения об ошибке в системном журнале:</para> <screen >pppd[1182]: pppd 2.3.11 started by user, uid 500 pppd[1182]: ioctl(PPPIOCGFLAGS): Invalid argument pppd[1182]: tcsetattr: Invalid argument pppd[1182]: Exit. </screen> <para >Обновите pppd до версии 2.4.0b1 или более свежей. Прочитайте файл <filename >Documentation/Changes</filename > в исходниках ядра, чтобы подробнее узнать об этом.</para > </answer> </qandaentry> <qandaentry> <question ><para >Почему &kppp; выдаёт сообщение: <errorname >Не удаётся открыть модем</errorname >?</para ></question> <answer ><para >Это означает, что у &kppp; нет разрешения на использование модема или же на вкладке <guilabel >Модем</guilabel > вы указали недействительный модем. Сперва убедитесь в правильности указания модема. После того, как вы убедитесь в том, что модем указан верно, разрешите &kppp; доступ к модему, а также изменение файла <filename >/etc/resolv.conf</filename >, если &kppp; будет определять <acronym >DNS</acronym >. Если вы можете позволить выполнение &kppp; с правами <systemitem >суперпользователя</systemitem >, -- это решит проблемы с правами доступа, в противном случае все права на доступ вы должны регулировать самостоятельно. Для задания &kppp; прав <systemitem >суперпользователя</systemitem > выполните следующие команды:</para> <screen ><prompt >%</prompt > <userinput ><command >su</command > <option >root</option ></userinput> <prompt >#</prompt > <userinput ><command >chown</command > <option >root:root $KDEDIR/bin/kppp</option ></userinput> <prompt >#</prompt > <userinput ><command >chmod</command > <option >+s $KDEDIR/bin/kppp</option ></userinput> <prompt >#</prompt > <userinput ><command >exit</command ></userinput > </screen> </answer> </qandaentry> <qandaentry> <question ><para >Почему &kppp; сообщает о невозможности создания файла блокировки модема?</para ></question> <answer ><para >В большинстве случаев это означает, что вы установили &kppp; без бита SETUID, или пользователь, использующий &kppp;, не имеет разрешения на запись в каталог файлов блокировки, по умолчанию - в <filename class="directory" >/var/lock</filename >. Это пример систем &RedHat;. Проверьте диалог модема для определения заданного каталога. Простое решение: запустите &kppp; с битом SETUID, если можете позволить себе такое, или разрешите пользователям доступ к каталогу <filename class="directory" >/var/lock</filename >, или создайте группу modem, у которой будет доступ к файлам каталога <filename class="directory" >/var/lock</filename >.</para ></answer> </qandaentry> <qandaentry> <question ><para >Почему &kppp; устанавливается с битом SETUID?</para ></question> <answer ><para >para >В SETUID-бите нет нужды, если вы немного знакомы с системным администрированием ОС &UNIX;. Просто создайте группу <systemitem >modem</systemitem >, добавьте в неё всех пользователей, которым разрешён доступ к модему и разрешите этой группе доступ на чтение/запись в модем. Если вам также необходимо, чтобы конфигурация <acronym >DNS</acronym > работала с &kppp;, файл <filename >/etc/resolv.conf</filename > должен быть доступен на чтение/запись членам этой группы. Это также относится к файлам <filename >/etc/ppp/pap-secrets</filename > и <filename >/etc/ppp/chap-secrets</filename >, если вы используете соответствующую поддержку <acronym >PAP</acronym > или <acronym >CHAP</acronym >.</para> <para >Команда разработчиков программы &kppp; за последнее время проделала большую работу, чтобы сделать &kppp; безопасной в отношении SUID. Но принимать решение об установке и методах установки программы придётся вам.</para> <para >Вас также могут заинтересовать сведения в разделе <link linkend="security" >Безопасность</link >.</para ></answer> </qandaentry> <qandaentry> <question ><para >Что мне делать, если &kppp; не устанавливает соединения, а выдаёт сообщение: <computeroutput >Ожидается строка OK</computeroutput ></para ></question> <answer ><para >Вы пробовали применять команды CR/LF? Попробуйте следующие команды: CR, LF или CR/LF.</para> <para >Кроме того, вашему модему может потребоваться некоторое время для ответа при инициализации. Откройте диалог <guilabel >Команды модема</guilabel > на вкладке <guilabel >Модем</guilabel > и измените значения задержек <guilabel >До инициализации</guilabel > и <guilabel >После инициализации</guilabel >. Выясните, поможет ли вам значительное изменение этих значений, затем выполните более точную настройку.</para ></answer> </qandaentry> <qandaentry> <question ><para >Соединение работает, но я не могу запустить ни одно приложение!</para ></question> <answer ><para >Вероятно, вы отметили опцию <link linkend="auto-configure-hostname" >Автоконфигурация имени хоста</link >, и у Х-сервера возникают проблемы при подключении к переименованному хосту. Если эта опция вам действительно необходима (а скорее всего, она не нужна), то вы должны принять решение об установке соответствующих разрешений. Выполнение команды <userinput ><command >xhost</command > <option >+</option ></userinput > перед установлением соединения решит эту проблему, но вызывает угрозу безопасности, так как разрешает всем подключение к вашему Х-серверу.</para ></answer> </qandaentry> <qandaentry> <question ><para >&kppp; сообщает об установлении соединения, но &konqueror; выдаёт сообщение <errorname >Неизвестный хост <replaceable >имя_хоста</replaceable ></errorname >, а &Netscape; выдаёт сообщение <errorname >Сервер не имеет записей в таблицах DNS.</errorname >.</para ></question> <answer ><para >Попробуйте послать ICMP-запрос на <acronym >IP</acronym >-адрес другого сервера, например: <userinput ><command >ping</command > <option >195.0.254.76</option ></userinput >. Если на ваш запрос вы получите ответ, то:</para> <itemizedlist> <listitem ><para >Проверьте, указали ли вы в &kppp; хотя бы один <acronym >DNS</acronym >-сервер.</para ></listitem> <listitem ><para >Проверьте содержимое файла <filename >/etc/host.conf</filename >. Он должен содержать примерно такую строку: <literal >order hosts, bind</literal >. Ключевое слово <option >bind</option > указывает библиотеке перевода адреса запросить сервер имён при осуществлении перевода адреса. Если такой строки в файле нет, добавьте её.</para ></listitem> </itemizedlist ></answer> </qandaentry> <qandaentry> <question ><para >Как мне указать &kppp; послать строку <keysym >\n</keysym > или же <keysym >\r</keysym ></para ></question> <answer ><para >Добавьте пустую строку, как показано в примере скрипта:</para> <informalexample> <screen >Send # послать пустую строку Expect ID: Send itsme Expect word: Send forgot Expect granted Send ppp </screen> </informalexample> </answer> </qandaentry> <qandaentry> <question ><para >Как мне избавиться от сообщения &kppp;: <errorname >Невозможно создать файл блокировки модема</errorname >?</para ></question> <answer ><para >Это происходит по причине отсутствия у вас прав на создание файла блокировки. Если вы используете файл блокировки, то у вас должны быть права на запись в каталог (как правило, <filename class="directory" >/var/lock</filename >). Такой проблемы не возникнет, если вы установили для &kppp; SUID-бит. Обратитесь к разделу <link linkend="lock-files" >Файлы блокировки</link >.</para ></answer> </qandaentry> <qandaentry> <question ><para >Почему мой модем так шумит при установлении соединения?</para ></question> <answer ><para >Нажмите на кнопку <guibutton >Настройка</guibutton >, а затем на вкладку <guilabel >Модем</guilabel >. Вы можете установить громкость динамика модема в одно из трёх состояний: Выключено, Средне и Громко. Для большинства модемов Средне и Громко дают один и тот же результат. Если изменение этой настройки не помогает, убедитесь в том, что правильные настройки модема указаны в разделе <guibutton >Настройка</guibutton >, <guilabel >Модем</guilabel >, <guibutton >Команды модема</guibutton >.</para ></answer> </qandaentry> <qandaentry> <question ><para >Я установил громкость динамика модема в положение <quote >Выключено</quote > и проверил команды модема, тем не менее, модем по-прежнему ужасно шумит при дозвоне. Почему?</para ></question> <answer ><para >Строка инициализации звука может быть потеряна в случае, если модем не успевает обрабатывать команды, полученные от &kppp;. Увеличьте значение <guilabel >Задержки после инициализации</guilabel > в разделе <guibutton >Настройка</guibutton >, <guilabel >Модем</guilabel >, <guibutton >Команды модема</guibutton >.</para ></answer> </qandaentry> <qandaentry> <question ><para >&kppp; сообщает об установлении соединения с нехарактерной для модемного соединения скоростью <quote >115200</quote > или же <quote >57600</quote ></para ></question> <answer ><para >Большинство модемов сообщают о скорости последовательной линии, а не о скорости телефонного соединения. Таким модемам можно указать сообщать скорость телефонного соединения добавлением команд к строке инициализации или строке дозвона. Для большинства модемов такой командой является <command >ATW2</command >. Если вы хотите добавить эту команду к строке дозвона (которая, как правило, начинается с <command >ATD</command >), в таком случае новая строка дозвона будет такой: <command >ATW2D</command >.</para ></answer> </qandaentry> <qandaentry> <question ><para >Почему &kppp; выдаёт сообщение <quote >Скорость соединения не определена</quote >?</para ></question> <answer ><para >У современных модемов бывают очень сложными сообщения о соединении, к примеру, <computeroutput >CONNECT LAP.M/V42.bis/115000:RX/31200:TX</computeroutput >, и &kppp; не в состоянии правильно обработать такое сообщение. Включите опцию <guibutton >Показывать Лог</guibutton >, -- и определите скорость соединения.</para ></answer> </qandaentry> <qandaentry> <question ><para >Скорость моего соединения низка</para ></question> <answer ><para >Если вы не довольны скоростью модемного соединения, убедитесь, что вы установили скорость соединения (доступно в разделе <guibutton >Настройка</guibutton >, <guilabel >Устройство</guilabel >, <guibutton >Скорость соединения</guibutton >) равной 57600 или выше. Убедитесь, что ваши последовательные порты поддерживают высокие скорости. Большинство старых систем (на основе i486) некорректно работают при задании скорости, равной 115200. Если вы используете чипсет <hardware >8250 UART</hardware >, он не будет работать. Чип <hardware >16550</hardware > или <hardware >16550A</hardware > будет работать без проблем.</para> <para >Кроме того, вам нужно установить, как строка инициализации переводит модем в высокоскоростной режим (согласно руководству по эксплуатации от вашего модема).</para ></answer> </qandaentry> <qandaentry> <question ><para >Скорость моего соединения <emphasis >очень</emphasis > низка!</para ></question> <answer ><para >Если соединение происходит на скорости в несколько бит в секунду, проверьте аппаратные настройки. Если движение мыши ускоряет передачу данных, то это точно аппаратная проблема!</para> <para >Вы можете получить сведения о состоянии последовательного порта командой <userinput ><command >setserial</command > <option >-a <replaceable >/dev/ttySx</replaceable ></option ></userinput > и проверить систему на наличие конфликтов прерываний. Модуль <guilabel >Сведения</guilabel > программы &kcontrol; также может оказаться полезным.</para ></answer> </qandaentry> <qandaentry> <question ><para >Мне необходимо использовать импульсный набор номера, а не тональный (или наоборот). Как мне изменить этот параметр?</para ></question> <answer ><para >Измените строку дозвона модема. Практически все модемы поддерживают следующие AT-команды:</para> <variablelist> <varlistentry> <term ><command >ATDT</command ></term> <listitem ><para ><action >Выбрать тоновый набор номера</action ></para ></listitem> </varlistentry> <varlistentry> <term ><command >ATDP</command ></term> <listitem ><para ><action >Выбрать импульсный набор номера</action ></para ></listitem> </varlistentry> </variablelist> </answer> </qandaentry> </qandadiv> <qandadiv id="faq-telephone-cost-rules"> <title >Вопросы о правилах учёта стоимости телефонных звонков</title> <qandaentry> <question ><para >Как мне написать файл правил (rules file) для учёта стоимости телефонных звонков?</para ></question> <answer ><para >Используйте файл правил <filename >TEMPLATE</filename >, который включен в &kppp;. Он находится в каталоге <filename class="directory" >$KDEDIR/doc/HTML/<replaceable >ваш_язык</replaceable >/kppp/</filename >. Используйте опцию <option >-r</option > командной строки &kppp; для проверки синтаксиса созданного вами файла правил.</para ></answer> </qandaentry> <qandaentry> <question ><para >Я написал файл правил (rules file) для учёта стоимости телефонных звонков в моем районе. Что я должен сделать, чтобы другие тоже могли использовать его?</para ></question> <answer ><!-- LW: Find out --> <!-- lukas: the answer is: send it to the kppp maintainer, Harri Porten --></answer> </qandaentry> <qandaentry> <question ><para >Возможно ли использовать в файле правил для учёта стоимости телефонных звонков дробные числа, к примеру, "(0.17, 45.5)"?</para ></question> <answer ><para >Да, возможно. Но не следует использовать слишком малые значения (менее десятых долей секунды), так как это повышает нагрузку на <acronym >процессор</acronym >, хотя, возможно, пройдёт незамеченным на современном <acronym >процессоре</acronym >.</para ></answer> </qandaentry> <qandaentry> <question ><para >Помимо праздника Пасхи, в моей стране есть и другие праздники с <quote >не фиксированной</quote > датой.</para ></question> <answer ><para >В таком случае вам придётся написать собственный код для определения даты этих праздников. Обратитесь к файлу <filename >ruleset.cpp</filename >, в качестве примера используйте праздник <quote >Пасхи</quote >. Затем пошлите этот участок кода для включения в программу!</para ></answer> </qandaentry> </qandadiv> <qandadiv id="faq-system-logs"> <title >Вопросы о логах сообщений системы</title> <qandaentry> <question ><para >У меня появляется сообщение <errorname >Линия зациклилась</errorname >. Что это означает?</para ></question> <answer ><para >Короткий ответ: вам не удалось запустить <acronym >PPP</acronym >-соединение на удалённом компьютере.</para> <!-- this doc doesn't exist.. help --> <!-- http://www.dejanews.com/getdoc.xp?AN="184945314" --> </answer> </qandaentry> <qandaentry> <question ><para >В логах значится сообщение <errorname >Signal 15</errorname ></para ></question> <answer ><para >Если вы видите следующие строки, скорее всего это означает, что &kppp; сообщает об ошибке времени ожидания. &kppp; ожидает запуска <acronym >PPP</acronym >-интерфейса в течение заданного времени ожидания, после чего ожидание прекращается. Демон <application >ppp</application > получает команду на останов, Signal 15: <errorcode >SIGTERM</errorcode >.</para> <informalexample> <screen ><computeroutput> pppd[26921]: pppd 2.3.5 started by me, uid 500 pppd[26921]: Using interface ppp0 pppd[26921]: Connect: ppp0 <--> /dev/ttyS0 pppd[26921]: Terminating on signal 15. pppd[26921]: Connection terminated. pppd[26921]: Exit. </computeroutput ></screen> </informalexample> </answer> </qandaentry> <qandaentry> <question ><para >Что означает сообщение <errorname >Принятый сигнал линии не является 8-битным</errorname ></para ></question> <answer ><para >Демон <acronym >PPP</acronym > предупреждает о том, что 8-ой бит принимаемых данных данных установлен в 0. В большинстве случаев это значит, что <acronym >PPP</acronym >-сервер пока не запущен на удалённом компьютере. Вы можете увидеть запрос на логин, который будет возвращать все данные, переданные демоном <application >ppp</application >.</para ></answer> </qandaentry> <qandaentry> <question ><para >Сообщение: <errorname >can't locate module ppp-compress</errorname >? Что оно означает?</para ></question> <answer ><para >Система выдаёт следующие сообщения?</para> <informalexample> <screen ><computeroutput> modprobe: can't locate module ppp-compress-21 modprobe: can't locate module ppp-compress-26 modprobe: can't locate module ppp-compress-24 </computeroutput ></screen> </informalexample> <para >Добавьте следующие строки:</para> <screen ><userinput> alias ppp-compress-21 bsd_comp alias ppp-compress-24 ppp_deflate alias ppp-compress-26 ppp_deflate </userinput ></screen> <para >к файлу <filename >/etc/conf.modules</filename >.</para> </answer> </qandaentry> </qandadiv> </qandaset> </chapter>