Differences between version 6 and revision by previous author of LinuxPPPoENotes.
Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History
Newer page: | version 6 | Last edited on Thursday, April 22, 2004 12:20:03 am | by AristotlePagaltzis | Revert |
Older page: | version 1 | Last edited on Wednesday, April 21, 2004 10:38:08 pm | by JamesSpooner | Revert |
@@ -1,13 +1,18 @@
-If you install roaring penguin
[PPPoE
] on linux from the tarball, you get a few scripts named adsl
-start
, adsl-connect etc
.
+If you are using a
[3ComDualLink
] or any similar [ADSL] modem that uses non
-standard frame types
, check out [3ComDualLinkPPPoE]
.
-Debian's pppconfig, among others, uses a much tidier way using pppd's "call" parameter and /etc/ppp/peers entries.
+!!! User Mode [PPPoE]
+
+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.
-/etc/ppp/peers/myisp:
- pty '/usr/sbin/pppoe -p /var/run/pppoe.conf-adsl.pid.pppoe -I eth0 -S ISP'
+__
/etc/ppp/peers/myisp__
:
+ pty '/usr/sbin/pppoe -p /var/run/pppoe.conf-adsl.pid.pppoe -m 1412 -U -T 80
-I eth0 -S ISP'
holdoff 5
+ #debug
persist
ipcp-accept-remote
ipcp-accept-local
noauth
@@ -18,6 +23,58 @@
lcp-echo-failure 5
remotename myisp
maxfail 0
-/etc/ppp/pap-secrets
+__
/etc/ppp/pap-secrets__:
"foo@myisp.com" myisp "mypassword"
+
+Now, typing __pppd call myisp__ should connect the the AccessConcentrator then establish the [PPP] connection with the RemoteAccessNode (in the case of [ADSL]).
+
+!!! Kernel Mode [PPPoE]
+
+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 | http://www.roaringpenguin.com]. Oddly enough, the best docs for kernel mode seem to be in the usermode package, see __doc/KERNEL-MODE-PPPOE__.
+
+You need a sufficiently recent version of ppp -- 2.4.2 is the minimum --, and your [Kernel] must have support for the following (this is for 2.6):
+
+ CONFIG_PPP=m
+ CONFIG_PPP_ASYNC=m
+ CONFIG_PPP_DEFLATE=m
+ CONFIG_PPP_BSDCOMP=m
+ CONFIG_PPPOE=m
+
+You will also need the appropriate character device, in case it doesn't exist:
+
+ mknod --mode=664 /dev/ppp c 108 0
+
+Add the following entries to __/etc/modules.conf__ according to __KERNEL-MODE-PPPOE__ (under your LinuxDistribution the file may already contain some or all of these):
+
+ alias net-pf-24 pppoe
+ alias char-major-108 ppp_generic
+ alias tty-ldisc-3 ppp_async
+ alias tty-ldisc-13 n_hdlc
+ alias tty-ldisc-14 ppp_synctty
+
+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.
+
+__/etc/ppp/peers/myisp__:
+ plugin rp-pppoe.so
+ rp_pppoe_service ISP eth0
+ holdoff 5
+ #debug
+ 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
+
+__/etc/ppp/pap-secrets__:
+ "foo@myisp.com" myisp "mypassword"
+
+Now, typing __pppd call myisp__ should connect the the AccessConcentrator then establish the [PPP] connection with the RemoteAccessNode (in the case of [ADSL]).