<chapter id="faq">
<title
>Vragen en antwoorden</title>
&reporting.bugs; <qandaset id="faqlist">

<qandadiv id="faq-dialing">
<title
>Vragen over telefoonnummer kiezen</title>
<qandaentry>
<question
><para
>Ik kan &kppp; niet laten werken. &kppp; vertelt me <application
>pppd</application
> werkt niet of dat er tijdslimiet is verstreken. Wat is er aan de hand?</para
></question>

<answer
><para
>Hebt u deze handleiding zorgvuldig gelezen? Hier zijn nog eens de meest algemene valkuilen:</para>

<itemizedlist>

<listitem
><para
>Click on the <guibutton
>Details</guibutton
> button. &kppp; will you give an excerpt from the <acronym
>PPP</acronym
> log messages (may not work on non-&Linux; systems, or even on some &Linux; distributions). The log will help you to track down the bug.</para
></listitem>

<listitem
><para
>Controleer dat <application
>pppd</application
> echt de binaire toepassing <application
>pppd</application
> is en geen script</para
></listitem>

<listitem
><para
>Controleer dat <application
>pppd</application
> is setuid <systemitem
>root</systemitem
>. U kunt deze modus instellen door het commando <userinput
><command
>chmod</command
> <option
>u+s pppd</option
></userinput
> als <systemitem
>root</systemitem
> uit te voeren. </para
></listitem>

<listitem
><para
>Controleer dat uw bestand <filename
>/etc/ppp/options</filename
> bestaat en dat het geen regels bevat die met elkaar in conflict zijn. Bij twijfel: laat dit bestand leeg. </para
></listitem>

<listitem
><para
>Controleer dat u <emphasis
>geen</emphasis
> optie <option
>lock</option
> als argument van <application
>pppd</application
> gebruikt (&kppp; neemt het vergrendelen van een apparaat al voor zijn rekening).</para
></listitem>

<listitem
><para
>Verwijder de optie <option
>lock</option
> uit <emphasis
>beide</emphasis
> bestanden <filename
>/etc/ppp/options</filename
> <emphasis
>en</emphasis
> <filename
>&tilde;/.ppprc</filename
>.</para
></listitem>
<listitem
><para
>Gebruik van de symbolische koppeling <filename class="symlink"
>/dev/modem</filename
> kan conflicten veroorzaken. Elimineer deze bron van problemen door de echte apparaatnaam te gebruiken, &ie; <filename
>/dev/cuaX</filename
> of <filename
>/dev/ttySX</filename
>. </para>
<note
><para
><hardware
>COM1</hardware
> is gelijk aan <filename
>ttyS0</filename
>, <hardware
>COM2</hardware
> is <filename
>ttyS1</filename
> enzovoort. </para
></note
></listitem>

<listitem
><para
>Make sure you set the right permission. In case of trouble you might want to run it as root first and then later, when everything is working fine give it less harmful permission if you can not afford to run &kppp; setuid <systemitem
>root</systemitem
>. The proper way to proceed would probably be creating a <systemitem
>modem</systemitem
> group.</para
></listitem>

<listitem
><para
>You might be launching <application
>pppd</application
> too early, &ie; before the remote server is ready to negotiate a <acronym
>PPP</acronym
> connection. If you are using a login script, you should use the built-in terminal to verify your login procedure. Some providers will require you to issue a simple <command
>Send</command
> or <command
>Send ppp</command
> to launch <acronym
>PPP</acronym
>. Some users even reported, that they had to append <command
>Pause 1</command
> or <command
>Pause 2</command
> to their script to solve timing conflicts.</para
></listitem>

</itemizedlist>

<para
>Als niets helpt, dan kunt u enige debuginfotmatie krijgen uit uw systeemlogs met het commando:</para>

<screen
><prompt
>#</prompt
> <userinput
><command
>tail</command
> <filename
>/var/log/messages</filename
></userinput
></screen>

</answer>
</qandaentry>

<qandaentry>
<question
><para
>pppd is dood - het systeem op afstand moet zichzelf authenticeren...</para
></question>

