Annotated edit history of LinuxPPPoA version 39, including all changes. View license author blame.
Rev Author # Line
36 CraigBox 1 [PPPoA] is an Acronym for [PPP] over [ATM], a protocol which is commonly used for [ADSLModems] such as World-Net's [AccessRunner|AccessRunnerADSLModem] and D-Link AHL110.
35 JohnMcPherson 2
39 AristotlePagaltzis 3 __PPPoA is supported out of the box on Debian Sarge (pppd 2.4.3), so this page is largely unnecessary now.__ As of 2.4.1 howver, the default PPP distribution for linux did not come with PPPoA support, and neither did the Debian package in Woody. However there are patches floating around to add this functionality. The patches provided below are originally from the current [SUSE] version of ppp which ships with PPPoA support. I have extracted these patches and verified that they work with both the standard ppp-2.4.1 distribution and the debian woody ppp-2.4.1 source package.
37 NikThirtynine 4
38 CraigBox 5 Before we start with all the configuration you should be aware of the fact that you need to connect your ADSL modem directly to your Linux box (eg via USB or as internal PCI card) - it is __not__ possible to have it connected via [Ethernet].
35 JohnMcPherson 6
7 !! Kernel Options
9 You'll need a kernel that has ATM support compiled in. Make sure the following options are enabled:
10 <verbatim>
11 -Code maturity level options
12 [*] Prompt for development and/or incomplete code/drivers
13 -Networking options
14 [*] Asynchronous Transfer Mode (ATM) (EXPERIMENTAL)
15 [*] Classical IP over ATM (NEW)
16 <*> LAN Emulation (LANE) support (NEW)
17 <*> RFC1483/2684 Bridged protocols (NEW)
18 </verbatim>
20 You'll also need standard PPP support in your kernel, for obvious reasons:
22 <verbatim>
23 -Network Device Support
24 <M> PPP (point-to-point protocol) support
25 [*] PPP multilink support (EXPERIMENTAL)
26 [*] PPP filtering
27 <M> PPP support for async serial ports
28 <M> PPP support for sync tty ports
29 <M> PPP Deflate compression
30 <M> PPP BSD-Compress compression
31 <M> PPP over Ethernet (EXPERIMENTAL)
33 </verbatim>
35 And recompile your kernel.
36 ''Note - at least one person had trouble with pppoa not working which was apparently solved by compiling atm and ppp over atm support into the kernel instead of as modules ''. - The problem with using modules for pppoa is that if you use too many you get a large dependency tree, this is the problem mentioned above. It is entirely possible to run pppoa (and other ppp related code) as modules provided that you are aware of the dependencies and ensure that the modules are loaded in the correct order.%%%
37 ''modprobe should surely handle this itself, as it understands module dependencies. Can you elaborate on the correct module load order? --DanielLawson''%%%
38 ''I've not yet seen modprobe do it correctly (i've never spent the time trying), i am not sure what the correct order is and it is dependent on what parts you have as modules and what parts are built in, specifically I think that pppoa requires pppoe to add some hooks but as they are not strictly dependent on each other the information that modprobe requires is not present. --MattBrown''%%%
39 ''There are problems with Kernel Oops when you try doing all this with Kernel version 2.4.22 - this is supposed to be fixed in the 'pre' patches for 2.4.23, but 2.4.21 works fine. --WarrenBoyd''%%%
40 ''There are problems with Kernel Errors leading to stalled pppd with latest 2.4.X and 2.6.0 when using ipv6 on ppp with ipv6 ipsec enabled. Deactivate ipv6 privacy extensions in your kernel for pppd to reconnect correctly. dmesg error is unregister_netdevice: waiting for ppp0 to become free. Usage count = 1. --~TheMadHatter''
42 !! Precompiled .deb
43 If you are impatient and just want to get PPPoA up and running on your system without compiling from source the following debs may work for you. Grab whichever one is appropriate for your version of debian. If you dont run debian woody or sarge, you have to compile from source.
45 Woody:
48 Skip ahead to the Configuring PPPoA section.
50 !! Compiling from Source
52 #You will need the following 3 patches
53 **
54 **
55 **
56 **As you can see the PPPoA patch relies on PPPoE (PPP over Ethernet) and another small patch. The PPPoE patch is required as it add's some generic hooks in to PPP that the PPPoA module uses. The pwfd patch is required because I am lazy... Basically the pppoatm patch expects it to be there and I couldn't be bothered hacking the patches to work without it..
57 #You will also need to have the atm-tools and atm-dev packages installed
58 ** apt-get install atm-tools atm-dev
59 ** OR
61 ! Compiling from the Standard ppp distribution
62 # Obtain ppp-2.4.1
63 # Download the 3 patches from above
64 # Extract ppp-2.4.1 and change into the directory
65 # patch -p1 < 028_pppoe.diff
66 # patch -p1 < 029_pwfd.diff
67 # patch -p1 < 030_pppoatm.diff
68 # ./configure
69 # make
70 # make install
72 ! Compiling from the Debian Source
73 # apt-get install atm-dev (its needed, but not listed in the builddepends for the .deb)
74 # apt-get source ppp
75 # copy the 3 patch files to ppp-2.4.1.uus/debian/patches
76 # cd ppp-2.4.1.uus/
77 # debian/rules unpatch
78 # debian/rules patch
79 # dpkg-buildpackage
80 # cd ..
81 # dpkg -i ppp_2.4.1.uus-4_i386.deb
83 __Notes on compiling from Debian source__
85 *I found it necessary to edit pppd/plugins/Makefile and to add -lresolv to the link options for
87 *The above procedure does not work for ppp_2.4.1.uus-5, which has been changed sufficiently that the patches do not apply. - []
89 !! Configuring PPPoA
90 This step is much the same as it would be for compiling PPP normally, if you are unfamiliar with PPP it might be an idea to read a HOWTO or something. I have ppp configured so that it is easy to switch between my normal dsl provider (World-Net) and JSGames. I will show you how to set this up.
92 Create configuration files in /etc/ppp/peers for your dsl provider and JSGames. The most important line to have in each file is
93 plugin /usr/lib/pppd/2.4.1/ 0.100
94 This tells pppd to load the PPPoA plugin. Download my sample configs to see the full set of options
98 Also make sure you have 'noauth' in there somewhere, else the RAN will try and authenticate against you, and fail miserably.
100 My configuration is setup to use PAP authentication, make sure you have a line such as
101 username@provider * yourpassword
102 in your /etc/ppp/pap-secrets file. Download my sample pap-secrets file
105 Finally setup ppp to start on boot
106 * mv /etc/ppp/no_ppp_on_boot /etc/ppp/ppp_on_boot
107 * chmod +x /etc/ppp/ppp_on_boot
108 * Edit /etc/ppp/ppp_on_boot so that it calls your adsl provider on startup ie for the example provider you download above we would have the line
109 **$PPPD call ppp-provider
110 * Download my example
112 That's it. You should be done!!
114 !!Traverse Technologies Pulsar PCI ADSL modem using Linux
116 * Check my How-To
118 !!Conexant Access Runner PCI ADSL modem using Linux
120 See [AccessRunnerADSLModem] for details on configuration of this modem.

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 3 times)