Date: Sat, 7 Apr 2001 20:28:17 -0300 From: "Mario Sergio Fujikawa Ferreira" <lioux@uol.com.br> To: freebsd-doc@freebsd.org Cc: jim@freebsd.org Subject: HandBook PPPoE specific documentation for 3COM Homeconnect Dual Link Message-ID: <20010407202816.A33092@Fedaykin.here>
next in thread | raw e-mail | index | archive | help
--SLDf9lqlvOQaIe6s Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, I've just written this short guide on how to bypass some of the problems with 3Com Homeconnect Dual Link ADSL Modem. I noticed that many users have problems with this modem. I was one of those. There is a complete lack of documentation on how to get it working and there are no successfull stories on the mailing list archives. :( So ... since it is working for me, I thought I should contribute. I also added a couple <replaceable> and <application> tags. I hope you find this useful. I do apologize for the ugliness of my SGML. It is the first SGML file I've ever written. I am submitting a patch against /usr/doc/en_US.ISO_8859-1/books/handbook/ppp-and-slip/chapter.sgml It would be wonderful if this made it into FreeBSD-4.3R. Regards, ps: Please CC me in your replies since I am not subscribed to this list. -- Mario S F Ferreira - UnB - Brazil - "I guess this is a signature." lioux at ( freebsd dot org | linf dot unb dot br ) flames to beloved devnull@someotherworldbeloworabove.org --SLDf9lqlvOQaIe6s Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=patch-pppoe --- /home/lioux/chapter.sgml Sat Apr 7 15:09:11 2001 +++ chapter.sgml Sat Apr 7 20:26:45 2001 @@ -1494,7 +1494,7 @@ server:</para> <programlisting> -#!/bin/sh +#!/bin/sh ps ax |grep pppd |grep -v grep pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` if [ "X${pid}" != "X" ] ; then @@ -1694,7 +1694,7 @@ </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> @@ -1758,7 +1758,7 @@ <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 @@ -1783,7 +1783,167 @@ </sect2> <sect2> - <title>Running <application>PPP</application></title> + <title>What if I have a <ulink + url="http://www.3com.com/">3Com HomeConnect ADSL Modem Dual Link</ulink>?</title> + <para><emphasis>Contributed by &a.lioux;, 07 Apr 2001.</emphasis></para> + + <para>In short, it does not work. Well, it should but it won't. For whatever reason, this modem does not follow <ulink + url="http://www.faqs.org/rfcs/rfc2516.html">L. Mamakos, K. Lidl, J. Evarts, D. Carrel, D. Simone, and R. Wheeler, A Method for transmitting + PPP over Ethernet (PPPoE), RFC 2516</ulink>.</para> + + <para>Therefore, since it does not follow the <ulink + url="http://www.faqs.org/rfcs/rfc2516.html">PPPoE specification</ulink>, FreeBSD PPPoE won't talk to it. + Probably, most other Unix(es) won't either.</para> + + <para>Complain to the manufacturer about it if you think it should comply to the + <ulink url="http://www.faqs.org/rfcs/rfc2516.html">PPPoE specification</ulink>.</para> + + <para>If you absolutely want to use your ADSL connection with FreeBSD, you can either:</para> + <itemizedlist> + <listitem> + <para>You can try replacing this modem with another Brand/Model if your ADSL provider permits. + I don't know which work, &a.questions; is a good place to start (see <link linkend="eresources-mail">Mailing Lists</link> + for more information).</para> + </listitem> + <listitem> + <para>Or, you can try to get it working. It is not guaranteed, though. Your mileage may vary.</para> + </listitem> + </itemizedlist> + + <para>If you absolutely want to try getting it to work. Bear in mind that this is what worked for me but may not work for you. + The usual Disclaimer of <emphasis>.... you are doing it under your own risk....</emphasis> applies. You should follow these three steps:</para> + + <procedure> + <step> + <para>First step, you've should have already have a complete <filename>ppp.conf file</filename>. + Read the complete section on PPPoE before tweaking anything.</para> + </step> + <step> + <para>Second step, this modem does not speak the correct protocol. Since we can't get it to speak properly unless the manufacturer releases + an updated firmware, we will learn how to speak its variant. This information was obtained in a <ulink + url="http://www.dslreports.com/forum/remark,367540;root=equip,16;mode=flat">DSLreports forum message</ulink>.</para> + + <para>It speaks 0x3c12 for DISCOVERY and 0x3c13 for PAYLOAD identifiers. However, it should + use the specification's 0x8863 and 0x8864 respectively.</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>What you need? You need to re-compile the NETGRAPH_PPPOE code with the modem's codes. + For this, you should have installed the full Kernel source code.</para> + + <para>Find the <filename>/usr/src/sys/netgraph/ng_pppoe.h</filename> file. Find the line reading + code 0x8863 and replace it with 0x3c12. Do the same with 0x8864, replacing it with 0x3c13. + Be careful when editing this file.</para> + + <para>Here is a <command>diff</command> of how the new file should look like:</para> + + <screen>&prompt.user; <userinput>diff -u /usr/src/sys/netgraph/ng_pppoe.h.orig /usr/src/sys/netgraph/ng_pppoe.h</userinput> + </screen> + + <programlisting> +--- sys/netgraph/ng_pppoe.h.orig Tue Oct 24 16:36:24 2000 ++++ sys/netgraph/ng_pppoe.h Thu Mar 22 18:49:09 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, as root, do the following:</para> + + <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> + + <para>Now, you can speak the modem's variant of the <ulink + url="http://www.faqs.org/rfcs/rfc2516.html">PPPoE protocol specification</ulink>.</para> + + <step> + <para>Third step, you need to figure out what is the name of the profile your ADSL + Provider recorded in your modem. The information for this step was obtained in 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 don't know, ask your Provider Technical Support.</para> + + <para>If they don't know and you are feeling bold (this may de-program your modem + and place it in a non-working condition, think twice before doing it)... Contact your Provider before + proceeding.</para> + + <para>You could install the program shipped with the modem by your provider. Then, + access the program PPPoE Configuration program, menu System. There, it will be listed the + name of the profile your modem is using. It is usually <emphasis>ISP</emphasis>.</para> + + <para>The profile name will be used in the PPPoE configuration line inside the + <filename>/etc/ppp.conf</filename> file as the provider parameter. See the manual + page &man.ppp.8;.</para> + + <para>Find the PPPoE line in your <filename>ppp.conf</filename> + file and use the appropriate profile name.</para> + + <programlisting> + set device PPPoE:<replaceable>xl1</replaceable>:<replaceable>ISP</replaceable> # replace xl1 with your ethernet device and ISP with your modem's profile name + </programlisting> + </step> + </procedure> + + <para>For additional information not found here, you could 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> + + <sect2> + <title>Running <application>PPP</application></title> <para>As root, you can run:</para> @@ -1835,7 +1995,7 @@ <para>Make sure you have the following in your kernel configuration file:</para> - + <programlisting> pseudo-device sl 1</programlisting> --SLDf9lqlvOQaIe6s-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-doc" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010407202816.A33092>