summaryrefslogtreecommitdiffstats
path: root/doc/kppp/kppp-faq.docbook
blob: 57ef26ffe0d34b25d63649afc912f5c4caa0bb58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
<chapter id="faq">
<title>Questions and Answers</title>

&reporting.bugs;

<qandaset id="faqlist">

<qandadiv id="faq-dialing">
<title>Questions about Dialing</title>
<qandaentry>
<question><para>I can't get &kppp; to work.  &kppp; tells me
<application>pppd</application> has died or that a timeout has expired.  What's
going on?</para></question>

<answer><para>Did you read this manual carefully?  Here are once more the most common pitfalls:</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> Make sure that <application>pppd</application> is the actual
<application>pppd</application> binary not a script</para></listitem>

<listitem><para> Make sure that <application>pppd</application> is setuid
<systemitem>root</systemitem>. You may set this mode by issuing
<userinput><command>chmod</command> <option>u+s pppd</option></userinput> as
<systemitem>root</systemitem>. </para></listitem>

<listitem><para> Make sure that your <filename>/etc/ppp/options</filename> file
exists and that it doesn't contain any conflicting entries. If in doubt: Leave
this file empty. </para></listitem>

<listitem><para> Make sure that you <emphasis>don't</emphasis> use the option
<option>lock</option> as an argument for <application>pppd</application> (&kppp;
is already taking care of device locking).</para></listitem>

<listitem><para> Remove the <option>lock</option> option from
<emphasis>both</emphasis> your <filename>/etc/ppp/options</filename>
<emphasis>and</emphasis> <filename>&tilde;/.ppprc</filename>
files!</para></listitem>
<listitem><para> Using the symbolic link <filename
class="symlink">/dev/modem</filename> may cause some conflicts. Eliminate this
source of trouble by using the real device, &ie; <filename>/dev/cuaX</filename>
or <filename>/dev/ttySX</filename>. </para>
<note><para><hardware>COM1</hardware> equals <filename>ttyS0</filename>,
<hardware>COM2</hardware> is <filename>ttyS1</filename> and so
on. </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>If nothing helps, you might obtain some debugging info from your systems
log by issuing:</para>

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

</answer>
</qandaentry>

<qandaentry>
<question><para>pppd died - The remote system is required to authenticate itself ...</para></question>

<answer>
<para>Typical error message in system log:</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>As far as I can tell there are two causes for this problem: </para>
<itemizedlist>
<listitem><para><filename>/etc/ppp/options</filename> contains the
<option>auth</option> option. Simply put a <prompt>#</prompt> comment in
front and try again. </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 dies with 2.4.x Linux kernel</para></question>
<answer>
<para>Typical error messages in the system log:</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>Install pppd 2.4.0b1 or better. See
<filename>Documentation/Changes</filename> in the kernel sources for more 
info.</para> 
</answer>
</qandaentry>

<qandaentry>
<question><para>Why does &kppp; tell 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>Why does &kppp; tell me it can't create a modem lock
file?</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>Why is &kppp; installed with the SETUID bit
on?</para></question>

<answer><para>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>The &kppp; team has lately done a lot of work to make
&kppp; setuid-safe. But it's up to you to decide if you 
install and how you install it.</para>

<para>You might also want to read the <link linkend="security">Security</link>
section.</para></answer>
</qandaentry>

<qandaentry>
<question><para>What do I do when &kppp; just sits there and waits with the
message: <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.  The &kcontrol; module
<guilabel>Information</guilabel> might also be of help here.</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>