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>Advanced Settings « Wireless</title>
9 <link href="usr_layout.css" type="text/css" rel="stylesheet" />
10 <script src="usr_layout.js" type="text/javascript"></script>
12 <link href="usr_menus_dropdown.css" rel="stylesheet" type="text/css">
13 <script src="usr_menus_dropdown.js" type="text/javascript"></script>
14 <script src="usr_menus_build.js" type="text/javascript"></script>
16 <link href="usr_device.css" type="text/css" rel="stylesheet" />
17 <script src="usr_device.js" type="text/javascript"></script>
19 <link href="usr_91xx.css" type="text/css" rel="stylesheet" />
20 <script src="usr_91xx.js" type="text/javascript"></script>
21 <script src="usr_resources.js" type="text/javascript"></script>
23 <meta HTTP-EQUIV='Pragma' CONTENT='no-cache'>
25 <script type="text/javascript" src="util.js"></script>
26 <script type="text/javascript">
29 var enbl = '<%ejGetWlJS(wlEnbl)%>';
30 var country = '<%ejGetWlJS(wlCountry)%>';
31 var channel = '<%ejGetWlJS(wlChannel)%>';
32 var rate = '<%ejGetWlJS(wlRate)%>';
33 var frg = '<%ejGetWlJS(wlFrgThrshld)%>';
34 var rts = '<%ejGetWlJS(wlRtsThrshld)%>';
35 var dtm = '<%ejGetWlJS(wlDtmIntvl)%>';
36 var bcn = '<%ejGetWlJS(wlBcnIntvl)%>';
37 var phy = '<%ejGetWlJS(wlPhyType)%>';
38 var brate = '<%ejGetWlJS(wlBasicRate)%>';
39 var fburst = '<%ejGetWlJS(wlFrameBurst)%>';
40 var gmode = '<%ejGetWlJS(wlgMode)%>';
41 var pro = '<%ejGetWlJS(wlProtection)%>';
42 var pre = '<%ejGetWlJS(wlPreambleType)%>';
43 var apisolation= '<%ejGetWlJS(wlAPIsolation)%>';
44 var band= '<%ejGetWlJS(wlBand)%>';
45 var mcastrate = '<%ejGetWlJS(wlMCastRate)%>';
46 var hasafterburner = '<%ejGetWlJS(wlHasAfterburner)%>';
47 var afterburneren = '<%ejGetWlJS(wlAfterBurnerEn)%>';
48 var bands = '<%ejGetWlJS(wlBands)%>';
49 var mode = '<%ejGetWlJS(wlMode)%>';
50 var wlRefresh = '<%ejGetWlJS(wlRefresh)%>';
51 var TxPwrPcnt = '<%ejGetWlJS(wlTxPwrPcnt)%>';
52 var reg_mode = '<%ejGetWlJS(wlRegMode)%>';
53 var dfs_preism = '<%ejGetWlJS(wlDfsPreIsm)%>';
54 var dfs_postism = '<%ejGetWlJS(wlDfsPostIsm)%>';
55 var tpcDb = '<%ejGetWlJS(wlTpcDb)%>';
56 var wme = '<%ejGetWlJS(wlWme)%>';
57 var wlCurrentChannel = '<%ejGetWlJS(wlCurrentChannel)%>';
58 var csscantimer = '<%ejGetWlJS(wlCsScanTimer)%>';
59 var maxassoc = '<%ejGetWlJS(wlMaxAssoc)%>';
60 var nbw = '<%ejGetWlJS(wlNBw)%>';
61 var nctrlsb = '<%ejGetWlJS(wlNCtrlsb)%>';
62 var corerev = '<%ejGetWlJS(wlCoreRev)%>';
63 var npro = '<%ejGetWlJS(wlNProtection)%>';
64 var nmcsidx = '<%ejGetWlJS(wlNMcsidx)%>';
65 var chanspec = '<%ejGetWlJS(wlCurrentChSpec)%>';
66 var nmode = '<%ejGetWlJS(wlNmode)%>';
67 var nreqd = '<%ejGetWlJS(wlNReqd)%>';
72 if ( wlRefresh == '1' ) {
73 var code = 'location="wlcfgadvrefresh.wl?wlRefresh=0"';
77 function getGmodeIndex(mode) {
96 function getNmodeIndex(mode) {
110 function genericChange(OnPageLoad)
112 with ( document.forms[0] )
116 wlAPIsolation.selectedIndex = parseInt(apisolation);
117 wlRate.selectedIndex = getRateIndex(rate);
118 wlMCastRate.selectedIndex = getRateIndex(mcastrate);
119 wlBasicRate.selectedIndex = getBasicRateIndex(brate);
121 if (afterburneren == "auto")
122 cbAcceleration.value = "maxg";
123 else if (fburst != "off")
124 cbAcceleration.value = "xpress";
126 cbAcceleration.value = "none";
128 wlFrgThrshld.value = frg;
129 wlRtsThrshld.value = rts;
130 wlDtmIntvl.value = dtm;
131 wlBcnIntvl.value = bcn;
132 wlCsScanTimer.value = csscantimer;
133 wlMaxAssoc.value = maxassoc;
134 wlTxPower.selectedIndex = ((TxPwrPcnt/20) -1);
135 wlRegMode.selectedIndex = reg_mode;
136 wlDfsPreIsm.value = dfs_preism;
137 wlDfsPostIsm.value = dfs_postism;
138 wlTpcDb.selectedIndex = getTpcDbIndex(tpcDb);
140 if ( pre == 'short' )
141 wlPreambleType.selectedIndex = 1;
143 wlPreambleType.selectedIndex = 0;
145 If WMM is enabled or the AP mode isn't set, cannot set acceleration to MAXg.
150 // find the index of the MAXg option and delete it
151 for (var ix = 0; ix < cbAcceleration.options.length; ++ix)
153 if (cbAcceleration.options[ix].value == "maxg")
155 cbAcceleration.options[ix] = null;
161 setVisibility("idWMMnoMAXg", (wme == "1"));
162 setVisibility("idWMMno11n", (wme == "1"));
163 //DELME wlNmode.disabled = (wme == "1");
168 function gModeChange(OnPageLoad) {
183 sel_band = document.forms[0].wlBand.value;
184 sel_gmode = document.forms[0].wlgMode.value;
185 sel_pro = document.forms[0].wlProtection.value;
186 sel_nmode = document.forms[0].wlNmode.value;
189 with ( document.forms[0] ) {
190 setVisibility("preambleType", false);
192 wlProtection.selectedIndex = getGModeProtection(sel_pro);
195 setVisibility("preambleType", true);
196 wlgMode.selectedIndex = 3;
199 wlgMode.selectedIndex = 1;
202 wlgMode.selectedIndex = 2;
205 wlgMode.selectedIndex = 0;
206 setVisibility("preambleType", true);
210 if (phy == "n" && sel_nmode != "off") {
211 SetDivisionVisibility("gMode", false);
213 if (sel_band == "2") {
214 if (phy == "b") { //11b
215 SetDivisionVisibility("gMode", false);
218 SetDivisionVisibility("gMode", true);
222 SetDivisionVisibility("gMode", false);
223 setVisibility("preambleType", false);
229 function wlLoadCountryList(OnPageLoad)
238 sel = document.forms[0].wlCountry.options[document.forms[0].wlCountry.selectedIndex].value;
242 if (band == "1") { // 5G
243 <%ejGetWl(wlCountryList, a)%>
245 <%ejGetWl(wlCountryList, b)%>
249 for (idx=0; idx < document.forms[0].wlCountry.options.length; idx++) {
250 if (document.forms[0].wlCountry.options[idx].value == sel) {
251 document.forms[0].wlCountry.options[idx].selected = true;
256 /* set to all(the last one) if not found */
257 if( idx == document.forms[0].wlCountry.options.length)
258 document.forms[0].wlCountry.options[idx-1].selected = true;
261 function loadChannelList(OnPageLoad)
276 sel_ch = document.forms[0].wlChannel.value;
277 sel_band = document.forms[0].wlBand.value;
278 sel_nbw = document.forms[0].wlNbw.value;
279 sel_sb = document.forms[0].wlNCtrlsb.value;
283 document.forms[0].wlChannel.length = 0;
285 if ((sel_band == "2") && (phy != "n") ) {
286 <%ejGetWlStr(wlChannelList, b)%>
288 else if ((sel_band == "1") && (phy != "n")) {
289 <%ejGetWlStr(wlChannelList, a)%>
291 else if ((sel_band == "2") && (phy == "n") ) {
294 <%ejGetWlStr(wlChannelList, n, b, 40, "upper")%>
296 <%ejGetWlStr(wlChannelList, n, b, 40, "lower")%>
299 <%ejGetWlStr(wlChannelList, n, b, 20 )%>
302 else if ((sel_band == "1") && (phy == "n") ) {
305 <%ejGetWlStr(wlChannelList, n, a, 40, "upper")%>
307 <%ejGetWlStr(wlChannelList, n, a, 40, "lower")%>
310 <%ejGetWlStr(wlChannelList, n, a, 20 )%>
314 wlChannel[0] = new Option("Automatic", "0")
318 for (idx=0; idx<document.forms[0].wlChannel.options.length; idx++) {
319 if (document.forms[0].wlChannel.options[idx].value == sel_ch) {
320 document.forms[0].wlChannel.options[idx].selected = true;
325 /* set to first channel if not found */
326 if (idx == document.forms[0].wlChannel.options.length) {
327 document.forms[0].wlChannel.options[0].selected = true;
330 with ( document.forms[0] ) {
331 if( wlChannel.selectedIndex != 0 ) {
332 wlCsScanTimer.disabled=true;
334 wlCsScanTimer.disabled=false;
339 function loadRateList(OnPageLoad) {
354 sel_band = document.forms[0].wlBand.value;
355 sel_rate = document.forms[0].wlRate.value;
356 sel_nmode = document.forms[0].wlNmode.value;
357 sel_gmode = document.forms[0].wlgMode.value;
360 if(phy != "n") sel_nmode = "off";
362 document.forms[0].wlRate.length = 0;
364 if (sel_band == "2") { // 2.4G
366 (country == "JP" && document.forms[0].wlChannel.value == 14) ||
367 (sel_nmode == "off" && sel_gmode == "0")) {
368 document.forms[0].wlRate[0] = new Option("Automatic", "0");
369 document.forms[0].wlRate[1] = new Option("1 Mbps", "1000000");
370 document.forms[0].wlRate[2] = new Option("2 Mbps", "2000000");
371 document.forms[0].wlRate[3] = new Option("5.5 Mbps", "5500000");
372 document.forms[0].wlRate[4] = new Option("11 Mbps", "11000000");
375 document.forms[0].wlRate[0] = new Option("Automatic", "0");
376 document.forms[0].wlRate[1] = new Option("1 Mbps", "1000000");
377 document.forms[0].wlRate[2] = new Option("2 Mbps", "2000000");
378 document.forms[0].wlRate[3] = new Option("5.5 Mbps", "5500000");
379 document.forms[0].wlRate[4] = new Option("6 Mbps", "6000000");
380 document.forms[0].wlRate[5] = new Option("9 Mbps", "9000000");
381 document.forms[0].wlRate[6] = new Option("11 Mbps", "11000000");
382 document.forms[0].wlRate[7] = new Option("12 Mbps", "12000000");
383 document.forms[0].wlRate[8] = new Option("18 Mbps", "18000000");
384 document.forms[0].wlRate[9] = new Option("24 Mbps", "24000000");
385 document.forms[0].wlRate[10] = new Option("36 Mbps", "36000000");
386 document.forms[0].wlRate[11] = new Option("48 Mbps", "48000000");
387 document.forms[0].wlRate[12] = new Option("54 Mbps", "54000000");
390 else if (sel_band == "1") { // 5G
391 document.forms[0].wlRate[0] = new Option("Automatic", "0");
392 document.forms[0].wlRate[1] = new Option("6 Mbps", "6000000");
393 document.forms[0].wlRate[2] = new Option("9 Mbps", "9000000");
394 document.forms[0].wlRate[3] = new Option("12 Mbps", "12000000");
395 document.forms[0].wlRate[4] = new Option("18 Mbps", "18000000");
396 document.forms[0].wlRate[5] = new Option("24 Mbps", "24000000");
397 document.forms[0].wlRate[6] = new Option("36 Mbps", "36000000");
398 document.forms[0].wlRate[7] = new Option("48 Mbps", "48000000");
399 document.forms[0].wlRate[8] = new Option("54 Mbps", "54000000");
402 document.forms[0].wlRate[0] = new Option("Automatic", "0");
405 if(sel_nmode != "off") {
406 /* exclude auto for 802.11a/b/g (Legacy) rates if 11n is enabled */
407 document.forms[0].wlRate[0]=null;
411 for (idx = 0; idx < document.forms[0].wlRate.options.length; idx++) {
412 if (document.forms[0].wlRate.options[idx].value == sel_rate) {
413 document.forms[0].wlRate.options[idx].selected = true;
418 /* set to first(Auto) if not found */
419 if( idx == document.forms[0].wlRate.options.length)
420 document.forms[0].wlRate.options[0].selected = true;
424 function loadMCastRateList(OnPageLoad) {
435 sel_rate = mcastrate;
440 sel_band = document.forms[0].wlBand.value;
441 sel_rate = document.forms[0].wlMCastRate.value;
442 sel_nmode = document.forms[0].wlNmode.value;
443 sel_gmode = document.forms[0].wlgMode.value;
446 if(phy != "n") sel_nmode = "off";
448 document.forms[0].wlMCastRate.length = 0;
449 if (sel_band == "2") { // 2.4G
451 (country == "JP" && document.forms[0].wlChannel.value == 14) ||
452 (sel_nmode == "off" && sel_gmode == "0")) {
453 document.forms[0].wlMCastRate[0] = new Option("Automatic", "0");
454 document.forms[0].wlMCastRate[1] = new Option("1 Mbps", "1000000");
455 document.forms[0].wlMCastRate[2] = new Option("2 Mbps", "2000000");
456 document.forms[0].wlMCastRate[3] = new Option("5.5 Mbps", "5500000");
457 document.forms[0].wlMCastRate[4] = new Option("11 Mbps", "11000000");
460 document.forms[0].wlMCastRate[0] = new Option("Automatic", "0");
461 document.forms[0].wlMCastRate[1] = new Option("1 Mbps", "1000000");
462 document.forms[0].wlMCastRate[2] = new Option("2 Mbps", "2000000");
463 document.forms[0].wlMCastRate[3] = new Option("5.5 Mbps", "5500000");
464 document.forms[0].wlMCastRate[4] = new Option("6 Mbps", "6000000");
465 document.forms[0].wlMCastRate[5] = new Option("9 Mbps", "9000000");
466 document.forms[0].wlMCastRate[6] = new Option("11 Mbps", "11000000");
467 document.forms[0].wlMCastRate[7] = new Option("12 Mbps", "12000000");
468 document.forms[0].wlMCastRate[8] = new Option("18 Mbps", "18000000");
469 document.forms[0].wlMCastRate[9] = new Option("24 Mbps", "24000000");
470 document.forms[0].wlMCastRate[10] = new Option("36 Mbps", "36000000");
471 document.forms[0].wlMCastRate[11] = new Option("48 Mbps", "48000000");
472 document.forms[0].wlMCastRate[12] = new Option("54 Mbps", "54000000");
475 else if (sel_band == "1") { // 5G
476 document.forms[0].wlMCastRate[0] = new Option("Automatic", "0");
477 document.forms[0].wlMCastRate[1] = new Option("6 Mbps", "6000000");
478 document.forms[0].wlMCastRate[2] = new Option("9 Mbps", "9000000");
479 document.forms[0].wlMCastRate[3] = new Option("12 Mbps", "12000000");
480 document.forms[0].wlMCastRate[4] = new Option("18 Mbps", "18000000");
481 document.forms[0].wlMCastRate[5] = new Option("24 Mbps", "24000000");
482 document.forms[0].wlMCastRate[6] = new Option("36 Mbps", "36000000");
483 document.forms[0].wlMCastRate[7] = new Option("48 Mbps", "48000000");
484 document.forms[0].wlMCastRate[8] = new Option("54 Mbps", "54000000");
487 document.forms[0].wlMCastRate[0] = new Option("Automatic", "0");
491 for (idx=0; idx < document.forms[0].wlMCastRate.options.length; idx++) {
492 if (document.forms[0].wlMCastRate.options[idx].value == sel_rate) {
493 document.forms[0].wlMCastRate.options[idx].selected = true;
498 /* set to first(Auto) if not found */
499 if( idx == document.forms[0].wlMCastRate.options.length)
500 document.forms[0].wlMCastRate.options[0].selected = true;
504 function loadBasicRateList(OnPageLoad) {
516 sel_band = document.forms[0].wlBand.value;
517 sel_rate = document.forms[0].wlBasicRate.value;
520 document.forms[0].wlBasicRate.length = 0;
522 if (sel_band == "2") { // 2.4G
523 document.forms[0].wlBasicRate[0] = new Option("Default", "default");
524 document.forms[0].wlBasicRate[1] = new Option("All", "all");
525 document.forms[0].wlBasicRate[2] = new Option("1 & 2 Mbps", "12");
527 document.forms[0].wlBasicRate[3] = new Option("1 & 2 & 5.5 & 6 & 11 & 12 & 24 Mbps", "wifi2");
531 else if (sel_band == "1") { // 5G
532 document.forms[0].wlBasicRate[0] = new Option("Default", "default");
533 document.forms[0].wlBasicRate[1] = new Option("All", "all");
534 document.forms[0].wlBasicRate[2] = new Option("6 & 12 Mbps", "12");
535 document.forms[0].wlBasicRate[3] = new Option("6 & 12 & 24 Mbps", "wifi2");
538 document.forms[0].wlBasicRate[0] = new Option("Default", "0");
542 for (idx=0; idx < document.forms[0].wlBasicRate.options.length; idx++) {
543 if (document.forms[0].wlBasicRate.options[idx].value == sel_rate) {
544 document.forms[0].wlBasicRate.options[idx].selected = true;
549 /* set to first(Auto) if not found */
550 if( idx == document.forms[0].wlBasicRate.options.length)
551 document.forms[0].wlBasicRate.options[0].selected = true;
555 function onBandChange(OnPageLoad) {
557 with ( document.forms[0] ) {
563 wlBand.selectedIndex = getBandIndex(sel_band);
566 sel_band = document.forms[0].wlBand.value;
569 loadChannelList(OnPageLoad);
570 loadRateList(OnPageLoad);
571 loadMCastRateList(OnPageLoad);
572 loadBasicRateList(OnPageLoad);
576 function getBasicRateIndex(br) {
581 else if ( br == "all" ) {
583 } else if ( br == "wifi2" ) {
590 function getRateIndex(r) {
591 var rateNum = parseInt(r);
595 if ( phy == "b" ) { //11b
614 // physical type is 802.11g
659 // physical type is 802.11a
660 else if ( band == '1' ) { // 11a
694 function getFrameBurstIndex(frameburst) {
697 if ( frameburst == "off" )
704 function getAfterBurnerIndex(afterburner) {
707 if ( afterburner == "auto" )
714 function getGModeProtection(pro) {
724 function getTpcDbIndex(val) {
729 else if ( val == "2" )
731 else if ( val == "3" )
733 else if ( val == "4" )
739 function phyChange() {
740 with ( document.forms[0] )
742 SetDivisionVisibility("nMode", true);
743 setVisibility("div_nMode_sel", true);
744 SetDivisionVisibility("gMode", false);
746 SetDivisionVisibility("nMode", false);
747 setVisibility("div_nMode_sel", false);
748 SetDivisionVisibility("gMode", true);
752 function RegModeChange(OnPageLoad) {
753 with ( document.forms[0] ) {
761 sel_band = document.forms[0].wlBand.value;
764 if( wlRegMode.selectedIndex != 1 )
765 wlDfsPreIsm.disabled=wlDfsPostIsm.disabled=wlTpcDb.disabled=true;
767 wlDfsPreIsm.disabled=wlDfsPostIsm.disabled=wlTpcDb.disabled=false;
769 if (sel_band == "2") {
770 SetDivisionVisibility("regMode", false);
773 SetDivisionVisibility("regMode", true);
778 function getBandIndex(b) {
788 function wl_afterburner_options(OnPageLoad)
790 with (document.forms[0])
792 // MAXg and WMM cannot both be enabled at the same time. MAXg requires Fragmentation to be set to 2346.
793 // But no need to check these because the MAXg option is deleted if they're true.
794 if (cbAcceleration.value == "maxg")
795 wlFrgThrshld.value = 2346;
800 function wl_ewc_options(OnPageLoad)
813 sel_nbw = curr_bw_str; //nbw;
818 document.forms[0].wlNProtection.value = npro;
819 sel_nmcsidx = nmcsidx;
821 document.forms[0].wlNCtrlsb.selectedIndex = 0;
822 document.forms[0].wlNCtrlsb.disabled = 1;
824 document.forms[0].wlNCtrlsb.value = nctrlsb;
826 document.forms[0].wlNReqd.value = nreqd;
827 if(sel_nmode == "off") {
828 document.forms[0].wlNmode.selectedIndex = 1;
832 sel_ch = document.forms[0].wlChannel.value;
833 sel_nbw = document.forms[0].wlNbw.value;
834 sel_nmcsidx = document.forms[0].wlNMmcsidx.value;
835 sel_nmode = document.forms[0].wlNmode.value;
836 sel_nreqd = document.forms[0].wlNReqd.value;
839 if(sel_nmode == "off") {
840 document.forms[0].wlNMmcsidx.disabled = 1;
841 document.forms[0].wlNbw.disabled = 1;
842 document.forms[0].wlNProtection.disabled = 1;
843 document.forms[0].wlNReqd.disabled = 1;
844 SetDivisionVisibility("nMode", false);
846 document.forms[0].wlNMmcsidx.disabled = 0;
847 document.forms[0].wlNbw.disabled = 0;
848 document.forms[0].wlNProtection.disabled = 0;
849 document.forms[0].wlNReqd.disabled = 0;
850 SetDivisionVisibility("nMode", true);
853 if (document.forms[0].wlNMmcsidx != null)
854 document.forms[0].wlNMmcsidx.disabled = 0;
857 bw = new Array("10", "20", "40");
859 bw = new Array("20", "40");
862 /* If nmode is disabled, allow only 20Mhz selection and disable selection */
863 if (sel_nmode == "off") {
864 bw = new Array("20");
868 document.forms[0].wlNbw.length = 0;
870 document.forms[0].wlNbw[i] = new Option(bw[i] + " MHz", bw[i]);
871 /* Fix the selectedIndex to match new set of options */
872 if (bw[i] == sel_nbw) {
873 document.forms[0].wlNbw.selectedIndex = i;
877 /* load n phy rates */
879 document.forms[0].wlNCtrlsb.disabled = 1;
880 document.forms[0].wlNbw.disabled = 1;
881 <%ejGetWlStr(wlNPhyRates, "0");%>
882 } else if (sel_nbw == "40") {
883 /* Control sb is allowed only for 40MHz BW Channels */
884 document.forms[0].wlNCtrlsb.disabled = 0;
885 <%ejGetWlStr(wlNPhyRates, "40");%>
886 } else if (sel_nbw == "20") {
887 document.forms[0].wlNCtrlsb.selectedIndex = 0;
888 document.forms[0].wlNCtrlsb.disabled = 1;
889 <%ejGetWlStr(wlNPhyRates, "20");%>
893 for (idx=0; idx< document.forms[0].wlNMmcsidx.options.length; idx++) {
894 if (document.forms[0].wlNMmcsidx[idx].value == sel_nmcsidx) {
895 document.forms[0].wlNMmcsidx[idx].selected = true;
900 /* set to first (Auto) if not found */
901 if( idx == document.forms[0].wlNMmcsidx.options.length)
902 document.forms[0].wlNMmcsidx.options[0].selected = true;
905 document.forms[0].wlNmode.selectedIndex = getNmodeIndex(sel_nmode);
909 function wl_mcs_onchange(OnPageLoad)
918 sel_nmcsidx = nmcsidx;
921 sel_nmcsidx = document.forms[0].wlNMmcsidx.value;
922 sel_nmode = document.forms[0].wlNmode.value;
925 /* If using 'legacy rate' then enable */
926 if (sel_nmcsidx == "-2" || sel_nmode == "off")
927 document.forms[0].wlRate.disabled = 0;
929 document.forms[0].wlRate.disabled = 1;
933 function wl_recalc(OnPageLoad) {
934 with ( document.forms[0] ) {
935 phyChange(OnPageLoad);
936 genericChange(OnPageLoad);
937 updateCurChannel(OnPageLoad);
938 onBandChange(OnPageLoad);
939 gModeChange(OnPageLoad);
940 wl_ewc_options(OnPageLoad);
941 wl_afterburner_options(OnPageLoad);
942 RegModeChange(OnPageLoad);
943 wl_mcs_onchange(OnPageLoad)
947 function updateCurChannel(OnPageLoad) {
951 var curr_chanspec = parseInt(chanspec);
952 var curr_sb = (curr_chanspec & 0x300 ) >> 8;
953 var curr_bw = (curr_chanspec & 0xc00 ) >> 10;
954 var curr_sb_str = "N/A";
958 else if (curr_bw == 3)
960 else if (curr_bw == 1)
964 curr_sb_str = "Lower";
965 else if (curr_sb == 2)
966 curr_sb_str = "Upper";
967 else if (curr_sb == 3)
968 curr_sb_str = "None";
972 function onNmodeChange()
975 if WMM is on (and we're not already turning if off) and we're turning
976 on 802.11n mode, we have to turn off WMM.
978 if ((wme == "1") && bWMM && (document.forms[0].wlNmode.value == "auto"))
980 if (!confirm("802.11n mode does not support WMM. Click OK to enable 802.11n mode and disable WMM."))
982 document.forms[0].wlNmode.value = "off"; // Set 802.11n back to Disabled
986 bWMM = false; // turn off WMM
990 document.forms[0].wlRate.selectedIndex = 0;
993 function onAccelerationChange()
996 if WMM is on (and we're not already turning if off) and we're turning
997 on MAXg acceleration, we have to turn off WMM.
999 if ((wme == "1") && bWMM && (document.forms[0].cbAcceleration.value == "maxg"))
1001 if (!confirm("MAXg acceleration is incompatible with WMM. Click OK to enable MAXg acceleration and disable WMM."))
1003 // set Acceleration to 54g+ (it could've been None, but we can't know that, so we go to the next one below MAXg)
1004 document.forms[0].cbAcceleration.value = "xpress";
1008 bWMM = false; // turn off WMM
1015 function frmLoad() {
1019 function SetDivisionVisibility(divID, mode)
1021 if ( divID == "nMode" )
1023 setVisibility("idBandwidth", mode);
1024 setVisibility("idCtrlSideband", mode);
1025 setVisibility("idNRate", mode);
1026 setVisibility("idNProtection", mode);
1027 setVisibility("idNClient", mode);
1029 else if ( divID == "gMode" )
1031 setVisibility("id54gMode", mode);
1032 setVisibility("id54gProtection", mode);
1034 else if ( divID == "regMode" )
1036 setVisibility("idRegulatory", mode);
1037 setVisibility("idDfsPreIsm", mode);
1038 setVisibility("idDfsPostIsm", mode);
1039 setVisibility("idTpsMitigation", mode);
1044 If the user modifies a setting that requires WMM to be disabled,
1050 var loc = "wlcfgadv.wl?" + (bWMM ? "" : "wlWme=0&");
1051 var idx, frgNum, rtsNum, dtmNum, bcnNum, frmburstNum;
1055 alert('Cannot apply the change since wireless is currently disabled.');
1061 with ( document.forms[0] )
1063 var sel_nmode = wlNmode.options[wlNmode.selectedIndex].value;
1064 var sel_nmcsidx = wlNMmcsidx.value;
1066 frgNum = parseInt(wlFrgThrshld.value);
1067 if ( isNaN(frgNum) == true || frgNum < 256 || frgNum > 2346 ) {
1068 alert('Fragmentation threshold "' + wlFrgThrshld.value + '" should be between 256 and 2346.');
1072 rtsNum = parseInt(wlRtsThrshld.value);
1073 if ( isNaN(rtsNum) == true || rtsNum < 0 || rtsNum > 2347 ) {
1074 alert('RTS threshold "' + wlRtsThrshld.value + '" should be between 0 and 2347.');
1078 dtmNum = parseInt(wlDtmIntvl.value);
1079 if ( isNaN(dtmNum) == true || dtmNum < 1 || dtmNum > 255 ) {
1080 alert('DTIM interval "' + wlDtmIntvl.value + '" should be between 1 and 255.');
1084 bcnNum = parseInt(wlBcnIntvl.value);
1085 if ( isNaN(bcnNum) == true || bcnNum < 1 || bcnNum > 65535 ) {
1086 alert('Beacon interval "' + wlBcnIntvl.value + '" should be between 1 and 65535.');
1090 assocNum = parseInt(wlMaxAssoc.value);
1091 if ( isNaN(assocNum) == true || assocNum <= 0 || assocNum > 128 ) {
1092 alert('Max Clients "' + wlMaxAssoc.value + '" should be between 1 and 128.');
1096 loc += 'wlChannel=' + wlChannel.options[wlChannel.selectedIndex].value;
1097 loc += '&wlNmode=' + sel_nmode;
1098 loc += '&wlNReqd=' + wlNReqd.value;
1099 loc += '&wlBasicRate=' + wlBasicRate.options[wlBasicRate.selectedIndex].value;
1100 loc += '&wlFrgThrshld=' + wlFrgThrshld.value;
1101 loc += '&wlRtsThrshld=' + wlRtsThrshld.value;
1102 loc += '&wlDtmIntvl=' + wlDtmIntvl.value;
1103 loc += '&wlBcnIntvl=' + wlBcnIntvl.value;
1104 loc += '&wlCsScanTimer=' + wlCsScanTimer.value;
1105 loc += '&wlMaxAssoc=' + wlMaxAssoc.value;
1107 if (cbAcceleration.value == "maxg")
1109 loc += "&wlAfterBurnerEn=auto";
1110 loc += "&wlFrameBurst=on";
1112 else if (cbAcceleration.value == "xpress")
1114 loc += "&wlAfterBurnerEn=off";
1115 loc += "&wlFrameBurst=on";
1117 else // if (cbAcceleration.value == "none")
1119 loc += "&wlAfterBurnerEn=off";
1120 loc += "&wlFrameBurst=off";
1123 loc += '&wlAPIsolation=' + wlAPIsolation.value;
1124 loc += '&wlBand=' + wlBand.value;
1125 loc += '&wlMCastRate=' + wlMCastRate.options[wlMCastRate.selectedIndex].value;
1128 if ( phy != "n" || (phy == "n" && (sel_nmode == "off" || sel_nmcsidx == -2)))
1129 loc += '&wlRate=' + wlRate.options[wlRate.selectedIndex].value;
1132 if ( band == '2') { // 2.4G
1133 if ( phy == "g" || (phy == "n" && sel_nmode == "off")) { // 802.11g
1134 loc += '&wlgMode=' + wlgMode.options[wlgMode.selectedIndex].value;
1135 loc += '&wlProtection=' + wlProtection.options[wlProtection.selectedIndex].value;
1136 if (wlgMode.selectedIndex == 3) {
1137 loc += '&wlPreambleType=' + wlPreambleType.options[wlPreambleType.selectedIndex].value;
1139 } else if (phy == "b") { // 802.11b
1140 loc += '&wlPreambleType=' + wlPreambleType.options[wlPreambleType.selectedIndex].value;
1144 loc += '&wlTxPwrPcnt=' + wlTxPower.options[wlTxPower.selectedIndex].value;
1145 loc += '&wlRegMode=' + wlRegMode.options[wlRegMode.selectedIndex].value;
1148 loc += '&wlNBw=' + wlNbw.options[wlNbw.selectedIndex].value;
1150 if(wlNbw.options[wlNbw.selectedIndex].value == 20)
1151 loc += '&wlNCtrlsb=' + 0;
1153 loc += '&wlNCtrlsb=' + wlNCtrlsb.options[wlNCtrlsb.selectedIndex].value;
1155 loc += '&wlNProtection=' + wlNProtection.options[wlNProtection.selectedIndex].value;
1156 loc += '&wlNMcsidx=' + wlNMmcsidx.options[wlNMmcsidx.selectedIndex].value;
1159 if(wlRegMode.selectedIndex == 1) {
1160 DfsPreIsmNum = parseInt(wlDfsPreIsm.value);
1161 if ( isNaN(DfsPreIsmNum) == true || DfsPreIsmNum < 0 || DfsPreIsmNum > 99 ) {
1162 alert('Pre-Network Radar Check "' + wlDfsPreIsm.value + '" should be between 0 and 99.');
1166 DfsPostNum = parseInt(wlDfsPostIsm.value);
1167 if ( isNaN(DfsPostNum) == true || DfsPostNum < 10 || DfsPostNum > 99 ) {
1168 alert('In-Network Radar Check: "' + wlDfsPostIsm.value + '" should be between 10 and 99.');
1172 loc += '&wlDfsPreIsm=' + wlDfsPreIsm.value;
1173 loc += '&wlDfsPostIsm=' + wlDfsPostIsm.value;
1174 loc += '&wlTpcDb=' + wlTpcDb.options[wlTpcDb.selectedIndex].value;
1178 var code = 'location="' + loc + '"';
1185 <body onload="initMenu(); frmLoad();">
1187 <script type="text/javascript">
1188 writeHeader("Wireless");
1191 <h3>Advanced Settings</h3>
1193 <p>This page allows you to configure advanced features of the wireless LAN
1194 interface. You can select a particular channel on which to operate, force the
1195 transmission rate to a particular speed, set the fragmentation threshold, set
1196 the RTS threshold, set the wakeup interval for clients in power-save mode, set
1197 the beacon interval for the access point, set the acceleration mode and set whether
1198 short or long preambles are used.</p>
1200 <p>Press <b>Apply</b> when you’re finished making changes.</p>
1203 <table border="0" cellpadding="2" cellspacing="0">
1205 <td><label>AP isolation:</label></td>
1206 <td><select name='wlAPIsolation' id='wlAPIsolation'>
1207 <option value='0'>Disabled</option>
1208 <option value='1'>Enabled</option>
1212 <td><label>Band:</td>
1213 <td><select name='wlBand' id='wlBand' onChange='onBandChange();'>
1214 <script type="text/javascript">
1216 if ( bands == '3' ) { // dual band
1217 document.writeln(' <option value=2>2.4GHz</option>');
1218 document.writeln(' <option value=1>5GHz</option>');
1220 else if (bands == '1') {
1221 document.writeln(' <option value=1>5GHz</option>');
1224 document.writeln(' <option value=2>2.4GHz</option>');
1231 <td><label>Channel:</label></td>
1232 <td><select name='wlChannel' id='wlChannel' onChange="wl_recalc(false)">
1236 <td><label>Channel timer:</label></td>
1237 <td><input type='text' name='wlCsScanTimer' id='wlCsScanTimer' size="10"> <label>minutes</label></td>
1239 <tr id="div_nMode_sel">
1240 <td><label>802.11n mode:</label></td>
1241 <td><select name='wlNmode' id='wlNmode' onChange="onNmodeChange();">
1242 <option value="auto">Automatic</option>
1243 <option value="off">Disabled</option>
1246 <tr id="idWMMno11n">
1248 <td><span class="clsNote">(Note: WMM is incompatible with <b>802.11n</b> mode.)</span></td>
1250 <tr id="idBandwidth">
1251 <td><label>Bandwidth:</label></td>
1252 <td><select name="wlNbw" id="wlNbw" onChange="wl_recalc(false)">
1253 <option value="20">20MHz</option>
1254 <option value="40">40MHz</option>
1257 <tr id="idCtrlSideband">
1258 <td><label>Control sideband:</label></td>
1259 <td><select name="wlNCtrlsb" id="wlNCtrlsb" onChange="wl_recalc(false)">
1260 <option value="-1">Lower</option>
1261 <option value="1">Upper</option>
1265 <td><label>802.11n rate:</label></td>
1266 <td><select name="wlNMmcsidx" id="wlNMmcsidx" onChange="wl_mcs_onchange(false)";>
1269 <tr id="idNProtection">
1270 <td><label>802.11n protection:</label></td>
1271 <td><select name="wlNProtection" id="wlNProtection">
1272 <option value="off">Off</option>
1273 <option value="auto">Automatic</option>
1277 <td><label>Support 802.11n client only:</label></td>
1278 <td><select name="wlNReqd" id="wlNReqd">
1279 <option value="0">Off</option>
1280 <option value="1">On</option>
1284 <td><label>54g™ rate:</label></td>
1285 <td><select name='wlRate' id='wlRate'>
1289 <td><label>Multicast rate:</label></td>
1290 <td><select name='wlMCastRate' id='wlMCastRate'>
1294 <td><label>Basic rate:</label></td>
1295 <td><select name='wlBasicRate' id='wlBasicRate'>
1299 <td><label for="wlFrgThrshld">Fragmentation threshold:</label></td>
1300 <td><input type='text' name='wlFrgThrshld' id='wlFrgThrshld' size='10' onchange="wl_recalc(false);">
1301 <span class="clsNote">(Note: <b>MAXg</b> acceleration requires a value of 2346.)</span></td>
1304 <td><label for="wlRtsThrshld">RTS threshold:</label></td>
1305 <td><input type='text' name='wlRtsThrshld' id='wlRtsThrshld' size='10'></td>
1308 <td><label for="wlDtmIntvl">DTIM interval:</label></td>
1309 <td><input type='text' name='wlDtmIntvl' id='wlDtmIntvl' size='10'></td>
1312 <td><label for="wlBcnIntvl">Beacon interval:</label></td>
1313 <td><input type='text' name='wlBcnIntvl' id='wlBcnIntvl' size='10'></td>
1316 <td><label for="wlMaxAssoc">Maximum associated clients:</td>
1317 <td><input type='text' name='wlMaxAssoc' id="wlMaxAssoc" size='10'></td>
1321 <td><label>Acceleration:</label></td>
1322 <td><select id="cbAcceleration" onchange="onAccelerationChange();">
1323 <option value="maxg" selected>MAXg (125 Mbps)</option>
1324 <option value="xpress">54g+ (XPress™)</option>
1325 <option value="none">None</option>
1328 <tr id="idWMMnoMAXg">
1330 <td><span class="clsNote">(Note: WMM is incompatible with <b>MAXg</b> acceleration.)</span></td>
1334 <td><label>54g™ mode:</label></td>
1335 <td><select name="wlgMode" id="wlgMode" onChange="gModeChange()">
1336 <option value="1">Automatic</option>
1337 <option value="4">54g Performance</option>
1338 <option value="5">54g LRS</option>
1339 <option value="0">802.11b Only</option>
1342 <tr id="id54gProtection">
1343 <td><label>54g™ protection:</label></td>
1344 <td><select name="wlProtection" id="wlProtection">
1345 <option value="off">Disabled</option>
1346 <option value="auto">Automatic</option>
1349 <tr id="idRegulatory">
1350 <td><label>Regulatory mode:</label></td>
1351 <td><select name="wlRegMode" id="wlRegMode" onChange='RegModeChange()'>
1352 <option value="0">Disabled</option>
1353 <option value="1">802.11h</option>
1354 <option value="2">802.11d</option>
1357 <tr id="idDfsPreIsm">
1358 <td><label for="wlDfsPreIsm">Pre-network radar check:</label></td>
1359 <td><input type='text' name='wlDfsPreIsm' id='wlDfsPreIsm'></td>
1361 <tr id="idDfsPostIsm">
1362 <td><label for="wlDfsPostIsm">In-network radar check:</label></td>
1363 <td><input type='text' name='wlDfsPostIsm' id='wlDfsPostIsm'></td>
1365 <tr id="idTpsMitigation">
1366 <td><label>TPC mitigation:</label></td>
1367 <td><select name="wlTpcDb" id="wlTpcDb">
1368 <option value="0">0 dB (off)</option>
1369 <option value="2">2 dB</option>
1370 <option value="3">3 dB</option>
1371 <option value="4">4 dB</option>
1374 <tr id="preambleType">
1375 <td><label>Preamble type:</label></td>
1376 <td><select name="wlPreambleType" id="wlPreambleType">
1377 <option value="long">long</option>
1378 <option value="short">short</option>
1382 <td><label>Transmit power:</label></td>
1383 <td><select name="wlTxPower" id="wlTxPower">
1384 <option value="20">20%</option>
1385 <option value="40">40%</option>
1386 <option value="60">60%</option>
1387 <option value="80">80%</option>
1388 <option value="100">100%</option>
1393 <p><input type='button' onClick='btnApply()' value='Apply'></p>
1397 <script type="text/javascript">