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
[-- Attachment #1 --]
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
[-- Attachment #2 --]
--- /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>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010407202816.A33092>
