Penguin
Blame: LinuxPPPoENotes
EditPageHistoryDiffInfoLikePages
Annotated edit history of LinuxPPPoENotes version 10, including all changes. View license author blame.
Rev Author # Line
8 MattBrown 1 !!! Specific PPP Configurations
2 * If you are using a [3ComDualLink] or any similar [ADSL] modem that uses non-standard frame types, check out [3ComDualLinkPPPoE].
3 * If you used Wired Country (or any of their resellers) check out LinuxWiredCountryNotes
6 AristotlePagaltzis 4
5 !!! User Mode [PPPoE]
6
7 If you install roaring penguin [PPPoE] on [Linux] from the tarball, you get a few scripts named adsl-start, adsl-connect etc.
8
9 [Debian]'s __pppconfig__, among others, uses a much tidier way using __pppd__'s "call" parameter and __/etc/ppp/peers__ entries.
10
11 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.
12
13 __/etc/ppp/peers/myisp__:
9 ChrisBrowning 14 <verbatim>
6 AristotlePagaltzis 15 pty '/usr/sbin/pppoe -p /var/run/pppoe.conf-adsl.pid.pppoe -m 1412 -U -T 80 -I eth0 -S ISP'
16 holdoff 5
17 #debug
18 persist
19 ipcp-accept-remote
20 ipcp-accept-local
21 noauth
22 defaultroute
23 hide-password
24 user foo@myisp.com
25 lcp-echo-interval 5
26 lcp-echo-failure 5
27 remotename myisp
28 maxfail 0
9 ChrisBrowning 29 </verbatim>
6 AristotlePagaltzis 30 __/etc/ppp/pap-secrets__:
9 ChrisBrowning 31 <verbatim>
6 AristotlePagaltzis 32 "foo@myisp.com" myisp "mypassword"
9 ChrisBrowning 33 </verbatim>
6 AristotlePagaltzis 34
35 Now, typing __pppd call myisp__ should connect the the AccessConcentrator then establish the [PPP] connection with the RemoteAccessNode (in the case of [ADSL]).
36
37 !!! Kernel Mode [PPPoE]
38
39 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.
40
41 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__.
42
43 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):
44
10 ChrisBrowning 45 <verbatim>
6 AristotlePagaltzis 46 CONFIG_PPP=m
47 CONFIG_PPP_ASYNC=m
48 CONFIG_PPP_DEFLATE=m
49 CONFIG_PPP_BSDCOMP=m
50 CONFIG_PPPOE=m
10 ChrisBrowning 51 </verbatim>
6 AristotlePagaltzis 52
53 You will also need the appropriate character device, in case it doesn't exist:
54
10 ChrisBrowning 55 <verbatim>
6 AristotlePagaltzis 56 mknod --mode=664 /dev/ppp c 108 0
10 ChrisBrowning 57 </verbatim>
6 AristotlePagaltzis 58
59 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):
60
10 ChrisBrowning 61 <verbatim>
6 AristotlePagaltzis 62 alias net-pf-24 pppoe
63 alias char-major-108 ppp_generic
64 alias tty-ldisc-3 ppp_async
65 alias tty-ldisc-13 n_hdlc
66 alias tty-ldisc-14 ppp_synctty
10 ChrisBrowning 67 </verbatim>
6 AristotlePagaltzis 68
69 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.
70
71 __/etc/ppp/peers/myisp__:
10 ChrisBrowning 72 <verbatim>
6 AristotlePagaltzis 73 plugin rp-pppoe.so
74 rp_pppoe_service ISP eth0
75 holdoff 5
76 #debug
77 persist
78 ipcp-accept-remote
79 ipcp-accept-local
80 noauth
81 defaultroute
82 hide-password
83 user foo@myisp.com
84 lcp-echo-interval 5
85 lcp-echo-failure 5
86 remotename myisp
87 maxfail 0
10 ChrisBrowning 88 </verbatim>
6 AristotlePagaltzis 89
90 __/etc/ppp/pap-secrets__:
10 ChrisBrowning 91 <verbatim>
6 AristotlePagaltzis 92 "foo@myisp.com" myisp "mypassword"
10 ChrisBrowning 93 </verbatim>
6 AristotlePagaltzis 94
95 Now, typing __pppd call myisp__ should connect the the AccessConcentrator then establish the [PPP] connection with the RemoteAccessNode (in the case of [ADSL]).