diff options
| author | Jim Mock <jim@FreeBSD.org> | 2001-04-13 02:59:00 +0000 |
|---|---|---|
| committer | Jim Mock <jim@FreeBSD.org> | 2001-04-13 02:59:00 +0000 |
| commit | a1790180c52b2ef964b401a6f6e3d1bf30ca7f44 (patch) | |
| tree | e058c926a988d6eb588bdf02bd855085a2dd438b | |
| parent | 4657ae5ca60c42b74a22e7eae8cca40110f7aa80 (diff) | |
Add a section to the PPPoE stuff about the 3Com Home Connect Dual Link
ADSL Modem.
Submitted by: lioux
Notes
svn path=/head/; revision=9187
| -rw-r--r-- | en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml | 216 | ||||
| -rw-r--r-- | en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml | 216 |
2 files changed, 426 insertions, 6 deletions
diff --git a/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml b/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml index b3c5197eb8..f3e26802b9 100644 --- a/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml @@ -1,7 +1,7 @@ <!-- The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml,v 1.30 2000/11/11 19:24:47 ben Exp $ + $FreeBSD: doc/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml,v 1.31 2001/04/09 00:33:55 dd Exp $ --> <chapter id="ppp-and-slip"> @@ -1652,7 +1652,7 @@ exit 1 </sect1> <sect1 id="pppoe"> - <title>Using PPP over Ethernet (PPPoE)</title> + <title>Using <application>PPP</application> over Ethernet (PPPoE)</title> <para><emphasis>Contributed by &a.jim; (from <ulink url="http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html">node.to</ulink>) 10 Jan 2000.</emphasis></para> @@ -1715,7 +1715,7 @@ exit 1 <filename>ppp.conf</filename>:</para> <programlisting>default: # or name_of_service_provider - set device PPPoE:xl1 # replace xl1 with your ethernet device + set device PPPoE:<replaceable>xl1</replaceable> # replace xl1 with your ethernet device set mru 1492 set mtu 1492 set authname YOURLOGINNAME @@ -1759,6 +1759,216 @@ ppp_mode="ddial" ppp_nat="YES" ppp_profile="default" # or your provider</programlisting> </sect2> + + <sect2> + <title>PPPoE with a 3Com HomeConnect ADSL Modem Dual Link</title> + + <para><emphasis>Contributed by &a.lioux;, 07 Apr + 2001.</emphasis></para> + + <para>In short, it does not work. It should, but unfortunately, + that is not the case. For whatever reason, this modem does not + follow <ulink url="http://www.faqs.org/rfcs/rfc2516.html">RFC + 2516</ulink> (<emphasis>A Method for transmitting PPP over + Ethernet (PPPoE)</emphasis>, written by L. Mamakos, K. Lidl, + J. Evarts, D. Carrel, D. Simone, and R. Wheeler).</para> + + <para>Since it does not follow the specification, FreeBSD's PPPoE + implementation will not talk to it. It is very likely that it will + not work under other unixes for that same reason. Complain to <ulink + url="http://www.3com.com/">3Com</ulink> if you think it should + comply with the PPPoE specification.</para> + + <para>If you absolutely want to use your ADSL connection with + FreeBSD and are stuck with this modem, you can either:</para> + + <itemizedlist> + <listitem> + <para>Try replacing the modem with a different brand or model + if your DSL provider permits you to do so. If you are not + sure which brand(s) will work, the &a.questions; is a good + place to ask.</para> + </listitem> + + <listitem> + <para>Try to get it working. Keep in mind that there is no + guarantee it will work, your mileage may vary.</para> + </listitem> + </itemizedlist> + + <para>If you want to try to make it work, you can do the + following, but please keep in mind that you do this <emphasis>at + your own risk</emphasis>! Just because it worked for me does + not mean it will work for you.</para> + + <para>There are three steps to the process. They are:</para> + + <procedure> + <step> + <para>Make sure you already have <filename>ppp.conf</filename> + set up. See the beginning of this chapter for more details + on doing so.</para> + </step> + + <step> + <para>Since the modem does not speak the correct protocol, we + need to learn how to speak its variant of the protocol. + This information was obtained from a <ulink + url="http://www.dslreports.com/forum/remark,367540;root=equip,16;mode=flat">DSLreports + forum message</ulink>.</para> + + <para>The modem speaks <literal>0x3c12</literal> for + <literal>DISCOVERY</literal>, and <literal>0x3c13</literal> + for <literal>PAYLOAD</literal> identifiers instead of + <literal>0x8863</literal> and <literal>0x8864</literal> + respectively, as mandated by the PPPoE specification.</para> + + <informaltable> + <tgroup cols="3"> + <thead> + <row> + <entry>Code</entry> + <entry>RFC's Code</entry> + <entry>Dual Link Modem's Code</entry> + </row> + </thead> + <tbody> + <row> + <entry>PAYLOAD</entry> + <entry>0x8863</entry> + <entry>0x3c12</entry> + </row> + <row> + <entry>PAYLOAD</entry> + <entry>0x8864</entry> + <entry>0x3c13</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>So, now what? You need to recompile the + <literal>NETGRAPH_PPPOE</literal> code with the modem's + codes. For this, you should have installed the full kernel + sources.</para> + + <para>Find the + <filename>/usr/src/sys/netgraph/ng_pppoe.h</filename> file. + Be careful while editing this file. You have to modify both + the little and the big endian entries.</para> + + <itemizedlist> + <listitem> + <para>For big endian, find the line with + <literal>0x8863</literal> in it, and replace the number + with <literal>0x3c12</literal>. Do the same with + <literal>0x8864</literal>, replacing it with + <literal>0x3c13</literal>.</para> + </listitem> + + <listitem> + <para>For little endian, find the line with + <literal>0x6388</literal>in it, and replace the number + with <literal>0x123c</literal>. Do the same with + <literal>0x6488</literal>, replacing it with + <literal>0x133c</literal>.</para> + </listitem> + </itemizedlist> + + <para>Here is a <command>diff</command> of how the new file + should look:</para> + + <screen>&prompt.user; <userinput>diff -u ng_pppoe.h.orig ng_pppoe.h</userinput></screen> + + <programlisting> +--- ng_pppoe.h.orig Thu Apr 12 13:42:46 2001 ++++ ng_pppoe.h Thu Apr 12 13:44:47 2001 +@@ -148,8 +148,8 @@ + #define PTT_SYS_ERR (0x0202) + #define PTT_GEN_ERR (0x0203) + +-#define ETHERTYPE_PPPOE_DISC 0x8863 /* pppoe discovery packets */ +-#define ETHERTYPE_PPPOE_SESS 0x8864 /* pppoe session packets */ ++#define ETHERTYPE_PPPOE_DISC 0x3c12 /* pppoe discovery packets */ ++#define ETHERTYPE_PPPOE_SESS 0x3c13 /* pppoe session packets */ + #else + #define PTT_EOL (0x0000) + #define PTT_SRV_NAME (0x0101) +@@ -162,8 +162,8 @@ + #define PTT_SYS_ERR (0x0202) + #define PTT_GEN_ERR (0x0302) + +-#define ETHERTYPE_PPPOE_DISC 0x6388 /* pppoe discovery packets */ +-#define ETHERTYPE_PPPOE_SESS 0x6488 /* pppoe session packets */ ++#define ETHERTYPE_PPPOE_DISC 0x123c /* pppoe discovery packets */ ++#define ETHERTYPE_PPPOE_SESS 0x133c /* pppoe session packets */ + #endif + + struct pppoe_tag {</programlisting> + + <para>Then do the following as + <username>root</username>:</para> + + <screen>&prompt.root; <userinput>cd /usr/src/sys/modules/netgraph/pppoe</userinput> +&prompt.root; <userinput>make clean depend all install</userinput> +&prompt.root; <userinput>make clean</userinput></screen> + + <para>Now you can speak the modem's variant of the PPPoE + specification.</para> + + <para>The third step is to figure out the name of the profile + your ISP assigned to the modem. The information for this + step was obtained from the <ulink + url="http://www.roaringpenguin.com/pppoe/">Roaring Penguin + PPPoE</ulink> program which can be found in the <link + linkend="ports">ports collection</link>. If you still are + not able to find it, ask your ISP's tech support.</para> + + <para>If they do not know it either, and you are feeling bold + (this may de-program your modem and render it useless, so + think twice about doing it).</para> + + <para>Install the program shipped with the modem by your + provider. Then, access the <literal>System</literal> menu + from the program. The name of your profile should be + listed there. It is usually <emphasis>ISP</emphasis>.</para> + + <para>The profile name will be used in the PPPoE configuration + inside <filename>ppp.conf</filename> as the provider + parameter. See the &man.ppp.8; manual page for more + information.</para> + + <para>The PPPoE line in your <filename>ppp.conf</filename> + should look like this:</para> + + <programlisting>set device PPPoE:<replaceable>xl1</replaceable>:<replaceable>ISP</replaceable></programlisting> + + <para>Do not forget to change <replaceable>xl1</replaceable> + to the proper device for your ethernet card.</para> + <para>Do not forget to change <replaceable>ISP</replaceable> + to the profile you have just found above.</para> + </step> + </procedure> + + <para>For additional information, you can try:</para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://www.daemonnews.org/200101/pppoe.html">Cheaper + Broadband with FreeBSD on DSL</ulink> by <ulink + url="http://www.daemonnews.org/200101/pppoe.html#author">Renauld + Waldura</ulink> in <ulink url="http://www.daemonnews.org/">Daemon + News</ulink>.</para> + </listitem> + + <listitem> + <para>Another PPPoE tutorial by <ulink + url="http://www.sympaticousers.org/faq/freebsd_howto.htm">Sympatico + Corp</ulink>.</para> + </listitem> + </itemizedlist> + </sect2> </sect1> <sect1 id="slip"> diff --git a/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml b/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml index b3c5197eb8..f3e26802b9 100644 --- a/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml +++ b/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml @@ -1,7 +1,7 @@ <!-- The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml,v 1.30 2000/11/11 19:24:47 ben Exp $ + $FreeBSD: doc/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml,v 1.31 2001/04/09 00:33:55 dd Exp $ --> <chapter id="ppp-and-slip"> @@ -1652,7 +1652,7 @@ exit 1 </sect1> <sect1 id="pppoe"> - <title>Using PPP over Ethernet (PPPoE)</title> + <title>Using <application>PPP</application> over Ethernet (PPPoE)</title> <para><emphasis>Contributed by &a.jim; (from <ulink url="http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html">node.to</ulink>) 10 Jan 2000.</emphasis></para> @@ -1715,7 +1715,7 @@ exit 1 <filename>ppp.conf</filename>:</para> <programlisting>default: # or name_of_service_provider - set device PPPoE:xl1 # replace xl1 with your ethernet device + set device PPPoE:<replaceable>xl1</replaceable> # replace xl1 with your ethernet device set mru 1492 set mtu 1492 set authname YOURLOGINNAME @@ -1759,6 +1759,216 @@ ppp_mode="ddial" ppp_nat="YES" ppp_profile="default" # or your provider</programlisting> </sect2> + + <sect2> + <title>PPPoE with a 3Com HomeConnect ADSL Modem Dual Link</title> + + <para><emphasis>Contributed by &a.lioux;, 07 Apr + 2001.</emphasis></para> + + <para>In short, it does not work. It should, but unfortunately, + that is not the case. For whatever reason, this modem does not + follow <ulink url="http://www.faqs.org/rfcs/rfc2516.html">RFC + 2516</ulink> (<emphasis>A Method for transmitting PPP over + Ethernet (PPPoE)</emphasis>, written by L. Mamakos, K. Lidl, + J. Evarts, D. Carrel, D. Simone, and R. Wheeler).</para> + + <para>Since it does not follow the specification, FreeBSD's PPPoE + implementation will not talk to it. It is very likely that it will + not work under other unixes for that same reason. Complain to <ulink + url="http://www.3com.com/">3Com</ulink> if you think it should + comply with the PPPoE specification.</para> + + <para>If you absolutely want to use your ADSL connection with + FreeBSD and are stuck with this modem, you can either:</para> + + <itemizedlist> + <listitem> + <para>Try replacing the modem with a different brand or model + if your DSL provider permits you to do so. If you are not + sure which brand(s) will work, the &a.questions; is a good + place to ask.</para> + </listitem> + + <listitem> + <para>Try to get it working. Keep in mind that there is no + guarantee it will work, your mileage may vary.</para> + </listitem> + </itemizedlist> + + <para>If you want to try to make it work, you can do the + following, but please keep in mind that you do this <emphasis>at + your own risk</emphasis>! Just because it worked for me does + not mean it will work for you.</para> + + <para>There are three steps to the process. They are:</para> + + <procedure> + <step> + <para>Make sure you already have <filename>ppp.conf</filename> + set up. See the beginning of this chapter for more details + on doing so.</para> + </step> + + <step> + <para>Since the modem does not speak the correct protocol, we + need to learn how to speak its variant of the protocol. + This information was obtained from a <ulink + url="http://www.dslreports.com/forum/remark,367540;root=equip,16;mode=flat">DSLreports + forum message</ulink>.</para> + + <para>The modem speaks <literal>0x3c12</literal> for + <literal>DISCOVERY</literal>, and <literal>0x3c13</literal> + for <literal>PAYLOAD</literal> identifiers instead of + <literal>0x8863</literal> and <literal>0x8864</literal> + respectively, as mandated by the PPPoE specification.</para> + + <informaltable> + <tgroup cols="3"> + <thead> + <row> + <entry>Code</entry> + <entry>RFC's Code</entry> + <entry>Dual Link Modem's Code</entry> + </row> + </thead> + <tbody> + <row> + <entry>PAYLOAD</entry> + <entry>0x8863</entry> + <entry>0x3c12</entry> + </row> + <row> + <entry>PAYLOAD</entry> + <entry>0x8864</entry> + <entry>0x3c13</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para>So, now what? You need to recompile the + <literal>NETGRAPH_PPPOE</literal> code with the modem's + codes. For this, you should have installed the full kernel + sources.</para> + + <para>Find the + <filename>/usr/src/sys/netgraph/ng_pppoe.h</filename> file. + Be careful while editing this file. You have to modify both + the little and the big endian entries.</para> + + <itemizedlist> + <listitem> + <para>For big endian, find the line with + <literal>0x8863</literal> in it, and replace the number + with <literal>0x3c12</literal>. Do the same with + <literal>0x8864</literal>, replacing it with + <literal>0x3c13</literal>.</para> + </listitem> + + <listitem> + <para>For little endian, find the line with + <literal>0x6388</literal>in it, and replace the number + with <literal>0x123c</literal>. Do the same with + <literal>0x6488</literal>, replacing it with + <literal>0x133c</literal>.</para> + </listitem> + </itemizedlist> + + <para>Here is a <command>diff</command> of how the new file + should look:</para> + + <screen>&prompt.user; <userinput>diff -u ng_pppoe.h.orig ng_pppoe.h</userinput></screen> + + <programlisting> +--- ng_pppoe.h.orig Thu Apr 12 13:42:46 2001 ++++ ng_pppoe.h Thu Apr 12 13:44:47 2001 +@@ -148,8 +148,8 @@ + #define PTT_SYS_ERR (0x0202) + #define PTT_GEN_ERR (0x0203) + +-#define ETHERTYPE_PPPOE_DISC 0x8863 /* pppoe discovery packets */ +-#define ETHERTYPE_PPPOE_SESS 0x8864 /* pppoe session packets */ ++#define ETHERTYPE_PPPOE_DISC 0x3c12 /* pppoe discovery packets */ ++#define ETHERTYPE_PPPOE_SESS 0x3c13 /* pppoe session packets */ + #else + #define PTT_EOL (0x0000) + #define PTT_SRV_NAME (0x0101) +@@ -162,8 +162,8 @@ + #define PTT_SYS_ERR (0x0202) + #define PTT_GEN_ERR (0x0302) + +-#define ETHERTYPE_PPPOE_DISC 0x6388 /* pppoe discovery packets */ +-#define ETHERTYPE_PPPOE_SESS 0x6488 /* pppoe session packets */ ++#define ETHERTYPE_PPPOE_DISC 0x123c /* pppoe discovery packets */ ++#define ETHERTYPE_PPPOE_SESS 0x133c /* pppoe session packets */ + #endif + + struct pppoe_tag {</programlisting> + + <para>Then do the following as + <username>root</username>:</para> + + <screen>&prompt.root; <userinput>cd /usr/src/sys/modules/netgraph/pppoe</userinput> +&prompt.root; <userinput>make clean depend all install</userinput> +&prompt.root; <userinput>make clean</userinput></screen> + + <para>Now you can speak the modem's variant of the PPPoE + specification.</para> + + <para>The third step is to figure out the name of the profile + your ISP assigned to the modem. The information for this + step was obtained from the <ulink + url="http://www.roaringpenguin.com/pppoe/">Roaring Penguin + PPPoE</ulink> program which can be found in the <link + linkend="ports">ports collection</link>. If you still are + not able to find it, ask your ISP's tech support.</para> + + <para>If they do not know it either, and you are feeling bold + (this may de-program your modem and render it useless, so + think twice about doing it).</para> + + <para>Install the program shipped with the modem by your + provider. Then, access the <literal>System</literal> menu + from the program. The name of your profile should be + listed there. It is usually <emphasis>ISP</emphasis>.</para> + + <para>The profile name will be used in the PPPoE configuration + inside <filename>ppp.conf</filename> as the provider + parameter. See the &man.ppp.8; manual page for more + information.</para> + + <para>The PPPoE line in your <filename>ppp.conf</filename> + should look like this:</para> + + <programlisting>set device PPPoE:<replaceable>xl1</replaceable>:<replaceable>ISP</replaceable></programlisting> + + <para>Do not forget to change <replaceable>xl1</replaceable> + to the proper device for your ethernet card.</para> + <para>Do not forget to change <replaceable>ISP</replaceable> + to the profile you have just found above.</para> + </step> + </procedure> + + <para>For additional information, you can try:</para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://www.daemonnews.org/200101/pppoe.html">Cheaper + Broadband with FreeBSD on DSL</ulink> by <ulink + url="http://www.daemonnews.org/200101/pppoe.html#author">Renauld + Waldura</ulink> in <ulink url="http://www.daemonnews.org/">Daemon + News</ulink>.</para> + </listitem> + + <listitem> + <para>Another PPPoE tutorial by <ulink + url="http://www.sympaticousers.org/faq/freebsd_howto.htm">Sympatico + Corp</ulink>.</para> + </listitem> + </itemizedlist> + </sect2> </sect1> <sect1 id="slip"> |
