Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Jul 2002 08:02:56 -0700
From:      "Tony Toole" <tony@valemount.com>
To:        <mobile@FreeBSD.ORG>
Subject:   Re: (Retry) Bridging a wi-device with a LAN-adapter
Message-ID:  <002801c2325a$073f4e70$8a4c35d1@master>
References:  <002401c23245$1ced2130$0100a8c0@erikpc>

next in thread | previous in thread | raw e-mail | index | archive | help
With the way 802.11 operates, it is not possible to bridge client-mode
wireless cards "as-is".  The problem doesn't lie in the client driver, but
rather in the protocol itself.

For a small example between a client and an Access Point:
Say you have a BSD box with a Prism 2 (mac address of 11:22:33:44:55:66)
associated to one of your main APs and an ethernet device.  You can enable
bridging with the sysctl calls below as you wrote them.

Now, say you have a windows machine plugged onto the ethernet port of that
BSD box, and assume your Windows's MAC address is 01:02:03:04:05:06

Now, assume you are trying to ping some place on the internet from your
Windows box:
The packet with mac of 01:02:03:04:05:06 goes from your windows box, through
the BSD's ethernet port, then our the client-mode wireless card to the
Access Point.   This most always works fine, however when the packet's reply
comes through, the reply packet travels from the Internet to your main
Access Point with the dest MAC of 01:02:03:04:05:06.  The Access Point at
this point check's its association table for this MAC and realizes it does
not belong to any associated client (as it's looking for 11:22:33:44:55:66),
and silently drops the packet.    This is where the main problem occurs.

Additionally, most APs also check all packets coming from a client to the AP
and if the packet's source address does not match any associated client
(specifically the one it came from), it will assume the packet is corrupt
and will discard it.

Hope this rough example sheds some light to your problem.  I've been writing
Access Point and client drivers for some time now, and have ran across many
limitations with how the 802.11 clients and APs interact.  We have overcome
this problem in our devices by implementing a custom protocol between the
client and the AP.

Thanks,
Tony Toole

----- Original Message -----
From: "Erik Paulsen Skålerud" <erik@pentadon.com>
To: <freebsd-questions@freebsd.org>; <freebsd-mobile@freebsd.org>
Sent: Tuesday, July 23, 2002 5:33 AM
Subject: (Retry) Bridging a wi-device with a LAN-adapter


> Hello. I'm a little confused here.
> I want to bridge my wireless card (Orinoco/Lucent Silver 11mbit) with my
> LAN-adapter (fxp0).
>
> When I read the wi(4), allmost at the end of the configuration examples it
> says:
>
>      Create a host-based wireless bridge to fxp0 (Prism only):
>            Add BRIDGE to the kernel config.
>            # ifconfig wi0 inet up ssid my_ap mediaopt hostap
>            # sysctl net.link.ether.bridge=1
>            # sysctl net.link.ether.bridge_cfg="wi0 fxp0"
>            # sysctl net.inet.ip.forwarding=1
>      This will give you approximately the same functionality as an access
>      point.
>
> And, when I read the bridge(4) manual page, it says:
>
>      Bridging requires interfaces to be put in promiscuous mode, and
> transmit
>      packets with Ethernet source addresses.  Some interfaces (e.g.
wi(4))
> do
>      not support this functionality.  Also, bridging is not compatible
with
>      interfaces which use hardware loopback, because there is no way to
tell
>      locally generated packets from externally generated ones.
>
> So. Where do I stand? Can it do bridging in FreeBSD or not? I tried to
make
> it work, both in FreeBSD and Windows XP (yes, I know.) without any
results.
>
> While searching on mailinglists, I see several people saying that you need
a
> binary firmware wich costs money so that the cards can work with
bridging..
> the reason would be that the manufactors of these chipsets wants to make
> money on selling licenses to companies who want an AP.
>
> I've also heard a rumour that ng_bridge(4)/netgraph can do bridging with
> wi(4)-devices. Is this true?
>
> Thanks for all help, Erik.
>
>
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-mobile" in the body of the message
>
>



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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?002801c2325a$073f4e70$8a4c35d1>