Skip site navigation (1)Skip section navigation (2)
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>