DP configuration is a fairly messy business. As root, you will need to do a great deal of mucking about with various parts of the system. Once you have finished configuring DP, the Solaris machine will start acting as a router, so there is a fair bit OS configuration as well. Have fun.
Using admintool use the Serial Port Manager to configure the port that you wish to use as a Modem - Dial-Out Only template. Set the baud rate to 38400, or higher if you can manage it. Setting up the modem as dial-out only stops the modem from answering if someone tries to hack in.
Since the Solaris machine is going to be a router, you will need to add entries to the /etc/hosts and /etc/networks files. You should add the following lines (modified suitably) to the /etc/hosts file:
# # ORAC Hosts # 203.30.77.2 solaris-ppp # Gateway to ORAC (fake) 203.30.77.152 orac-ppp # ORAC address
The first line gives the IP-address of the Solaris machine, as it appears to ORAC (and the rest of the world). This address is a fake address, which will be overwritten by the dynamic address assignment when you dial up. The second line gives the address of the ORAC terminal annex; what you will be dialling into.
You also need to modify the /etc/networks file, so that it knows about the ORAC network. The following line will do:
# # ORAC network # orac 203.30.77
On start-up, your system should be set up so that ORAC is the default route for non-local traffic. The way to do this is to create a file called /etc/defaultrouter which contains the following line:
orac-ppp
After rebooting, network traffic will be routed to whatever interface provides a path to orac-ppp
The file /etc/dp/conf (or wherever you have configured the DP files to be) contains the interface definitions for your PPP connections. ORAC now has two lines. The old line allows connections on a 28.8k modem which uses an Annex and a login script. The new line allows connections up to 56k (or will do) and uses the PPP password authentication protocol (PAP).[13]
A sample /etc/dp/conf file for the old line is shown in figure 7. The first entry is the interface definition, giving the modem to use, the phone number to call, etc. You will need to replace XXXXXXXX with the phone number you intend to call, LLLLLLL with your login id and PPPPPPPP with your password. It is a good idea to ensure that the configuration file is only readable by root, since your password is in plain text. The second entry gives the modem description with the port to use and the dial script to use. More on these below.
IF=dp0 SYS=orac MODEMS=ktx-a PHONE=XXXXXXXX LOGIN_SCRIPT=orac-login LOGIN_ARGS=LLLLLLL,PPPPPPPP,ppp LOGIN=LLLLLLL TRACE=orac ACCESS=orac PPP_ARGS=dynamic,:203.30.77.152 PRE_AUX=aux_script MODEM=ktx-a DEV=cua/a BAUD=38400 DIAL_SCRIPT=ktx-dial DIAL_CHARMAP==W-, |
A sample /etc/dp/conf file for the new line is shown in figure 8. You will need to replace XXXXXXXX with your phone number and LLLLLLL with your login id, as above. The modem line gives the definition for a new, faster modem (a Maestro Executive). This new modem can go to speeds of up to 56k. However, Solaris and DP do not seem to support speeds over 38k, so until I figure out how to configure things properly, I'm limited to 33.6k.
IF=dp0 SYS=orac MODEMS=maestro-a PHONE=XXXXXXXX LOGIN_SCRIPT=direct TRACE=orac ACCESS=orac PPP_ARGS=user,LLLLLLL,dynamic,:203.30.77.152 PRE_AUX=aux_script MODEM=maestro-a DEV=cua/a BAUD=38400 DIAL_SCRIPT=maestro-dial DIAL_CHARMAP==W-, |
Your login id may, in fact, be your full email address as opposed to a straight user name. (eg. LLLLLLL@orac.net.au instead of LLLLLLL). If this is so, use the full email address in the PPP_ARGS section and in the upap file (see section 4.2.8).
Don't try and set up a faster configuration than that supported by the OS. DP has a nasty habit of translating high speeds into really low speeds (56k maps on to 50 baud) if the OS does not support higher speeds. Adding extra lines to the /etc/ttydefs file will not help, as DP does the port programming itself.
The /etc/dp/hostnames file contains the addresses between which DP will communicate. A sample /etc/dp/hostnames file is:
dp0 solaris-ppp orac-ppp
This file means that the interface dp0 is used to communicate between solaris-ppp (ourselves) and orac-ppp (themselves).
The ktx-dial entry in the MODEM part of the
configuration file is a script telling DP how to dial out for
a connection.
The script I use, for my KTX FAX/modem, is
/opt/dp/script/ktx-dial and contains
the script in figure 9.
Essentially, this script configures the modem correctly and
then dials the modem.
Eventually, it sees whether it gets a suitable response and
then continues.
Since I live in Australia, the section containing
\xAT E1 X3 B0 &G0 &P1 S0=0 S6=2 S11=95\r
configures the modem according to Austel requirements.
If you live somewhere else, you will probably have to configure
the modem differently.
## ## Dial up a V.32bis or V.32 modem ## xmit "\xAT Z\r" { alternate recv "OK" 5 alternate xmit "\xAT Z\r" recv "OK" 5 alternate log "Failed to get attention of modem" abort } # # Configured to Austel requirements # xmit "\xAT E1 X3 B0 &G0 &P1 S0=0 S6=2 S11=95\r" { alternate recv "OK" 5 alternate log "Failed to configure modem" abort } xmit "\rATDT$1\r" mark { alternate recv "CONNECT" "BUSY" "NO CARRIER" "NO DIALTONE" "ERROR" 55 alternate log "Modem Timeout" abort } { alternate replay recv "CONNECT" 0 go alternate replay recv "BUSY" 0 log "Busy" busy alternate replay recv "NO CARRIER" 0 log "No carrier" alternate replay alternate replay recv "NO DIALTONE" 0 log "No dialtone" alternate replay recv "ERROR" 0 log "Error received from modem" } abort |
The new modem I have is a Maestro Executive.
This modem is capable of 56k speed, but is designed for use in country
areas and sometimes defaults to an odd line speed to cope with the
connection quality.
The /opt/dp/script/maestro-dial script that I use
for the maestro is shown in figure 10.
There is a slight change to the initialisation string.
The part containing +MS=11,0,,33600,1
restricts this
modem to 33.6k operation.
## ## Dialup script for Maestro E56 ## xmit "\xAT Z\r" { alternate recv "OK" 5 alternate xmit "\xAT Z\r" recv "OK" 5 alternate log "Failed to get attention of modem" abort } # # Configured to Austel requirements # Force a connection at 33.6k until I can get 56k working # xmit "\xAT &F B0 &G0 &P1 S0=0 S6=2 S11=95 S29=70 &D2 S95=45 T +MS=11,0,,33600,1\r" { alternate recv "OK" 5 alternate log "Failed to configure modem" abort } xmit "ATDT$1\r" mark { alternate recv "CONNECT" "BUSY" "NO CARRIER" "NO DIALTONE" "ERROR" 55 alternate log "Modem Timeout" abort } { alternate replay recv "CONNECT" 0 go alternate replay recv "BUSY" 0 log "Busy" busy alternate replay recv "NO CARRIER" 0 log "No carrier" alternate replay recv "NO DIALTONE" 0 log "No dialtone" alternate replay recv "ERROR" 0 log "Error received from modem" } abort |
You can ignore this section if you are using the new connections and PAP; use section 4.2.8 instead. Once you have successfully dialled out, another script is run which allows the ORAC login process to be negotiated. This script is named in the LOGIN_SCRIPT argument and, in this case is called orac-login which is kept in the file /opt/dp/script/orac-login A sample file is shown in figure 11. This file follows the usual Username:/Password:/Annex: prompt sequence, supplying the arguments given by the LOGIN_ARGS parameter. On success, you will be logged in to your ISP and ready to go.
## ## Login to a Unix machine as username $1 with password $2 and service $3. xmit "\x\r\r" { alternate recv "name:" 10 alternate log "Sending return to get first login prompt" xmit "\r" recv "name:" 5 alternate log "Sending return to get first login prompt" xmit "\r" recv "name:" 5 } xmit "$1\r" { alternate recv "assword:" 35 alternate xmit "\r" recv "name:" 10 xmit "$1\r" recv "assword:" 10 } xmit "$2\r" { alternate recv "nnex:" 5 alternate log "Timeout waiting for PPP to start on remote system" abort } xmit "$3\r" go |
You can ignore this section if you are using a login script (section 4.2.7). To allow PAP to be used, you need to set up a file, /etc/dp/config/upap which contains the PAP username and password. NB. This file must be in the /etc/dp/config directory. The normal /etc/dp.conf settings do not work here.3 This file contains passwords in plain text, and should only be readable by root (mode 600).
A sample /etc/dp/config/upap file is:
# client server secret [IP address ...] LLLLLLL * PPPPPPPP
Where LLLLLLL is the login id for your ISP and PPPPPPPP is the password.
An access file, specified by the ACCESS parameter in the configuration file essentially gives details on various timeouts: when the line should be brought down, when you should retry after an engaged signal, etc. Usually, you want to bring the line down after some period of inactivity.
Since ORAC charges by data-transfer rate, rather than time and is only a local call away, I have configured my interface to wait 10 minutes before bringing the line down. The result is the file /opt/dp/access/orac, which is shown in figure 12.
DPaccess 2.0 # # Options to allow only certain protocols, times of use, or specific machines. # These limit the conditions in order to initiate a call. # timeouts { failedcall 3:10 # time to mark network as down after failed call callwait 0:50 # time to allow for call to go through } timeouts:dial { non_stream 10:00 last_close 10:00 inactivity 10:00 } timeouts:answer { inactivity 10:00 } |
The DP start script is initially placed in the /etc/rc2.d directory as S99dpconfig This position is somewhat inconvenient, as IP-Filter should be started after the PPP interface has been started. Renaming S99dpconfig to S93dpconfig is all that is needed here.
The /opt/dp/aux/aux_script script is
a shell script run by DP every time a connection is made.
You can use this file to run any commands that may prove useful.
Since you will probably be using SMTP and
POP from some
client, you can probably comment out the
${DPAUX_DIR}/ckmailq
line.
When you configure IP-Filter, you will need to add a line to this file. See section 5.2.2 for information on this line.
Once you have set up DP to your satisfaction, you can reboot the Solaris system, so that DP starts automatically.