Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Jul 2002 01:29:35 -0700 (PDT)
From:      John Kozubik <john@kozubik.com>
To:        freebsd-hackers@freebsd.org
Subject:   multi-link 802.11b through netgraph yields poor performance.
Message-ID:  <Pine.BSF.4.21.0207070053570.40375-100000@www>

next in thread | raw e-mail | index | archive | help

Julian, Archie, et al,

I have experimented with a multi-link 802.11b connection between two
laptops.  Both are 4.5-RELEASE, one has two aironet LMC352 cards, and one
has two Lucent gold cards.

I have successfully used ng_one2many, etc., to establish a working
multi-link between the two systems - however, I would appreciate any
comments regarding the very poor performance I see when networked in this
manner.

The problem I see is that, when using `ping` on either machine, exactly
every other packet is dropped.  After running `ping` for many minutes,
trying it from both machines, it is clear that _exactly_ every other
packet is dropped.  Further, echo response time is between 2.2 and 2.5
milliseconds, which seems very high.

I have configured the multi-link using the examples found in the
ng_one2many(4) man page - the only difference is that I have only two
cards in each machine, so in addition to running fewer `ngctl` commands, I
also had fewer links in my setconfig msg ([ 1 1 ] instead of [ 1 1 1 1 ]).

`ngctl list` on both machines yields this (seemingly correct) information:

There are 4 total nodes:
  Name: ngctl338	Type: socket	ID: 00000013	Num hooks: 0
  Name: <unnamed>	Type: one2many	ID: 00000009	Num hooks: 3
  Name: an1		Type: ether	ID: 00000002	Num hooks: 1
  Name: an0		Type: ether	ID: 00000001	Num hooks: 2

Finally, I should point out that one card in each machine is on channel 1,
and one card in each machine is on channel 11 - thus there are two card
pairs crossing each machine and each card pair shares not only a
frequency/channel, but also a SSID.  The purely wireless networking
portion of this experiment seems to be correct.  (I posted a few weeks ago
to freebsd-mobile a correct mechanism to get wi cards talking to an cards
in ad-hoc mode).

Theoretically interference should not be an issue as I am using channels 1
and 11.  The behavior does not change regardless of how close the two
laptops are or what their relative vertical/horizontal orientation is
... moving around the external antennas attached to the LMC352s has no
effect.

Therefore, since the every other packet echo response and the high latency
continues without missing a beat regardless of what I do to try to affect
the interference (if any) I must conclude that I am witnessing either:

a) a problem in the wireless drivers that causes them to be confused when
two of the same card is configured in the system using different
frequencies or SSIDs

b) a problem or misconfiguration on my part in the netgraph configuration

---

(a) seems unlikely as I feel that unspecific "issues" with the wireless
drivers would cause effects that were less regular than "drop exactly
every other packet".

However (b) also seems unlikely - if I had misconfigured netgraph and
ng_one2many, it seems unlikely that this would work at all.  It's possible
that my netgraph configuration is not even being used, and that an0 is
simply talking to wi0 over a non-multi-link, and that everything else that
is going on just happens to cause problems for that normal ad-hoc, one
card to one card operation.  However, my netgraph commands you will see
below, and the output of my `ngctl list` commands suggest that netgraph is
configured correctly.

Here are the network and netgraph related commands I entered, in order:

On machine A:

	ifconfig an0 10.10.10.10 netmask 255.255.255.0
	ngctl mkpeer an0: one2many upper one
	ngctl connect an0: an0:upper lower many0
	ngctl connect an1: an0:upper lower many1
	ifconfig an1 up
	ngctl msg an1: setpromisc 1
	ngctl msg an1: setautosrc 0
	ngctl msg an0:upper setconfig "{ xmitAlg=1 failAlg=1 enabledLinks=[ 1 1 ]
}"


On machine B:

	ifconfig wi0 10.10.10.20 netmask 255.255.255.0
	ngctl mkpeer wi0: one2many upper one
	ngctl connect wi0: wi0:upper lower many0
	ngctl connect wi1: wi0:upper lower many1
	ifconfig wi1 up
	ngctl msg wi1: setpromisc 1
	ngctl msg wi1: setautosrc 0
	ngctl msg wi0:upper setconfig "{ xmitAlg=1 failAlg=1 enabledLinks=[ 1 1 ]
}"



Any comments as to why the problems I am seeing (half of packets dropped
and high latency) exist are appreciated.

-----
John Kozubik - john@kozubik.com - http://www.kozubik.com


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0207070053570.40375-100000>