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>