From: Felix Fietkau <nbd@openwrt.org>
To: 8an@praha12.net
Cc: linux-wireless@vger.kernel.org,
Johannes Berg <johannes@sipsolutions.net>,
ath5k-devel@lists.ath5k.org
Subject: Re: [PATCH 4/4] ath5k: Implement mac80211 callback set_coverage
Date: Wed, 09 Dec 2009 14:30:45 +0100 [thread overview]
Message-ID: <4B1FA685.4040605@openwrt.org> (raw)
In-Reply-To: <200912091412.47689.8an@praha12.net>
On 2009-12-09 2:12 PM, Lukáš Turek wrote:
>> Some hardware internally calculates the ACK timeout based on the
>> configured slot time. Broadcom does it this way.
>> Maybe adjusting the ACK timeout without adjusting the slot time works,
>> but it'll probably interfere with CSMA.
> Ahteros is not Broadcom, it does not have a firmware, I'm writing the ACK
> timeout directly into a register of the MAC chip. But you're suggesting what
> I said in previus mail: we have to understand what the hardware does. And as
> there is no documentation, the only way is experiment. Most of ath5k was
> developed this way.
>
>> > 802.11a: 21 µs
>> > 802.11b: 27 µs
>> > 802.11g: 19 µs
>>
>> How did you measure it?
> Just by gradually lowering the value in ACK timeout register (it's accessible
> via sysctl in FreeBSD) and testing the link using ordinary ping. When the ACK
> timeout was too low, packetloss grew from 0% to 50% or so.
That's definitely completely inaccurate. Even before you get packet
loss, as you lower the ACK timeout value, you will first start to get an
increase in the number of retransmissions.
>> I'm guessing that most hardware does have some degree of tolerance for
>> timing variation. IMHO, if the standard recommends slightly higher but
>> working values for the same distance, we should use that rather than
>> experimentally determined limits.
> The problem is, it's not slightly higher, it's twice or more higher:
> aSIFSTime + aSlotTime + aPHY-RX-START-Delay is 50 in 802.11a mode, while the
> default ACK timeout for 802.11a used in ath5k initialisation is 25. And in
> 802.11b the aPHY-RX-START-Delay alone is defined as 192 µs, while the default
> used by ath5k is 48.
>
> I looked into the current Madwifi sources again, and found they use only
> aSIFSTime + aSlotTime as ACK timeout. That's 25 for 11a, 30 for 11b and 19 for
> 11g, so it's in line with my experimental observations and also the 11a ath5k
> default. Probably the hardware accounts for aPHY-RX-START-Delay itself (it's
> PHY value, while ACK timeout is MAC chip register).
Yes, the current formula in Madwifi looks correct. We should use that.
- Felix
next prev parent reply other threads:[~2009-12-09 13:30 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-06 17:20 [PATCH 0/4] Setting coverage class (and ACK timeout and slot time) Lukáš Turek
2009-12-06 17:22 ` [PATCH 1/4] nl80211: Add new WIPHY attribute COVERAGE_CLASS Lukáš Turek
2009-12-06 18:01 ` Johannes Berg
2009-12-06 18:45 ` Lukáš Turek
2009-12-06 18:49 ` Johannes Berg
2009-12-06 19:28 ` Lukáš Turek
2009-12-06 19:32 ` Lukáš Turek
2009-12-06 21:59 ` Lukáš Turek
2009-12-07 6:57 ` Johannes Berg
2009-12-06 17:23 ` [PATCH 2/4] mac80211: Add new callback set_coverage Lukáš Turek
2009-12-07 10:59 ` Kalle Valo
2009-12-07 11:04 ` Johannes Berg
2009-12-06 17:24 ` [PATCH 3/4] ath5k: Fix functions for getting/setting slot time Lukáš Turek
2009-12-06 17:26 ` [PATCH 4/4] ath5k: Implement mac80211 callback set_coverage Lukáš Turek
2009-12-06 18:34 ` Felix Fietkau
2009-12-06 19:00 ` Lukáš Turek
2009-12-06 19:20 ` Felix Fietkau
2009-12-06 20:23 ` Lukáš Turek
2009-12-07 9:48 ` Felix Fietkau
2009-12-09 1:15 ` Lukáš Turek
2009-12-09 1:48 ` Felix Fietkau
2009-12-09 13:12 ` Lukáš Turek
2009-12-09 13:30 ` Felix Fietkau [this message]
2009-12-09 23:51 ` Lukáš Turek
2009-12-06 17:29 ` [PATCH] iw: Add support for NL80211_ATTR_WIPHY_COVERAGE_CLASS Lukáš Turek
2009-12-06 21:49 ` Luis R. Rodriguez
2009-12-06 21:52 ` Luis R. Rodriguez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B1FA685.4040605@openwrt.org \
--to=nbd@openwrt.org \
--cc=8an@praha12.net \
--cc=ath5k-devel@lists.ath5k.org \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.