News: This forum is now permanently frozen.
Pages: [1]
Topic: Ethernet Negotiation  (Read 3303 times)
« on: August 10, 2007, 18:09:26 »
Greg *
Posts: 12

Hi There,

Question:
Is there a way to lock down the Ethernet Media type on a m0n0wall LAN interface that will be effective across a reboot of the m0n0wall (100baseTX Full-Duplex for example)?

Background:
We created a backhaul link between two buildings using two m0n0walls and two Motorola Canopy backhaul 10 mbps radios.  The Canopy radios are connected directly to one of the LAN interfaces of a Soekris 4801-50 running m0n0wall 1.231 software.

I worked with Motorola Support this morning to shoot what seems to be an Ethernet Negotiation problem between the Canopy radio and the attached m0n0wall. We configured the Canopy to force 100Base-TX Full Duplex to the m0n0wall. Interface status on the m0n0wall shows 100baseTX but does not show Full Duplex.  Interface status also shows "out errors" and "collisions".  This seems to reenforce some kind of a negotiation problem between the m0n0wall and the Canopy.

I would like to lock the Ethernet Media type down on both sides of the interface to either 100baseTX Full-Duplex -or- 10baseTX Full-Duplex (the radios are limited to 10mbps transfer rate by design).  This is possible on the Canopy side.  I believe I could use exec.php and ifconfig on Freebsd to accomplish the lockdown for one of the interfaces on the m0n0wall.  This is a good temporary solution.

So here is the big question: Is there a way to lock down the Ethernet Media type on a m0n0wall that will be effective across a reboot of the m0n0wall?  I believe this could be a good long term solution to the problem.

Thanks in advance for your help!!  Greg
« Last Edit: August 10, 2007, 20:05:04 by Greg »
« Reply #1 on: August 12, 2007, 02:28:46 »
Greg *
Posts: 12

I believe I might have a path to resolve this problem.  I believe there are undocumented options in the .xml file for <media> and <mediaopt>.  I'm trying to make use of these but they don't seem to be working (or I don't understand how to use them!).

Here is a snip of the .xml file I'm working with:
   <interfaces>
      <lan>
         <if>sis2</if>
         <ipaddr>10.43.10.1</ipaddr>
         <subnet>24</subnet>
      </lan>
      <wan>
         <if>sis1</if>
         <mtu/>
         <spoofmac/>
         <ipaddr>10.43.7.10</ipaddr>
         <subnet>24</subnet>
         <gateway>10.43.7.1</gateway>
      </wan>
      <opt1>
         <descr>OPT1</descr>
         <if>sis0</if>
         <ipaddr>10.43.43.10</ipaddr>
         <subnet>24</subnet>
         <gateway>10.43.43.1</gateway>
         <media>10baseT/UTP</media>
         <mediaopt>full-duplex</mediaopt>
         <bridge/>
         <enable/>
      </opt1>
   </interfaces>

Please notice the opt1 interface above contains <media> and <mediaopt> tags.  Here is the ifconfig command output from exec.php on the m0n0wall after loading this configuration:

$ ifconfig
sis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
   options=40<POLLING>
   inet 10.43.43.10 netmask 0xffffff00 broadcast 10.43.43.255
   ether xx:xx:xx:xx:xx:xx
   media: Ethernet 10baseT/UTP <full-duplex> (100baseTX <full-duplex>)
   status: active
sis1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
   options=40<POLLING>
   inet 10.43.7.10 netmask 0xffffff00 broadcast 10.43.7.255
   ether xx:xx:xx:xx:xx:xx
   media: Ethernet autoselect (10baseT/UTP)
   status: active
sis2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
   options=40<POLLING>
   inet 10.43.10.1 netmask 0xffffff00 broadcast 10.43.10.255
   ether xx:xx:xx:xx:xx:xx
   media: Ethernet autoselect (100baseTX <full-duplex>)
   status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
   inet 127.0.0.1 netmask 0xff000000

The sis0 output is a bit confusing here!!  Any help would be appreciated.

Thanks, Greg

« Last Edit: August 12, 2007, 06:34:35 by Greg »
« Reply #2 on: August 12, 2007, 15:37:20 »
lonnie *
Posts: 24

How long is the cat-5 cable connecting the Soekris and the Canopy radio?

For grins, try a much longer cable and see if AUTO negotiation works.  If I remember, 2.5 meters is the minimum node to node distance for 100Base-T.  But, I must say, I have used 1+ meter cables without problems.

Lonnie

« Reply #3 on: August 12, 2007, 22:38:39 »
Greg *
Posts: 12

Thanks for your reply Lonnie!

The distance between the m0n0wall and the Canopy is about 100 feet.  I thought this might be the problem as well.  I looked through the change log and see that Manuel added the "short cable workaround" to the m0n0wall in release 1.2b8.

Does anyone know about the <media> and <mediaopt> tags?  Am I using them correctly?

Thanks for the Great Router!!  Greg
« Reply #4 on: August 16, 2007, 05:24:58 »
cmb *****
Posts: 851

When forcing one end to full duplex, the other on auto will be half duplex, and you have a mismatch. When they're both on auto what happens? I would strongly suggest sticking with auto if at all possible, as that's the best way to avoid the duplex conflict you now have after forcing one side. Did you initially have a duplex mismatch?

See the FAQ on hidden config.xml options for info on those config options.
« Reply #5 on: August 17, 2007, 19:34:28 »
Greg *
Posts: 12

Thanks for the feedback CMB!

Canopy support requests that we configure the ethernet interface between the radio and the router at 10 baseT full-duplex.  When I configure the radio at 10 baseT full-duplex and allow the m0n0wall to auto-negotiate (no <media> or <mediaopt> tags) the result is:

$ ifconfig sis1
sis1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
   options=40<POLLING>
   inet 10.43.7.10 netmask 0xffffff00 broadcast 10.43.7.255
   ether xx:xx:xx:xx:xx:xx
   media: Ethernet autoselect (10baseT/UTP)
   status: active

It doesn't look like the m0n0wall will followed the radio into full-duplex.

If I force the radio and the m0n0wall to 10 baseT full-duplex (using <media> and <mediaopt>, I receive the following:

$ ifconfig sis1
sis1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
   options=40<POLLING>
   inet 10.43.7.10 netmask 0xffffff00 broadcast 10.43.7.255
   ether xx:xx:xx:xx:xx:xx
   media: Ethernet 10baseT/UTP <full-duplex> (10baseT/UTP)
   status: active

This looks like the mediaopt mismatch. 

It seems there is some kind of a bug somewhere in all this.

Thanks again, Greg
 
Pages: [1]
 
 
Powered by SMF 1.1.20 | SMF © 2013, Simple Machines