HELP: Configuring PPP on a Basic Debian Linux 1.3.1 System ----------------------------------------------------------------- ABSTRACT: The simplest of cnfigurations, a standalone Linux system with an external modem going across a regular phone line to a well-behaved ISP cannot get dial-up capability.
Hdw: Pentium 133MHz system (w/ Cyrix 686-type CPU) Logicode External 56K modem on /dev/cua1 (COM2) (mouse on 1st serial port /dev/ttyS0 (COM1), no other serial devices on (COM3 or COM4)) Normal config: Adaptec SCSI adapter, SCSI drives, SOHO Ethernet card, S3/Verge generic graphics card, ... Sw: OS: Debian 1.3.1 (secondary os, Windows 95 for connectivity) Services: JPS Net (dial-in Internet Service Provider) attributes: 56K modem support with X2 or 56flex enforces PAP (Password Authentication Protocol) well documented technical settings on their webpage such as DNS numbers, dial-in numbers, etc Problem: Cannot get pppd(8) configured correctly. The physical connection works fine. Steps: 1. Verified kernel support for ppp 2. Matched device /etc/cua1 with the correct serial port. 3. Verified physical connection between modem and serial port. 4. Used Kermit to manually test the connection (The document PPP-HOWTO is very good about successfully passing through each step successfully. Unfortunately, it is heavily biased towards BSD style Linuxes; Debian happens to be ATT Sys5 style.) Here is where I start to break down. I experimented with ezPPP, the PPP-HOWTO and help from archived individuals. I'm may be in a tangle with unnecessary config files or misconfigured files. CONFIGURATION FILES: ------------------------------------------ /etc/ppp/options # /etc/ppp/options # # Prevent pppd from forking into the background #-detach debug /dev/ttyS1 # If you are using a STATIC IP number, edit the 0.0.0.0 part of the # following line to your static IP number. # 0.0.0.0: # # use the modem control lines 38400 <-- I tried using 56800 but pppd didn't like that modem # use uucp style locks to ensure exclusive access to the serial device lock # use hardware flow control crtscts connect /etc/ppp/ppp-connect # create a default route for this connection in the routing table defaultroute # do NOT set up any "escaped" control sequences asyncmap 0 # use a maximum transmission packet size of 552 bytes # mtu 552 # use a maximum receive packet size of 552 bytes # mru 552 # # force pppd to use your ISP username as your 'host name' during the # authentication process # technically 'user' is bettern than 'name' but ppp understands both # and 'name' works for CHAP as well. # name fred <-- my ISP username here # # If you need to force PAP or CHAP authentication on the server, # uncomment the appropriate one of the following lines. #+chap #+pap # # If you are using ENCRYPTED secrets in the /etc/ppp/pap-secrets # file, then uncomment the following line. #+papcrypt ------------------------------------------ /etc/resolv.conf domain jps.net search jps.net nameserver 206.170.168.35 nameserver 208.25.63.252 ------------------------------------------ /etc/ppp/pp-connect #!/bin/sh /usr/sbin/chat -v -t 60 -f /etc/ppp/ppp-chat ------------------------------------------ /etc/ppp/ppp-chat ABORT "BUSY" ABORT "NO CARRIER" "" AT&F\r OK AT&D2&C1\r OK ATD423-0023\r ogin: fred\r sword: mywilma\r ------------------------------------------ /etc/ppp/pap-secrets # This is a pap-secrets file to be used with the AUTO_PPP function of mgetty # mgetty-0.99 is preconfigured to startup pppd with the login option which # will cause pppd to consult /etc/passwd after a user has passed this file # Dont be disturbed therfore by the fact that this file defines logins with # any password for users. /etc/passwd will catch passwd mismatches. # # This file should block ALL users that should not be able to do AUTO_PPP! # AUTO_PPP bypasses the usual login program so its necessary to list all # system userids with regular passwords here! # # ATTENTION: The definitions here can allow users to login without a # password if you dont use the login option of pppd! # The /etc/ppp/options file installed has the login option enabled # INBOUND connections # Every regular user can use PPP and has to use passwords from /etc/passwd * os "" # UserIDs that cannot use PPP at all. Check your /etc/passwd and add any # other accounts that should not be able to use pppd! #guest os "*" - master os "*" - #root os "*" - support os "*" - stats os "*" - # OUTBOUND connections # Here you should add your userid password to connect to your providers via # pap. The * means that the password is to be used for ANY host you connect # to. Thus you do not have to worry about the foreign machine name. Just # replace password with your password. # If you have different providers with different passwords then you better # remove the following line. os * password fred * mywilma ------------------------------------------ /etc/ppp/ip-up #!/bin/sh # # $Id: ip-up,v 1.1 1996/01/31 21:25:59 alvar Exp $ # # This script is run by the pppd after the link is established. # It should be used to add routes, set IP address, run the mailq # etc. # # This script is called with the following arguments: # Arg Name Example # $1 Interface name ppp0 # $2 The tty ttyS1 # $3 The link speed 38400 # $4 Local IP number 12.34.56.78 # $5 Peer IP number 12.34.56.99 # # The environment is cleared before executing this script # so the path must be reset # PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin export PATH # last line ------------------------------------------ /etc/ppp/ip-down #!/bin/sh # # $Id: ip-down,v 1.1 1996/01/31 21:25:59 alvar Exp $ # # This script is run by the pppd _after_ the link is brought down. # It should be used to delete routes, unset IP addresses etc. # # This script is called with the following arguments: # Arg Name Example # $1 Interface name ppp0 # $2 The tty ttyS1 # $3 The link speed 38400 # $4 Local IP number 12.34.56.78 # $5 Peer IP number 12.34.56.99 # # The environment is cleared before executing this script # so the path must be reset # PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin export PATH # last line ------------------------------------------ /etc/ppp/no_ppp_on_boot Rename this file to ppp_on_boot and pppd will be fired up as soon as linux comes up. ------------------------------------------ /etc/ppp/ppp-on-dialer #!/bin/sh # # This is part 2 of the ppp-on script. It will perform the connection # protocol for the desired connection. # chat -v \ TIMEOUT 3 \ ABORT '\nBUSY\r' \ ABORT '\nNO ANSWER\r' \ ABORT '\nRINGING\r\n\r\nRINGING\r' \ '' \rAT \ 'OK-+++\c-OK' ATH0 \ TIMEOUT 30 \ OK ATDT$TELEPHONE \ CONNECT '' \ ogin:--ogin: $ACCOUNT \ assword: $PASSWORD ------------------------------------------ Debugging: 1. In a shell and type 'pppd -d' 2. pppd dies, does not appear when I do a 'ps -aux |grep pppd' ------------------------------------------ /var/log/syslog Mar 11 06:45:48 swift syslogd 1.3-3#17: restart. Mar 11 06:45:48 swift kernel: klogd 1.3-3, log source = /proc/kmsg started. Mar 11 06:45:48 swift kernel: Loaded 5336 symbols from /System.map. Mar 11 06:45:48 swift kernel: Symbols match kernel version 2.0.30. Mar 11 06:45:48 swift kernel: Loaded 11 symbols from 1 module. Mar 11 06:45:48 swift kernel: Console: 16 point font, 400 scans Mar 11 06:45:48 swift kernel: Console: colour VGA+ 80x25, 1 virtual console (max 63) Mar 11 06:45:48 swift kernel: pcibios_init : BIOS32 Service Directory structure at 0x000fadc0 Mar 11 06:45:48 swift kernel: pcibios_init : BIOS32 Service Directory entry at 0xfb230 Mar 11 06:45:48 swift kernel: pcibios_init : PCI BIOS revision 2.10 entry at 0xfb260 Mar 11 06:45:48 swift kernel: Probing PCI hardware. Mar 11 06:45:48 swift kernel: Warning : Unknown PCI device (5333:8a01). Please read include/linux/pci.h Mar 11 06:45:48 swift kernel: Calibrating delay loop.. ok - 133.12 BogoMIPS Mar 11 06:45:48 swift kernel: Memory: 30816k/32768k available (780k kernel code, 384k reserved, 788k data) Mar 11 06:45:48 swift kernel: This processor honours the WP bit even when in supervisor mode. Good. Mar 11 06:45:48 swift kernel: Swansea University Computer Society NET3.035 for Linux 2.0 Mar 11 06:45:48 swift kernel: NET3: Unix domain sockets 0.13 for Linux NET3.035. Mar 11 06:45:48 swift kernel: Swansea University Computer Society TCP/IP for NET3.034 Mar 11 06:45:48 swift kernel: IP Protocols: ICMP, UDP, TCP Mar 11 06:45:48 swift kernel: VFS: Diskquotas version dquot_5.6.0 initialized^M Mar 11 06:45:48 swift kernel: Checking 386/387 coupling... Ok, fpu using exception 16 error reporting. Mar 11 06:45:48 swift kernel: Checking 'hlt' instruction... Ok. Mar 11 06:45:48 swift kernel: Linux version 2.0.30 ([EMAIL PROTECTED]) (gcc version 2.7.2.1) #3 Sun Feb 22 09:23:14 UTC 1998 Mar 11 06:45:48 swift kernel: Serial driver version 4.13 with no serial options enabled Mar 11 06:45:48 swift kernel: tty00 at 0x03f8 (irq = 4) is a 16550A Mar 11 06:45:48 swift kernel: tty01 at 0x02f8 (irq = 3) is a 16550A Mar 11 06:45:48 swift kernel: lp1 at 0x0378, (polling) Mar 11 06:45:48 swift kernel: hdc: GCD-R580B, ATAPI CDROM drive Mar 11 06:45:48 swift kernel: ide1 at 0x170-0x177,0x376 on irq 15 Mar 11 06:45:48 swift kernel: Floppy drive(s): fd0 is 1.44M Mar 11 06:45:48 swift kernel: Started kswapd v 1.4.2.2 Mar 11 06:45:48 swift kernel: FDC 0 is an 8272A Mar 11 06:45:48 swift kernel: aic7xxx: BurstLen = 8 DWDs, Latency Timer = 32 PCLKS Mar 11 06:45:48 swift kernel: aic7xxx: AHA-2940A Ultra Rev C. Mar 11 06:45:48 swift kernel: aic7xxx: devconfig = 0x1100. Mar 11 06:45:48 swift kernel: aic7xxx: Reading SEEPROM...done. Mar 11 06:45:48 swift kernel: aic7xxx: Extended translation enabled. Mar 11 06:45:48 swift kernel: aic7xxx: Memory check yields 3 SCBs, paging not enabled. Mar 11 06:45:48 swift kernel: AHA-2940A Ultra (PCI-bus), I/O 0x6100, Mem 0xe4000000: Mar 11 06:45:48 swift kernel: irq 11 Mar 11 06:45:48 swift kernel: bus release time 40 bclks Mar 11 06:45:48 swift kernel: data fifo threshold 100% Mar 11 06:45:48 swift kernel: SCSI CHANNEL A: Mar 11 06:45:48 swift kernel: scsi id 7 Mar 11 06:45:48 swift kernel: scsi selection timeout 256 ms Mar 11 06:45:48 swift kernel: scsi bus reset at power-on enabled Mar 11 06:45:48 swift kernel: scsi bus parity enabled Mar 11 06:45:48 swift kernel: scsi bus termination (low byte) enabled Mar 11 06:45:48 swift kernel: aic7xxx: Downloading sequencer code...done. Mar 11 06:45:48 swift kernel: aic7xxx: Resetting the SCSI bus...done. Mar 11 06:45:48 swift kernel: scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 4.0/3.2/4.0 Mar 11 06:45:48 swift kernel: scsi : 1 host. Mar 11 06:45:48 swift kernel: scsi0: Scanning channel A for devices. Mar 11 06:45:48 swift kernel: scsi0: Target 2, channel A, now synchronous at 10.0MHz, offset 15. Mar 11 06:45:48 swift kernel: Vendor: SGI Model: SEAGATE ST51080N Rev: 0950 Mar 11 06:45:48 swift kernel: Type: Direct-Access ANSI SCSI revision: 02 Mar 11 06:45:48 swift kernel: Detected scsi disk sda at scsi0, channel 0, id 2, lun 0 Mar 11 06:45:48 swift kernel: scsi0: Target 5, channel A, now synchronous at 10.0MHz, offset 15. Mar 11 06:45:48 swift kernel: Vendor: QUANTUM Model: FIREBALL_TM2110S Rev: 300N Mar 11 06:45:48 swift kernel: Type: Direct-Access ANSI SCSI revision: 02 Mar 11 06:45:48 swift kernel: Detected scsi disk sdb at scsi0, channel 0, id 5, lun 0 Mar 11 06:45:48 swift kernel: scsi : detected 2 SCSI disks total. Mar 11 06:45:48 swift kernel: SCSI device sda: hdwr sector= 512 bytes. Sectors= 2070235 [1010 MB] [1.0 GB] Mar 11 06:45:48 swift kernel: SCSI device sdb: hdwr sector= 512 bytes. Sectors= 4124736 [2014 MB] [2.0 GB] Mar 11 06:45:48 swift kernel: PPP: version 2.2.0 (dynamic channel allocation) Mar 11 06:45:48 swift kernel: TCP compression code copyright 1989 Regents of the University of California Mar 11 06:45:48 swift kernel: PPP Dynamic channel allocation code copyright 1995 Caldera, Inc. Mar 11 06:45:48 swift kernel: PPP line discipline registered. Mar 11 06:45:48 swift kernel: Partition check: Mar 11 06:45:48 swift kernel: sda: sda1 sda2 < sda5 > Mar 11 06:45:48 swift kernel: sdb: sdb1 sdb2 sdb3 Mar 11 06:45:48 swift kernel: JAVA Binary support v1.01 for Linux 1.3.98 (C)1996 Brian A. Lantz Mar 11 06:45:48 swift kernel: VFS: Mounted root (ext2 filesystem) readonly. Mar 11 06:45:48 swift kernel: Adding Swap: 96384k swap-space (priority -1) Mar 11 06:45:48 swift kernel: Module inserted $Id: cdrom.c,v 0.8 1996/08/10 10:52:11 david Exp $ Mar 11 06:45:48 swift kernel: hdc: media changed Mar 11 06:45:48 swift kernel: hdc: media changed Mar 11 06:45:48 swift kernel: VFS: Disk change detected on device 16:00 Mar 11 06:45:48 swift kernel: hdc: command error: status=0x51 Mar 11 06:45:48 swift kernel: hdc: command error: error=0x54 Mar 11 06:45:48 swift kernel: end_request: I/O error, dev 16:00, sector 64 Mar 11 06:45:48 swift kernel: isofs_read_super: bread failed, dev 16:00 iso_blknum 16 block 32 Mar 11 06:45:48 swift kernel: hdc: code: 0x70 key: 0x05 asc: 0x64 ascq: 0x00 Mar 11 06:45:49 swift syslogd 1.3-3#17: restart. Mar 11 06:45:49 swift kerneld: started, pid=95, qid=0 Mar 11 06:45:50 swift bootpd[103]: version 2.4.3 Mar 11 06:45:54 swift sendmail[129]: starting daemon (8.8.5): [EMAIL PROTECTED]:30:00 Mar 11 06:45:55 swift /usr/sbin/cron[142]: (CRON) STARTUP (fork ok) Mar 11 06:45:55 swift modprobe: can't locate module binfmt-0 Mar 11 06:45:55 swift modprobe: can't locate module binfmt-0 Mar 11 07:14:53 swift kernel: PPP: version 2.2.0 (dynamic channel allocation) Mar 11 07:14:53 swift kernel: PPP Dynamic channel allocation code copyright 1995 Caldera, Inc. Mar 11 07:14:53 swift kernel: PPP line discipline registered. Mar 11 07:14:53 swift kernel: registered device ppp0 Mar 11 07:14:53 swift pppd[268]: pppd 2.2.0 started by root, uid 0 Mar 11 07:14:54 swift pppd[268]: Connect script failed Mar 11 07:14:54 swift pppd[268]: Exit. Mar 11 07:16:53 swift kernel: PPP: ppp line discipline successfully unregistered Mar 11 07:20:00 swift /USR/SBIN/CRON[274]: (root) CMD (faxrunq) Mar 11 07:40:00 swift /USR/SBIN/CRON[283]: (root) CMD (faxrunq) ------------------------------------------ Thanks so much for any help. Setting up PPP easily seems to be essential for any os these days. Has there been much interest in a Debian flavored FAQ for configuring ppp? As I mentioned above, the generic PPP-HOWTO is very good but I coudn't follow it because it referrs to many fiiles and directories in a BSD style Linux. -- E-mail the word "unsubscribe" to [EMAIL PROTECTED] TO UNSUBSCRIBE FROM THIS MAILING LIST. Trouble? E-mail to [EMAIL PROTECTED] .