Jump to content

Wireless Distance and Stability Tuning

Recommended Posts

A few months ago I was doing quite a bit of research of stability and distance tuning for point to point wifi links. See Hak5 episodes 1515, 1516, 1517.'

Like many of you I keep a scratch pad of useful nuggets while researching anything so I figured while it took me considerable time to find these gems I'll simply brain dump them here. If you have some of your own in regards to stability and distance, please share :)

Found an interesting setting in /var/run/hostapd-phy0.conf - disassoc_low_ack, that seems to impact the low ACK behaviour
changed to:
Now does not give me the excessive/missing ACK - however now can trigger this error pretty easilly:
Sensitivity Range (ACK Timing)
Available Settings: 0 - 999999
Recommended Setting: 0 - 2000 for both 2.4 & 5 GHz, greater than 2000 only when needed for long distance links
ACK timing is also a throughput controller, too high and your devices will literally be "waiting" too long and time will be passing with them at idle. Too low and active transmissions could be cut off causing retransmissions which create overhead, that lowers throughput. The AP sends a packet and all clients must wait for XXX time, where XXX is the ACK timing, the client then receives that packet and responds to the AP with an ACK(nowledgement), AP sees the AP then finally everyone is free to transmit.
Most users want this between 0 - 2000 (2.4/5 GHz), the distance used is meters and needs to be doubled the distance of the furthest client from the AP (plus some headroom). Doubled because the signal travels to the client and back, double the distance. In earlier builds with the older madwifi driver reducing ACK from default 2000 to 1500 caused a throughput increase of 0.6 Mbps - 1 Mbps, though with modern builds (r18000+) using the new ath9k driver, along with the internal changes to ACK timing, reducing to 1500 does about nothing for throughput, one would have to drop below 900m at least, as well with the current ath9k builds an ACK timing of 0 DOES disable it completely like on Broadcom, this is generally the new best setting. But if you do not disable ACK timing remember an ACK timing too low can cause issues described above.
Long distance links, such as 2 KM+ will need to increase this setting accordingly. 4000m for 2km, 6000m for 3km, and so on.
So putting it to 0 would disable it or would it change it to automatic, hmmm
WPA stands for Wi-Fi Protected Access. There are two versions of WPA: WPA and WPA2.
WPA is a standards-based security solution from the Wi-Fi Alliance that addresses the vulnerabilities in native WLANs and provides enhanced protection from targeted attacks. WPA addresses all known Wired Equivalent Privacy (WEP) vulnerabilities in the original IEEE 802.11 security implementation and brings an immediate security solution to WLANs in both enterprise and Small Office/Home Office (SOHO) environments. WPA uses Temporal Key Integrity Protocol (TKIP) for encryption. WPA is fully supported by the Cisco Wireless Security Suite and the Cisco Structured Wireless-Aware Network(SWAN).
WPA2 is the next generation of Wi-Fi security. It is the Wi-Fi Alliance's interoperable implementation of the ratified IEEE 802.11i standard. It implements the National Institute of Standards and Technology (NIST) recommended Advanced Encryption Standard (AES) encryption algorithm using Counter Mode with Cipher Block Chaining Message Authentication Code Protocol (CCMP). WPA2 facilitates government FIPS 140-2 compliance, and it is fully supported by the Cisco Wireless Security Suite and by Cisco SWAN.
WPA and WPA2 mixed mode operation permits the coexistence of WPA and WPA2 clients on a common SSID. WPA and WPA2 mixed mode is a Wi-Fi certified feature. During WPA and WPA2 mixed mode, the Access Point (AP) advertises the encryption ciphers (TKIP, CCMP, other) that are available for use. The client selects the encryption cipher it would like to use and the selected encryption cipher is used for encryption between the client and AP once it is selected by the client.
The nl80211 driver can report low ACK condition (in fact it reports
complete loss right now only). Use that, along with a config option, to
disconnect stations when the data connection is not working properly,
e.g., due to the STA having went outside the range of the AP. This is
disabled by default and can be enabled with disassoc_low_ack=1 in
hostapd or wpa_supplicant configuration file.
802.11n Setting Summary
802.11n builds on the settings above, and adds additional functionality. If your hardware doesn't support 802.11n, or you don't plan on using it, you can ignore these.
ieee80211n: Set to 1 to enable 802.11n support, 0 to disable it
ht_capab: A list of the 802.11n features supported by your device
The explanation of these settings in the sample config file are quite helpful, so I'll suggest reading those. You can use the command 'iw list' to find a short list of the capabilities of your device.
# Enable IEEE 802.11d. This advertises the country_code and the set of allowed
# channels and transmit power levels based on the regulatory limits. The
# country_code setting must be configured with the correct country for
# IEEE 802.11d functions.
# (default: 0 = disabled)
adaptive noise immunity
echo 1 >/sys/kernel/debug/ieee80211/phy0/ath9k/disable_ani
Sensitivity Range
Adjusts the ACK timing in Atheros typical way based on the maximum distance in meters:
0 disables ACK timing completely
1 - 999999 adjusts ACK timing
The default is 2000 meters.
When a packet is sent out from the router, it waits for an "ACKnowledgement" frame from the other end. The router will wait for a response until a certain amount of time has elapsed, called the "ACK timeout" (or "window").
Conventional wisdom holds that should be set to the maximum distance in meters x 2 (doubled to account for round-trip). For example, if you roam with your laptop up to 50 meters from your AP, the setting would be 100.
Under nominal conditions (obstructions, power limitations, in-band interference, etc), the usable range of 802.11b/g is perhaps less than 100 meters, so it might seem that this setting should never exceed 200. However, if using a directional antenna that boosts range, timing needs would increase. Maximum theoretical ACK timeouts are approximately 744µs (11 km) for 802.11b, and 372µs (55 km) for 802.11g. There have been reports of experimental, assisted WiFi connections in excess of 40 kilometers plus.
Another use for ACK might be for restricting the distance at which people can connect. This could be useful for WDS access points or for minimizing the zone of connectivity.
Keep in mind, the higher the ACK timing, the lower the throughput will be. If set too high, packets could be lost as the router waits for the ACK window to timeout. Conversely, if ACK is set too low, the window will expire too soon and returning packets could be dropped, also lowering throughput.

Wifi tuning for long distance using UCI(Openwrt/Gargoyle)
Wireless Calculator
option 'wpa_group_rekey' '0'
config wifi-device 'radio0'
option type 'mac80211'
option channel '9'
option hwmode '11g'
option macaddr '00:13:37:a5:0f:89'
option htmode 'HT20'
list ht_capab 'SHORT-GI-20'
list ht_capab 'SHORT-GI-40'
list ht_capab 'RX-STBC1'
list ht_capab 'DSSS_CCK-40'
option short_preamble '0'
option beacon_int '250'
Edited by Mr-Protocol
Put YouTube link in code tabs. Forums don't seem to load YouTube properly.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...