Whew, what a journey down source code lane...

One thing that was killing my effort was that the debug statements in the source code were using printf's, so the fact that, by default, pppd spins itself off into the background means that one would never see the printf's at all!

Wanting to find out how to keep it in the foreground I did a man on pppd and "nodetach" came up, however it didn't work for me (wrong pppd). Scanning the executable led me to a similar "-detach" which did.

In the end, getting this sort of debugging info needs to be done from the *command line*. However the options (in dsl-provider, etc) will be employed...

One note - the order of options in the command line, and file dsl-provider, is important. It seems the options are scanned and the lines parsed in order of appearance. This means that one cannot employ an option /that is intended for a plug-in [e.g. rp-pppoe.so]/ until *after* the plugin has been declared.

So to get my access concentrator's name I issue (yes, while ppp is running in the background with a live connection): pppd -detach plugin /usr/lib/pppd/rp-pppoe.so rp_pppoe_verbose 1 call dsl-provider eth0

and I get this sort of info:
Plugin /usr/lib/pppd/rp-pppoe.so loaded.
RP-PPPoE plugin version 3.3 compiled against pppd 2.4.2
Plugin /usr/lib/pppd/rp-pppoe.so loaded.
RP-PPPoE plugin version 3.3 compiled against pppd 2.4.2
Access-Concentrator: bas88-city99
Got a cookie: 01 ff 03 ff 05 ff 07 ff 09 ff 0b ff 0d ff 0f 10
--------------------------------------------------
AC-Ethernet-Address: 00:08:02:fd:fe:ff
--------------------------------------------------
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

:: "-detach" tells is not to disappear into the background so that we can the the printf() output :: "plugin /usr/lib/pppd/rp-pppoe.so" tells pppd to first load the plugin. The plug-in needs to be loaded or it will abend upon parsing any plug-in-specific parameter/option :: "rp_pppoe_verbose 1" tell the rp-pppoe.so plugin that we want the verbose output :: "call dsl-provider eth0" invokes our own DSL connection options. Normally pppd is invoked from /usr/bin/pon, which is invoked by the reference to ppp that appears in /etc/network/interfaces

Fun stuff: insert the option "dryrun" as the first parameter of the pppd invocation and you'll get no actual ppp login but instead, an enumeration of the options that are being employed. pppd draws, variously, from /etc/ppp/options, /etc/ppp/peers/dsl-provider and the command line). My list comes up with some repeated entries indicating some sort of weirdness with the parsing of options.

Thanks one and all for LEAF!
scott; canada


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
------------------------------------------------------------------------
leaf-user mailing list: leaf-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/leaf-user
Support Request -- http://leaf-project.org/

Reply via email to