From owner-freebsd-doc Sat Apr 7 16:28:42 2001 Delivered-To: freebsd-doc@freebsd.org Received: from rimbaud.uol.com.br (rimbaud.uol.com.br [200.231.206.24]) by hub.freebsd.org (Postfix) with ESMTP id 4AA9937B424 for ; Sat, 7 Apr 2001 16:28:17 -0700 (PDT) (envelope-from lioux@uol.com.br) Received: from ppp190-bsace7020.telebrasilia.net.br ([200.181.48.190]) by rimbaud.uol.com.br (8.9.1/8.9.1) with ESMTP id UAA25387 for ; Sat, 7 Apr 2001 20:24:37 -0300 (BRT) Received: (qmail 2357 invoked by uid 1001); 7 Apr 2001 23:28:39 -0000 From: "Mario Sergio Fujikawa Ferreira" Date: Sat, 7 Apr 2001 20:28:17 -0300 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> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="SLDf9lqlvOQaIe6s" Content-Disposition: inline User-Agent: Mutt/1.2.5i Sender: owner-freebsd-doc@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org --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 and 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: -#!/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 @@ - Using PPP over Ethernet (PPPoE) + Using <application>PPP</application> over Ethernet (PPPoE) Contributed by &a.jim; (from node.to) 10 Jan 2000. @@ -1758,7 +1758,7 @@ default: # or name_of_service_provider - set device PPPoE:xl1 # replace xl1 with your ethernet device + set device PPPoE:xl1 # replace xl1 with your ethernet device set mru 1492 set mtu 1492 set authname YOURLOGINNAME @@ -1783,7 +1783,167 @@ - Running <application>PPP</application> + What if I have a <ulink + url="http://www.3com.com/">3Com HomeConnect ADSL Modem Dual Link</ulink>? + Contributed by &a.lioux;, 07 Apr 2001. + + In short, it does not work. Well, it should but it won't. For whatever reason, this modem does not follow L. Mamakos, K. Lidl, J. Evarts, D. Carrel, D. Simone, and R. Wheeler, A Method for transmitting + PPP over Ethernet (PPPoE), RFC 2516. + + Therefore, since it does not follow the PPPoE specification, FreeBSD PPPoE won't talk to it. + Probably, most other Unix(es) won't either. + + Complain to the manufacturer about it if you think it should comply to the + PPPoE specification. + + If you absolutely want to use your ADSL connection with FreeBSD, you can either: + + + 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 Mailing Lists + for more information). + + + Or, you can try to get it working. It is not guaranteed, though. Your mileage may vary. + + + + 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 .... you are doing it under your own risk.... applies. You should follow these three steps: + + + + First step, you've should have already have a complete ppp.conf file. + Read the complete section on PPPoE before tweaking anything. + + + 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 DSLreports forum message. + + It speaks 0x3c12 for DISCOVERY and 0x3c13 for PAYLOAD identifiers. However, it should + use the specification's 0x8863 and 0x8864 respectively. + + + + + + Code + RFC's Code + Dual Link Modem's Code + + + + + PAYLOAD + 0x8863 + 0x3c12 + + + PAYLOAD + 0x8864 + 0x3c13 + + + + + + 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. + + Find the /usr/src/sys/netgraph/ng_pppoe.h 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. + + Here is a diff of how the new file should look like: + + &prompt.user; diff -u /usr/src/sys/netgraph/ng_pppoe.h.orig /usr/src/sys/netgraph/ng_pppoe.h + + + +--- 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 { + + + Then, as root, do the following: + + + &prompt.root; cd /usr/src/sys/modules/netgraph/pppoe + &prompt.root; make clean depend all install + &prompt.root; make clean + + Now, you can speak the modem's variant of the PPPoE protocol specification. + + + 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 Roaring Penguin PPPoE + program which can be found in the ports collection. + If you don't know, ask your Provider Technical Support. + + 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. + + 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 ISP. + + The profile name will be used in the PPPoE configuration line inside the + /etc/ppp.conf file as the provider parameter. See the manual + page &man.ppp.8;. + + Find the PPPoE line in your ppp.conf + file and use the appropriate profile name. + + + set device PPPoE:xl1:ISP # replace xl1 with your ethernet device and ISP with your modem's profile name + + + + + For additional information not found here, you could try: + + + + Cheaper Broadband with FreeBSD on DSL + by Renauld Waldura + in Daemon News + + + Another PPPoE tutorial by Sympatico Corp + + + + + + Running <application>PPP</application> As root, you can run: @@ -1835,7 +1995,7 @@ Make sure you have the following in your kernel configuration file: - + pseudo-device sl 1 --SLDf9lqlvOQaIe6s-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-doc" in the body of the message