linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC] API for setting ACK timeout
@ 2009-11-26 17:26 Lukáš Turek
  2009-11-26 17:32 ` Gábor Stefanik
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Lukáš Turek @ 2009-11-26 17:26 UTC (permalink / raw)
  To: linux-wireless

Hi,

we discussed this in ath5k-devel, but it involves a mac80211 extension, so I'm 
bringing it here.

Although Wi-Fi was designed for outdoor use, it's also sometimes used for long 
distance outdoor links. However, long distance links require longer ACK 
timeout, as packets travel "only" at the speed of light and every kilometer 
adds almost 7 microseconds to the roundtrip. So for a driver to be usable 
outdoors it has to permit setting ACK timeout from userspace.

Currently this is supported only by out-of-tree Madwifi driver for Atheros 
hardware. However, modification of ACK timeout is not an Atheros specific 
feature. According to a quick skim over the source code in 
drivers/net/wireless, besides ath5k and ath9k it's at least supported by 
rt2x00, rtl818x and maybe zd1211.

I think the current hardware support is sufficient for a generic mac80211 
solution. The exact interpretation of ACK timeout value is hardware specific, 
so I propose a higher level API operating with link distance.

It consists of a new nl80211 parameter:
[NL80211_ATTR_WIPHY_DISTANCE] = { .type = NLA_U32 },

The value of the parameter would be a link distance in meters, so after the 
support is added to iw one could set the ACK timeout on a 3km link using:
# iw phy0 set distance 3000

Another required change would be extending cfg80211_ops by functions 
set_distance and get_distance. Calculation of appropriate ACK timeout (and in 
the case of ath5k, also CTS timeout and slottime) for the distance would be 
left to the driver (it's a trivial formula).

I can prepare the patches, if you think these extension would be acceptable. 
Suggestions are welcome.

Lukas Turek

^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: [RFC] API for setting ACK timeout
@ 2009-11-30  8:39 Joerg Pommnitz
  2009-11-30 10:04 ` Johannes Berg
  0 siblings, 1 reply; 14+ messages in thread
From: Joerg Pommnitz @ 2009-11-30  8:39 UTC (permalink / raw)
  To: nbd, linux-wireless

Felix Fietkau wrote:
> At some point, I will try to come up with an implementation for 
> ath9k which doesn't involve such voodoo, but instead compares 
> the tx timestamp of some data packets against the rx timestamp 
> of ack packets. 

Would this mean, that we could get per station ACK timeouts?
If so, this would be very useful in an IBSS network. In such an
environment one might talk to nodes whose distance to the sender
vary over a broad range. 
-- 
Regards 
Joerg 

__________________________________________________
Do You Yahoo!?
Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. 
http://mail.yahoo.com 

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2009-12-01  7:44 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-26 17:26 [RFC] API for setting ACK timeout Lukáš Turek
2009-11-26 17:32 ` Gábor Stefanik
2009-11-26 17:53   ` Lukáš Turek
2009-11-26 18:18 ` Johannes Berg
2009-11-26 19:14   ` Lukáš Turek
2009-11-26 19:25     ` Johannes Berg
2009-11-26 20:13       ` Lukáš Turek
2009-11-26 20:15         ` Johannes Berg
2009-11-26 20:46           ` Lukáš Turek
2009-11-27 20:41 ` Benoit PAPILLAULT
2009-11-28 12:06   ` Felix Fietkau
2009-12-01  7:44 ` David Pufer
  -- strict thread matches above, loose matches on Subject: below --
2009-11-30  8:39 Joerg Pommnitz
2009-11-30 10:04 ` Johannes Berg

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).