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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).