<answer>
<para
>Typisch foutbericht in de systeemlog:</para>
<screen
>pppd[699]: Het systeem op afstand moet zichzelf authenticeren
pppd[699]: echter ik kon geen geschikt wachtwoord vinden om dat te doen.
pppd[699]: (Geen van de beschikbare wachtwoorden liet toe een IP-adres te gebruiken.)
</screen>
<para
>Voorzover ik kan nagaan zijn er twee oorzaken voor dit probleem: </para>
<itemizedlist>
<listitem
><para
><filename
>/etc/ppp/options</filename
> bevat de <option
>auth</option
> option. Zet er eenvoudig een <prompt
>#</prompt
> voor om er commentaar van te maken en probeer het opnieuw. </para
></listitem
> <listitem
><para
>Your system already has a default route. Have you set up a local network? In this case recent versions of pppd will behave as if <option
>auth</option
> had been specified. To override this you may add <option
>noauth</option
> to the pppd arguments in kppp' setup dialog. Alternatively you could take down the local network prior to dialing in. I'd be thankful if someone could provide instructions on how to peacefully combine the two network connections. </para
></listitem>
</itemizedlist>
</answer>
</qandaentry>

<qandaentry>
<question
><para
>pppd breekt in de 2.4.x Linux-kernel</para
></question>
<answer>
<para
>Typische foutberichten in de systeemlog:</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
>Installeer pppd 2.4.0b1 of beter. Zie <filename
>Documentatie/wijzigingen</filename
> in de broncode van de kernel voor meer informatie.</para
> 
</answer>
</qandaentry>

<qandaentry>
<question
><para
>Waarom vertelt &kppp; me <errorname
>Unable to open the modem</errorname
>?</para
></question>

<answer
><para
>This means that &kppp; doesn't have permissions to open the modem device or that you selected a modem device on the <guilabel
>Modem</guilabel
> Tab Dialog that is not valid. First make sure you selected the right modem device. Once you are sure you have selected the right modem device, you must give &kppp; the right permission to access the modem device and to be able to modify <filename
>/etc/resolv.conf</filename
> in case you want &kppp; to configure <acronym
>DNS</acronym
> correctly for you. If you can afford to run &kppp; setuid <systemitem
>root</systemitem
> this would solve all access problems for you, if not you will have to figure out what the right permissions are for your purposes. In order to give &kppp; setuid <systemitem
>root</systemitem
> permissions do the following:</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>su</command
> <option
>root</option
></userinput>
<prompt
>#</prompt
> <userinput
><command
>chown</command
> <option
>root:root &dollar;KDEDIR/bin/kppp</option
></userinput>
<prompt
>#</prompt
> <userinput
><command
>chmod</command
> <option
>+s &dollar;KDEDIR/bin/kppp</option
></userinput>
<prompt
>#</prompt
> <userinput
><command
>exit</command
></userinput
>
</screen>
</answer>
</qandaentry>

<qandaentry>
<question
><para
>Waarom vertelt &kppp; me dat het geen modem-lock-bestand kan aanmaken?</para
></question>

<answer
><para
>This in most instances means that you have installed &kppp; without setuid bit on while you, the person executing &kppp;, doesn't have write access to the lock file folder which by default is <filename class="directory"
>/var/lock</filename
>. This for example is the case on &RedHat; systems. Check the modem dialog for the precise location you have chosen. The solution is easy -- either run &kppp; setuid if you can afford to, or give regular users write access to <filename class="directory"
>/var/lock</filename
> or create a modem group that will have access to the <filename class="directory"
>/var/lock</filename
> file.</para
></answer>
</qandaentry>

<qandaentry>
<question
><para
>Waarom is &kppp; geïnstalleerd met het setuid-bit aan?</para
></question>

