multiple ppp dialout broken? Help!

From: Val Luck (vluck@gamet.com)
Date: Fri Apr 05 2002 - 20:40:13 EST


Hello All,

I have a complicated problem that I have decided to try and solve with Sun's
ASPPP package. I need to have one Sun server (running Solaris 8) dial into
hundreds of Linux boxes to nightly retrieve a data file.

I have PPP set up so that it will use 2 modems (hooked up to cua/a and
cua/b). I can connect via PPP to these Linux boxes reliably. However, it
seems there is a bug in the ASPPPD. The problem is this:

When a PPP session is kicked off, the ASPPPD locks the device (cua/a) and
goes through the dial process and connects. However, once the connection is
established the lock file in /var/spool/locks is removed, even though the
modem is still in use and inaccessible by other processes.

If I try to kick off two PPP dialout sessions at once, there is no problem.
One process grabs cua/a and locks it, and starts the dialing. The next
process looks and sees cua/a locked, and grabs cua/b and using it, dials
out. No problem. However, if the second process finishes before the first
process, it will try to dial the next remote site. Since the lock for the
device is removed upon connection, it will try to grab cua/a and fail. It
will not go on to try another device.

I noticed the disappearing lock by doing multiple "ls -l " on /var/spool
locks. I don't know if this is a bug with the ASPPP package from Sun, but
it sure looks like one.

Additionally, if I can work-around or fix the above problem, I have another
problem to get by. Say I attach a modem-bank and have 5 modems dialing out
at once to different servers which gives me the interfaces ipdptp0 through
ipdptp4. Say modem #1 (ipdptp0) finishes its task first; how do I stop that
ppp connection and only that connection so I can initiate another call again
to the next remote site? The docs refer to stopping the aspppd when you are
done. This, however, stops and removes all the connections for all 5
modems, not just modem #1. I tried unplumbing ipdptp0, but it didn't do any
good.

Does anyone have any experience with this type of thing and perhaps have any
ideas, it would be much appreciated. I will summarize all answers I get.

Thanks !!

Val

p.s. Here is some logfile output:

When the first connection is in progress and the lock is present (from
/var/adm/log/asppp.log):
==================================================
   Trying device entry 'cua/a' from '/etc/uucp/Devices'.
   processdev: calling setdevcfg(ppp, PPP)
   File exists: link(/var/spool/locks/LTMP.1706,
             /var/spool/locks/LK.136.020.131072)
   ulockf name /var/spool/locks/LK.136.020.131072
   Lock File--process still active--not removed
   failed to lock device /dev/cua/a
   set interface UNIX
   Trying device entry 'cua/b' from '/etc/uucp/Devices'.
   processdev: calling setdevcfg(ppp, PPP)
   fd_mklock: ok
   fixline(10, 115200)
   gdial(hayesppp) called
   Trying caller script 'hayesppp' from '/etc/uucp/Dialers'.
   expect: ("")
   got it
   sendthem (atdt4474^M)
   getto ret 9
   expect: (ogin:)
   sendthem (at&f1s0=0s2=128&B1e0q1&w^M)
   expect: ("")
   got it
   sendthem (atdt4540^M)
   getto ret 10
   expect: (ogin:)
   Rlease 7.2 (Enigma)^J^MKernel ^M on an i586^J^M^J^M^M^Jdcs1

[it goes on to connect fine]

But when the first connection connects and removes the lock, then it
doesn't even see that the device is busy:
==================================================
   Trying device entry 'cua/a' from '/etc/uucp/Devices'.
   processdev: calling setdevcfg(ppp, PPP)
   fd_mklock: ok
   fixline(12, 115200)
   gdial(hayesppp) called
   Trying caller script 'hayesppp' from '/etc/uucp/Dialers'.
   expect: ("")
   got it
   sendthem (at&f1s0=0s2=128&B1e0q1&w^M)
   expect: ("")
   got it
   sendthem (atdt4540^M)
   getto ret 12
   expect: (ogin:)
   lost line errno - 22
   sendthem (^M)
   expect: (ogin:)
   lost line errno - 22
   close caller (12)
   delock line (cua/a)
   Call Failed: LOGIN FAILED

Notice the "lost line errno - 22" and the missing "File exists:
link(/var/spool/locks/LTMP.1706" line.

===============
Val Luck
Gamet Technology
vluck@gamet.com
===============
_______________________________________________
sunmanagers mailing list
sunmanagers@sunmanagers.org
http://www.sunmanagers.org/mailman/listinfo/sunmanagers



This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 23:24:10 EDT