loader-logo

5 Mistakes that Diminish Wi-Fi Performance

No one likes to experience poor Wi-Fi, especially when you need it most. We get brought in to troubleshoot different types of environments which allows us to see some of the most common Wi-Fi mistakes.

Organizations with IT teams will make a good effort into addressing their Wi-Fi issues. But sometimes it can be hard to tell if changing those configuration knobs creates a good or bad effect.

Wi-Fi is a very forgiving technology. It will work despite tough radio frequency conditions albeit by sacrificing throughput. Here are 5 mistakes we’ve come across that diminish Wi-Fi performance.

Incorrect Mounting

The most common mistake we see is improper mounting of access points (APs). An omnidirectional AP is most widely used. As best practice, these access points should be mounted on the ceiling to provide downward 360 degree coverage.

We know the aesthetics police will overrule the proper installations and force you to hide access points above ceiling tiles. This action impacts the performance of your Wi-Fi network.

Without device to AP line-of-sight, the Wi-Fi signal will be affected by attenuation and other RF characteristics.

In the ceiling you’ll find lots of HVAC. Wi-Fi signal will bounce around as it doesn’t go through aluminum. Devices will receive a reflected, suboptimal, signal. Wi-Fi is best when the AP is deployed close to the devices.

Solution: Understand how signal is propagated. Mount APs correctly.

Aggressive Tuning

In trying to remedy the plague of Wi-Fi issues, we find that network operators will tune their Wi-Fi aggressively. Setting minimum basic rates too high or setting the maximum channel width are often the incorrect ways to mitigate performance and reliability issues.

Vendor proprietary settings can get in the way of devices connecting properly.

Wi-Fi must be designed and configured for the devices.

Resolution: Determine Wi-Fi requirements and tune to these requirements.

No Design

Every troubleshooting engagement we’ve been part did not begin with a Wi-Fi design. The purpose of Wi-Fi design is to meet requirements for coverage and capacity. As a result, the ideal locations for APs are identified with the right quantity.

Companies that do not first perform a Wi-Fi design run have issues with poor roaming between desks and conference rooms or between warehouse aisles.

APs are placed in unfortunate locations around obstructions or there are too many APs.

The configuration has not been tuned since no design was created. There is a lack of channel and transmit power planning in which the Wi-Fi network needs optimization for the environment.

Resolution: Have a Wi-Fi design completed prior to purchasing equipment.

No Validation Survey

Although a Wi-Fi design was completed, or even in the case without a design, there was no verification or validation of the Wi-Fi network. Correct installation needs to be verified. Sometimes antennas are not installed properly.

A validation survey will also confirm the configuration of the Wi-Fi network is set properly.

Resolution: Perform a Wi-Fi validation survey after deployment

Too Many Access Points

There is such a thing as too many access points. And in the scenarios where we have seen this, it leads to a huge performance hit. Users have jitter or dropped video conference calls, Slack messages aren’t sent and webpages are slow to load.

We have seen APs deployed so close to one another that it is difficult for a device to roam to the proper access point.

And with a combination of aggressive tuning, we have a poorly configured Wi-Fi network and frustrated users.

Resolution: Have a Wi-Fi design completed to save on excess hardware expenditures

Improve Your Wi-Fi Today

Contact us today to get your Wi-Fi plan for higher reliability and performance.

Tags:
Previous Article


Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.


[gravityforms id=16 title=false description=false]
<script type="text/javascript">var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});</script> <div class='gf_browser_unknown gform_wrapper gravity-theme' id='gform_wrapper_16' ><form method='post' enctype='multipart/form-data' id='gform_16' action='/5-mistakes-that-diminish-wifi-performance/' > <div class='gform_body gform-body'><div id='gform_fields_16' class='gform_fields top_label form_sublabel_below description_below'><fieldset id="field_16_1" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_16_1"><legend class='gfield_label gfield_label_before_complex' >Name<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></legend><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name no_last_name no_suffix gf_name_has_1 ginput_container_name' id='input_16_1'> <span id='input_16_1_3_container' class='name_first' > <input type='text' name='input_1.3' id='input_16_1_3' value='' aria-required='true' placeholder='First Name' /> <label for='input_16_1_3' >First</label> </span> </div></fieldset><div id="field_16_2" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_16_2"><label class='gfield_label' for='input_16_2' >Email<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_16_2' type='text' value='' class='large' placeholder='Business email address' aria-required="true" aria-invalid="false" /> </div></div><fieldset id="field_16_3" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_16_3"><legend class='gfield_label gfield_label_before_complex' >Consent<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></legend><div class='ginput_container ginput_container_checkbox'><div class='gfield_checkbox' id='input_16_3'><div class='gchoice gchoice_16_3_1'> <input class='gfield-choice-input' name='input_3.1' type='checkbox' value='I consent to the processing and sharing with partners of the personal data that I provide Packet 6 for this activity in accordance with and as described in the &lt;a href=&quot;https://packet6.com/privacy-policy&quot; target=&quot;_new&quot;&gt;Privacy Policy&lt;/a&gt;' id='choice_16_3_1' /> <label for='choice_16_3_1' id='label_16_3_1'>I consent to the processing and sharing with partners of the personal data that I provide Packet 6 for this activity in accordance with and as described in the <a href="https://packet6.com/privacy-policy" target="_new">Privacy Policy</a></label> </div></div></div></fieldset><div id="field_16_4" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_16_4"><label class='gfield_label' for='input_16_4' >Name</label><div class='ginput_container'><input name='input_4' id='input_16_4' type='text' value='' /></div><div class='gfield_description' id='gfield_description_16_4'>This field is for validation purposes and should be left unchanged.</div></div></div></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_16' class='gform_button button' value='Get the report' onclick='if(window["gf_submitting_16"]){return false;} window["gf_submitting_16"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_16"]){return false;} window["gf_submitting_16"]=true; jQuery("#gform_16").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_16' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='16' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_16' value='WyJbXSIsImY4MGVlNTA5MGVjMWYzYzU5NzUyOGFhOWE3ZGFiMzRlIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_16' id='gform_target_page_number_16' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_16' id='gform_source_page_number_16' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_2" name="ak_js" value="29"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>