<answer
><para
>There is no need for the setuid bit, if you know a bit of &UNIX; systems administration. Simply create a <systemitem
>modem</systemitem
> group, add all users that you want to give access to the modem to that group and make the modem device read/writable for that group. Also if you want <acronym
>DNS</acronym
> configuration to work with &kppp;, then <filename
>/etc/resolv.conf</filename
> must be read/writable by the members of that group. The same counts for <filename
>/etc/ppp/pap-secrets</filename
> and <filename
>/etc/ppp/chap-secrets</filename
> if you want to use the built-in <acronym
>PAP</acronym
> or <acronym
>CHAP</acronym
> support, respectively.</para>

<para
>Het &kppp;-team heeft onlangs veel werk verzet om &kppp; setuid-safe te maken. Maar het is aan u om te bepalen om het te installeren en hoe.</para>

<para
>U zou ook de sectie <link linkend="security"
>Beveiliging</link
> kunnen lezen.</para
></answer>
</qandaentry>

<qandaentry>
<question
><para
>Wat doe ik wanneer &kppp; gewoon zit te wachten met het bericht: <computeroutput
>Expecting OK</computeroutput
></para
></question>

<answer
><para
>Have you played with the CR/LF setting? Try CR, LF or CR/LF.</para>

<para
>Alternatively, your modem might need some time to respond to its initialization. Open the <guilabel
>Modem Commands</guilabel
> dialog on the <guilabel
>Modem</guilabel
> tab and adjust the <guilabel
>Pre-Init</guilabel
> and <guilabel
>Post-Init</guilabel
> delays. See if you are successful when drastically increasing their values, and then do some fine-tuning later.</para
></answer>
</qandaentry>

<qandaentry>
<question
><para
>The connection works fine, but I can't start any applications!</para
></question>

<answer
><para
>You have probably selected the <link linkend="auto-configure-hostname"
>Auto Configure Host Name</link
> option, and the X Server has problems connecting to your newly named host. If you really need this option (and chances are you really don't), you are unfortunately on your own to set up the appropriate authorizations. Issuing <userinput
><command
>xhost</command
> <option
>+</option
></userinput
> before starting the connection would do the job, but be warned of the security risks involved, since this effectively gives everyone else access to your X Server.</para
></answer>
</qandaentry>

<qandaentry>
<question
><para
>&kppp; reports a successful connection, but &konqueror; just says <errorname
>Unknown host <replaceable
>hostname</replaceable
></errorname
>, and &Netscape; reports <errorname
>The server does not have a DNS entry</errorname
>.</para
></question>

<answer
><para
>Try pinging another server by its <acronym
>IP</acronym
> number, &eg; <userinput
><command
>ping</command
> <option
>195.0.254.76</option
></userinput
>. If that works, you could try the following:</para>

<itemizedlist>
<listitem
><para
>Check if you have provided &kppp; with at least one <acronym
>DNS</acronym
> address.</para
></listitem>

<listitem
><para
>Check the contents of <filename
>/etc/host.conf</filename
>. There should be a line saying something similar to <literal
>order hosts, bind</literal
>. The <option
>bind</option
> keyword advises the resolver library to include a name server query when performing an address lookup. If such a line is not there, try adding it.</para
></listitem>
</itemizedlist
></answer>
</qandaentry>

<qandaentry>
<question
><para
>How do I make &kppp; send a <keysym
>\n</keysym
> or a <keysym
>\r</keysym
></para
></question>

<answer
><para
>Just send an empty string such as in the following script:</para>

<informalexample>
<screen
>Send                            # send an empty string
Expect           ID:            
Send             itsme
Expect           word:
Send             forgot
Expect           granted
Send             ppp
</screen>
</informalexample>
</answer>
</qandaentry>

<qandaentry>
<question
><para
>How can I stop &kppp; complaining: <errorname
>Can't create lock file</errorname
>?</para
></question>
<answer
><para
>This happens because you don't have permissions to create a lock file. If you chose to use a lock file, you must have write permission to the folder (typically <filename class="directory"
>/var/lock</filename
>). This is of course no problem if you have given &kppp; setuid permissions. Please read the section on <link linkend="lock-files"
>Lock files</link
>.</para
></answer>
</qandaentry>

