From bcb704366cb5e333a626c18c308c7e0448a8e69f Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdenetwork@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- doc/kppp/Makefile.am | 4 + doc/kppp/accounting.docbook | 158 +++++ doc/kppp/callback.docbook | 268 +++++++++ doc/kppp/chap.docbook | 191 ++++++ doc/kppp/costsgraphs.fig | 55 ++ doc/kppp/costsgraphs.png | Bin 0 -> 4683 bytes doc/kppp/dialog-setup.docbook | 765 ++++++++++++++++++++++++ doc/kppp/getting-online.docbook | 52 ++ doc/kppp/global-settings.docbook | 385 ++++++++++++ doc/kppp/hayes.docbook | 927 +++++++++++++++++++++++++++++ doc/kppp/index.docbook | 268 +++++++++ doc/kppp/kppp-account-accounting-tab.png | Bin 0 -> 16023 bytes doc/kppp/kppp-account-dial-tab.png | Bin 0 -> 17949 bytes doc/kppp/kppp-account-dns-tab.png | Bin 0 -> 14561 bytes doc/kppp/kppp-account-execute-tab.png | Bin 0 -> 12672 bytes doc/kppp/kppp-account-gateway-tab.png | Bin 0 -> 11884 bytes doc/kppp/kppp-account-ip-tab.png | Bin 0 -> 11922 bytes doc/kppp/kppp-account-login-script-tab.png | Bin 0 -> 14416 bytes doc/kppp/kppp-config.png | Bin 0 -> 15047 bytes doc/kppp/kppp-device-tab.png | Bin 0 -> 15882 bytes doc/kppp/kppp-dialler-tab.png | Bin 0 -> 8420 bytes doc/kppp/kppp-faq.docbook | 477 +++++++++++++++ doc/kppp/kppp-graph-tab.png | Bin 0 -> 10742 bytes doc/kppp/kppp-misc-tab.png | Bin 0 -> 12114 bytes doc/kppp/kppp-modem-tab.png | Bin 0 -> 14686 bytes doc/kppp/kppp-wizard.png | Bin 0 -> 9295 bytes doc/kppp/kppp.faq.question | 54 ++ doc/kppp/security.docbook | 96 +++ doc/kppp/tricks.docbook | 175 ++++++ doc/kppp/ttyS-cua.txt | 46 ++ doc/kppp/wizard.docbook | 117 ++++ 31 files changed, 4038 insertions(+) create mode 100644 doc/kppp/Makefile.am create mode 100644 doc/kppp/accounting.docbook create mode 100644 doc/kppp/callback.docbook create mode 100644 doc/kppp/chap.docbook create mode 100644 doc/kppp/costsgraphs.fig create mode 100644 doc/kppp/costsgraphs.png create mode 100644 doc/kppp/dialog-setup.docbook create mode 100644 doc/kppp/getting-online.docbook create mode 100644 doc/kppp/global-settings.docbook create mode 100644 doc/kppp/hayes.docbook create mode 100644 doc/kppp/index.docbook create mode 100644 doc/kppp/kppp-account-accounting-tab.png create mode 100644 doc/kppp/kppp-account-dial-tab.png create mode 100644 doc/kppp/kppp-account-dns-tab.png create mode 100644 doc/kppp/kppp-account-execute-tab.png create mode 100644 doc/kppp/kppp-account-gateway-tab.png create mode 100644 doc/kppp/kppp-account-ip-tab.png create mode 100644 doc/kppp/kppp-account-login-script-tab.png create mode 100644 doc/kppp/kppp-config.png create mode 100644 doc/kppp/kppp-device-tab.png create mode 100644 doc/kppp/kppp-dialler-tab.png create mode 100644 doc/kppp/kppp-faq.docbook create mode 100644 doc/kppp/kppp-graph-tab.png create mode 100644 doc/kppp/kppp-misc-tab.png create mode 100644 doc/kppp/kppp-modem-tab.png create mode 100644 doc/kppp/kppp-wizard.png create mode 100644 doc/kppp/kppp.faq.question create mode 100644 doc/kppp/security.docbook create mode 100644 doc/kppp/tricks.docbook create mode 100644 doc/kppp/ttyS-cua.txt create mode 100644 doc/kppp/wizard.docbook (limited to 'doc/kppp') diff --git a/doc/kppp/Makefile.am b/doc/kppp/Makefile.am new file mode 100644 index 00000000..085981d9 --- /dev/null +++ b/doc/kppp/Makefile.am @@ -0,0 +1,4 @@ + +KDE_LANG = en +KDE_DOCS = AUTO + diff --git a/doc/kppp/accounting.docbook b/doc/kppp/accounting.docbook new file mode 100644 index 00000000..ec6db43c --- /dev/null +++ b/doc/kppp/accounting.docbook @@ -0,0 +1,158 @@ + +An example template for Telephone cost accounting. + +If you can't find a rule for your region you will have to write one by +following the following template. Don't be afraid though it is really +easy. + +Don't forget to submit your newly created rules file to &kppp;'s +maintainer. The newly created rules file can be checked for valid syntax with +the +rule_file command line option to &kppp; +and must be installed in ${KDEDIR}/share/apps/kppp/Rules or in ${HOME}/.kde/share/apps/kppp/Rules before you will +be able to select it in this dialog. + + +################################################################ +# +# Disclaimer/License +# This Template ist (c) by Mario Weilguni <mweilguni@kde.org> +# It ist licensed under the same terms as the kppp package, +# which it is part of +# +################################################################ +# +# This is a sample rule set for kppp. You can use it as a +# template when you have to create your own ruleset. If you do +# so, remove all comments and add your own. This will allow +# other users to check your ruleset more easily. +# +# Please sign the the tarif file with your name an email address +# so that I can contact you if necessary. +# +# NOTE: the rules in this rule set do not make much sense and +# are only for demonstration purposes +# +# NOTE ON FILENAMES: +# when you create your own ruleset, use "_" in filename +# instead of spaces and use ".rst as extension +# i.e. "Austria city calls" +# --> file should be saved as "Austria_city_calls.rst" +# +# Thanks, Bernd Wuebben +# wuebben@math.cornell.edu / wuebben@kde.org +################################################################ + + +################################################################ +# +# NAME OF THE RULESET. This is NEEDED for accounting purposes. +# +################################################################ +name=default + +################################################################ +# currency settings +################################################################ + +# defines ATS (Austrian Schilling) to be used as currency +# symbol (not absolutely needed, default = "$") +currency_symbol=ATS + +# Define the position of the currency symbol. +# (not absolutely needed, default is "right") +currency_position=right + +# Define the number of significant digits. +# (not absolutely needed, default is "2" +currency_digits=2 + + + +################################################################ +# connection settings +################################################################ + +# NOTE: rules are applied from top to bottom - the +# LAST matching rule is the one used for the +# cost computations. + +# This is charged whenever you connect. If you don't have to +# pay per-connection, use "0" here or comment it out. +per_connection=0.0 + + +# minimum costs per per connection. If the costs of a phone +# call are less than this value, this value is used instead +minimum_costs=0.0 + + +# You pay .74 for the first 180 seconds ( 3 minutes) no matter +# whether you are connected for 1 second or 180 seconds. +# This rule will take priority during the first 180 seconds +# over any other rule, in particular the 'default' rule. +# have a look at costgraphs.gif in the docs directory +# of the kppp distribution for a graphic illustration. +flat_init_costs=(0.74,180) + +# This is the default rule which is used when no other rule +# applies. The first component "0.1" is the price of one +# "unit", while "72" is the duration in seconds. +# Therefore the following rule means: "Every 72 seconds 0.1 +# ATS are added to the bill" +default=(0.1, 72) + +# +# more complicated rules: +# + +# "on monday until sunday from 12:00 am until 11:59 pm the costs +# are 0.2 each 72 seconds" +on () between () use (0.2, 2) + +# same as above +on (monday..sunday) between () use (0.2, 2) + +# same as above. You must use 24 hour notation, or the accounting +# will not work correctly. (Example: write 15:00 for 3 pm) +on (monday..sunday) between (0:00..23:59) use (0.2, 2) + +# applies on friday, saturday, sunday and monday 8am until 1pm +on (friday..monday) between (8:00..13:00) use(0.3,72) + +# ATTENTION: +on(monday..friday) between (21:00..5:00) use (0.4,2) +# does NOT include saturday 0:00-5:00, just monday..friday, as it says. + +# applies on a given date (christmas) +on (12/25) between () use (0.3,72) + +# a range of dates and one weekday +on (12/25..12/27, 12/31, 07/04, monday) between () use (0.4, 72) + +# use this for easter +on (easter) between () use (0.3,72) + +# easter + 50 days (Pfingstmontag/ Pentecost Monday ) +on (easter+50) between () use (0.3,72) + +on (thursday) between (20:00..21:52) use (8.2, 1) + + +# The "on()" rules above all relates to current time only. You can also +# make a rule depend on the number of seconds you have been connected +# by specifying this time as a third argument to "use()". +# For instance, let's say normal rate in the evening is 0.20 per minute, +# and it drops by 20% after one hour of connect time. This can be modelled +# like: + +on () between (19:30..08:00) use (0.20, 60) +on () between (19:30..08:00) use (0.16, 60, 3600) + +# Note that these rules, just like other rules, are sensitive to the +# order in which they appear. + + + diff --git a/doc/kppp/callback.docbook b/doc/kppp/callback.docbook new file mode 100644 index 00000000..93f79238 --- /dev/null +++ b/doc/kppp/callback.docbook @@ -0,0 +1,268 @@ + +Configuring &kppp; for callback + +This chapter is based on material provided by Martin Häfner, +mh@ap-dec717c.physik.uni-karlsruhe.de + + +&UNIX; or &Linux; callback server + +This section introduces &UNIX; (&Linux;) callback, and how &kppp; can be +configured to connect to a &UNIX; callback server, especially to a script based +&Linux; callback server + + +An Introduction to callback + +There are several reasons to consider using callback. Some of these are: + + + +To increase the security of your local network + + +To reduce expenses of external co-workers + + +To control telephone costs where calls are claimed as business +expenses + + + +Think about someone calling the number of your dial in server, and then +cracking a password. Why bother to maintain a firewall for your internet +connection, if access to your network is that easy?. + +Callback software generally asks for your name, and then hangs up the +line. It then calls you back, usually at a number that is stored +on the server in a database. The client then picks up the +phone line and continues with the dial-in as if nothing had happened. The +server now requests your username and password, knowing that you are who you +said you were when you first dialled in, or at the least, you are where you said +you were. The connection is established normally, and the +pppd is started. + +Now the big question is, how to tell the client to pick up the phone, when +the server calls you back. Do you need a special program, such as +mgetty? The answer is, no, you +don't need a special client program. In general, any client can be used for +callback connections, you could even use an ordinary terminal program such as +minicom to connect. + +The only thing you have to do is tell your modem to +AutoAnswer the phone when a +RING is detected by the modem. This is done +with the following modem command: + + +AT&SO=1 + + +This tells the modem to pick the phone up after one +RING. + +Like a lot of other client programs, &kppp; checks to see if the +connection is closed by the server, and then stops the current session if a +NO CARRIER is detected. This, then, is the +real problem when setting up callback. NO +CARRIER will of course be detected the moment the callback +server hangs up the line. Some servers therefore use a special login program. +So how do you solve this problem? You tell your modem to show +CARRIER UP at all times (which causes no +problems if you tell the client to hang up the line.) You can do this with the +following modem command: + + +AT&C0 + + +If you want to test this, you can first use an ordinary terminal program +such as minicom, and call your callback server, to +see what hapens. + + + + +The &kppp; setup + +So, now that you've seen the theory in action, how do you go about setting +up &kppp; to handle the connection? + +The procedure is quite straightforward, as follows. + + + +First tell the modem to accept connections, and to not stop the +negotiation when the callback server hangs up the line for the first time. You +can add both these options in the Modem tab of the &kppp; +configuration, by adding to the option Dial String the +string AT&C0S0=1DT +There are no other changes with configuration for &kppp;. If you meet +trouble with modem init and reset, check the Troubleshooting section for more +information. + + +Think about your server for a moment. Remember that &UNIX;, &Windows; and +Macintosh operating systems have differing opinions about how to end a line in a +text file, and therefore, in login procedures too. If you are connecting to a +&Windows; server, use CR/LF, if you are connecting to a +&UNIX; server, use CR, and if you are connecting to a +Macintosh server, use LF + + + + +We are assuming for these instructions that you are calling a &Linux; +callback package which uses ordinary login (not PAP or +such). +Set the Authentication style in the +Dial tab of the account configuration to +Script-based + + +Now you have to build the login script. Editing of login scripts is one +of the very cool features of &kppp; You can find it in the Login +Script tab of the Edit Account dialog. + +In this example, the user userxyz needs the +following script to be called. The callback server already knows the table of +names and their applicable phone numbers, so you select the phone number to be +used with an alias, for security purposes. + +For each line, choose the criteria from the drop down list on the left of +the dialog, and type in the action in the text box on it's right. Choose the +Add to add each line to the script. You can use +Insert to add a line into the middle of the script, and +Remove to delete a line if you made a mistake. + +The entire script should look something like this (without the comments, +shown here starting with a #) + + +Expect ogin: # remember, we do ordinary terminal login +ID "" # kppp sends the id you configured in +the main dialog +Expect for userxyz: # a list of available numbers is +shown, the user should choose one +Send userxyz-home # the user wants to be called back +on their home number +Expect ogin: # The callback process is now +running, a new connection, and so a new login. +ID +Expect assword: # Now send your password +Expect > # Wait for the command prompt (the +prompt may vary) +Send start_ppp # this command starts the pppd + + +After waiting for the login request, the user sends his ID and waits for a +list of available phone numbers for that username. Then he tells the server +which of the numbers offered he would like to be called back on. &kppp; can +open a dialog for this, if your location changes often, ⪚ you are a sales +representative and move from hotel to hotel. Now the server is expecting login +and password for authentication, but in the meantime, the server hangs up and +calls the user back. The authentication information is sent, and &kppp; waits +for a command prompt, and then starts a small script (here called +start_ppp which fires up pppd on +the server. + +The start_ppp script might look something like the +following: + + +#!/bin/sh +stty -echo +exec /usr/sbin/pppd -detach silent modem + + +Of course, setting up a PPP server is not within the +scope of this document. For detailed information, see the +pppd man pages. An excellent description of a +callback server can be found at +http://ap-dec717c.physik.uni-karlsruhe.de/~mh/callback + + + +All other configuration issues, such as pppd +configuration or IP settings work as normal, and no special +software is required to pick up the line. + + +&kppp; callback and other programs such as +mgetty or any other faxgetty can be run on the same +serial port. There are no problems with the dial in, as &kppp; creates a lock +file which will tell the getty program that another application (in this case, +&kppp; of course,) is using the line at that time. + + + + + +Troubleshooting + +There are some known problems with &kppp; in callback mode: + + + +As you initialize the modem to auto answer, you need to reset the modem +after your connection is closed. Otherwise, your modem will continue to pick up +the line for you, which is not a good idea if the line in question is your main +phone line. + + +&kppp; has some small problems when sharing a line with another program, +such as mgetty. If mgetty +is running on the same modem line, &kppp; is not able to initialize the modem +correctly. + + + +&kppp; is unable to prompt for certain user input during a scripting based +login. Unfortunately, when using the example script above, &kppp; also asks for +the user name the second time the callback server requests it. You can get rid +of this by hardcoding your userid into the login script (not very portable or +nice, but it works. + + + + + + +Internet Resources for server software + +&Linux; callback server software bundles are available in many +places. + +The well known mgetty is a very powerful +program, and is also able to handle callback connections. A description of how +to set up mgetty for this purpose is maintained at + +http://www.dyer.demon.co.uk/slug/tipscrip.htm, by Colin McKinnon, +colin@wew.co.uk. + +There is also a ready to use package for &Linux; at +http://www.icce.rug.nl/docs/programs/callback/callback.html. This +package is maintained by Frank B. Brokken, frank@icce.rug.nl. As +the setup, although straightforward, is not very easy, I have written a short +introduction for it at http://ap-dec717c.physik.uni-karlsruhe.de/~mh/callback/, +which also contains a more general introduction to callback. + + + + + +&Windows; NT <acronym>RAS</acronym> callback + +&Windows; NT uses a completely different approach than the one described +above. NT requires an extension to the PPP protocol itself, +called CBCP (Call Back Control Protocol). +pppd has support for this protocol, but you must +recompile pppd. If anybody has experience with +successfully connecting to an NT callback server, please let us know. + + + diff --git a/doc/kppp/chap.docbook b/doc/kppp/chap.docbook new file mode 100644 index 00000000..ebbdd3b9 --- /dev/null +++ b/doc/kppp/chap.docbook @@ -0,0 +1,191 @@ + +<acronym>PAP</acronym> and <acronym>CHAP</acronym> + +Starting with version 0.9.1, &kppp; has supported directly the most +commonly used form of PAP authentication. + + +<acronym>PAP</acronym> with &kppp; + +There are two different ways to use PAP. + + +Client side authentication + +This variant is used by many commercial ISP's. It +basically means that you (or rather, your computer) must authenticate yourself +to the ISP's PPP server. The +PPP server does not need to authenticate itself to your +computer. This is no security issue, as you should know which computer you just +tried to dial to. + +If your ISP gives you a username and password, and +tells you to use PAP authentication, this is the variant you +should choose. + + + + +Two way authentication + +As above, but in this case your computer requires the +ISP PPP server to authenticate itself. In +order to establish a connection, you must chose the authentication method +Script based, not PAP, and you will +have to manually edit /etc/ppp/pap-secrets. While &kppp; +doesn't provide built in support for this variant, it is nevertheless easy to +establish a connection. + + + + +Preparing &kppp; for <acronym>PAP</acronym> + + + +Make sure that the file /etc/ppp/options (and +˜/.ppprc if it exists) do not +contain one of the following arguments: + + + + + + + + + + + + + + + + + + + + + + + + + +It is very unlikely that any of these options are already there, but just +to be sure, please check. + + +Start &kppp; + + +Click Setup + + +Choose the account you want to use PAP with and click +Edit + + +Choose the Dial tab + + +Select PAP in the Authentication +drop down box. + + +If you do not want to retype the password each time you dial in, select +Store password. This will save the password to a file, so +make sure that nobody else has access to your account. + + +That's it. Close the dialogs, type in the username and password your +ISP supplied, and click +Connect. + + + + + + + + + +An alternative method of using <acronym>PAP</acronym> and +<acronym>CHAP</acronym> with &kppp; + +This section is based on an email from Keith Brown +kbrown@pdq.net and explains how to make &kppp; work with a +generic PAP or CHAP account. If your +ISP just gave you a user id and a password for an account, +you probably can skip this section, and the instructions in the previous one +will be all you need. + +PAP seems a lot more complicated at first glance than +it really is. The server (the machine you are connecting to) basically tells +the client (your machine) to authenticate using PAP. The +client (pppd) looks in a specific file for an entry +that contains a matching server name, and a client name for this connection, and +then sends the password it finds there. That's about it! + +Now here's how to make that happen. I am assuming a +pppd version of 2.2.x or better and a standard installation +of configuration files under /etc/ppp. + +For the purposes of illustration, imagine that you have an internet +account with glob.net with the username +userbaz and the password +foobar + +First, you need to add all this to a file called +/etc/ppp/pap-secrets. The format of an entry for our +purposes is: + +USERNAME SERVERNAME PASSWORD + +So you would add the following line to +/etc/ppp/pap-secrets and then save it : + +userbaz glob foobar + + +You can use any name for the server you wish, so long as you use the +same name in the pppd arguments, as you'll see +shortly. Here it's been shortened to glob, but this name +is only used to locate the correct password. + + +Next you need to set up the connection in &kppp;. The basics are the same +as any other connection, so we won't go into details here, except to say that +you probably want to make sure that /etc/ppp/options is +empty, and you don't want to create a login script either. + +In the &kppp; settings dialog, at the bottom of the +Dial tab, is a pppd arguments +button. This brings up an editing dialog. Here you can enter values that will +be sent to pppd as command line arguments, and in the +case of multiple value arguments, you need to enter each value as a separate +entry in the listbox, in the correct order. + +You can put in any other arguments you want first. Then add the arguments +that pppd uses to handle PAP +authentication. In this example, we are going to add +user, userbaz, +remotename and glob in that +order. + +The tells the pppd what +user name to look for in the pap-secrets file and then to +send to the server. The remotename is used by pppd +to match the entry in the pap-secrets file, so again, it +can be anything you want so long as it is consistent with the entry in the +pap-secrets file. + +That's all there is to it, and you should now be able to set up your own +connection to a server with PAP authentication. +CHAP is not much different. You can see the &Linux; Network +Administrators Guide for a chap-secrets file format, and +the pppd arguments used, and the rest should be +simple. + + + diff --git a/doc/kppp/costsgraphs.fig b/doc/kppp/costsgraphs.fig new file mode 100644 index 00000000..0c1f5d66 --- /dev/null +++ b/doc/kppp/costsgraphs.fig @@ -0,0 +1,55 @@ +#FIG 3.2 +Landscape +Center +Inches +Letter +100.00 +Single +0 +1200 2 +2 2 0 1 0 7 0 0 -1 0.000 0 0 -1 0 0 2 + 900 900 900 900 +2 2 0 1 0 7 0 0 -1 4.000 0 0 -1 0 0 5 + 900 900 6000 900 6000 3900 900 3900 900 900 +2 1 0 1 0 7 0 0 -1 4.000 0 0 -1 0 0 2 + 900 2700 2400 2700 +2 1 1 1 0 7 0 0 -1 4.000 0 0 -1 0 0 2 + 900 3900 2400 2700 +2 1 0 1 0 7 0 0 -1 4.000 0 0 -1 0 0 2 + 2400 2700 4800 900 +2 2 0 1 0 7 0 0 -1 4.000 0 0 -1 0 0 5 + 900 4500 6000 4500 6000 7500 900 7500 900 4500 +2 1 0 1 0 7 0 0 -1 4.000 0 0 -1 0 0 2 + 900 6300 2700 4500 +2 2 0 1 0 7 0 0 -1 4.000 0 0 -1 0 0 5 + 6900 900 12000 900 12000 3900 6900 3900 6900 900 +2 1 0 1 0 7 0 0 -1 4.000 0 0 -1 0 0 3 + 6900 3000 9600 3000 10800 900 +2 1 1 1 0 7 0 0 -1 4.000 0 0 -1 0 0 2 + 9600 3000 9075 3900 +2 1 0 1 0 7 0 0 -1 0.000 0 0 -1 0 1 2 + 2 1 1.00 60.00 120.00 + 9150 4050 9675 4275 +4 0 0 0 0 0 12 0.0000 4 180 4740 7125 5475 These graphs illustrate, why the new keyword 'flat_init_costs'\001 +4 0 0 0 0 0 12 0.0000 4 180 4830 7125 6150 minimum_cost and pre_connection alone. The situation depicted\001 +4 0 0 0 0 0 12 0.0000 4 180 165 750 525 a)\001 +4 0 0 0 0 0 12 0.0000 4 180 165 6975 600 c)\001 +4 0 0 0 0 0 12 0.0000 4 180 165 600 4350 b)\001 +4 0 0 0 0 0 12 0.0000 4 180 2055 8625 4500 Note: This is not the origin!\001 +4 0 0 0 0 0 12 0.0000 4 135 330 11400 4200 time\001 +4 0 0 0 0 0 12 0.0000 4 135 330 5325 4125 time\001 +4 0 0 0 0 0 12 0.0000 4 135 330 5475 7725 time\001 +4 0 0 0 0 0 12 0.0000 4 105 330 6300 975 cost\001 +4 0 0 0 0 0 12 0.0000 4 105 330 300 975 cost\001 +4 0 0 0 0 0 12 0.0000 4 105 330 300 4650 cost\001 +4 0 0 0 0 0 12 0.0000 4 135 1215 10650 7500 Bernd Wuebben\001 +4 0 0 0 0 0 12 0.0000 4 180 1395 10650 7725 wuebben@kde.org\001 +4 0 0 0 0 0 12 0.0000 4 180 4875 7125 6675 c) could also not be generated with 'rules' since rules depend on\001 +4 0 0 0 0 0 12 0.0000 4 180 4860 7125 6900 'absolut times 'such as '3:00pm', not on 'relative times' such as\001 +4 0 0 0 0 0 12 0.0000 4 180 2925 7125 7125 'the first 3 minutes' during connection.\001 +4 0 0 0 0 0 12 0.0000 4 180 1560 2550 675 minimum_cost graph\001 +4 0 0 0 0 0 12 0.0000 4 180 1620 2775 4275 per_connection graph\001 +4 0 0 0 0 0 12 0.0000 4 180 1560 8850 675 flat_init_costs graph\001 +4 0 0 0 0 0 12 0.0000 4 180 4920 7125 5700 was necessry. A cost graph such as the one show above, labeled\001 +4 0 0 0 0 0 12 0.0000 4 180 4425 7125 5925 'flat_init_cost graph' could not be generated with the rules\001 +4 0 0 0 0 0 12 0.0000 4 180 4455 7125 6375 in the graph c) above is the one encounted in France today.\001 diff --git a/doc/kppp/costsgraphs.png b/doc/kppp/costsgraphs.png new file mode 100644 index 00000000..2e5d88fd Binary files /dev/null and b/doc/kppp/costsgraphs.png differ diff --git a/doc/kppp/dialog-setup.docbook b/doc/kppp/dialog-setup.docbook new file mode 100644 index 00000000..ce76ac49 --- /dev/null +++ b/doc/kppp/dialog-setup.docbook @@ -0,0 +1,765 @@ + +Setting up a connection with the dialogs + +Setting up a connection with the dialog based setup is not too much more +difficult than using the wizard. + +You can reach the setup dialog the same way you did the wizard. Start +&kppp; from your K menu, where you will find its entry in the +Internet as Internet +Dialer. + +The following dialog will appear: + + +The &kppp; dialer startup screen + + + + +The &kppp; dialer startup screen + +The &kppp; dialer startup screen + + + +It will probably not have any entries to begin with, and that's what we're +about to do now. + +Click the Setup button to begin setting up a new +Internet connection. + +This time, choose Dialog setup and you'll see the +following Dialog appear: + + +The New Account Dialog + + + + + +The New Account Dialog + + +The New Account Dialog + + + + + + +The New Account dialog contains the following +sections: + + + +Dial + + +IP + + +Gateway + + +DNS + + +Login +Script + + +Execute + + +Accounting + + + +You normally won't need to fill in all these, although each of them is +described in the following sections. + + +The <guilabel>Dial</guilabel> tab + + +The Accounts Dial tab + + + + + +The Accounts Dial tab + +The Accounts Dial tab + + + + +The Dial tab has the following options: + + + +Connection Name: + +You must give the account a name. This can be anything you like, but if +you have more than one account, each name must be unique. + + + +Phone Number: + +Specify the phone number to dial. You can use characters such as +- to make the number more legible. If you concatenate a series +of numbers separated by a colon (⪚ +1111111:2222222:3333333, &kppp; will try these numbers one +after the other whenever it receives a busy signal. You can use the +Add button to add another number, +Remove to remove a number from the list, and the +up and down arrows to change the order of +the list. + + + +Authentication + +Choose the appropriate method of authentication that &kppp; should use to +log into the server. Check with your provider for more information. Use of +PAP and CHAP are described in the chapter +. + + + +Store password + +Check this option if you want &kppp; to remember your password between +sessions. + + + +Customize pppd arguments... + +This will bring up the pppd arguments dialog. +You can use this dialog to add any desired options that you want &kppp; to hand +to pppd. See the pppd man +page for a list of available options, but unless you know exactly what you are +doing, you should probably restrain yourself from tinkering with these. + + + + + + + +The <guilabel>IP</guilabel> tab + + +The Accounts IP tab + + + + + +The Accounts IP tab + +The Accounts IP tab + + + + + + +Dynamic IP Address + +Check this if your ISP uses dynamic +IP address assignment. In this case, your +IP address will change every time you establish a +connection. + + + +Static IP Address + +Check this if your ISP has given you a static +IP address. In that case you will also need to fill in that +address in the IP Address box, and any Subnet +Mask if applicable. Ask your ISP if +unsure. Dynamically assigned addresses are used in the huge majority if +ISP's and leaving this checked will in most cases be the +right choice. + + + +Auto-configure hostname from this IP + +Select this option if you want &kppp; to set the hostname and domain for +your machine after a successful ppp connection. +This is done by querying the defined Domain Name Server with the +IP assigned for the ppp link. +This option is useful for those stand-alone machines which want to use +protocols such as talk, which require the hostname to be the same as your +machine is known on the internet. It overrides the Domain +Name option in the DNS section, and the machine +defaults are restored to their original values when you close the +ppp connection. +This option is not useful if you just want to connect +to the internet and surf, check mail, or chat. It has the side-effect of +disallowing any new connections to your X server - in other words, you can't +open any more GUI programs. +Only turn this on if you are absolutely sure you need it. + + + + + + + +The <guilabel>Gateway</guilabel> tab + + +The Accounts Gateway tab + + + + + +The Accounts Gateway tab + +The Accounts Gateway tab + + + + + + +Default Gateway + +Check this if you want pppd to use the default +Gateway for your machine. This is the default. + + + +Static Gateway + +Check this if you want to specify the Gateway to be used in place of the +default. + + + +Assign the Default Route to this Gateway + +You almost certainly will need this to be checked (the default). + + + + + + + +The <guilabel>DNS</guilabel> tab + + +The Accounts DNS tab + + + + + +The Accounts DNS tab + +The Accounts DNS tab + + + + + + +Domain Name: + +Specify the domain name for your machine. As with DNS +addresses, it is restored to the original specified in +/etc/resolv.conf when the connection goes down. If it is +left blank, no changes are made to the domain name specified in +/etc/resolv.conf + + + +Configuration: + +Choose between Automatic (the ISP +will automatically issue you DNS server addresses when you +connect) and Manual. If you choose manual, the +DNS IP Address section is then enabled. + + + +DNS IP Address + +This section is only enabled if you chose Manual in +the previous option. Add the Domain Name Servers assigned to you by your +ISP. You must specify at least one Domain Name Server for +your OS to be able to resolve human readable +IP addresses such as +ftp.kde.org. The DNS server +addresses supplied must be in numeric form, ⪚ +128.231.231.233. These addresses will be added at +runtime to /etc/resolv.conf. +Choose the Add button to add each new +DNS server address to the list box below. Choose +Remove to remove an entry from the list. + + + +Disable existing DNS Servers during Connection + +If you check this box, any DNS servers listed in +/etc/resolv.conf will be disabled while the connection +remains up. + + + + + + + +The <guilabel>Login Script</guilabel> tab + + +The Accounts Login Script tab + + + + + +The Accounts Login Script tab + +The Accounts Login Script tab + + + + +Use this dialog to compose a dial in script for your +ISP dialup connection. You can use the mini-terminal and the +information supplied by your ISP to find out what sequence of +actions needs to be executed. + +Choose an option from the drop down box on the left, and then add any +parameters for that action in the edit box on the right. Use +Add to add each entry to the bottom +of the script, which is displayed in the lower part of the dialog. Use +Insert to insert an entry anywhere in the script, and use +Remove to delete a line from the script. + +The options available are: + + + +Expect + +&kppp; will wait for the specified string to be received. + + + +Send + +&kppp; will send the specified string. + + + +Scan + +&kppp; will scan the input stream for the specified string, and will +store any character from the end of the string up to the next newline, in an +internal buffer. Trailing and leading whitespace will be stripped off. + + + +Save + +Permanently store the previously scanned string in the specified register. +Currently the only valid register is password. + + + +Pause + +Pause for the specified number of seconds. + + + +Hangup + +&kppp; will send the hangup to the modem. + + + +Answer + +&kppp; will set the modem into answer mode. + + + +Timeout + +Change the default timeout to the specified number of seconds dynamically +during the script. You can change the timeout several times during script +execution if necessary. + + + +Prompt + +Prompt the &kppp; user to enter a string, given the specified string as a +hint. The user will see what is typed. If the specified string includes the +mark ##, the mark will be replaced with the current +content of the internal scan buffer, as previously stored with the +scan command. + + + +PWPrompt + +Prompt the &kppp; user to enter a string, given the specified string as a +hint. An asterisk will be printed for each character the user types. + + + +ID + +If the Login ID field on &kppp;'s main dialog is filled in, +send that ID. If the Login ID field is not +filled in, prompt the &kppp; user to enter an ID, given the +specified string as a hint. The user will see what is typed. On a second pass, +such as in a loop on a second iteration, or during callback authentication, the +prompt will be displayed regardless of whether the Login ID field +is filled in. + + + +Password + +If the Password field on &kppp;'s main dialog is +filled in, send that password. If the Password field is +not filled in, prompt the &kppp; user to enter a password, with the specified +string as a hint. An asterisk will be printed for each character typed. On a +second pass, such as in a loop on a second iteration, or during callback +authentication, the prompt will be displayed regardless of whether the +Password field is filled in. + + + +LoopStart + +&kppp; will wait for the specified string to be received. It will save +the string for use by LoopEnd. + + + +LoopEnd + +&kppp; will wait for the specified string to be received to exit the loop. +If the string given by the corresponding LoopStart is +received first, it will trigger a jump to the line after +LoopStart, enabling repetition of username/password style +paired dialogs. + + + + + +Example Scripts + + +A simple example login script +Here is a simple example script I could use to connect to my +ISP + + + Expect ID: # wait for ID: + Send myid # you have to substitute myid with your id + Expect word: # wait for 'password' + Send 4u3fjkl # send my password '4u3fjkl' + Expect granted # My ISP send 'Permission granted' on login success. + Send ppp # This starts a ppp connection for + # me on the ISP side. + + + + + +A login script that prompts for ID and password, and has loops. + +Here is a script for the same account with an ID and +password prompt. This script will prompt for ID and password +each time, no matter what is typed into the Login ID and +password fields on &kppp;'s main screen. + +This script also illustrates the use of the LoopStart/LoopEnd structure. +If something goes wrong during the login procedure, for example, I mistype the +password, my ISP will print an error message and restart the +id/password loop by issuing the string ID: +again. If the string ID: is caught before the +LoopEnd keyword was parsed, &kppp; will start the script again, from the line +after the LoopStart keyword. + + + LoopStart ID: # wait for ID: + Prompt Enter ID: # Prompt me for my ID and send it off. + Expect word: # wait for 'password' + PWPrompt Enter Password: # Prompt me for my password and send it off. + LoopEnd granted # My ISP send 'Permission granted' on login success. + Send ppp # This starts a ppp connection for me + + + + +Prompts for information not filled in on the main dialog. + +Here is the script that I actually use to connect to my +ISP. This script will prompt for ID and +password only if I haven't filled in the respective fields on &kppp;'s main +dialog. + + + LoopStart ID: # wait for ID: + ID Enter ID: # Prompt me for my ID and send it off. + Expect word: # wait for 'password' + Password Enter Password # Prompt me for my password and send it off. + LoopEnd granted # My ISP send 'Permission granted' on login success. + Send ppp # This starts a ppp connection for me + # on the ISP side + + + + + +A script for an <acronym>ISP</acronym> using challenge/response +authentication. + +Here is a script that I use to connect to an ISP which +is using some sort of challenge/response authentication. Usually you got a +hardware token (a smart card with a display and calculator like keypad) from the +ISP. You have to know a password to use the token. After +dialing in your ISP displays your challenge. You have to +type in the challenge to your token and get a dynamic password as a +response. Then you have to enter that password. + + + LoopStart ID: # wait for ID: + ID Enter ID: # Prompt me for my ID and send it off. + Scan Challenge: # Scan for 'Challenge' and store everything behind up to the next newline. + Expect Password: # wait for 'password' + Prompt Your token is ## - Enter Password # Prompt me for my password and send it off. + LoopEnd granted # My ISP sends 'Permission granted' on login success. + Send ppp # This starts a ppp connection for me + # on the ISP side + + + + +Using Scan and Save in scripts + +The following log shows the login procedure of a fictitious +ISP that provides a new password on each login. The new +password has to be verified and recorded for the next session. + + University of Lummerland + + Login:mylogin + Password: + The password for your next session is: YLeLfkZb + Please record and enter it for verification. + Verification:YLeLfkZb + + 1 = telnet + 2 = SLIP + 3 = PPP + + Your choice: + + +&kppp; can be used to this cumbersome task for you, eliminating the risk +of losing that little sheet of paper that holds your current password at the +same time. The key part of the following script is the combination of Scan/Save +keywords. + + +7 Expect Login: # wait for login prompt + ID # send ID + Expect Password: # wait for password prompt + Password # send password + Scan is: # wait for '... next session is:' and + # scan the preceding password + Save password # save the new password for next login + Expect Verification: # wait for 'Verification:' + Password # send new password + Expect choice: # wait for a prompt that let's you choose + # between different options (telnet, SLIP, PPP) + Send 3 # choose option 3, i.e. PPP + + + + + + + + +The <guilabel>Execute</guilabel> tab + + +The Accounts Execute tab + + + + + +The Accounts Execute tab + +The Accounts Execute tab + + + + +Here you can select commands to run at certain stages of the connection. +These commands are run with your real user id, so you cannot run any commands +here requiring root permissions, unless you are of course dialled in as root (a +bad thing to do for many reasons!) + +Make sure to supply the whole path to the program, otherwise &kppp; may +not be able to find it. + +You can add commands to be run at four distinct times during the +connection process: + + + +Before Connect + +Run this command before the dialing is initiated, so it is already +running when you connect to your ISP. + + + +Upon Connect + +Run this command only after a successful connection is +made. + + + +Before disconnect + +Run this command while still connected, before hanging up the +modem. + + + +Upon disconnect + +Run this command after the connection has been closed. + + + + +You might for example want to run leafnode as +soon as you have connected, or check your mail. You might want to make sure any +mail in your queue is sent, before you close your connection down. You might +want a clean-up script to tidy up logs and clear your cache after +you have disconnected. + + + + +The <guilabel>Accounting</guilabel> tab + + +The Accounts Accounting tab + + + + + +The Accounts Accounting tab + +The Accounts Accounting tab + + + + +Check the Enable Accounting box to enable or disable +telephone cost accounting for this account. + +Select from the list the applicable rule for your telecoms +provider. + +If you can't find one, you can write one yourself by copying the supplied +template, which you will find in an appendix. + +The final option on this page is Volume Accounting, +described below. + + +Volume Accounting + + +What is volume accounting? + +Basically, it means to count the number of bytes transmitted to and from +the Internet. &kppp; can count incoming bytes, outgoing bytes, or both. It's +up to you what you want (or must) use. + + + + +Why should I use volume accounting? + +Many Internet Service Providers bill their customers based on the number +of bytes transferred. Even more commonly, ISP's offer a flat +rate up to some arbitrary transfer limit, and then charge more for every +megabyte above this limit. &kppp; shows you your current volume and can help +you keep your bills to the minimum. Of course, even if you're not billed based +on volume, you can turn on volume accounting just to satisfy your own +curiosity. + + + + +What type of volume accounting should I select? + +That depends mainly on your provider. Many of them only count how many +megabytes you download from the Internet,and ignore how much you send. In that +case you should choose Bytes In. If you have to pay for +both, you should choose Bytes In and Out. Bytes +Out is really only here for completeness, as we're not aware of any +providers using it as a billing basis. It might be useful to those of you +running a web or &FTP; server at home though. + + + + +Drawbacks + +Unfortunately, there is a drawback on volume accounting. &kppp; will only +count the number of bytes, regardless of their origin. Many providers set their +limit only for Internet access, and not for data on their own network. Some +providers set different limits for data that is on their own network, in the +same country, and coming from overseas. So, if you're doing not much +websurfing, and getting most of your pages from your ISP's +own proxy cache, then your provider is probably not charging you for that data. +&kppp; will not know these IP packets are coming from the +proxy, and so it will count them. So if you this situation applies to you, or, +as another example, your provider uses a caching news server such as +nntpcached, then the volume reported by &kppp; may be +higher than the amount you are going to be billed for. On the bright side, at +least &kppp; will never underestimate your bills. + + + + + + + + diff --git a/doc/kppp/getting-online.docbook b/doc/kppp/getting-online.docbook new file mode 100644 index 00000000..97d2ba66 --- /dev/null +++ b/doc/kppp/getting-online.docbook @@ -0,0 +1,52 @@ + +Getting online the easy way + + +A few things you should have ready before you start + +If you have a fairly modern &Linux; distribution, you might find the rest +of this document superfluous. &kppp; comes with a clever little wizard that in +many cases can have you up and running with an internet connection in just a few +minutes. + +Whether using the wizard or not, you should know the following information +before you begin: + + +Your ISP modem pool phone +number. +Your username and password for your +ISP. +Your ISP's DNS servers +(one is sufficient, but two is better). + + +Other optional information you should find out to fully access your +ISP's services are: + + +The incoming mail server address (often pop.yourisp.com or mail.yourisp.com)Also find out if +your ISP uses the POP3 protocol or IMAP. +The outgoing (SMTP) mail server address (it +could be the same as the incoming mail server, or it is often called something +like smtp.yourisp.com). +The Usenet News (NNTP) server address (possibly +news.yourisp.com or nntp.yourisp.com). +Any proxy servers your ISP has set +up. + + +All this information is probably available on any paperwork you received +from your ISP when you signed up with them, or you can find +it out from your ISP's support telephone line. + +Armed with the above, and a fairly recent default installation of &Linux;, +you may well find that setting up an internet connection is as simple as running +the &kppp; wizard. + + + diff --git a/doc/kppp/global-settings.docbook b/doc/kppp/global-settings.docbook new file mode 100644 index 00000000..a11cc8d4 --- /dev/null +++ b/doc/kppp/global-settings.docbook @@ -0,0 +1,385 @@ + +Global &kppp; settings + +The changes made here affect all accounts you have set up in &kppp; + + +The <guilabel>Accounts</guilabel> tab + + +The Accounts tab + + + + + +The Accounts tab + +The Accounts tab + + + + +In this dialog, you can manage the accounts themselves. The names of the +accounts appear in a list on the left of the dialog. + +To delete an account, select the Delete button. +You will be asked to confirm before the account is finally deleted. + +You can make a copy of an account with the Copy +button. You could use this for example, to separate different users in the +family, although that would normally be better done by having them be different +users in the OS as well! Or perhaps you just have more than one account with +the same ISP and wish to use both of them. + +Choosing Edit... will take you to the dialog +described in Dialog Setup, but with the +selected accounts details. + +Choosing New... will offer you the choice between +the Wizard or the Dialog Setup already described. + +If you select an account, and you have turned on accounting then the accumulated information +for that account will appear in the two panels labelled Phone +Costs: and Volume: respectively. + +To the left of the accounting display, are two buttons: +Reset... and View Logs. + +Pressing Reset... will reset the Phone +Costs: and Volume: information to 0. You would +typically want to do this once a month or quarter, when you have received your +phone bill and reconciled the telephone costs. You can reset either +independently, and are offered the choice of which item you want to reset, when +you press the Reset button. + +Pressing View Logs will open another window, where +a log of all the calls made with &kppp; will be displayed. If you have kept +logs, you can move forward and backward, in monthly steps. This might be useful +if you have received an abnormally large phone bill and are investigating +why! + + + + +The <guilabel>Device</guilabel> tab + + +The Device tab + + + + + +The Device tab + +The Device tab + + + + +Here you can select and configure your modem. + + + +Modem Device + +Choose the device appropriate for your hardware. + + +/dev/ttys0 + +DOS or &Windows; users will know this as COM1, while COM2 is +/dev/ttys1 and so on. These devices are +the ones normally used on &Linux; systems. + + + +/dev/cua0 + +The first serial line (COM1). COM2 is usually +/dev/cua1 and so on. These devices are commonly used on +BSD systems, namely FreeBSD, NetBSD and OpenBSD. Older &Linux; systems may also +have these, although on &Linux; they were renamed some time ago to /dev/ttySx. + + + +/dev/ttyI0 + +On &Linux; these belong to internal ISDN cards. These +devices emulate a common Hayes compatible modem. +/dev/ttyI0 is for the first, +/dev/ttyI1 is for the second +ISDN card and so on. These devices are only available in the +&Linux; version. + + + +/dev/modem + +Many &Linux; distributions make a symbolic link from the real modem device +to /dev/modem. You should avoid +using this one.. Use the real device that it is pointing to +instead. + + + + + + +Flow Control + +Select from Hardware (CRTSCTS), Software (XON/XOFF) and no flow control. +The recommended setting is Hardware flow control. + + + +Line Termination + +Choose the correct Enter character sequence for your +modem. Most modems will use CR/LF, however some modems need a +different setting. If you experience trouble while running a login script, play +with this parameter. + + + +Connection Speed +Choose from the list of connection speeds supported by your +serial port. Note that the serial port supports much higher speeds than your +modem in most cases. You should probably start with the highest number +available, and only reduce it if you have connection problems. + + + +Use Lock File + +Activate this option if you want &kppp; to create a lockfile. Under +&Linux; the folder for such a file will be /var/lock. Programs such as +mgetty depend on the existence of such lock files, +and &kppp; will not work with mgetty if the lock file +is not set. Make sure that you don't use the option for +pppd if you want &kppp; to lock the modem, since the +pppd option will induce +pppd to try to lock the modem device. Since &kppp; +will have already locked the device, pppd will fail, +and &kppp; will display the error pppd died +unexpectedly. + + + +Modem Timeout + +This is the time in seconds that &kppp; will wait for the +CONNECT response from your modem. A setting of about +30 seconds should be sufficient for most purposes. + + + + + + + +The <guilabel>Modem</guilabel> tab + + +The Modem tab + + + + + +The Modem tab + +The Modem tab + + + + + + +Busy Wait + +This is the length of time the modem should wait before redialing, after +it has received a busy signal. Note there are requirements by telecom providers +in some countries, which ask you to not set this too low. + + + + +Modem volume + +Use the slider to set the modem volume. Left is low volume, center is +medium volume, and right is high volume. On some modems, low volume is the same +as turning the volume off, and on other modems, medium and high are effectively +the same thing. + + + +Modem Commands + +In this dialog you can fill in any particular commands appropriate for +your modem. If you own a Hayes compatible modem, you most likely won't need to +change any of the defaults, but you are encouraged to read the Hayes Commands Appendix in this help file. The +information supplied there can be very helpful in cases where you experience +trouble setting up a stable connection with your ISP's +modems. In particular the two settings for Pre-Init Delay +and for Post-Init Delay if you are experiencing modem +lockups. These settings make &kppp; pause a little just before and just after +sending the initialization string to your modem. The Pre-Init +Delay will by default also send a CR, unless you have set it the +delay interval to 0. + + + +Query Modem + +Pushing this button will make &kppp; ask your modem to identify itself. +On success, your modems response will be displayed in a dialog. This may or may +not prove to be informative, depending on your modem. + + + +Terminal + +Pushing the Terminal button will bring up a mini +terminal. You can use the mini terminal to test your modem and to experiment +with the negotiation protocol for initializing a ppp connection with your +ISP. You no longer need a terminal program such as +minicom or Seyon. + + + + + + + +The <guilabel>Graph</guilabel> tab + + +The Graph tab + + + + + +The Graph tab + +The graph tab + + + + +Here you can set the colors used by the &kppp; graph. You can set +different colors for Background color, Text +color, Input bytes color and Output +bytes color. + + + + +The <guilabel>Misc</guilabel> tab + + +The Misc. tab + + + + + +The Misc. tab + +The Misc. tab + + + + +Here are some options that don't really fit in with other sections, but +can be very useful nonetheless. + + + +pppd Version + +The version number of the pppd daemon on your system. + + + +pppd Timeout + +&kppp; will wait this amount of time after running the script and starting +pppd for pppd to establish +a valid ppp link before giving up and killing +pppd + + + +Dock into Panel on Connect + + +If this option is chosen, &kppp; will dock into the panel where it will be +symbolized by a small animated icon. Use the left +mouse button on this icon to restore &kppp;'s window. The +right mouse button will open a popup menu that offers +to restore the window, show transfer statistics, or close the connection. This +option overrides Minimize Window on Connect. + + + + +Automatic Redial on Disconnect + +Selectintg this will have &kppp; try to reconnect if you are +disconnected. + + + +Show Clock on Caption + +This will have &kppp; display the time connected on the caption of the +&kppp; window, while you are online. + + + +Disconnect on X-server shutdown + +Checking this will cause &kppp; to terminate the ppp +link, disconnect the modem, and terminate accounting in an orderly fashion, when +the X-server shuts down. This is useful if you are prone to forgetting you are +online, when you shut down the X-server, or if you simply don't want to worry +about manually disconnecting your session. If you don't want &kppp; to hang up +the modem on X-server exit, you should leave this checkbox empty. Beware that +if you have accounting enabled, and you leave this option turned off, you will +have an unterminated accounting entry in your logs, from each time the X-server +exits and &kppp; terminates. + + + +Quit on Disconnect + +If enabled, &kppp; will exit when you disconnect from the internet. If disabled, &kppp; will stay open after disconnection. + + + +Minimize Window on Connect + +If this option is chosen, &kppp; will be minimized after a connection is +established. The elapsed connection time will be shown in the taskbar. + + + + + + + +The <guilabel>About</guilabel> tab + +The About tab shows version, license, and author +information about &kppp;. + + + + diff --git a/doc/kppp/hayes.docbook b/doc/kppp/hayes.docbook new file mode 100644 index 00000000..a8f6db7f --- /dev/null +++ b/doc/kppp/hayes.docbook @@ -0,0 +1,927 @@ + +The Hayes Modem Command Set + +Here is a description of the Hayes Command Set. Most modems follow this +command set to large extent. If you lost your modem manual or never had one in +the first place, this reference might come in handy. I for instance finally found +out how to turn my modems speaker off: ATM0 -- Finally: +Silence! + +The modem initialization string consists of a series of commands. It +prepares the modem for communications, setting such features as dialing mode, +waits, detection of the busy signal and many other settings. Newer modem +communications programs reset the initializations string for you according to +which menu options you select, which features you enable, &etc;. + +For many years Hayes modems have been the standard. As the field of modem +manufactures has grown, most have adhered at least loosely to the Hayes +standard. The following is a partial list of the Hayes command set. (called the +AT commands). The Hayes Command Set can be divided into four +groups: + + + +Basic Command Set +A capital character followed by a digit. For example, +M1. + + +Extended Command Set +An & (ampersand) and a capital character +followed by a digit. This is an extension of the basic command set. For example, +&M1. Note that M1 is different from +&M1. + + +Proprietary Command Set +Usually started by either a backslash (\), or a +percent sign (%), these commands vary widely among modem +manufacturers. For that reason, only a few of these commands are listed +below. + + +Register Commands +Sr=n +where r is the number of the register to be changed, +and n is the new value that is +assigned. + +A register is computerese for a specific physical location +in memory. Modems have small amounts of memory onboard. This fourth set of +commands is used to enter values in a particular register (memory location). The +register will be storing a particular variable (alpha-numeric +information) which is utilized by the modem and communication software. For +example, S7=60 instructs your computer to Set register +#7 to the value 60. + + + +Although most commands are defined by a letter-number combination +(L0, L1 &etc;), the user of a zero is +optional. In this example, L0 is the same as a plain +L. Keep this in mind when reading the table +below! + +Here are some of the most important characters that may appear in the +modem initialization string. These characters normally should not be +changed. + + + +AT +Tells the modem that modem commands follow. This must begin +each line of commands. + + +Z +Resets the modem to it's default state + + +, (a comma) +makes your software pause for a second. You can use more than +one , in a row. For example, ,,,, tells +the software to pause four seconds. (The duration of the pause is governed by +the setting of register S8. + + +^M +Sends the terminating Carriage Return character to the modem. +This is a control code that most communication software translates as +Carriage Return + + + +The Basic Hayes Command Set + +In alphabetical order: + + + Basic Hayes Command Set + + + + Command + Description + Comments + + + + + A0 or A + Answer incoming call + + + + A/ + Repeat last command + Don't preface with AT. Enter usually + aborts. + + + B0 or B + Call negotiation + V32 Mode/CCITT Answer Seq. + + + B1 + Call negotiation + Bell 212A Answer Seq. + + + B2 + Call negotiation + Verbose/Quiet On Answer + + + D + Dial + Dial the following number and then handshake in originate + mode. + + P + Pulse Dial + + + T + Touch Tone Dial + + + W + Wait for the second dial tone + + + , + Pause for the time specified in register + S8 (usually 2 seconds + + + ; + Remain in command mode after dialing. + + + ! + Flash switch-hook (Hang up for a half second, as in + transferring a call. + + + L + Dial last number + + + + + E0 or E + No Echo + Will not echo commands to the computer + + + E1 + Echo + Will echo commands to the computer (so one can see what one + types) + + + H0 + Hook Status + On hook - Hang up + + + H1 + Hook status + Off hook - phone picked up + + + I0 or I + Inquiry, Information, or Interrogation + This command is very model specific. I0 + usually returns a number or code, while higher numbers often provide much + more useful information. + + + L0 or L + Speaker Loudness. Modems with volume control knobs will not have + these options. + Off or low volume + + + L1 + + Low Volume + + + L2 + + Medium Volume + + + L3 + + Loud or High Volume + + + M0 or M + Speaker off + M3 is also common, but different on many + brands + + + M1 + + Speaker on until remote carrier detected (&ie; until the other + modem is heard) + + + M2 + + Speaker is always on (data sounds are heard after CONNECT) + + + N0 or N + Handshake Speed + Handshake only at speed in S37 + + + N1 + + Handshake at highest speed larger than S37 + + + O0 or O + Return Online + See also X1 as dial tone + detection may be active. + + + O1 + + Return Online after an equalizer retrain sequence + + + Q0 or Q1 + Quiet Mode + Off - Displays result codes, user sees command responses (⪚ + OK) + + + Q1 + Quiet Mode + On - Result codes are suppressed, user does not see + responses. + + + Sn? + + Query the contents of S-register + n + + + Sn=r + Store + Store the value of r in S-register + n + + + V0 or V + Verbose + Numeric result codes + + + V1 + + English result codes (⪚ + CONNECT, + BUSY, NO + CARRIER &etc;) + + + X0 or X + Smartmodem + Hayes Smartmodem 300 compatible result codes + + + X1 + + Usually adds connection speed to basic result codes (⪚ + CONNECT 1200 + + + X2 + + Usually adds dial tone detection (preventing blind dial, and + sometimes preventing AT0) + + + X3 + + Usually adds busy signal detection + + + X4 + + Usually adds both busy signal and dial tone detection + + + Z0 or Z + Reset + Reset modem to stored configuration. Use Z0, + Z1 &etc; for multiple profiles. This is the same as + &F for factory default on modems without + NVRAM (non voltaile memory) + + + +
+
+ + + The Extended Hayes Command SetAmpersand Commands + + + The Extended Hayes Command Set + + + + Command + Description + Comments + + + + + &B0 or &B + Retrain Parameters + Disable auto retrain function + + + &B1 + Retrain Parameters + Enable auto retrain function + + + &B2 + Retrain Parameters + Enable auto retrain, but disconnect if no line improvement over + the period dictated by S7 + + + &C0 or &C1 + Carrier detect + Signal always on + + + &C1 + Carrier detect + Indicates remote carrier (usual preferred default) + + + &D0 or &D + Data Terminal Ready (DTR + Signal ignored (This is modem specific, you must see your manual + for information on this one!) + + + &D1 + Data Terminal Ready (DTR + If DTR goes from On to Off the modem goes into + command mode (Some modems only) + + + &D2 + Data Terminal Ready (DTR + Some modems hang up on DTR On to Off transition + (This is the usual preferred default) + + + &D3 + Data Terminal Ready (DTR + Hang up, reset the modem, and return to command mode upon + DTR + + + &F0 or &F + Factory defaults + Generic Hayes-compatible defaults. This is + usually a good thing to use in your init string, since the + &F1-&F3 settings can vary + among modems, and they may actually be the cause of connection + problems. (Since you never know exactly what Brand X's + &F2 really changes.On the other hand, + it pays to try out the other options below; many people's problems can be + solved by replacing a complicated init string with a simple + &F2 or the like. However, if you're building an + init string, it's best to start with a simple &F, + and not use the customized form of + defaults. + + + &F1 + Factory Defaults + Factory Defaults tailored to an IBM PC + compatible user + + + &F2 + Factory Defaults + Factory defaults for a Mac w/software handshaking + + + &F3 + Factory Defaults + Factory defaults for a Mac w/hardware handshaking + + + &G0 or &G + Guard tones + Disable guard tones + + + &K0 or &K + Local flow control + Disable local flow control + + + &K1 + Local flow control + Enable RTS/CTS hardware local flow control + + + &K2 + Local flow control + Enable XON/XOFF software local flow control + + + &K3 + Local flow control + Enable RTS/CTS hardware local flow control + + + &K4 + Local flow control + Enable XON/XOFF software local flow control + + + &L0 or &L + Dial mode + Select dial-up mode + + + &M0 or &M + Error control mode + Select asynchronous non-EC mode (the same as + &Q0) + + + &P0 or &P + Pulse dialing ratio + U.S./Canada pulse dialing 39% make / 61% break ratio + + + &P1 + Pulse dialing ratio + U.K./Hong Kong pulse dialing 33% make / 67% break ratio + + + &Q0 or &Q + Error control mode + Asynchronous non-EC more. No data + buffering. ASB disabled. + + + &Q5 + Error control mode + Select V.42 EC operation (requires flow + control) + + + &Q6 + Error control mode + Asynchronous mode with ASB (requires flow + control) + + + &Q8 + Error control mode + Select alternate EC protocol + (MNP) + + + &Q9 + Error control mode + Conditional data compression: V.42bis = yes, MNP5 = no. + + + &S0 or &S + DSR action select + Always on (default) + + + &S1 + DSR action select + Follows EIA specification (Active following + carrier tone, and until carrier is lost.) + + + &T0 or &T + Self test + Model specific self test on some modems + + + &U0 or &U + Trellis code modulation + Enable V.32 TCM + + + &U1 + Trellis code modulation + Disable V.32 TCM + + + &V0 or &V1 + View active + (and often stored) configuration profile settings (or + ATI4 + + + &W0 or &W + Store profile + In NVRAM (&W0, + &W1 etc. for multiple profiles) Some settings + cannot be stored. These often don't show on &V or + ATI4 + + + &Y0 or &Y + Select configuration loaded at power-up + Load profile 0 (default) + + + &Y1 + Select configuration loaded at power-up + Load profile 1 + + + &Zn=x + Soft reset and load stored profile number + n + Note that all items after the &Z on the + command line are ignored + + + +
+ +
+ + + Backslash and Percent Commands + + + Backslash and Percent Commands + + + + Command + Description + Comments + + + + + \A0 or \A + Character maximum MNP block size + 64 character maximum + + + \A1 + Character maximum MNP block size + 128 character maximum + + + \A2 + Character maximum MNP block size + 192 character maximum + + + \A3 + Character maximum MNP block size + 256 character maximum + + + %C0 or + %C + Data Compression Enable/Disable + Disabled + + + %C1 + Data Compression Enable/Disable + MNP5 enabled + + + %C2 + Data Compression Enable/Disable + V.42bis (BTLZ) Enabled + + + %C3 + Data Compression Enable/Disable + MNP5 & V.42bis (BTLZ) Enabled + + + %D0 or + %D + Data compression + 512 BLTZ dictionary size + + + %D1 + Data compression + 1024 BLTZ dictionary size + + + %D2 + Data compression + 2048 BLTZ dictionary size + + + %D3 + Data compression + 4096 BLTZ dictionary size + + + %E0 or + %E1 + Escape method + ESCAPE DISABLED + + + %E1 + Escape method + +++AT method (default) + + + %E2 + Escape method + Break AT + method + + + %E3 + Escape method + BOTH methods enabled + + + %E4 + Escape method + Disable OK to + +++ + + + %E5 + Escape method + Enable OK to + +++ + + + \J0 or \J + DTE Auto Rate Adjustment + Disabled + + + \J1 + DTE Auto Rate Adjustment + DTE rate is adjusted to match carrier rate. + + + \N0 or \N + Connection type + Normal connection (see below for definitions) + + + \N1 + Connection type + Direction connection + + + \N2 + Connection type + MNP Auto-reliable connection + + + \N3 + Connection type + Auto-reliable connection + + + \N4 + Connection type + V.42bis reliable link with phase detection + + + \N5 + Connection type + V.42bis auto-reliable link with phase detection + + + \N6 + Connection type + V.42 reliable link with phase detection + + + \N7 + Connection type + V.42 auto-reliable link with phase detection + + + +
+ +A direct connection is a simple straight-through connection without any +error connection or data compression. In this case, the computer-to-modem and +modem-to-modem speeds must be identical. + +A normal connection uses flow control (either software or hardware) to +buffer the data being sent or received, so that the modem can transmit data at a +different rate than the computer is actually sending or receiving it. For +example, a computer may send actual data at 57kbps, but using compression, the +modem only actually sends 28.8kbps. This is the mode use by most modems. + +A reliable connection is a type of normal connection; if, for some reason, +data compression or error correction cannot be established or maintained, the +connection will hang up. (In essence, such a modem ensures that all connections +are reliable, for it will hang up if the connection isn't.) + +Likewise, an auto-reliable connection is virtually the same, except that +the modem will try to renegotiate the connection in order to establish a +reliable connection. Again, this is the mode that most modems use. + +
+ + +S-Registers + + + S Registers + + + + Register + Range + Default + Function + + + + + S0 + 0-255 rings + 1-2 + Answer on ring number. Don't answer if 0 + + + S1 + 0-255 rings + 0 + if S0 is greater than + 0 this register counts the incoming + rings. + + + S2 + 0-127 ASCII + 43 + + Escape to command mode character + + + S2 + >127 + + no ESC + + + S3 + 0-127 ASCII + 13 CR + Carriage return character + + + S4 + 0-127 ASCII + 10 LF + Line feed character + + + S5 + 0-32, 127 ASCII + 8 BS + Backspace character + + + S6 + 2-255 seconds + 2 + Dial tone wait time (blind dialing, see Xn + + + S7 + 1-255 seconds + 30-60 + Wait time for remote carrier + + + S8 + 0-255 seconds + 2 + Comma pause time used in dialing + + + S9 + 1-255 1/10ths second + 6 + Carrier detect time required for recognition + + + S10 + 1-255 1/10ths second + 7-14 + Time between loss of carrier and hangup + + + S11 + 50-255 milliseconds + 70-95 + Duration and spacing of tones when tone dialing + + + S12 + 0-255 1/50th seconds + 50 + Guard time for pause around +++ command + sequence + + + S36 + Fallback options when error correction link + fails: + 0 - Disconnect + + 1 - Establish Direct Connection + + 3 - Establish Normal Connection + + 4 - Establish an MNP connection if + possible, else disconnect + + 5 - Establish an MNP connection if + possible, else Direct Connection. + + 7 - Establish an MNP connection if + possible, else Normal connection + + + 7 + Negotiation Failure Treatment + + + S37 + + 1 = 300 bps + + 5 = 1200 bps + + 6 = 2400 bps + + 7 = 1200/75 bps (v.23 + mode) + + 8 = 4800 bps + + 9 = 9600 bps + + 10 = 12000 bps + + 11 = 14400 bps + + 12 = 7200 bps + + + 0 + Negotiation Speed (Initial handshake) + + + +
+ +Many modems have dozens, even hundreds, of S registers, but only the first +dozen or so are fairly standard. They are changed with a command like +ATSn=N, +and examined with ATSn? (⪚ +AT S10 +S1? would tell the modem not to hang up for seven +seconds should it not hear the answering modem, and return the number of times +the phone last rang.) + +
+
diff --git a/doc/kppp/index.docbook b/doc/kppp/index.docbook new file mode 100644 index 00000000..ea172828 --- /dev/null +++ b/doc/kppp/index.docbook @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + +]> + + + + +The &kppp; Handbook + + + +Lauri +Watts + +
lauri@kde.org
+
+
+ +
+ + +2001 +Lauri Watts + + +&FDLNotice; + +2001-06-11 +1.01.00 + + + + +&kppp; is a dialer and front end for pppd, +allowing for interactive script generation and network setup. + + + +KDE +kppp +kdenetwork +dialer +internet +ppp + + +
+ + +Introduction + +&kppp; is a dialer and front end for pppd. It +allows for interactive script generation and network setup. It will automate the +dialing in process to your ISP while letting you conveniently +monitor the entire process. + +Once connected &kppp; will provide a rich set of statistics and keep track +of the time spent online for you. + +A built-in terminal and script generator will enable you to set up your +connection with ease. You will no longer need an additional terminal program +such as seyon or minicom +to test and setup your connection. + +&kppp; features elaborate phone cost accounting, which enables you to +easily track your online costs. + +We hope you enjoy this dialer, and that it eases your way onto the +internet. + + + +&getting-online; + +&wizard; + +&dialog-setup; + +&global-settings; + +&security; + +&chap-and-pap; + +&tricks; + +&callback; + +&kppp-faq; + + + +Credits and License + +&kppp; + +&kppp; is derived from ezppp 0.6, by Jay +Painter. However, nearly everything in &kppp; was rewritten so +ezppp and &kppp; do not have much in common any +longer. + +Primary Developers: + + +Bernd Johannes Wuebben wuebben@kde.org + +Mario Weilguni mweilguni@sime.com + +Harri Porten porten@kde.org (Current +maintainer) + + + +Many thanks to the following people who have contributed code to +&kppp; + + +Jesus Fuentes Saaverdra +jesus.fuentes@etsi.tel.uva.esfor implementing several options and +miscellaneous work. + +Markus Wuebben wuebben@eure.de for the ATI query +dialog + +Peter Silva peter.silva@videotron.ca for pop up +dialogs and other contributions + +Martin A. Brown MABrown@etcconnect.org + +Martin Häfner +mh@ap-dec717c.physik.uni-karlsruhe.de for the section on callback. + +Olaf Kirch okir@caldera.de for the introduction +to the mysteries of file descriptor passing. + + + + +Documentation copyright 2001 Lauri Watts +lauri@kde.org, although largely based on the original by +Bernd Johannes Wuebben wuebben@kde.org + +&underFDL; + +&underGPL; + + + + +Installation + + +How to obtain &kppp; + +&install.intro.documentation; + + + + +Compilation and Installation + +&install.compile.documentation; + + + + +Preparing your Computer for a <acronym>PPP</acronym> Connection + +The following sections contain some fairly generic information for several +common operating systems which might run &kppp;. The following sites may be of +interest for further information about the ppp protocol, +pppd and networking in general: + + +The &Linux; PPP &FAQ;: +http://metalab.unc.edu/mdw/FAQ/PPP-FAQ.html +The &Linux; PPP HOWTO: +http://metalab.unc.edu/mdw/HOWTO/PPP-HOWTO.html + +http://www.thoughtport.com:8080/PPP/index.html +The Network Administrators' Guide: +http://metalab.unc.edu/mdw/LDP/nag/nag.html + + + +Preparing a &Linux; system for <acronym>PPP</acronym> + +In order for &kppp; (or indeed, pppd) to work, +your kernel must have ppp support compiled in. If this is not the case, get +yourself the latest version of pppd from any of the +popular &Linux; archives (such as ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/ppp/, +and recompile your kernel with ppp support enabled. + +Don't fret, since this sounds a lot scarier than it actually is. Don't +forget to install pppd afterwards. + +If you're not sure if you have a kernel with ppp support, issue the +dmesg at the command prompt and look for something like +this: + + + +PPP: version 2.3.0 (demand dialing) +TCP compression code copyright 1989 Regents of the University of California +PPP Dynamic channel allocation code copyright 1995 Caldera, Inc. +PPP line discipline registered + + + +&kppp; tries to find out for itself if your kernel supports +PPP. If not, you will be notified as soon as &kppp; starts +up. + +For &Linux; 2.x kernels, the pppd daemon should +be version 2.3 or greater. You can find out what version your system has, by +issuing the command pppd + on the command line. None of the +pppd daemons actually have a +, but putting the option in will cause the +pppd daemon to issue an error message, and then to +print out a list of options and other information, which includes the version of +the ppd daemon. + + + + + + + + + +&hayes-reference; + +&accounting; + +&documentation.index; +
+ + diff --git a/doc/kppp/kppp-account-accounting-tab.png b/doc/kppp/kppp-account-accounting-tab.png new file mode 100644 index 00000000..a0c4321d Binary files /dev/null and b/doc/kppp/kppp-account-accounting-tab.png differ diff --git a/doc/kppp/kppp-account-dial-tab.png b/doc/kppp/kppp-account-dial-tab.png new file mode 100644 index 00000000..2c0dc3ae Binary files /dev/null and b/doc/kppp/kppp-account-dial-tab.png differ diff --git a/doc/kppp/kppp-account-dns-tab.png b/doc/kppp/kppp-account-dns-tab.png new file mode 100644 index 00000000..b6215c2f Binary files /dev/null and b/doc/kppp/kppp-account-dns-tab.png differ diff --git a/doc/kppp/kppp-account-execute-tab.png b/doc/kppp/kppp-account-execute-tab.png new file mode 100644 index 00000000..ef0e5ed1 Binary files /dev/null and b/doc/kppp/kppp-account-execute-tab.png differ diff --git a/doc/kppp/kppp-account-gateway-tab.png b/doc/kppp/kppp-account-gateway-tab.png new file mode 100644 index 00000000..cebf1f5a Binary files /dev/null and b/doc/kppp/kppp-account-gateway-tab.png differ diff --git a/doc/kppp/kppp-account-ip-tab.png b/doc/kppp/kppp-account-ip-tab.png new file mode 100644 index 00000000..ccc9b7db Binary files /dev/null and b/doc/kppp/kppp-account-ip-tab.png differ diff --git a/doc/kppp/kppp-account-login-script-tab.png b/doc/kppp/kppp-account-login-script-tab.png new file mode 100644 index 00000000..293cfb2f Binary files /dev/null and b/doc/kppp/kppp-account-login-script-tab.png differ diff --git a/doc/kppp/kppp-config.png b/doc/kppp/kppp-config.png new file mode 100644 index 00000000..d9a5000d Binary files /dev/null and b/doc/kppp/kppp-config.png differ diff --git a/doc/kppp/kppp-device-tab.png b/doc/kppp/kppp-device-tab.png new file mode 100644 index 00000000..3d3b5257 Binary files /dev/null and b/doc/kppp/kppp-device-tab.png differ diff --git a/doc/kppp/kppp-dialler-tab.png b/doc/kppp/kppp-dialler-tab.png new file mode 100644 index 00000000..7dea2838 Binary files /dev/null and b/doc/kppp/kppp-dialler-tab.png differ diff --git a/doc/kppp/kppp-faq.docbook b/doc/kppp/kppp-faq.docbook new file mode 100644 index 00000000..57ef26ff --- /dev/null +++ b/doc/kppp/kppp-faq.docbook @@ -0,0 +1,477 @@ + +Questions and Answers + +&reporting.bugs; + + + + +Questions about Dialing + +I can't get &kppp; to work. &kppp; tells me +pppd has died or that a timeout has expired. What's +going on? + +Did you read this manual carefully? Here are once more the most common pitfalls: + + + + Click on the Details button. &kppp; will +you give an excerpt from the PPP 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. + + Make sure that pppd is the actual +pppd binary not a script + + Make sure that pppd is setuid +root. You may set this mode by issuing +chmod as +root. + + Make sure that your /etc/ppp/options file +exists and that it doesn't contain any conflicting entries. If in doubt: Leave +this file empty. + + Make sure that you don't use the option + as an argument for pppd (&kppp; +is already taking care of device locking). + + Remove the option from +both your /etc/ppp/options +and ˜/.ppprc +files! + Using the symbolic link /dev/modem may cause some conflicts. Eliminate this +source of trouble by using the real device, &ie; /dev/cuaX +or /dev/ttySX. +COM1 equals ttyS0, +COM2 is ttyS1 and so +on. + +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 +root. The proper way to proceed would +probably be creating a modem +group. + +You might be launching pppd too +early, &ie; before the remote server is ready to negotiate a +PPP 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 Send or Send +ppp to launch PPP. Some users even reported, that +they had to append Pause 1 or Pause 2 to +their script to solve timing conflicts. + + + +If nothing helps, you might obtain some debugging info from your systems +log by issuing: + +# tail /var/log/messages + + + + + +pppd died - The remote system is required to authenticate itself ... + + +Typical error message in system log: + +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.) + +As far as I can tell there are two causes for this problem: + +/etc/ppp/options contains the + option. Simply put a # comment in +front and try again. 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 had been +specified. To override this you may add 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. + + + + + +pppd dies with 2.4.x Linux kernel + +Typical error messages in the system log: + + +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. + +Install pppd 2.4.0b1 or better. See +Documentation/Changes in the kernel sources for more +info. + + + + +Why does &kppp; tell me Unable to open the +modem? + +This means that &kppp; doesn't have permissions to open the modem +device or that you selected a modem device on the Modem 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 /etc/resolv.conf in case you want &kppp; to +configure DNS correctly for you. If you can afford to run +&kppp; setuid root 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 root +permissions do the following: + +% su +# chown +# chmod +# exit + + + + + +Why does &kppp; tell me it can't create a modem lock +file? + +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 /var/lock. 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 /var/lock +or create a modem group that will have access to the /var/lock file. + + + +Why is &kppp; installed with the SETUID bit +on? + +para>There is no need for the SETUID bit, if you know a bit of +&UNIX; systems administration. Simply create a modem +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 +DNS configuration to work with &kppp;, then +/etc/resolv.conf must be read/writable by the members of +that group. The same counts for /etc/ppp/pap-secrets and +/etc/ppp/chap-secrets if you want to use the built-in +PAP or CHAP support, respectively. + +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. + +You might also want to read the Security +section. + + + +What do I do when &kppp; just sits there and waits with the +message: Expecting OK + +Have you played with the CR/LF setting? Try CR, LF or +CR/LF. + +Alternatively, your modem might need some time to respond to its +initialization. Open the Modem Commands dialog on the +Modem tab and adjust the Pre-Init and +Post-Init delays. See if you are successful when +drastically increasing their values, and then do some fine-tuning +later. + + + +The connection works fine, but I can't start any +applications! + +You have probably selected the Auto Configure Host Name 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 +xhost 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. + + + +&kppp; reports a successful connection, but &konqueror; just says +Unknown host hostname, and +&Netscape; reports The server does not have a DNS +entry. + +Try pinging another server by its IP number, +⪚ ping +. If that works, you could try the +following: + + +Check if you have provided &kppp; with at least one +DNS address. + +Check the contents of /etc/host.conf. There +should be a line saying something similar to order hosts, +bind. The 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. + + + + +How do I make &kppp; send a \n or a +\r + +Just send an empty string such as in the following script: + + + +Send # send an empty string +Expect ID: +Send itsme +Expect word: +Send forgot +Expect granted +Send ppp + + + + + + +How can I stop &kppp; complaining: Can't create lock +file? +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 /var/lock). This is +of course no problem if you have given &kppp; setuid permissions. Please read +the section on Lock files. + + + +Why is my modem making so much noise when +dialing? + +Click on Setup, then +Modem. 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 Setup, +Modem, Modem +Commands. + + + +I turned the modem volume to Off and verified the +modem commands, but I still hear that awful noise during dialing. +Why? + +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 +Post-Init Delay in Setup, +Modem, Modem +Commands. + + + +&kppp; keeps reporting unusual modem speeds like +115200 or 57600 + +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 ATW2. If you want +to add it to the dial string (which normally starts with +ATD), the new dial string would be +ATW2D. + + + +Why does &kppp; report Unknown +speed + +New modems often have very complex connection messages like +CONNECT LAP.M/V42.bis/115000:RX/31200:TX, and +&kppp; cannot parse this message correctly. Turn on Show +Log and you'll see the connection speed. + + + +I get a slow connection speed + +If you are not satisfied with the modem speed, make sure you've +set the connection speed (you can reach it by clicking on +Setup, Device, Connection +Speed) 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 8250 UART +chip, it won't work. If you have a 16550 or +16550A it should work flawlessly. + +Additionally, you should consult your modem manual to look for init +strings that enable a high speed mode. + + + +I get a REALLY slow connection +speed! + +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! + +You can obtain some information about your serial port with +setserial and check for interrupt +conflicts with other components of your system. The &kcontrol; module +Information might also be of help here. + + + +My phone line needs pulse dialing instead of tone dialing (or +vice-versa). How do I change that? +You must modify your modem dial string. Nearly all modems support +the following AT commands: + + + +ATDT +Selects tone dialing + + +ATDP +Selects pulse dialing + + + + + + + + + +Questions about Telephone Cost Rules + +How do I write a telephones cost rules file? +Just follow the TEMPLATE rules file supplied +with &kppp;. You should be able to find a copy in $KDEDIR/doc/HTML/yourlang/kppp/. +Use the &kppp; command line option to check the syntax of +your proposed rules file. + + + +I have written a telephone cost rules for my region. Where can +I submit it so that others can make use of it? + + + + + +Can my phone cost rulefile contain fractional time units like +"(0.17, 45.5)"? +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 +CPU load, although you probably won't notice on a modern +CPU. + + + +My country observes other moving holidays than +Easter. +In that case, you need to write new code that allows for the +computation of that holiday. Please have a look at +ruleset.cpp and emulate the easter example. +Then send in the patches!. + + + + +Questions about the System Logs + +I see a message saying Serial line is looped +back. What does this mean? + +Short answer: You didn't start the PPP software +on the peer system. + + + + + + + + +The logs show Signal 15 +If you see the following lines, you've probably just received a +timeout error from &kppp;. &kppp; has been waiting for the +PPP interface to come up and gave up after the specified +timeout. pppd was signalled to shut down, with signal +number 15, &ie; SIGTERM. + + + +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. + + + + + + +What about Receive serial link is not 8-bit +clean +The PPP 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 PPP server isn't running yet. You might +still be confronted by a login prompt that echoes back all the data sent by your +pppd. + + + +and can't locate module ppp-compress? +What's this? +Do you see the following messages? + + + +modprobe: can't locate module ppp-compress-21 +modprobe: can't locate module ppp-compress-26 +modprobe: can't locate module ppp-compress-24 + + + +Just add the lines: + + +alias ppp-compress-21 bsd_comp +alias ppp-compress-24 ppp_deflate +alias ppp-compress-26 ppp_deflate + + to your /etc/conf.modules file. + + + + + + + + diff --git a/doc/kppp/kppp-graph-tab.png b/doc/kppp/kppp-graph-tab.png new file mode 100644 index 00000000..0597810a Binary files /dev/null and b/doc/kppp/kppp-graph-tab.png differ diff --git a/doc/kppp/kppp-misc-tab.png b/doc/kppp/kppp-misc-tab.png new file mode 100644 index 00000000..b8bc0840 Binary files /dev/null and b/doc/kppp/kppp-misc-tab.png differ diff --git a/doc/kppp/kppp-modem-tab.png b/doc/kppp/kppp-modem-tab.png new file mode 100644 index 00000000..58534642 Binary files /dev/null and b/doc/kppp/kppp-modem-tab.png differ diff --git a/doc/kppp/kppp-wizard.png b/doc/kppp/kppp-wizard.png new file mode 100644 index 00000000..e648d413 Binary files /dev/null and b/doc/kppp/kppp-wizard.png differ diff --git a/doc/kppp/kppp.faq.question b/doc/kppp/kppp.faq.question new file mode 100644 index 00000000..e4800ab0 --- /dev/null +++ b/doc/kppp/kppp.faq.question @@ -0,0 +1,54 @@ +X-RDate: Fri, 12 Dec 1997 19:59:12 -0500 (EST) +X-UIDL: 26006 +Return-Path: +Received: from cornell.edu (cornell.edu [132.236.56.6]) by + postoffice2.mail.cornell.edu (8.8.5/8.8.5) with ESMTP id BAA01394 for + ; Fri, 12 Dec 1997 01:06:00 -0500 (EST) +Received: (from daemon@localhost) by cornell.edu (8.8.5/8.8.5) id BAA05503 for + bw18@postoffice3.mail.cornell.edu; Fri, 12 Dec 1997 01:06:00 -0500 (EST) +Received: from polygon.math.cornell.edu (POLYGON.MATH.CORNELL.EDU + [128.84.234.110]) by cornell.edu (8.8.5/8.8.5) with SMTP id BAA05461 for + ; Fri, 12 Dec 1997 01:05:58 -0500 (EST) +Received: from sun03.berlin2.debis-sfi.de (proxy.debis-sfi.de) by + polygon.math.cornell.edu (5.x/SMI-SVR4) id AA14318; + Fri, 12 Dec 1997 01:05:52 -0500 +Received: from merlin.debis-sfi.de(138.201.4.1) by sun03 via smap (V2.0) id + xma001088; Fri, 12 Dec 97 07:04:21 +0100 +Received: by b1.debis.com id HAA28426; Fri, 12 Dec 1997 07:05:37 +0100 +Received: by c1.debis.com id HAA16797; Fri, 12 Dec 1997 07:05:39 +0100 (MET) +Message-Id: <199712120605.HAA16797-c1@debis.com> +X-PH: V4.1@cornell.edu (Cornell Modified) +Date: Fri, 12 Dec 97 07:04:48 +0100 +Reply-To: "Torsten Uhlmann" +X-Mailer: debis Systemhaus's Registered PMMail 1.9 For OS/2 +Mime-Version: 1.0 +Content-Type: text/plain; charset="iso-8859-1" +Content-Transfer-Encoding: 7bit +XFMstatus: 0002 +From: Torsten Uhlmann +To: Bernd Johannes Wuebben +Subject: RE: kppp + +On Wed, 10 Dec 1997 14:07:24 -0500 (EST), Bernd Johannes Wuebben wrote: + +> +>Hello Torsten, +> +>On 10-Dec-97 Torsten Uhlmann wrote: +>> I've got a problem using kppp (I think it's the latest version, I got it +>> recently from your project page). I use S.u.S.E. Linux 5.0 and KDE +>> beta 2. +>> +> +>OK this is a problem with you pppd options and PAP configuration. +>However lots of Germans are using kppp and I imagine that if you +>were to post your question to kde@kde.org and kde-user@kde.org +>someone will be able to help you. Let me know... +> +>Bernd +> + +I figured it out. The problem was I handed over USER "LOGIN" as it has to be in ppp-up. +(At T-Online LOGIN is # which has to be quoted in order +to not be substituted by any shell. Well between kppp and pppd there is probably no shell, +so the quotes are obsolete :-) diff --git a/doc/kppp/security.docbook b/doc/kppp/security.docbook new file mode 100644 index 00000000..d3012f8b --- /dev/null +++ b/doc/kppp/security.docbook @@ -0,0 +1,96 @@ + +&kppp; and security issues + +This section is mainly for superusers (root) +people with high security demands, or simply technically interested people. It +is not necessary to read this if you only use &Linux; at home for yourself, +although you may learn a thing or two in any case. + + +Restricting access to &kppp; + +A system administrator might want to restrict access as to who is allowed +to use &kppp;. There are two ways to accomplish this. + + +Restricting access with group permissions + +Create a new group (you might want to name it +dialout or similar), and put every user that should be +allowed to use &kppp; into that group. Then type at the prompt: + +# chown /opt/kde/bin/kppp +# chmod /opt/kde/bin/kppp + + +This assumes that &kde; was installed in +/opt/kde/ and that your new group is named +dialout. + + + + +Restricting access &kppp;'s way + +Before doing anything, &kppp; checks if there is a file named +/etc/kppp.allow. If such a file exists, only users named in +this file are allowed to dial out. This file must be readable by everyone (but +of course NOT writable.) Only login names are recognized, +so you cannot use UID's in this file. Here is a short +example: + + +# /etc/kppp.allow +# comment lines like this are ignored +# as well as empty lines + +fred +karl +daisy + + +In the example above, only the users fred, +karl and daisy are allowed to +dial out, as well as every user with a UID of 0 (so you don't +have to explicitly list root in the file). + + + + + + +&kppp; has the <acronym>SUID</acronym> bit on? What about +security? + +It's virtually impossible to write a dialer without the +SUID bit that is both safe and easy to use for inexperienced +users. &kppp; addresses the security issues with the following strategy. + + + +Immediately after the program starts, &kppp; forks. + + +The master process, which handles all the GUI operations +(such as user interaction), drops the SUID state after the +fork, and runs with normal user privileges. + + +The slave process keeps its privileges, and is responsible for all +actions that need root privileges. To +keep this part safe, no &kde; or &Qt; library calls are used here, just simple +library calls. The source code for this process is short (around 500 lines) and +well documented, so it's easy for you to check it for security holes. + + +Master and slave processes communicate with standard &UNIX; +IPC. + + + +Special thanks to Harri Porten for writing this excellent piece of code. +It was thought to be impossible, but he managed it within a week. + + + + diff --git a/doc/kppp/tricks.docbook b/doc/kppp/tricks.docbook new file mode 100644 index 00000000..c2abc3bf --- /dev/null +++ b/doc/kppp/tricks.docbook @@ -0,0 +1,175 @@ + +Modem Tricks and Hints + +This section should get the fearful started on the (not so) arcane art of +modem tweaking. The commands here are all Hayes AT standard, but all modems are +not equal, so your mileage may vary. + + +Modem Sessions + +A Modem session allows you to interact with the modem directly. You type +commands, and it will respond. To obtain a modem session, when no connection is +active, go into Setup, then Modem +Terminal dialog. This will open a window for interactive +configuration of the modem. Try typing +ATZ (which resets your modem) Your +should get an OK response. Use +FileClose +to end the session. + + + + +Modem Profiles + +One reason you might want to send the modem commands directly is if you +have a set of modem configurations you want to keep, and not have to specify for +every connection. A good way to do that is via modem profiles. Modems can have +several stored profiles numbered 0,1,... AT&V can be used to +view them all. The default profile is usually 0 (this can be changed via +AT&Y.) The profile currently in use is called the +active profile. + +When you change a setting, the active profile is modified. The +ATZ command will have the modem load the default profile, +erasing any changes you have made. To save changes, Load the profile you want to +change via ATZn (where +n is the profile number). Make the changes you want, +then save it with AT&Wn. To +have kppp use the profile you want, change the modem initialization string +(Setup Modem Modem +Commands Initialization String.) For example +ATZ1 will have the kppp reset the modem and use stored +profile #1. + +If you want reset you modem to get back to some known starting point, use +AT&F&W to set the active profile to the factory +defaults, and store those settings as the default profile. + +Examples of profile changes are in the next section + + + + +Getting the modem to hang up + +Sometimes you may find that &kppp; has difficulties hanging up the modem. +This is likely the result of a mismatch between &kppp; settings and those of the +modem. A standard modem uses two methods to decide to hangup: Command, and DTR. The Command method involves +sending an escape sequence to the modem, which puts it in command mode, then +issuing the hangup command (ATH). + +Outside of &kppp;, when configuring the pppd +package manually, it's often helpful to use the command method, so that one can +exit a terminal session, and then start pppd without +having the modem hangup. In most other situations, the DTR +method is preferred, as it is simpler. + + +<acronym>DTR</acronym> (<command>AT&Dn</command>) method + +The DTR method will have the modem hangup whenever +&kppp; stops using the modem. If you obtain a modem session, and query the +state via AT&V, and you can see among the displayed +settings for the active profile a &D0, then the +DTR hangup method is disabled. To enable the +DTR method, use the Terminal button to +get a modem session, then: + + +ATZ # reset to default profile +AT&D2 # Set to hang up on DTR drop +AT&W # Write to default profile + + + +How the <acronym>DTR</acronym> method works + +Whenever the Data Terminal Ready (DTR) line on the +serial line between the host computer and the modem goes high, the modem hangs +up. When &kppp; opens the serial port, the DTR line is pulled +low, on an external modem, you can see the DTR (or +TR) light come on when this happens. When the +TR light goes out (because &kppp; has closed the serial port, +or something worse!), the modem will hangup. + + + + + +Command method + +The other way to have a modem hang up when connected (used when +AT&Dn where +n is not 2) is to have the +modem accept the command when a session is in progress. To have it hang up +properly, get a modem session, and set the guard time to a short interval like +so: + + +ATZ +ATS12=5 +AT&W + + +Then use the Guard Time slider in the Modem commands +section to match the register (S12 to this value +5. The modem should then hangup properly. + + +How the Command Method Works + +When the local modem is connected to a remote modem, it is in the +connect state, where it passes all characters it receives to the +remote modem without interpretation. To have the modem accept the characters +as commands for itself, one must put the modem into the command state. The +escape code does this. + +The escape code is defined as being three intervals of time whose length +is defined by S12 in fiftieths of a second. + + + +Quiet (must last more than S12/50 seconds) + + +Escape character (defined by the register S2, the +default is +), repeated three times (less than +S12/50 seconds between each. + + +Quiet (must last more than S12/50 seconds) + + + +Once the modem is in the command state, you can send it commands. To have +it hang up, send the command ATH. The escape codes and the +hangup string used by &kppp; are shown in the Modem Commands dialog. +These should match your modem. + + + + + + +Make Tone dialing faster + +If you can use tone dialing, the amount of time it takes to dial can be +changed using the S11 register. It gives the duration (in +100hundreds of a second) to send each tone while dialing. The default is +usually 95 (almost a second.) How fast you can dial depends on the phone +company's switching equipment which handles your line. The minimum duration is +50, almost twice as fast, and that speed often works. + + +ATZ # reset to default profile +ATS11=50 # fastest possible dialing, use a higher number if it doesn't work +AT&W # write to default profile + + + + diff --git a/doc/kppp/ttyS-cua.txt b/doc/kppp/ttyS-cua.txt new file mode 100644 index 00000000..2369fd5e --- /dev/null +++ b/doc/kppp/ttyS-cua.txt @@ -0,0 +1,46 @@ +From: "Theodore Y. Ts'o" +To: Tony Nugent +Cc: linux-net@vger.rutgers.edu, linux-ppp@vger.rutgers.edu +Subject: Re: /dev/cua? Vs /dev/ttyS? (was: Re: co-existence of pppd and mgetty ?) +Date: Mon, 13 May 1996 19:51:04 +0200 +Status: ROr + + Date: Mon, 13 May 1996 07:57:09 +1000 + From: Tony Nugent + + Can someone kindly explain the difference between the /dev/cua? and + /dev/ttyS? devices? + +/dev/ttySxx devices are fully POSIX-compliant TTY devices. If you are +only going to be using one set of tty devices, you should be using +/dev/ttySxx. + +/dev/cuaXX devices are different from /dev/ttySXX in two ways --- first +of all, they will allow you to open the device even if CLOCAL is not set +and the O_NONBLOCK flag was not given to the open device. This allows +programs that don't use the POSIX-mondated interface for opening +/dev/ttySxx devices to be able to use /dev/cuaXX to make outgoing phone +calls on their modem (cu stands for "callout", and is taken from SunOS). + +The second way in which /dev/cuaXX differs from /dev/ttySXX is that if +they are used, they will trigger a simplistic kernel-based locking +scheme: If /dev/ttySXX is opened by one or more processes, then an +attempt to open /dev/cuaXX will return EAGAIN. If /dev/cuaXX is opened +by one or more processes, then an attempt to open /dev/ttySXX will +result the open blocking until /dev/cuaXX is closed, and the carrier +detect line goes high. + +While this will allow for simple lockouts between a user using a modem +for callout and a getty listening on the line for logins, it doesn't +work if you need to arbitrate between multiple programs wanting to do +dialout --- for example, users wanting to do dialout and UUCP. + +I originally implemented the cuaXX/ttySXX lockout mechanism back before +FSSTND established a standard convention for the use of tty lock files. +Now that it's there, people should use the tty lock files and not try +using /dev/cuaXX. The only reason why /dev/cuaXX hasn't disappeared yet +is for backwards compatibility reasons. + + - Ted + + diff --git a/doc/kppp/wizard.docbook b/doc/kppp/wizard.docbook new file mode 100644 index 00000000..6f26e711 --- /dev/null +++ b/doc/kppp/wizard.docbook @@ -0,0 +1,117 @@ + +The &kppp; wizard + + +Starting the Wizard. + +You can start the wizard from &kppp;'s initial screen. Start &kppp; from +your K menu, where you will find it's entry in the +Internet as Internet +Dialer. + +The following dialog will appear: + + +The &kppp; dialer startup screen + + + + +The &kppp; dialer startup screen + +The &kppp; dialer startup screen + + + +It will probably not have any entries to begin with, and that's what we're +about to do now. + +Click the Setup button to begin setting up a new +Internet connection. + +The wizard will offer you three choices, Wizard, +Dialog Setup and Cancel + + +The wizard asks you what you want to do... + + + + +The wizard asks you what you want to +do... +The wizard asks you what you want to do + + + + + +Cancel +Choose this if you really don't want to be setting up a new +account right now. The message box will go away, and you will be left with the +dialer screen as before. + + + +Wizard +If you have a fairly standard modem, and use one of the larger +ISP's for your country, the wizard will probably be able to set you up +immediately with a working Internet Connection. Try this first, before you try +to set up the connection manually. + + + +Dialog Setup +If you don't succeed with the Wizard, or you just want to do +things yourself, choose this. The wizard currently is only useful for a small +subset of countries and Internet Providers. + + + + +For the purposes of this chapter, we'll assume you are choosing +Wizard, and the dialog based setup will be described in a +later chapter. + + + + +The Rest of the Wizard + +The first screen you see contains just introductory text, explaining the +things you read about in the first section of this chapter. Press +Next to move on. + +The second screen asks you to choose the country you live in. Not all +countries are represented here, and if the country you live in is not listed, +you will have to press Cancel, in which case the Dialog based setup will start for you to continue +with. + +On the next screen, you will be given a choice of Internet Providers that +&kppp; knows about, based on your choice of location in the previous screen. +Again, if your ISP is not listed here, you will have to press +Cancel and do your setup in the Dialog based setup + +You will now be asked to enter your username and password for your +internet connection. Please note, that for some ISPs this +differs from your mail account user name and password, so make sure you use the +right one. Choose Next to continue. + +On the next screen, you have a chance to enter any special dial prefixes +you might have - for example, if you must dial 0 for an outside +line, or if have a prefix you can dial to turn off call waiting. Choose +Next to continue. + +And that's all! If you want to revisit any of your choices, you can use +the Back and Next buttons to move +back and forth through the dialogs. When you're happy, press the +Finish button, and you're all done. + +Of course, any of this information can be edited at a later time, from the +&kppp; Configuration dialog. + + + + -- cgit v1.2.1