To set up a Solaris machine as a PPP client, you need to modify/create a number of configuration files and then reboot. These instructions apply to Solaris Sparc 2.5 and 2.4. Same instructions might work for Solaris x86 but I do not have a Solaris x86 machine and I have not tried it on one. Now let us get down to the business of configuring Solaris.
The notes here assume you already have set up your modem and you are
able to communicate with the modem using cu or tip. If you need help
with setting up the modem connection,
Celeste Stokely's document might be helpful. I was able to set up my
serial port to communicate with the modem quite easily using just
admintool.
First of all you need to configure uucp so PPP will know how to dial in to your PPP server. The PPP server could be your ISP. You will need to modify the following files to set up uucp:
/etc/uucp/Dialers
You may need to add an entry for your modem in this file. This file gives a chat script on how to dial out using a particular modem. You may be able to use one of the existing entries. If not, you can just add a new entry. Here is the entry I made for my Zoom V.32bis modem:
zoom =,-, "" \dA\pTZ0\r\c OK\r \dATE1V1X4Q0S2=255S12=255\r\c OK\rATS7=20S9=20\r\c OK\r ATDT\T\r\c CONNECT-\d\c-CONNECT
This is all on one line
/etc/uucp/Devices
You add your dialing device to this file as one of the available dialers. Here is an example from my configuration. My Zoom modem is connected to the serial port A.
ACU cua/a - Any zoom
/etc/uucp/Dialcodes
This file serves as a dialing directory. You can add your PPP server phone number to this file and then you will be able to dial out using the alias from this file. Alternatively you can use the phone number directly without having to add it to this dialing directory. An example entry would be:
infonet 1234567
/etc/uucp/Systems
This file contains information on how to establish connection with various systems. This is where your chat script will go in that you want to be executed when your system dials the PPP server. Here is an example:
ppp_server_name Never ACU 38400 infonet ogin:--ogin: login_name ssword: password prompt ppp_command
where ppp_server_name is the hostname for the PPP server
you are dialing into, login_name is of course your login
name, password is your password. If your PPP server
immediately starts PPP when you log in, you can omit
prompt and ppp_command. If instead you get a command
line prompt or some kind of menu and you need to type some command
or choose a menu option to start PPP, you can substitute the prompt
at which you choose the menu option or type the command for
prompt and the command or option you would choose for
ppp_command.
This will set up your dialer and login scripts. Now you will need to configure the PPP network interface which let us say is ipdptp0. You do this in /etc/asppp.cf file. Here is the entry from my file:
/etc/asppp.cf
Following lines will configure the network interface ipdptp0 to point to your PPP server. In the following configuration, your machine will expect to be assigned an IP address dynamically by your PPP server.
ifconfig ipdptp0 plumb void ppp_server_name down
path
interface ipdptp0
peer_system_name ppp_server_name
inactivity_timeout 300
debug_level 7
negotiate_address on
where ppp_server_name is same as before. The last line
"negotiate_address on" is supported on Solaris 2.5
only. Your machine can still request an IP address dynamically under
Solaris 2.4. To do this you just need to assign an IP address of
0.0.0.0 to the interface before you dial out which is what we will
define void to be.
If you have a static IP address for your machine, you can replace
void with your IP address and take out the last line
"negotiate_address on".
You will also need to define void in the /etc/hosts file as
follows:
/etc/hosts
For Solaris 2.5:
0.0.0.1 void
For Solaris 2.4:
0.0.0.0 void
debug_level 7 in
/etc/asppp.cf for attach and detach scripts to work. Scripts
attach and detach use two other utilities ppplock and
pppunlock. These are compiled C programs that
try to create a lock file in exclusive mode. This assures me that one of
my cron jobs will not try to start another PPP session while I am
already running one PPP session. Here is the source code for ppplock and pppunlock.
They should compile using gcc easily and I would think other C compilers
as well.
Hope this helps you with your PPP set up. Please report any discrepancies in the above procedure.