home *** CD-ROM | disk | FTP | other *** search
- PPPdriver (2.21) - PPP driver for Acorn TCP/IP stack and FreeNet 2.XX
-
- NOTE: this program is SHAREWARE. Read the 'Licence' file for more info.
-
- PPP is a network protocol that allows two computers to exchange IP packets
- over serial lines. It is used by most Internet providers to allow remote
- computers to connect to Internet via a modem dialup.
-
- PPPdriver allows the Acorn TCP/IP stack or FreeNet to communicate with remote
- hosts using serial lines. PPPdriver conforms to the DCI4 specification: this
- means that it will currently work with Acorn's Internet software (both
- version 4.07 and 5.02) and with FreeNet 2.00 or later but doesn't work with
- older versions of FreeNet (eg. 1.02) that are DCI2-compatible.
-
- A DCI2-compatible PPPdriver is available as a separate package. Note that the
- DCI2 PPPdriver is no longer supported since a DCI4 version of FreeNet is
- finally available (version 2.00 or later) and Acorn includes its own DCI4
- Internet stack in RISC OS 3.60 or later.
-
- Since PPPdriver is a rather plain port of the Unix pppd command and supports
- the same command line interface, the documentation for PPPdriver will be
- limited, refer to the pppd manual (supplied in the 'pppd_man' file) for more
- detailed informations of the pppd syntax, authentication and routing.
-
-
- Index
- -----
-
- - Installing
- - Commands provided
- - PPP files
- - Connecting to an Internet provider
- - SLIP vs PPP
- - Disclaimer
- - Known bugs
- - Limitation of the ShareWare version
- - Upgrades
- - Contacting the Author
-
-
- Installing
- ----------
-
- PPPdriver can be installed either in the !Internet.drivers directory or in
- !System.Modules.Network, together with all the other drivers. You should also
- copy the "PPP" directory supplied in the PPPdriver archive in
- !Internet.files.
- If you are using PPPdriver with FreeNet 2.XX you should install PPPdriver in
- the !FreeNet.Drivers directory alongside SLIPdriver and copy the "PPP"
- directory in !FreeUser.Files.
-
- PPPdriver can be loaded just like SLIPdriver (2.00):
- RMRun INet:drivers.PPPdriver (if you installed it in !Internet.drivers)
- or
- RMRun System:Modules.Network.PPPdriver (if you installed it in !System.Modules.Network)
- or
- RMRun FreeNet:Drivers.PPPdriver (if you are using it with FreeNet 2.XX)
-
-
- Commands provided
- -----------------
-
- PPPdriver provides 4 commands: pppd, pppstats, pppkill and pppreopen.
-
- *pppd
-
- This is the most important command since it deals with the setup of a PPP
- connection. pppd works like Unix's pppd (with a few restrictions and
- changes), refer to the pppd manual for a full documentation.
- Unlike its Unix counterpart (that requires a tty name and speed), RISC OS
- pppd accepts the name of the serial driver, the port number and the speed
- (just like SLIPdriver).
-
- PPP is an 'intelligent' protocol, it negotiates all the options between the
- two connecting hosts in order to deal with different setups and requirements.
- This means that usually the command required to connect to an Internet
- provider is just:
- pppd modem defaultroute noipdefault <Driver> <Port> <Speed>
- - 'modem' means that PPPdriver will use modem control lines (Carrier Detect,
- Data Terminal Ready) and hardware flow control (RTS/CTS)
- - 'defaultroute' causes PPPdriver to set the default route to the remote host
- (ie it automatically execute a "route add default <RemoteIP> 1" command)
- - 'noipdefault' means that PPPdriver will ask the local IP address to the
- remote host (this is needed for dynamically allocated IP addresses but
- should also work for fixed IP addresses)
-
- Note that PPPdriver, unlike SLIPdriver, doesn't need any "ifconfig" or "route
- add" command since pppd automatically executes them once the IP negotiation
- is done.
-
- If your provider requires PAP authentication you need to use something like:
- pppd modem defaultroute noipdefault user <Username> pwd <Password> <Driver> <Port> <Speed>
-
- If you need to specify your IP address or the remote IP address:
- pppd modem defaultroute noipdefault <LocalAddr>:<RemoteAddr> <Driver> <Port> <Speed>
- You can omit <RemoteAddr> or <LocalAddr> if you just need one of the two.
-
- Other useful parameters:
- - 'local' is the opposite of 'modem' (ie don't use hardware flow control and
- modem control lines). It can be used if you need to connect two computers
- using a very simple nullmodem cable with just the send and receive line.
- - 'asyncmap 0' can be used to prevent PPP from sending control characters as
- a two-character escape sequence. You should only need this option if you
- are connecting together two computers using a nullmodem cable.
- - 'passive' prevents PPP from closing the connection if the remote host
- doesn't reply to the negotiation packets. This can be used if you want to
- try a PPP connection and eventually keep PPP listening if the remote host
- isn't ready.
- - 'silent' is similar to 'passive' but doesn't even initiates a connection
- (ie PPP will just wait to receive some valid negotiation packet)
- - 'debug' causes PPPdriver to print a lot of extra debug informations in the
- debug file (see 'PPP files' below). You should only use this parameter if
- PPPdriver fails the negotiation process; in fact it will log every packet
- sent and received, so the debug file will grow very quickly.
-
- If you need some esoteric pppd parameter you can have a look at the pppd
- manual. Note that the following commands are not implemeted because they are
- very Unix-specific: connect, disconnect, file, lock, detach, kdebug, login.
- The configuration files (/etc/ppp/options and ~/.ppprc) mentioned in the pppd
- manual are not implemeted, while the files stored (under Unix) in /etc/ppp
- (eg ip-up) are stored (under RISC OS) in the InetDBase:PPP directory (ie
- !Internet.files.PPP, usually). Finally, the 'pwd' parameter (used to specify
- the PAP password) available in the RISC OS version is not available under
- Unix; if you want you can use the 'pap-secr' file as in Unix although this is
- not recommended nor useful.
-
- *pppstats
-
- This command shows some statistics about the PPP connections. The only
- parameter accepted by 'pppstats' is 'all' that allows more statistics to be
- displayed.
- You can use this command to monitor the efficiency of the BSD Compression (if
- it is used) and the quality of the serial line. When the serial line doesn't
- lose any packet the "receive parity errors", "receive framing errors",
- "unknown types received" and "input packets tossed" figures should be 0.
-
- *pppkill
-
- To close an active connection you should use the 'pppkill <ppp unit>' command
- (eg. 'pppkill 0' if you want to close the first connection). PPPdriver will
- then send the 'connection closed' packets to the remote host and drop the
- connection. An alternative way to close all the PPP connections is to 'RMKill
- PPPdriver' although this is a very rough and not recommended method!
-
- *pppreopen
-
- This command is only useful if BSD Compression is used and forces PPPdriver
- to restart the compression negotiation. This can be useful if the compression
- has been disabled due to some failures (eg packets lost due to serial line
- failures) but should not be used otherwise; to detect this case you should
- try the 'pppstats' command, if it says "BSD Compression (currently disabled)"
- you could try to reenable it using 'pppreopen'.
-
-
- PPP files
- ---------
-
- PPPdriver prints some information about the connection in the file
- !Internet.DebugPPP (or !FreeUser.DebugPPP). Unless you specify the 'debug'
- flag on the 'pppd' command line (see above) it just prints a few informations
- once the connection is established, otherwise it prints much more debug
- messages, including the dump of every sent and received packet.
- This file may grow larger and larger, especially if the system crashes (or
- you reset it) while PPPdriver is loaded; you must always "RMKill PPPdriver"
- before turning the computer off! If everything is working fine you should
- delete this file regularly, but if PPPdriver fails the negotiation process
- or if you notice something strange (eg excessively slow or often dropped
- connections, incorrect routing, etc.) you should send this file to me so that
- I could hopefully find the cause of your problems.
-
- PPPdriver uses the !Internet.files.PPP (or !FreeUser.Files.PPP) directory to
- store the 'ip-up' and 'ip-down' files; they are run, rispectively, when the
- connection is established and when it is dropped. The 'PPP' directory
- distributed with the PPPdriver archive contains two BASIC files that produce
- a sound, so you can 'hear' when the negotiation process is finished and the
- connection is active. You can modify them as you like, for example you can
- make 'ip-up' load some application (a WWW browser, maybe); I don't recommend
- you to 'RMKill' any Internet-related module (eg Internet, INetDB or PPPdriver
- itself) from the 'ip-down' script because this may cause some unpredictable
- result.
-
- When you use the 'RegistPPP' program to register your copy of PPPdriver, it
- will create a file called !Internet.files.PPP.register (or
- !FreeUser.Files.PPP.register). This file will contain your personal username
- and usercode, so you should not distribute it alongside your !Internet (or
- !FreeUser) directory! For more informations about registering read the
- 'Licence' file.
-
-
- Connecting to an Internet provider
- ----------------------------------
-
- To connect to an internet provider I suggest you to use the FreeWare
- application FreeDial (by Gert-Jan de Vos). It is very easy to configure and
- includes a few scripts to run either SLIP or PPP with a number of providers.
- Alternatively you could use SLIPdial or any other dialer, although I will not
- be really helpful if you have problems with them (while I actively support
- FreeDial when used in conjunction with PPPdriver).
-
-
- SLIP vs PPP
- -----------
-
- Many people may wonder whether PPP is better than SLIP. PPP is more complex
- than SLIP and is used in situations where SLIP isn't suitable, but if you
- just need a protocol to connect your computer to Internet and your Provider
- supports CSLIP (ie Van Jacobson compression of TCP headers over SLIP), then
- PPP and SLIP will have the same performance.
- SLIP may be more difficult to configure when dealing with dynamic IP (because
- you need to get your IP in the connection script while pppd deals with
- dynamic IP automatically) but once the configuration script has been written
- SLIP and PPP works in the same way.
- PPPdriver supports BSD Compression (ie every packet is compressed using the
- LZW scheme), if your provider supports it you may have some speed improvement
- over SLIP; remember that most modems automatically compress the data too, so
- BSD Compression may not give you any significant improvement in this case.
- When using a simple wire to connect two computers, BSD Compression may be
- really helpful (depending, of course, on the sort of data being transferred).
-
-
- Disclaimer
- ----------
-
- PPPdriver has been tested and proved to be a stable and reliable program.
- However, if for any reason (either your mistake or a bug in PPPdriver) it
- causes you a loss of data, I am sorry for you but I WILL NOT BE HELD
- RESPONSIBLE.
-
- Use PPPdriver at your own risk.
-
-
- Known bugs
- ----------
-
- The bug related to corrupted output (in 'pppstats' or when PPPdriver was
- RMKilled) seems to be definitely fixed. If you still suffer from these
- problems please inform me.
-
- Please report any bug to me, possibly sending the 'DebugPPP' that PPPdriver
- creates in the !Internet or !FreeUser directory (using the 'debug' option)
- and the output of the 'pppstats' command (if relevant).
-
-
- Limitation of the ShareWare version
- -----------------------------------
-
- In the unregistered version the connection time has been limited to (circa)
- 10 minutes. When this time expires PPPdriver sends the packets required to
- close the connection to the remote host and then closes down: in doing this,
- it doesn't produce any error message but prints a message in
- '!Internet.DebugPPP' (or '!FreeUser.DebugPPP').
- The 'RegistPPP' program can be used to register your copy: read the 'Licence'
- file for more informations about how to obtain your user name and user code.
-
-
- Upgrades
- --------
-
- The latest version of PPPdriver is always available via WWW at:
- http://cdc8g5.cdc.polimi.it/~pel0015/pppdriver.html
- You will probably find it also at:
- ftp://ftp.dsse.ecs.soton.ac.uk/pub/Acorn/freenet/s.monesi/
-
-
- Contacting the Author
- ---------------------
-
- Post: Sergio Monesi
- Via Trento e Trieste 30
- 20046 Biassono (MI)
- Italy
-
- EMail: msergio@mbox.vol.it
- pel0015@cdc8g5.cdc.polimi.it
- sergio@freebsd.first.gmd.de
-
- WWW: http://cdc8g5.cdc.polimi.it/~pel0015/
-