1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
3 (c) 2005 U.S. Robotics Corporation
7 <title>Wireless » Advanced Settings</title>
9 <link href="usr_main.css" rel="stylesheet" type="text/css">
10 <link href="usr_menus.css" rel="stylesheet" type="text/css"><script src="usr_menus.js" type="text/javascript"></script><script src="usr_menus_build.js" type="text/javascript"></script>
11 <script src="usr_common.js" type="text/javascript"></script>
13 <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
15 <script type="text/javascript" src="util.js"></script>
16 <script type="text/javascript">
18 setPageTitle("<%ejGetWlJS(wlInterface)%>");
20 var enbl = '<%ejGetWlJS(wlEnbl)%>';
21 var country = '<%ejGetWlJS(wlCountry)%>';
22 var channel = '<%ejGetWlJS(wlChannel)%>';
23 var rate = '<%ejGetWlJS(wlRate)%>';
24 var frg = '<%ejGetWlJS(wlFrgThrshld)%>';
25 var rts = '<%ejGetWlJS(wlRtsThrshld)%>';
26 var dtm = '<%ejGetWlJS(wlDtmIntvl)%>';
27 var bcn = '<%ejGetWlJS(wlBcnIntvl)%>';
28 var phy = '<%ejGetWlJS(wlPhyType)%>';
29 var brate = '<%ejGetWlJS(wlBasicRate)%>';
30 var fburst = '<%ejGetWlJS(wlFrameBurst)%>';
31 var gmode = '<%ejGetWlJS(wlgMode)%>';
32 var pro = '<%ejGetWlJS(wlProtection)%>';
33 var pre = '<%ejGetWlJS(wlPreambleType)%>';
34 var apisolation= '<%ejGetWlJS(wlAPIsolation)%>';
35 var band= '<%ejGetWlJS(wlBand)%>';
36 var mcastrate = '<%ejGetWlJS(wlMCastRate)%>';
37 var hasafterburner = '<%ejGetWlJS(wlHasAfterburner)%>';
38 var afterburneren = '<%ejGetWlJS(wlAfterBurnerEn)%>';
39 var bands = '<%ejGetWlJS(wlBands)%>';
40 var mode = '<%ejGetWlJS(wlMode)%>';
41 var wlRefresh = '<%ejGetWlJS(wlRefresh)%>';
42 var TxPwrPcnt = '<%ejGetWlJS(wlTxPwrPcnt)%>';
43 var reg_mode = '<%ejGetWlJS(wlRegMode)%>';
44 var dfs_preism = '<%ejGetWlJS(wlDfsPreIsm)%>';
45 var dfs_postism = '<%ejGetWlJS(wlDfsPostIsm)%>';
46 var tpcDb = '<%ejGetWlJS(wlTpcDb)%>';
47 var haswme = '<%ejGetWlJS(wlHasWme)%>';
48 var wme = '<%ejGetWlJS(wlWme)%>';
49 var wmeNoAck = '<%ejGetWlJS(wlWmeNoAck)%>';
50 var wlCurrentChannel = '<%ejGetWlJS(wlCurrentChannel)%>';
52 if ( wlRefresh == '1' ) {
53 var code = 'location = "wlcfgadvrefresh.wl?wlRefresh=0"';
57 function getGmodeIndex(mode) {
76 function gModeChange()
78 with ( document.forms[0] ) {
79 setVisibility("preambleType", (band == "2") && (wlgMode.selectedIndex == 3));
83 function loadChannelList()
86 <%ejGetWlStr(wlChannelList_b)%>
88 else if (band == "1") {
89 <%ejGetWlStr(wlChannelList_a)%>
92 document.forms[0].wlChannel[0] = new Option("Automatic", "0")
96 for (var i=0; i<document.forms[0].wlChannel.options.length; i++) {
97 if (document.forms[0].wlChannel.options[i].value == channel) {
98 document.forms[0].wlChannel.options[i].selected = true;
105 document.forms[0].wlChannel.options[0].selected = true;
109 function loadRateList() {
110 if (band == "2") { // 2.4G
112 document.forms[0].wlRate[0] = new Option("Automatic", "0");
113 document.forms[0].wlRate[1] = new Option("1 Mbps", "1000000");
114 document.forms[0].wlRate[2] = new Option("2 Mbps", "2000000");
115 document.forms[0].wlRate[3] = new Option("5.5 Mbps", "5500000");
116 document.forms[0].wlRate[4] = new Option("11 Mbps", "11000000");
119 document.forms[0].wlRate[0] = new Option("Automatic", "0");
120 document.forms[0].wlRate[1] = new Option("1 Mbps", "1000000");
121 document.forms[0].wlRate[2] = new Option("2 Mbps", "2000000");
122 document.forms[0].wlRate[3] = new Option("5.5 Mbps", "5500000");
123 document.forms[0].wlRate[4] = new Option("6 Mbps", "6000000");
124 document.forms[0].wlRate[5] = new Option("9 Mbps", "9000000");
125 document.forms[0].wlRate[6] = new Option("11 Mbps", "11000000");
126 document.forms[0].wlRate[7] = new Option("12 Mbps", "12000000");
127 document.forms[0].wlRate[8] = new Option("18 Mbps", "18000000");
128 document.forms[0].wlRate[9] = new Option("24 Mbps", "24000000");
129 document.forms[0].wlRate[10] = new Option("36 Mbps", "36000000");
130 document.forms[0].wlRate[11] = new Option("48 Mbps", "48000000");
131 document.forms[0].wlRate[12] = new Option("54 Mbps", "54000000");
134 else if (band == "1") { // 5G
135 document.forms[0].wlRate[0] = new Option("Automatic", "0");
136 document.forms[0].wlRate[1] = new Option("6 Mbps", "6000000");
137 document.forms[0].wlRate[2] = new Option("9 Mbps", "9000000");
138 document.forms[0].wlRate[3] = new Option("12 Mbps", "12000000");
139 document.forms[0].wlRate[4] = new Option("18 Mbps", "18000000");
140 document.forms[0].wlRate[5] = new Option("24 Mbps", "24000000");
141 document.forms[0].wlRate[6] = new Option("36 Mbps", "36000000");
142 document.forms[0].wlRate[7] = new Option("48 Mbps", "48000000");
143 document.forms[0].wlRate[8] = new Option("54 Mbps", "54000000");
146 document.forms[0].wlRate[0] = new Option("Automatic", "0");
151 function loadMCastRateList() {
152 if (band == "2") { // 2.4G
154 document.forms[0].wlMCastRate[0] = new Option("Automatic", "0");
155 document.forms[0].wlMCastRate[1] = new Option("1 Mbps", "1000000");
156 document.forms[0].wlMCastRate[2] = new Option("2 Mbps", "2000000");
157 document.forms[0].wlMCastRate[3] = new Option("5.5 Mbps", "5500000");
158 document.forms[0].wlMCastRate[4] = new Option("11 Mbps", "11000000");
161 document.forms[0].wlMCastRate[0] = new Option("Automatic", "0");
162 document.forms[0].wlMCastRate[1] = new Option("1 Mbps", "1000000");
163 document.forms[0].wlMCastRate[2] = new Option("2 Mbps", "2000000");
164 document.forms[0].wlMCastRate[3] = new Option("5.5 Mbps", "5500000");
165 document.forms[0].wlMCastRate[4] = new Option("6 Mbps", "6000000");
166 document.forms[0].wlMCastRate[5] = new Option("9 Mbps", "9000000");
167 document.forms[0].wlMCastRate[6] = new Option("11 Mbps", "11000000");
168 document.forms[0].wlMCastRate[7] = new Option("12 Mbps", "12000000");
169 document.forms[0].wlMCastRate[8] = new Option("18 Mbps", "18000000");
170 document.forms[0].wlMCastRate[9] = new Option("24 Mbps", "24000000");
171 document.forms[0].wlMCastRate[10] = new Option("36 Mbps", "36000000");
172 document.forms[0].wlMCastRate[11] = new Option("48 Mbps", "48000000");
173 document.forms[0].wlMCastRate[12] = new Option("54 Mbps", "54000000");
176 else if (band == "1") { // 5G
177 document.forms[0].wlMCastRate[0] = new Option("Automatic", "0");
178 document.forms[0].wlMCastRate[1] = new Option("6 Mbps", "6000000");
179 document.forms[0].wlMCastRate[2] = new Option("9 Mbps", "9000000");
180 document.forms[0].wlMCastRate[3] = new Option("12 Mbps", "12000000");
181 document.forms[0].wlMCastRate[4] = new Option("18 Mbps", "18000000");
182 document.forms[0].wlMCastRate[5] = new Option("24 Mbps", "24000000");
183 document.forms[0].wlMCastRate[6] = new Option("36 Mbps", "36000000");
184 document.forms[0].wlMCastRate[7] = new Option("48 Mbps", "48000000");
185 document.forms[0].wlMCastRate[8] = new Option("54 Mbps", "54000000");
188 document.forms[0].wlMCastRate[0] = new Option("Automatic", "0");
192 function loadBasicRateList() {
193 if (band == "2") { // 2.4G
194 document.forms[0].wlBasicRate[0] = new Option("Default", "default");
195 document.forms[0].wlBasicRate[1] = new Option("All", "all");
196 document.forms[0].wlBasicRate[2] = new Option("1 & 2 Mbps", "12");
198 document.forms[0].wlBasicRate[3] = new Option("1 & 2 & 5.5 & 6 & 11 & 12 & 24 Mbps", "wifi2");
202 else if (band == "1") { // 5G
203 document.forms[0].wlBasicRate[0] = new Option("Default", "default");
204 document.forms[0].wlBasicRate[1] = new Option("All", "all");
205 document.forms[0].wlBasicRate[2] = new Option("6 & 12 Mbps", "12");
206 document.forms[0].wlBasicRate[3] = new Option("6 & 12 & 24 Mbps", "wifi2");
209 document.forms[0].wlMCastRate[0] = new Option("Default", "0");
213 function onBandChange() {
214 band = document.forms[0].wlBand.value;
215 document.forms[0].wlChannel.length = 0;
217 document.forms[0].wlRate.length = 0;
219 document.forms[0].wlMCastRate.length = 0;
221 document.forms[0].wlBasicRate.length = 0;
225 if (phy == "b") { //11b
226 setVisibility("div_gMode", false);
229 setVisibility("div_gMode", true);
233 setVisibility("div_gMode", false);
238 function getBasicRateIndex(br) {
243 else if ( br == "all" ) {
245 } else if ( br == "wifi2" ) {
252 function getRateIndex(r) {
253 var rateNum = parseInt(r);
257 if ( phy == "b" ) { //11b
276 // physical type is 802.11g
321 // physical type is 802.11a
322 else if ( band == '1' ) { // 11a
356 function getFrameBurstIndex(frameburst) {
359 if ( frameburst == "off" )
366 function getAfterBurnerIndex(afterburner) {
369 if ( afterburner == "auto" )
376 function getGModeProtection(pro) {
386 function getTpcDbIndex(val) {
391 else if ( val == "2" )
393 else if ( val == "3" )
395 else if ( val == "4" )
401 function RegModeChange() {
402 with ( document.forms[0] )
403 if( wlRegMode.selectedIndex != 1 )
404 wlDfsPreIsm.disabled=wlDfsPostIsm.disabled=wlTpcDb.disabled=true;
406 wlDfsPreIsm.disabled=wlDfsPostIsm.disabled=wlTpcDb.disabled=false;
410 function getBandIndex(b) {
420 function wl_afterburner_options(OnPageLoad)
422 with (document.forms[0])
424 // MAXg and WMM cannot both be enabled at the same time. MAXg requires Fragmentation to be set to 2346.
425 // But no need to check these because the MAXg option is deleted if they're true.
426 setVisibility("idFragNoMAXg", (parseInt(wlFrgThrshld.value) != 2346));
427 if (parseInt(wlFrgThrshld.value) != 2346)
429 cbAcceleration.value = "xpress";
435 function wl_recalc(OnPageLoad)
438 with ( document.forms[0] )
440 retval = wl_afterburner_options(OnPageLoad);
446 with ( document.forms[0] ) {
447 wlBand.selectedIndex = getBandIndex(band);
449 wlRate.selectedIndex = getRateIndex(rate);
450 wlMCastRate.selectedIndex = getRateIndex(mcastrate);
451 wlBasicRate.selectedIndex = getBasicRateIndex(brate);
453 if (afterburneren == "auto")
454 cbAcceleration.value = "maxg";
455 else if (fburst != "off")
456 cbAcceleration.value = "xpress";
458 cbAcceleration.value = "none";
460 wlAPIsolation.selectedIndex = parseInt(apisolation);
461 wlFrgThrshld.value = frg;
462 wlRtsThrshld.value = rts;
463 wlDtmIntvl.value = dtm;
464 wlBcnIntvl.value = bcn;
466 If WMM is enabled or the AP mode isn't set, cannot set acceleration to MAXg.
470 // find the index of the MAXg option and delete it
471 for (var ix = 0; ix < cbAcceleration.options.length; ++ix)
473 if (cbAcceleration.options[ix].value == "maxg")
475 cbAcceleration.options[ix] = null;
480 setVisibility("idWMMnoMAXg", (wme == "1"));
482 if ( pre == 'short' )
483 wlPreambleType.selectedIndex = 1;
485 wlPreambleType.selectedIndex = 0;
486 // physical type is 802.11g
490 wlgMode.selectedIndex = 3;
493 wlgMode.selectedIndex = 1;
496 wlgMode.selectedIndex = 2;
499 wlgMode.selectedIndex = 0;
502 wlProtection.selectedIndex = getGModeProtection(pro);
506 wlTxPower.selectedIndex = ((TxPwrPcnt/20) -1);
507 wlRegMode.selectedIndex = reg_mode;
508 wlDfsPreIsm.value = dfs_preism;
509 wlDfsPostIsm.value = dfs_postism;
510 wlTpcDb.selectedIndex = getTpcDbIndex(tpcDb);
517 function btnApply() {
518 var loc = 'wlcfgadv.wl?';
519 var idx, frgNum, rtsNum, dtmNum, bcnNum, frmburstNum;
522 alert('Cannot apply the change since wireless is currently disabled.');
529 with ( document.forms[0] ) {
530 frgNum = parseInt(wlFrgThrshld.value);
531 if ( isNaN(frgNum) == true || frgNum < 256 || frgNum > 2346 ) {
532 alert('Fragmentation threshold "' + wlFrgThrshld.value + '" should be between 256 and 2346.');
536 rtsNum = parseInt(wlRtsThrshld.value);
537 if ( isNaN(rtsNum) == true || rtsNum < 0 || rtsNum > 2347 ) {
538 alert('RTS threshold "' + wlRtsThrshld.value + '" should be between 0 and 2347.');
542 dtmNum = parseInt(wlDtmIntvl.value);
543 if ( isNaN(dtmNum) == true || dtmNum < 1 || dtmNum > 255 ) {
544 alert('DTIM interval "' + wlDtmIntvl.value + '" should be between 1 and 255.');
548 bcnNum = parseInt(wlBcnIntvl.value);
549 if ( isNaN(bcnNum) == true || bcnNum < 1 || bcnNum > 65535 ) {
550 alert('Beacon interval "' + wlBcnIntvl.value + '" should be between 1 and 65535.');
554 idx = wlChannel.selectedIndex;
555 loc += 'wlChannel=' + wlChannel.options[idx].value;
556 idx = wlRate.selectedIndex;
557 loc += '&wlRate=' + wlRate.options[idx].value;
558 idx = wlBasicRate.selectedIndex;
559 loc += '&wlBasicRate=' + wlBasicRate.options[idx].value;
560 loc += '&wlFrgThrshld=' + wlFrgThrshld.value;
561 loc += '&wlRtsThrshld=' + wlRtsThrshld.value;
562 loc += '&wlDtmIntvl=' + wlDtmIntvl.value;
563 loc += '&wlBcnIntvl=' + wlBcnIntvl.value;
565 if (cbAcceleration.value == "maxg")
567 loc += "&wlAfterBurnerEn=auto";
568 loc += "&wlFrameBurst=on";
570 else if (cbAcceleration.value == "xpress")
572 loc += "&wlAfterBurnerEn=off";
573 loc += "&wlFrameBurst=on";
575 else // if (cbAcceleration.value == "none")
577 loc += "&wlAfterBurnerEn=off";
578 loc += "&wlFrameBurst=off";
581 loc += '&wlAPIsolation=' + wlAPIsolation.value;
582 loc += '&wlBand=' + wlBand.value;
583 idx = wlMCastRate.selectedIndex;
584 loc += '&wlMCastRate=' + wlMCastRate.options[idx].value;
586 if ( band == '2') { // 2.4G
587 if ( phy == "g") { // 802.11g
588 idx = wlgMode.selectedIndex;
589 loc += '&wlgMode=' + wlgMode.options[idx].value;
590 idx = wlProtection.selectedIndex;
591 loc += '&wlProtection=' + wlProtection.options[idx].value;
592 if (wlgMode.selectedIndex == 3) {
593 idx = wlPreambleType.selectedIndex;
594 loc += '&wlPreambleType=' + wlPreambleType.options[idx].value;
597 idx = wlPreambleType.selectedIndex;
598 loc += '&wlPreambleType=' + wlPreambleType.options[idx].value;
602 idx = wlTxPower.selectedIndex;
603 loc += '&wlTxPwrPcnt=' + wlTxPower.options[idx].value;
605 idx = wlRegMode.selectedIndex;
606 loc += '&wlRegMode=' + wlRegMode.options[idx].value;
607 if(wlRegMode.selectedIndex == 1) {
608 DfsPreIsmNum = parseInt(wlDfsPreIsm.value);
609 if ( isNaN(DfsPreIsmNum) == true || DfsPreIsmNum < 0 || DfsPreIsmNum > 99 ) {
610 alert('Pre-Network Radar Check "' + wlDfsPreIsm.value + '" should be between 0 and 99.');
614 DfsPostNum = parseInt(wlDfsPostIsm.value);
615 if ( isNaN(DfsPostNum) == true || DfsPostNum < 10 || DfsPostNum > 99 ) {
616 alert('In-Network Radar Check: "' + wlDfsPostIsm.value + '" should be between 10 and 99.');
620 loc += '&wlDfsPreIsm=' + wlDfsPreIsm.value;
621 loc += '&wlDfsPostIsm=' + wlDfsPostIsm.value;
622 idx = wlTpcDb.selectedIndex;
623 loc += '&wlTpcDb=' + wlTpcDb.options[idx].value;
627 var code = 'location = "' + loc + '"';
634 <body onload="initMenu(); frmLoad();">
636 <script type="text/javascript">
637 writeHeader("Wireless");
640 <h3>Advanced Settings</h3>
642 <p>This page allows you to configure advanced features of the wireless LAN
643 interface. You can select a particular channel on which to operate, force the
644 transmission rate to a particular speed, set the fragmentation threshold, set
645 the RTS threshold, set the wakeup interval for clients in power-save mode, set
646 the beacon interval for the access point, set the acceleration mode and set whether
647 short or long preambles are used.</p>
649 <p>Press <b>Apply</b> when you’re finished making changes.</p>
652 <table border="0" cellpadding="2" cellspacing="0">
654 <td><label for="">AP isolation:</label></td>
655 <td><select name='wlAPIsolation' id='wlAPIsolation'>
656 <option value='0'>Disabled</option>
657 <option value='1'>Enabled</option>
661 <td><label for="">Band:</td>
662 <td><select name='wlBand' id='wlBand' onChange='onBandChange();'>
663 <script type="text/javascript">
665 if ( bands == '3' ) { // dual band
666 document.writeln(' <option value=2>2.4GHz - 802.11g</option>');
667 document.writeln(' <option value=1>5GHz - 802.11a</option>');
669 else if (bands == '1') {
670 document.writeln(' <option value=1>5GHz - 802.11a</option>');
674 document.writeln(' <option value=2>2.4GHz - 802.11g</option>');
677 document.writeln(' <option value=2>2.4GHz - 802.11b</option>');
685 <td><label for="">Channel:</label></td>
686 <td><select name='wlChannel' id='wlChannel'>
690 <td><label for="">Rate:</label></td>
691 <td><select name='wlRate' id='wlRate'>
695 <td><label for="">Multicast rate:</label></td>
696 <td><select name='wlMCastRate' id='wlMCastRate'>
700 <td><label for="">Basic rate:</label></td>
701 <td><select name='wlBasicRate' id='wlBasicRate'>
705 <td><label for="wlFrgThrshld">Fragmentation threshold:</label></td>
706 <td><input type='text' name='wlFrgThrshld' id='wlFrgThrshld' size='10' onchange="wl_recalc(0);">
707 <span class="clsNote">(Note: <b>MAXg</b> acceleration requires a value of 2346.)</span></td>
710 <td><label for="wlRtsThrshld">RTS threshold:</label></td>
711 <td><input type='text' name='wlRtsThrshld' id='wlRtsThrshld' size='10'></td>
714 <td><label for="wlDtmIntvl">DTIM interval:</label></td>
715 <td><input type='text' name='wlDtmIntvl' id='wlDtmIntvl' size='10'></td>
718 <td><label for="wlBcnIntvl">Beacon interval:</label></td>
719 <td><input type='text' name='wlBcnIntvl' id='wlBcnIntvl' size='10'></td>
723 <td><label>Acceleration:</label></td>
725 <select id="cbAcceleration" onchange="wl_recalc(0);">
726 <option value="maxg" selected>MAXg (125 Mbps)</option>
727 <option value="xpress">54g+ (XPress™)</option>
728 <option value="none">None</option>
732 <tr id="idWMMnoMAXg">
735 WMM is enabled so <b>Acceleration</b> cannot be set to <b>MAXg</b>.
736 In order to set <b>Acceleration</b> to <b>MAXg</b>, please disable
737 <b>WMM</b> on the <a href="wlqos.html">Wireless Quality of Service</a> page.
740 <tr id="idFragNoMAXg">
743 In order to set <b>Acceleration</b> to <b>MAXg</b>,
744 the <b>Fragmentation threshold</b> must be set to <b>2346</b>.
749 <td><label for="">54g™ mode:</label></td>
750 <td><select name="wlgMode" id="wlgMode" onChange="gModeChange()">
751 <option value="1">Automatic</option>
752 <option value="4">54g Performance</option>
753 <option value="5">54g LRS</option>
754 <option value="0">802.11b Only</option>
758 <td><label for="">54g protection:</label></td>
759 <td><select name="wlProtection" id="wlProtection">
760 <option value="off">Disabled</option>
761 <option value="auto">Automatic</option>
764 <tr id="div_regMode">
765 <td><label for="">Regulatory mode:</label></td>
766 <td><select name="wlRegMode" id="wlRegMode" onChange='RegModeChange()'>
767 <option value="0">Disabled</option>
768 <option value="1">802.11h</option>
769 <option value="2">802.11d</option>
772 <!-- Hide unsupported uptions.
773 <tr id="div_regMode1">
774 <td><label for="">Pre-network radar check:</label></td>
775 <td><input type='text' name='wlDfsPreIsm' id='wlDfsPreIsm'></td>
777 <tr id="div_regMode2">
778 <td><label for="">In-network radar check:</label></td>
779 <td><input type='text' name='wlDfsPostIsm' id='wlDfsPostIsm'></td>
782 <td label for=""="180">TPC mitigation:</td>
783 <td><select name="wlTpcDb" id="wlTpcDb">
784 <option value="0">0 dB (off)</option>
785 <option value="2">2 dB</option>
786 <option value="3">3 dB</option>
787 <option value="4">4 dB</option>
792 <td><label for="">Transmit power:</label></td>
793 <td><select name="wlTxPower" id="wlTxPower">
794 <option value="20">20%</option>
795 <option value="40">40%</option>
796 <option value="60">60%</option>
797 <option value="80">80%</option>
798 <option value="100">100%</option>
801 <tr id="preambleType">
802 <td><label for="">Preamble type:</label></td>
803 <td><select name="wlPreambleType" id="wlPreambleType" size='1'>
804 <option value="long">long</option>
805 <option value="short">short</option>
810 <p><input type='button' onClick='btnApply()' value='Apply'></p>
814 <script type="text/javascript">