<qandaentry>
<question
><para
>Why is my modem making so much noise when dialing?</para
></question>

<answer
><para
>Click on <guibutton
>Setup</guibutton
>, then <guilabel
>Modem</guilabel
>. You can control the modem volume here in three steps: Off, medium and high. For most modems, medium or high result in the same volume. If changing this setting doesn't work, make sure the correct settings for your modem are specified in <guibutton
>Setup</guibutton
>, <guilabel
>Modem</guilabel
>, <guibutton
>Modem Commands</guibutton
>.</para
></answer>
</qandaentry>

<qandaentry>
<question
><para
>I turned the modem volume to <quote
>Off</quote
> and verified the modem commands, but I still hear that awful noise during dialing. Why?</para
></question>

<answer
><para
>The volume initialization string can get lost if your modem can't cope with the speed it is receiving commands from &kppp;. Increase the value of <guilabel
>Post-Init Delay</guilabel
> in <guibutton
>Setup</guibutton
>, <guilabel
>Modem</guilabel
>, <guibutton
>Modem Commands</guibutton
>.</para
></answer>
</qandaentry>

<qandaentry>
<question
><para
>&kppp; keeps reporting unusual modem speeds like <quote
>115200</quote
> or <quote
>57600</quote
></para
></question>

<answer
><para
>Many modems only report the speed of the serial line and not the speed over the telephone line as default. You must configure these modems to report the true line speed by adding some commands to the modem init or dial strings. For many modems this command is <command
>ATW2</command
>. If you want to add it to the dial string (which normally starts with <command
>ATD</command
>), the new dial string would be <command
>ATW2D</command
>.</para
></answer>
</qandaentry>

<qandaentry>
<question
><para
>Why does &kppp; report <quote
>Unknown speed</quote
></para
></question>

<answer
><para
>New modems often have very complex connection messages like <computeroutput
>CONNECT LAP.M/V42.bis/115000:RX/31200:TX</computeroutput
>, and &kppp; cannot parse this message correctly. Turn on <guibutton
>Show Log</guibutton
> and you'll see the connection speed.</para
></answer>
</qandaentry>

<qandaentry>
<question
><para
>I get a slow connection speed</para
></question>

<answer
><para
>If you are not satisfied with the modem speed, make sure you've set the connection speed (you can reach it by clicking on <guibutton
>Setup</guibutton
>, <guilabel
>Device</guilabel
>, <guibutton
>Connection Speed</guibutton
>) to 57600 or higher. Make sure your serial ports support higher speeds. Many older systems based on i486 do not work correctly if you set the speed to 115200. If you have an old <hardware
>8250 UART</hardware
> chip, it won't work. If you have a <hardware
>16550</hardware
> or <hardware
>16550A</hardware
> it should work flawlessly.</para>

<para
>Additionally, you should consult your modem manual to look for init strings that enable a high speed mode.</para
></answer>
</qandaentry>

<qandaentry>
<question
><para
>I get a <emphasis
>REALLY</emphasis
> slow connection speed!</para
></question>

<answer
><para
>If data drips on at a rate of just a few bytes per second, you should check your hardware setup. If moving your mouse speeds up the transmission this is definitely a hardware issue!</para>

<para
>You can obtain some information about your serial port with <userinput
><command
>setserial</command
> <option
>-a <replaceable
>/dev/ttySx</replaceable
></option
></userinput
> and check for interrupt conflicts with other components of your system.</para
></answer>
</qandaentry>

<qandaentry>
<question
><para
>My phone line needs pulse dialing instead of tone dialing (or vice-versa). How do I change that?</para
></question>
<answer
><para
>You must modify your modem dial string. Nearly all modems support the following AT commands:</para>

<variablelist>
<varlistentry>
<term
><command
>ATDT</command
></term>
<listitem
><para
><action
>Selects tone dialing</action
></para
></listitem>
</varlistentry>
<varlistentry>
<term
><command
>ATDP</command
></term>
<listitem
><para
><action
>Selects pulse dialing</action
></para
></listitem>
</varlistentry>
</variablelist>
</answer>

