And i took a look into the 802.11 stack of OpenSolaris which also supports 802.11n. This 802.11n stack is very similar to the FreeBSD 802.11n stack and it assigns sequence numbers to A-MPDU frames. I did it in my device driver like 802.11n stack from OpenSolaris does it.
See this link: http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/io/net80211/net80211_output.c Line: 211 Alex. On Sun, Jan 31, 2010 at 8:34 AM, Alexander Egorenkov < egore...@googlemail.com> wrote: > Why doesn't 802.11 stack assign sequence numbers to A-MPDU frames ? > When sequence numbers are not assigned to A-MPDU frames, then BA doesn't > work with my AP. > I tried to assign sequence numbers to A-MPDU frames in my device driver and > then BAs worked > with my AP. > And what is meant by aggregation queue ? Where is that queue anf how do i > use it ? > > Thanks. > > > On Sun, Jan 31, 2010 at 4:43 AM, Sam Leffler <s...@errno.com> wrote: > >> Alexander Egorenkov wrote: >> >>> Sorry, i posted the wrong comment. >>> Here is the comment which i don't understand: >>> >>> /* >>> * NB: don't assign a sequence # to potential >>> * aggregates; we expect this happens at the >>> * point the frame comes off any aggregation q >>> * as otherwise we may introduce holes in the >>> * BA sequence space and/or make window accouting >>> * more difficult. >>> * >>> * XXX may want to control this with a driver >>> * capability; this may also change when we pull >>> * aggregation up into net80211 >>> */ >>> >>> Thanks. >>> >> >> What is unclear? >> >> Sam >> >> >>> >>> On Wed, Jan 27, 2010 at 8:04 PM, Alexander Egorenkov < >>> egore...@googlemail.com> wrote: >>> >>> Hi, >>>> >>>> i'm implementing a device driver for a 802.11n NIC under FreeBSD 8 >>>> und experimented with A-MPDU transmission. I looked into net80211 code >>>> and there is some code which implements this feature but it worked not >>>> very >>>> well for me. >>>> I noticed e.g. that sequence numbers are not assigned to A-MPDU frames >>>> and found this comment in file ieee80211_output.c : >>>> >>>> >>>> /* >>>> * Check if A-MPDU tx aggregation is setup or if we >>>> * should try to enable it. The sta must be associated >>>> * with HT and A-MPDU enabled for use. When the policy >>>> * routine decides we should enable A-MPDU we issue an >>>> * ADDBA request and wait for a reply. The frame being >>>> * encapsulated will go out w/o using A-MPDU, or possibly >>>> * it might be collected by the driver and held/retransmit. >>>> * The default ic_ampdu_enable routine handles staggering >>>> * ADDBA requests in case the receiver NAK's us or we are >>>> * otherwise unable to establish a BA stream. >>>> */ >>>> >>>> Can somebody elaborate this description to me please. >>>> >>>> Thanks. >>>> >>>> ALex. >>>> >>>> >>>> _______________________________________________ >>> freebsd-net@freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-net >>> To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org" >>> >>> >>> >> > _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"