From: Jouni Malinen (jkmaline_at_cc.hut.fi)
Date: 2002-03-03 12:05:27 UTC
On Fri, Mar 01, 2002 at 05:50:30PM -0800, Jerritt Collord wrote:
> Well it's been a while since anyone mentioned this, so I'll
> venture out cautiously... what's up with WDS implementations for
I've had some other projects taking my time and not having Internet connection at home during several weeks (ISP change) did not exactly help..
Anyway, I have now set up a testing environment so that I can confirm what can and cannot be done with current Prism2 firmware as far as WDS is concerned.
> OpenAP came out and there looked to be interest and work towards
> implementing their system, but concerns arose that it broke
> 802.11 spec.
> Jim Thompson questioned the Prism2 firmware support for WDS...
> zero threadage on that.
Intersil support site states quite clearly that WDS is not working properly in the current firmware release. I interpreted the FAQ answers so that at least WDS is not usable in Host AP mode and in addition even tertiary firmware based AP has problems with WDS..
I have confirmed that there are problems with sending 4-address frames in Host AP mode (i.e., data frames with both FromDS and ToDS and four address fields). I tested station firmware versions 0.7.6 and 0.8.0, but apparently this problem is also present in newer 0.8 versions.
When I try to send FromDS & ToDS packets, the station firmware seems to include the fourth address and both FromDS and ToDS bit are really set. However, last 6 bytes of the packet seem to be dropped. In addition, FCS is incorrect. If I add extra 6 to the data_len in txdesc, the firmware seems to transmit all the data, but the FCS is still incorrect.
In other words, I have been able to send WDS frames that seem to otherwise match with the IEEE 802.11 standard, _BUT_ FCS is incorrect. This is quite unfortunate, since checking FCS is quite useful in wireless links.. Unfortunately, Prism2 firmware does not seem to have mechanism for either manually generating FCS with TX or manually checking it with RX.
I have also hacked a test driver to accept frames that have invalid FCS. This seems to make it possible for two APs to exchange these frames even though they have invalid FCS. However, this would mean that also other frames with invalid checksum would get through..
It seems that there is not much hope in getting a fixed Prism2 firmware anytime soon, so the problem is here to stay. In this light I have reconsidered my view on using non-standard frame format (i.e., the OpenAP case). It seems to be the best option in the current situation.
There are couple of issues with OpenAP implementation that I do not exactly like, but I'm considering of implementing similar functionality in the driver (i.e., it would be compatible with the OpenAP implementation as far as the transmitted frames are considered). I have already added support for beacon handling and some experimental code for sending real 802.11 frames (although with incorrect FCS). I would like to implement WDS link addition as a dynamic netdevice registration instead of static array used in OpenAP, but otherwise the implementation would be similar.
-- Jouni Malinen PGP id EFC895FA