</qandaentry>

</qandadiv>

<qandadiv id="faq-telephone-cost-rules">
<title
>Questions about Telephone Cost Rules</title>
<qandaentry>
<question
><para
>How do I write a telephones cost rules file?</para
></question>
<answer
><para
>Just follow the <filename
>TEMPLATE</filename
> rules file supplied with &kppp;. You should be able to find a copy in <filename class="directory"
>$KDEDIR/doc/HTML/<replaceable
>yourlang</replaceable
>/kppp/</filename
>. Use the <option
>-r</option
> &kppp; command line option to check the syntax of your proposed rules file.</para
></answer>
</qandaentry>

<qandaentry>
<question
><para
>I have written a telephone cost rules for my region. Where can I submit it so that others can make use of it?</para
></question>
<answer
><!-- LW: Find out -->
<!-- lukas: the answer is: send it to the kppp maintainer, Harri Porten --></answer>
</qandaentry>

<qandaentry>
<question
><para
>Can my phone cost rulefile contain fractional time units like "(0.17, 45.5)"?</para
></question>
<answer
><para
>Yes this is possible. But you shouldn't use unusually small time units below a tenth of a second, because this would result in higher <acronym
>CPU</acronym
> load, although you probably won't notice on a modern <acronym
>CPU</acronym
>.</para
></answer>
</qandaentry>

<qandaentry>
<question
><para
>My country observes other <quote
>moving</quote
> holidays than Easter.</para
></question>
<answer
><para
>In that case, you need to write new code that allows for the computation of that holiday. Please have a look at <filename
>ruleset.cpp</filename
> and emulate the <quote
>easter</quote
> example. Then send in the patches!.</para
></answer>
</qandaentry>
</qandadiv>

<qandadiv id="faq-system-logs">
<title
>Questions about the System Logs</title>
<qandaentry>
<question
><para
>I see a message saying <errorname
>Serial line is looped back</errorname
>. What does this mean?</para
></question>

<answer
><para
>Short answer: You didn't start the <acronym
>PPP</acronym
> software on the peer system.</para>

<!-- this doc doesn't exist.. help -->
<!-- http://www.dejanews.com/getdoc.xp?AN="184945314" -->

</answer>
</qandaentry>

<qandaentry>
<question
><para
>The logs show <errorname
>Signal 15</errorname
></para
></question>
<answer
><para
>If you see the following lines, you've probably just received a timeout error from &kppp;. &kppp; has been waiting for the <acronym
>PPP</acronym
> interface to come up and gave up after the specified timeout. <application
>pppd</application
> was signalled to shut down, with signal number 15, &ie; <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 &lt;--&gt; /dev/ttyS0
pppd[26921]: Terminating on signal 15.
pppd[26921]: Connection terminated.
pppd[26921]: Exit.
</computeroutput></screen>
</informalexample>
</answer>
</qandaentry>

<qandaentry>
<question
><para
>What about <errorname
>Receive serial link is not 8-bit clean</errorname
></para
></question>
<answer
><para
>The <acronym
>PPP</acronym
> daemon is alarmed by the fact that all the data it receives has bit 8 set to zero. In most cases this simply indicates that the remote <acronym
>PPP</acronym
> server isn't running yet. You might still be confronted by a login prompt that echoes back all the data sent by your <application
>pppd</application
>.</para
></answer>
</qandaentry>

<qandaentry>
<question
><para
>and <errorname
>can't locate module ppp-compress</errorname
>? What's this?</para
></question>
<answer
><para
>Do you see the following messages?</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
>Just add the lines:</para>

<screen
><userinput>
alias ppp-compress-21 bsd_comp 
alias ppp-compress-24 ppp_deflate 
alias ppp-compress-26 ppp_deflate </userinput></screen>

<para
>to your <filename
>/etc/conf.modules</filename
> file.</para>
</answer>
</qandaentry>

</qandadiv>

</qandaset>

</chapter>
