If you are using a 3ComDualLink or any similar ADSL modem that uses non-standard frame types, check out 3ComDualLinkPPPoE.
LinuxWiredCountryNotes - Additional notes for wired country connections.
If you install roaring penguin PPPoE on Linux from the tarball, you get a few scripts named adsl-start, adsl-connect etc.
Debian's pppconfig, among others, uses a much tidier way using pppd's "call" parameter and /etc/ppp/peers entries.
Here is an example entry for a PPPoE connection. In the following, you would replace ISP with the PPPoE service name on your modem/AccessConcentrator, eth0 with the ethernet device connected to your AccessConcentrator, foo@myisp.com with your username, myisp with a label for your ISP and mypassword with your password.
pty '/usr/sbin/pppoe -p /var/run/pppoe.conf-adsl.pid.pppoe -m 1412 -U -T 80 -I eth0 -S ISP' holdoff 5
persist ipcp-accept-remote ipcp-accept-local noauth defaultroute hide-password user foo@myisp.com lcp-echo-interval 5 lcp-echo-failure 5 remotename myisp maxfail 0
Now, typing pppd call myisp should connect the the AccessConcentrator then establish the PPP connection with the RemoteAccessNode? (in the case of ADSL).
The Linux kernel now has a built in PPPoE framer. Using the kernel mode PPPoE driver seems to yield measurably (but not noticably) lower CPU load than the userland client.
The framer provides a pty /dev/ppp for pppd to talk to, but it still needs a PPPoE plugin. The ppp package includes one which is supplied by the good folk at Roaring-Penguin. Oddly enough, the best docs for kernel mode seem to be in the usermode package, see doc/KERNEL-MODE-PPPOE.
In the following, you would replace ISP with the PPPoE service name on your modem/AccessConcentrator, eth0 with the ethernet device connected to your AccessConcentrator, foo@myisp.com with your username, myisp with a label for your ISP and mypassword with your password.
plugin rp-pppoe.so rp_pppoe_service ISP eth0 holdoff 5
persist ipcp-accept-remote ipcp-accept-local noauth defaultroute hide-password user foo@myisp.com lcp-echo-interval 5 lcp-echo-failure 5 remotename myisp maxfail 0
Now, typing pppd call myisp should connect the the AccessConcentrator then establish the PPP connection with the RemoteAccessNode? (in the case of ADSL).
3 pages link to LinuxPPPoENotes: