mirror of
https://github.com/YikeStone/MT7601u.git
synced 2025-08-02 19:04:09 +05:30
2058 lines
64 KiB
C
2058 lines
64 KiB
C
/*
|
|
|
|
*/
|
|
#include "rt_config.h"
|
|
|
|
|
|
CH_FREQ_MAP CH_HZ_ID_MAP[]=
|
|
{
|
|
{1, 2412},
|
|
{2, 2417},
|
|
{3, 2422},
|
|
{4, 2427},
|
|
{5, 2432},
|
|
{6, 2437},
|
|
{7, 2442},
|
|
{8, 2447},
|
|
{9, 2452},
|
|
{10, 2457},
|
|
{11, 2462},
|
|
{12, 2467},
|
|
{13, 2472},
|
|
{14, 2484},
|
|
|
|
/* UNII */
|
|
{36, 5180},
|
|
{40, 5200},
|
|
{44, 5220},
|
|
{48, 5240},
|
|
{52, 5260},
|
|
{56, 5280},
|
|
{60, 5300},
|
|
{64, 5320},
|
|
{149, 5745},
|
|
{153, 5765},
|
|
{157, 5785},
|
|
{161, 5805},
|
|
{165, 5825},
|
|
{167, 5835},
|
|
{169, 5845},
|
|
{171, 5855},
|
|
{173, 5865},
|
|
|
|
/* HiperLAN2 */
|
|
{100, 5500},
|
|
{104, 5520},
|
|
{108, 5540},
|
|
{112, 5560},
|
|
{116, 5580},
|
|
{120, 5600},
|
|
{124, 5620},
|
|
{128, 5640},
|
|
{132, 5660},
|
|
{136, 5680},
|
|
{140, 5700},
|
|
|
|
/* Japan MMAC */
|
|
{34, 5170},
|
|
{38, 5190},
|
|
{42, 5210},
|
|
{46, 5230},
|
|
|
|
/* Japan */
|
|
{184, 4920},
|
|
{188, 4940},
|
|
{192, 4960},
|
|
{196, 4980},
|
|
|
|
{208, 5040}, /* Japan, means J08 */
|
|
{212, 5060}, /* Japan, means J12 */
|
|
{216, 5080}, /* Japan, means J16 */
|
|
};
|
|
|
|
INT CH_HZ_ID_MAP_NUM = (sizeof(CH_HZ_ID_MAP)/sizeof(CH_FREQ_MAP));
|
|
|
|
CH_DESC Country_Region0_ChDesc_2GHZ[] =
|
|
{
|
|
{1, 11, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region1_ChDesc_2GHZ[] =
|
|
{
|
|
{1, 13, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region2_ChDesc_2GHZ[] =
|
|
{
|
|
{10, 2, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region3_ChDesc_2GHZ[] =
|
|
{
|
|
{10, 4, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region4_ChDesc_2GHZ[] =
|
|
{
|
|
{14, 1, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region5_ChDesc_2GHZ[] =
|
|
{
|
|
{1, 14, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region6_ChDesc_2GHZ[] =
|
|
{
|
|
{3, 7, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region7_ChDesc_2GHZ[] =
|
|
{
|
|
{5, 9, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region31_ChDesc_2GHZ[] =
|
|
{
|
|
{1, 11, CHANNEL_DEFAULT_PROP},
|
|
{12, 3, CHANNEL_PASSIVE_SCAN},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region32_ChDesc_2GHZ[] =
|
|
{
|
|
{1, 11, CHANNEL_DEFAULT_PROP},
|
|
{12, 2, CHANNEL_PASSIVE_SCAN},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region33_ChDesc_2GHZ[] =
|
|
{
|
|
{1, 14, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
COUNTRY_REGION_CH_DESC Country_Region_ChDesc_2GHZ[] =
|
|
{
|
|
{REGION_0_BG_BAND, Country_Region0_ChDesc_2GHZ},
|
|
{REGION_1_BG_BAND, Country_Region1_ChDesc_2GHZ},
|
|
{REGION_2_BG_BAND, Country_Region2_ChDesc_2GHZ},
|
|
{REGION_3_BG_BAND, Country_Region3_ChDesc_2GHZ},
|
|
{REGION_4_BG_BAND, Country_Region4_ChDesc_2GHZ},
|
|
{REGION_5_BG_BAND, Country_Region5_ChDesc_2GHZ},
|
|
{REGION_6_BG_BAND, Country_Region6_ChDesc_2GHZ},
|
|
{REGION_7_BG_BAND, Country_Region7_ChDesc_2GHZ},
|
|
{REGION_31_BG_BAND, Country_Region31_ChDesc_2GHZ},
|
|
{REGION_32_BG_BAND, Country_Region32_ChDesc_2GHZ},
|
|
{REGION_33_BG_BAND, Country_Region33_ChDesc_2GHZ},
|
|
{}
|
|
};
|
|
|
|
UINT16 const Country_Region_GroupNum_2GHZ = sizeof(Country_Region_ChDesc_2GHZ) / sizeof(COUNTRY_REGION_CH_DESC);
|
|
|
|
CH_DESC Country_Region0_ChDesc_5GHZ[] =
|
|
{
|
|
{36, 8, CHANNEL_DEFAULT_PROP},
|
|
{149, 5, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region1_ChDesc_5GHZ[] =
|
|
{
|
|
{36, 8, CHANNEL_DEFAULT_PROP},
|
|
{100, 11, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region2_ChDesc_5GHZ[] =
|
|
{
|
|
{36, 8, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region3_ChDesc_5GHZ[] =
|
|
{
|
|
{52, 4, CHANNEL_DEFAULT_PROP},
|
|
{149, 4, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region4_ChDesc_5GHZ[] =
|
|
{
|
|
{149, 5, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
CH_DESC Country_Region5_ChDesc_5GHZ[] =
|
|
{
|
|
{149, 4, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region6_ChDesc_5GHZ[] =
|
|
{
|
|
{36, 4, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region7_ChDesc_5GHZ[] =
|
|
{
|
|
{36, 8, CHANNEL_DEFAULT_PROP},
|
|
{100, 11, CHANNEL_DEFAULT_PROP},
|
|
{149, 7, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region8_ChDesc_5GHZ[] =
|
|
{
|
|
{52, 4, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region9_ChDesc_5GHZ[] =
|
|
{
|
|
{36, 8 , CHANNEL_DEFAULT_PROP},
|
|
{100, 5, CHANNEL_DEFAULT_PROP},
|
|
{132, 3, CHANNEL_DEFAULT_PROP},
|
|
{149, 5, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region10_ChDesc_5GHZ[] =
|
|
{
|
|
{36,4, CHANNEL_DEFAULT_PROP},
|
|
{149, 5, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region11_ChDesc_5GHZ[] =
|
|
{
|
|
{36, 8, CHANNEL_DEFAULT_PROP},
|
|
{100, 6, CHANNEL_DEFAULT_PROP},
|
|
{149, 4, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region12_ChDesc_5GHZ[] =
|
|
{
|
|
{36, 8, CHANNEL_DEFAULT_PROP},
|
|
{100, 11, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region13_ChDesc_5GHZ[] =
|
|
{
|
|
{52, 4, CHANNEL_DEFAULT_PROP},
|
|
{100, 11, CHANNEL_DEFAULT_PROP},
|
|
{149, 4, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region14_ChDesc_5GHZ[] =
|
|
{
|
|
{36, 8, CHANNEL_DEFAULT_PROP},
|
|
{100, 5, CHANNEL_DEFAULT_PROP},
|
|
{136, 2, CHANNEL_DEFAULT_PROP},
|
|
{149, 5, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region15_ChDesc_5GHZ[] =
|
|
{
|
|
{149, 7, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region16_ChDesc_5GHZ[] =
|
|
{
|
|
{52, 4, CHANNEL_DEFAULT_PROP},
|
|
{149, 5, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region17_ChDesc_5GHZ[] =
|
|
{
|
|
{36, 4, CHANNEL_DEFAULT_PROP},
|
|
{149, 4, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region18_ChDesc_5GHZ[] =
|
|
{
|
|
{36, 8, CHANNEL_DEFAULT_PROP},
|
|
{100, 5, CHANNEL_DEFAULT_PROP},
|
|
{132, 3, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region19_ChDesc_5GHZ[] =
|
|
{
|
|
{56, 3, CHANNEL_DEFAULT_PROP},
|
|
{100, 11, CHANNEL_DEFAULT_PROP},
|
|
{149, 4, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region20_ChDesc_5GHZ[] =
|
|
{
|
|
{36, 8, CHANNEL_DEFAULT_PROP},
|
|
{100, 7, CHANNEL_DEFAULT_PROP},
|
|
{149, 4, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
CH_DESC Country_Region21_ChDesc_5GHZ[] =
|
|
{
|
|
{36, 8, CHANNEL_DEFAULT_PROP},
|
|
{100, 11, CHANNEL_DEFAULT_PROP},
|
|
{149, 4, CHANNEL_DEFAULT_PROP},
|
|
{}
|
|
};
|
|
|
|
|
|
COUNTRY_REGION_CH_DESC Country_Region_ChDesc_5GHZ[] =
|
|
{
|
|
{REGION_0_A_BAND, Country_Region0_ChDesc_5GHZ},
|
|
{REGION_1_A_BAND, Country_Region1_ChDesc_5GHZ},
|
|
{REGION_2_A_BAND, Country_Region2_ChDesc_5GHZ},
|
|
{REGION_3_A_BAND, Country_Region3_ChDesc_5GHZ},
|
|
{REGION_4_A_BAND, Country_Region4_ChDesc_5GHZ},
|
|
{REGION_5_A_BAND, Country_Region5_ChDesc_5GHZ},
|
|
{REGION_6_A_BAND, Country_Region6_ChDesc_5GHZ},
|
|
{REGION_7_A_BAND, Country_Region7_ChDesc_5GHZ},
|
|
{REGION_8_A_BAND, Country_Region8_ChDesc_5GHZ},
|
|
{REGION_9_A_BAND, Country_Region9_ChDesc_5GHZ},
|
|
{REGION_10_A_BAND, Country_Region10_ChDesc_5GHZ},
|
|
{REGION_11_A_BAND, Country_Region11_ChDesc_5GHZ},
|
|
{REGION_12_A_BAND, Country_Region12_ChDesc_5GHZ},
|
|
{REGION_13_A_BAND, Country_Region13_ChDesc_5GHZ},
|
|
{REGION_14_A_BAND, Country_Region14_ChDesc_5GHZ},
|
|
{REGION_15_A_BAND, Country_Region15_ChDesc_5GHZ},
|
|
{REGION_16_A_BAND, Country_Region16_ChDesc_5GHZ},
|
|
{REGION_17_A_BAND, Country_Region17_ChDesc_5GHZ},
|
|
{REGION_18_A_BAND, Country_Region18_ChDesc_5GHZ},
|
|
{REGION_19_A_BAND, Country_Region19_ChDesc_5GHZ},
|
|
{REGION_20_A_BAND, Country_Region20_ChDesc_5GHZ},
|
|
{REGION_21_A_BAND, Country_Region21_ChDesc_5GHZ},
|
|
{}
|
|
};
|
|
|
|
UINT16 const Country_Region_GroupNum_5GHZ = sizeof(Country_Region_ChDesc_5GHZ) / sizeof(COUNTRY_REGION_CH_DESC);
|
|
|
|
UINT16 TotalChNum(PCH_DESC pChDesc)
|
|
{
|
|
UINT16 TotalChNum = 0;
|
|
|
|
while(pChDesc->FirstChannel)
|
|
{
|
|
TotalChNum += pChDesc->NumOfCh;
|
|
pChDesc++;
|
|
}
|
|
|
|
return TotalChNum;
|
|
}
|
|
|
|
UCHAR GetChannel_5GHZ(PCH_DESC pChDesc, UCHAR index)
|
|
{
|
|
while (pChDesc->FirstChannel)
|
|
{
|
|
if (index < pChDesc->NumOfCh)
|
|
return pChDesc->FirstChannel + index * 4;
|
|
else
|
|
{
|
|
index -= pChDesc->NumOfCh;
|
|
pChDesc++;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
UCHAR GetChannel_2GHZ(PCH_DESC pChDesc, UCHAR index)
|
|
{
|
|
|
|
while (pChDesc->FirstChannel)
|
|
{
|
|
if (index < pChDesc->NumOfCh)
|
|
return pChDesc->FirstChannel + index;
|
|
else
|
|
{
|
|
index -= pChDesc->NumOfCh;
|
|
pChDesc++;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
UCHAR GetChannelFlag(PCH_DESC pChDesc, UCHAR index)
|
|
{
|
|
|
|
while (pChDesc->FirstChannel)
|
|
{
|
|
if (index < pChDesc->NumOfCh)
|
|
return pChDesc->ChannelProp;
|
|
else
|
|
{
|
|
index -= pChDesc->NumOfCh;
|
|
pChDesc++;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
#ifdef EXT_BUILD_CHANNEL_LIST
|
|
|
|
/*Albania*/
|
|
CH_DESP Country_AL_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Algeria*/
|
|
CH_DESP Country_DZ_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Argentina*/
|
|
CH_DESP Country_AR_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 20, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Armenia*/
|
|
CH_DESP Country_AM_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 18, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 20 */
|
|
{ 52, 4, 18, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Aruba*/
|
|
CH_DESP Country_AW_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Australia*/
|
|
CH_DESP Country_AU_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 23, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Austria*/
|
|
CH_DESP Country_AT_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, IDOR, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, IDOR, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Azerbaijan*/
|
|
CH_DESP Country_AZ_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 18, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 18, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Bahrain*/
|
|
CH_DESP Country_BH_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 20 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 20 */
|
|
{ 149, 5, 20, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Bangladesh*/
|
|
CH_DESP Country_BD_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Barbados*/
|
|
CH_DESP Country_BB_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 23, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Belarus*/
|
|
CH_DESP Country_BY_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Belgium*/
|
|
CH_DESP Country_BE_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, IDOR, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, IDOR, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Belize*/
|
|
CH_DESP Country_BZ_ChDesp[] =
|
|
{
|
|
{ 1, 13, 30, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Bolivia*/
|
|
CH_DESP Country_BO_ChDesp[] =
|
|
{
|
|
{ 1, 13, 30, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Bosnia and Herzegovina*/
|
|
CH_DESP Country_BA_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Brazil*/
|
|
CH_DESP Country_BR_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 20, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Brunei Darussalam*/
|
|
CH_DESP Country_BN_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Bulgaria*/
|
|
CH_DESP Country_BG_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 23, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 2, 23, BOTH, TRUE}, /*5250~5290MHz, Ch 52~56, Max BW: 40 */
|
|
{ 100, 11, 30, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Cambodia*/
|
|
CH_DESP Country_KH_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Canada*/
|
|
CH_DESP Country_CA_ChDesp[] =
|
|
{
|
|
{ 1, 11, 27, BOTH, FALSE}, /*2402~2472MHz, Ch 1~11, Max BW: 40 */
|
|
{ 36, 4, 17, IDOR, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 20, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Chile*/
|
|
CH_DESP Country_CL_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 20, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*China*/
|
|
CH_DESP Country_CN_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Colombia*/
|
|
CH_DESP Country_CO_ChDesp[] =
|
|
{
|
|
{ 1, 11, 27, BOTH, FALSE}, /*2402~2472MHz, Ch 1~11, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Costa Rica*/
|
|
CH_DESP Country_CR_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 20 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 20 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Croatia*/
|
|
CH_DESP Country_HR_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Cyprus*/
|
|
CH_DESP Country_CY_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, IDOR, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, IDOR, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Czech Republic*/
|
|
CH_DESP Country_CZ_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2400~2483.5MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 23, IDOR, FALSE}, /*5150~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, IDOR, TRUE}, /*5250~5350MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5470~5725MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Denmark*/
|
|
CH_DESP Country_DK_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, IDOR, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Dominican Republic*/
|
|
CH_DESP Country_DO_ChDesp[] =
|
|
{
|
|
{ 1, 11, 27, BOTH, FALSE}, /*2402~2472MHz, Ch 1~11, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Ecuador*/
|
|
CH_DESP Country_EC_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 20 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 20 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Egypt*/
|
|
CH_DESP Country_EG_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 20 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*El Salvador*/
|
|
CH_DESP Country_SV_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 20 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 20 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Estonia*/
|
|
CH_DESP Country_EE_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, IDOR, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, IDOR, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Finland*/
|
|
CH_DESP Country_FI_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*France*/
|
|
CH_DESP Country_FR_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Georgia*/
|
|
CH_DESP Country_GE_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 18, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 18, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Germany*/
|
|
CH_DESP Country_DE_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2400~2483.5MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, IDOR, FALSE}, /*5150~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, IDOR, TRUE}, /*5250~5350MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5470~5725MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Greece*/
|
|
CH_DESP Country_GR_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Greenland*/
|
|
CH_DESP Country_GL_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 20 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 20 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Grenada*/
|
|
CH_DESP Country_GD_ChDesp[] =
|
|
{
|
|
{ 1, 11, 27, BOTH, FALSE}, /*2402~2472MHz, Ch 1~11, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 20, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Guam*/
|
|
CH_DESP Country_GU_ChDesp[] =
|
|
{
|
|
{ 1, 11, 27, BOTH, FALSE}, /*2402~2472MHz, Ch 1~11, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 20 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 20 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Guatemala*/
|
|
CH_DESP Country_GT_ChDesp[] =
|
|
{
|
|
{ 1, 11, 27, BOTH, FALSE}, /*2402~2472MHz, Ch 1~11, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Haiti*/
|
|
CH_DESP Country_HT_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Honduras*/
|
|
CH_DESP Country_HN_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 20, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Hong Kong*/
|
|
CH_DESP Country_HK_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 20, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Hungary*/
|
|
CH_DESP Country_HU_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Iceland*/
|
|
CH_DESP Country_IS_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*India*/
|
|
CH_DESP Country_IN_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 20, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Indonesia*/
|
|
CH_DESP Country_ID_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Iran, Islamic Republic of*/
|
|
CH_DESP Country_IR_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Ireland*/
|
|
CH_DESP Country_IE_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Israel*/
|
|
CH_DESP Country_IL_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 23, IDOR, FALSE}, /*5150~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 23, IDOR, TRUE}, /*5250~5350MHz, Ch 52~64, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Italy*/
|
|
CH_DESP Country_IT_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Jamaica*/
|
|
CH_DESP Country_JM_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 20, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Japan*/
|
|
CH_DESP Country_JP_ChDesp[] =
|
|
{
|
|
{ 1, 14, 20, BOTH, FALSE}, /*2402~2472MHz, Ch 1~11, Max BW: 20 */
|
|
/*2457~2482MHz, Ch10~13, Max BW: 20 */
|
|
/*2474~2494MHz, Ch14, Max BW: 20, No OFDM */
|
|
{ 36, 4, 20, IDOR, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, IDOR, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 23, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Jordan*/
|
|
CH_DESP Country_JO_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 18, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Kazakhstan*/
|
|
CH_DESP Country_KZ_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Kenya*/
|
|
CH_DESP Country_KE_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Korea, Democratic People's Republic of*/
|
|
CH_DESP Country_KP_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, TRUE}, /*5160~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 36, 8, 20, BOTH, FALSE}, /*5170~5330MHz, Ch 36~64, Max BW: 40 */
|
|
{ 100, 7, 30, BOTH, TRUE}, /*5490~5630MHz, Ch 100~124, Max BW: 40 */
|
|
{ 149, 4, 30, BOTH, FALSE}, /*5735~5815MHz, Ch 149~161, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Korea, Republic of*/
|
|
CH_DESP Country_KR_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 20 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 20 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 20 */
|
|
{ 100, 7, 30, BOTH, TRUE}, /*5490~5630MHz, Ch 100~124, Max BW: 40 */
|
|
{ 149, 4, 30, BOTH, FALSE}, /*5735~5815MHz, Ch 149~161, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Kuwait*/
|
|
CH_DESP Country_KW_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Latvia*/
|
|
CH_DESP Country_LV_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, IDOR, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, IDOR, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Lebanon*/
|
|
CH_DESP Country_LB_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Liechtenstein*/
|
|
CH_DESP Country_LI_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Lithuania*/
|
|
CH_DESP Country_LT_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Luxembourg*/
|
|
CH_DESP Country_LU_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Macao*/
|
|
CH_DESP Country_MO_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 23, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Macedonia, Republic of*/
|
|
CH_DESP Country_MK_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Malaysia*/
|
|
CH_DESP Country_MY_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 52, 4, 30, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Malta*/
|
|
CH_DESP Country_MT_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, IDOR, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, IDOR, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Mexico*/
|
|
CH_DESP Country_MX_ChDesp[] =
|
|
{
|
|
{ 1, 11, 27, BOTH, FALSE}, /*2402~2472MHz, Ch 1~11, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Monaco*/
|
|
CH_DESP Country_MC_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 18, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 18, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Morocco*/
|
|
CH_DESP Country_MA_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Nepal*/
|
|
CH_DESP Country_NP_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Netherlands*/
|
|
CH_DESP Country_NL_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, IDOR, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, IDOR, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Netherlands Antilles*/
|
|
CH_DESP Country_AN_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*New Zealand*/
|
|
CH_DESP Country_NZ_ChDesp[] =
|
|
{
|
|
{ 1, 13, 30, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 23, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 20 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 20 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Norway*/
|
|
CH_DESP Country_NO_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Oman*/
|
|
CH_DESP Country_OM_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 20, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Pakistan*/
|
|
CH_DESP Country_PK_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Panama*/
|
|
CH_DESP Country_PA_ChDesp[] =
|
|
{
|
|
{ 1, 11, 27, BOTH, FALSE}, /*2402~2472MHz, Ch 1~11, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Papua New Guinea*/
|
|
CH_DESP Country_PG_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Peru*/
|
|
CH_DESP Country_PE_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Philippines*/
|
|
CH_DESP Country_PH_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Poland*/
|
|
CH_DESP Country_PL_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Portuga*/
|
|
CH_DESP Country_PT_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Puerto Rico*/
|
|
CH_DESP Country_PR_ChDesp[] =
|
|
{
|
|
{ 1, 11, 27, BOTH, FALSE}, /*2402~2472MHz, Ch 1~11, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Qatar*/
|
|
CH_DESP Country_QA_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Romania*/
|
|
CH_DESP Country_RO_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Russian Federation*/
|
|
CH_DESP Country_RU_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Saint Barth'elemy*/
|
|
CH_DESP Country_BL_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 18, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 18, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Saudi Arabia*/
|
|
CH_DESP Country_SA_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 23, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 20 */
|
|
{ 52, 4, 23, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 20 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Singapore*/
|
|
CH_DESP Country_SG_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 149, 5, 20, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Slovakia*/
|
|
CH_DESP Country_SK_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, IDOR, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, IDOR, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Slovenia*/
|
|
CH_DESP Country_SI_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*South Africa*/
|
|
CH_DESP Country_ZA_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 20, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Spain*/
|
|
CH_DESP Country_ES_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Sri Lanka*/
|
|
CH_DESP Country_LK_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 20 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 20 */
|
|
{ 100, 11, 20, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 20 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Sweden*/
|
|
CH_DESP Country_SE_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Switzerland*/
|
|
CH_DESP Country_CH_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, IDOR, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, IDOR, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Syrian Arab Republic*/
|
|
CH_DESP Country_SY_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Taiwan*/
|
|
CH_DESP Country_TW_ChDesp[] =
|
|
{
|
|
{ 1, 11, 27, BOTH, FALSE}, /*2402~2472MHz, Ch 1~11, Max BW: 40 */
|
|
{ 56, 3, 17, IDOR, TRUE}, /*5270~5330MHz, Ch 56~64, Max BW: 40 */
|
|
{ 149, 4, 30, BOTH, FALSE}, /*5735~5815MHz, Ch 149~161, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Thailand*/
|
|
CH_DESP Country_TH_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 20, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Trinidad and Tobago*/
|
|
CH_DESP Country_TT_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 20, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Tunisia*/
|
|
CH_DESP Country_TN_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 20 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Turkey*/
|
|
CH_DESP Country_TR_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 20 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 20 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Ukraine*/
|
|
CH_DESP Country_UA_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*United Arab Emirates*/
|
|
CH_DESP Country_AE_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*United Kingdom*/
|
|
CH_DESP Country_GB_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, IDOR, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, IDOR, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 27, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*United States*/
|
|
CH_DESP Country_US_ChDesp[] =
|
|
{
|
|
{ 1, 11, 27, BOTH, FALSE}, /*2402~2472MHz, Ch 1~11, Max BW: 40 */
|
|
{ 36, 4, 17, IDOR, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 5, 20, BOTH, TRUE}, /*5490~5600MHz, Ch 100~116, Max BW: 40 */
|
|
{ 132, 3, 20, BOTH, TRUE}, /*5650~5710MHz, Ch 132~140, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Uruguay*/
|
|
CH_DESP Country_UY_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 20, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Uzbekistan*/
|
|
CH_DESP Country_UZ_ChDesp[] =
|
|
{
|
|
{ 1, 11, 27, BOTH, FALSE}, /*2402~2472MHz, Ch 1~11, Max BW: 40 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 100, 11, 20, BOTH, TRUE}, /*5490~5710MHz, Ch 100~140, Max BW: 40 */
|
|
{ 149, 5, 30, BOTH, FALSE}, /*5735~5835MHz, Ch 149~165, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Venezuela*/
|
|
CH_DESP Country_VE_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 149, 4, 23, BOTH, FALSE}, /*5735~5815MHz, Ch 149~161, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Viet Nam*/
|
|
CH_DESP Country_VN_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 36, 4, 20, BOTH, FALSE}, /*5170~5250MHz, Ch 36~48, Max BW: 40 */
|
|
{ 52, 4, 20, BOTH, TRUE}, /*5250~5330MHz, Ch 52~64, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Yemen*/
|
|
CH_DESP Country_YE_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
/*Zimbabwe*/
|
|
CH_DESP Country_ZW_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /*2402~2482MHz, Ch 1~13, Max BW: 40 */
|
|
{ 0}, /* end*/
|
|
};
|
|
|
|
/* Group Region */
|
|
/*Europe*/
|
|
CH_DESP Country_EU_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /* 2.4 G, ch 1~13 */
|
|
{ 36, 4, 17, BOTH, FALSE}, /* 5G band 1, ch 36~48*/
|
|
{ 0}, /* end*/
|
|
};
|
|
/*North America*/
|
|
CH_DESP Country_NA_ChDesp[] =
|
|
{
|
|
{ 1, 11, 27, BOTH, FALSE}, /* 2.4 G, ch 1~11*/
|
|
{ 36, 4, 17, IDOR, FALSE}, /* 5G band 1, ch 36~48*/
|
|
{ 149, 5, 30, BOTH, FALSE}, /* 5G band 4, ch 149~165*/
|
|
{ 0}, /* end*/
|
|
};
|
|
/*World Wide*/
|
|
CH_DESP Country_WO_ChDesp[] =
|
|
{
|
|
{ 1, 13, 20, BOTH, FALSE}, /* 2.4 G, ch 1~13*/
|
|
{ 36, 4, 17, BOTH, FALSE}, /* 5G band 1, ch 36~48*/
|
|
{ 149, 5, 22, BOTH, FALSE}, /* 5G band 4, ch 149~165*/
|
|
{ 0}, /* end*/
|
|
};
|
|
|
|
CH_REGION ChRegion[] =
|
|
{
|
|
{"AL", CE, Country_AL_ChDesp}, /* Albania */
|
|
{"DZ", CE, Country_DZ_ChDesp}, /* Algeria */
|
|
{"AR", CE, Country_AR_ChDesp}, /* Argentina */
|
|
{"AM", CE, Country_AM_ChDesp}, /* Armenia */
|
|
{"AW", CE, Country_AW_ChDesp}, /* Aruba */
|
|
{"AU", CE, Country_AU_ChDesp}, /* Australia */
|
|
{"AT", CE, Country_AT_ChDesp}, /* Austria */
|
|
{"AZ", CE, Country_AZ_ChDesp}, /* Azerbaijan */
|
|
{"BH", CE, Country_BH_ChDesp}, /* Bahrain */
|
|
{"BD", CE, Country_BD_ChDesp}, /* Bangladesh */
|
|
{"BB", CE, Country_BB_ChDesp}, /* Barbados */
|
|
{"BY", CE, Country_BY_ChDesp}, /* Belarus */
|
|
{"BE", CE, Country_BE_ChDesp}, /* Belgium */
|
|
{"BZ", CE, Country_BZ_ChDesp}, /* Belize */
|
|
{"BO", CE, Country_BO_ChDesp}, /* Bolivia */
|
|
{"BA", CE, Country_BA_ChDesp}, /* Bosnia and Herzegovina */
|
|
{"BR", CE, Country_BR_ChDesp}, /* Brazil */
|
|
{"BN", CE, Country_BN_ChDesp}, /* Brunei Darussalam */
|
|
{"BG", CE, Country_BG_ChDesp}, /* Bulgaria */
|
|
{"KH", CE, Country_KH_ChDesp}, /* Cambodia */
|
|
{"CA", FCC,Country_CA_ChDesp}, /* Canada */
|
|
{"CL", CE, Country_CL_ChDesp}, /* Chile */
|
|
{"CN", CE, Country_CN_ChDesp}, /* China */
|
|
{"CO", CE, Country_CO_ChDesp}, /* Colombia */
|
|
{"CR", CE, Country_CR_ChDesp}, /* Costa Rica */
|
|
{"HR", CE, Country_HR_ChDesp}, /* Croatia */
|
|
{"CY", CE, Country_CY_ChDesp}, /* Cyprus */
|
|
{"CZ", CE, Country_CZ_ChDesp}, /* Czech Republic */
|
|
{"DK", CE, Country_DK_ChDesp}, /* Denmark */
|
|
{"DO", CE, Country_DO_ChDesp}, /* Dominican Republic */
|
|
{"EC", CE, Country_EC_ChDesp}, /* Ecuador */
|
|
{"EG", CE, Country_EG_ChDesp}, /* Egypt */
|
|
{"SV", CE, Country_SV_ChDesp}, /* El Salvador */
|
|
{"EE", CE, Country_EE_ChDesp}, /* Estonia */
|
|
{"FI", CE, Country_FI_ChDesp}, /* Finland */
|
|
{"FR", CE, Country_FR_ChDesp}, /* France */
|
|
{"GE", CE, Country_GE_ChDesp}, /* Georgia */
|
|
{"DE", CE, Country_DE_ChDesp}, /* Germany */
|
|
{"GR", CE, Country_GR_ChDesp}, /* Greece */
|
|
{"GL", CE, Country_GL_ChDesp}, /* Greenland */
|
|
{"GD", CE, Country_GD_ChDesp}, /* Grenada */
|
|
{"GU", CE, Country_GU_ChDesp}, /* Guam */
|
|
{"GT", CE, Country_GT_ChDesp}, /* Guatemala */
|
|
{"HT", CE, Country_HT_ChDesp}, /* Haiti */
|
|
{"HN", CE, Country_HN_ChDesp}, /* Honduras */
|
|
{"HK", CE, Country_HK_ChDesp}, /* Hong Kong */
|
|
{"HU", CE, Country_HU_ChDesp}, /* Hungary */
|
|
{"IS", CE, Country_IS_ChDesp}, /* Iceland */
|
|
{"IN", CE, Country_IN_ChDesp}, /* India */
|
|
{"ID", CE, Country_ID_ChDesp}, /* Indonesia */
|
|
{"IR", CE, Country_IR_ChDesp}, /* Iran, Islamic Republic of */
|
|
{"IE", CE, Country_IE_ChDesp}, /* Ireland */
|
|
{"IL", CE, Country_IL_ChDesp}, /* Israel */
|
|
{"IT", CE, Country_IT_ChDesp}, /* Italy */
|
|
{"JM", CE, Country_JM_ChDesp}, /* Jamaica */
|
|
{"JP", JAP,Country_JP_ChDesp}, /* Japan */
|
|
{"JO", CE, Country_JO_ChDesp}, /* Jordan */
|
|
{"KZ", CE, Country_KZ_ChDesp}, /* Kazakhstan */
|
|
{"KE", CE, Country_KE_ChDesp}, /* Kenya */
|
|
{"KP", CE, Country_KP_ChDesp}, /* Korea, Democratic People's Republic of */
|
|
{"KR", CE, Country_KR_ChDesp}, /* Korea, Republic of */
|
|
{"KW", CE, Country_KW_ChDesp}, /* Kuwait */
|
|
{"LV", CE, Country_LV_ChDesp}, /* Latvia */
|
|
{"LB", CE, Country_LB_ChDesp}, /* Lebanon */
|
|
{"LI", CE, Country_LI_ChDesp}, /* Liechtenstein */
|
|
{"LT", CE, Country_LT_ChDesp}, /* Lithuania */
|
|
{"LU", CE, Country_LU_ChDesp}, /* Luxembourg */
|
|
{"MO", CE, Country_MO_ChDesp}, /* Macao */
|
|
{"MK", CE, Country_MK_ChDesp}, /* Macedonia, Republic of */
|
|
{"MY", CE, Country_MY_ChDesp}, /* Malaysia */
|
|
{"MT", CE, Country_MT_ChDesp}, /* Malta */
|
|
{"MX", CE, Country_MX_ChDesp}, /* Mexico */
|
|
{"MC", CE, Country_MC_ChDesp}, /* Monaco */
|
|
{"MA", CE, Country_MA_ChDesp}, /* Morocco */
|
|
{"NP", CE, Country_NP_ChDesp}, /* Nepal */
|
|
{"NL", CE, Country_NL_ChDesp}, /* Netherlands */
|
|
{"AN", CE, Country_AN_ChDesp}, /* Netherlands Antilles */
|
|
{"NZ", CE, Country_NZ_ChDesp}, /* New Zealand */
|
|
{"NO", CE, Country_NO_ChDesp}, /* Norway */
|
|
{"OM", CE, Country_OM_ChDesp}, /* Oman */
|
|
{"PK", CE, Country_PK_ChDesp}, /* Pakistan */
|
|
{"PA", CE, Country_PA_ChDesp}, /* Panama */
|
|
{"PG", CE, Country_PG_ChDesp}, /* Papua New Guinea */
|
|
{"PE", CE, Country_PE_ChDesp}, /* Peru */
|
|
{"PH", CE, Country_PH_ChDesp}, /* Philippines */
|
|
{"PL", CE, Country_PL_ChDesp}, /* Poland */
|
|
{"PT", CE, Country_PT_ChDesp}, /* Portuga l*/
|
|
{"PR", CE, Country_PR_ChDesp}, /* Puerto Rico */
|
|
{"QA", CE, Country_QA_ChDesp}, /* Qatar */
|
|
{"RO", CE, Country_RO_ChDesp}, /* Romania */
|
|
{"RU", CE, Country_RU_ChDesp}, /* Russian Federation */
|
|
{"BL", CE, Country_BL_ChDesp}, /* Saint Barth'elemy */
|
|
{"SA", CE, Country_SA_ChDesp}, /* Saudi Arabia */
|
|
{"SG", CE, Country_SG_ChDesp}, /* Singapore */
|
|
{"SK", CE, Country_SK_ChDesp}, /* Slovakia */
|
|
{"SI", CE, Country_SI_ChDesp}, /* Slovenia */
|
|
{"ZA", CE, Country_ZA_ChDesp}, /* South Africa */
|
|
{"ES", CE, Country_ES_ChDesp}, /* Spain */
|
|
{"LK", CE, Country_LK_ChDesp}, /* Sri Lanka */
|
|
{"SE", CE, Country_SE_ChDesp}, /* Sweden */
|
|
{"CH", CE, Country_CH_ChDesp}, /* Switzerland */
|
|
{"SY", CE, Country_SY_ChDesp}, /* Syrian Arab Republic */
|
|
{"TW", FCC,Country_TW_ChDesp}, /* Taiwan */
|
|
{"TH", CE, Country_TH_ChDesp}, /* Thailand */
|
|
{"TT", CE, Country_TT_ChDesp}, /* Trinidad and Tobago */
|
|
{"TN", CE, Country_TN_ChDesp}, /* Tunisia */
|
|
{"TR", CE, Country_TR_ChDesp}, /* Turkey */
|
|
{"UA", CE, Country_UA_ChDesp}, /* Ukraine */
|
|
{"AE", CE, Country_AE_ChDesp}, /* United Arab Emirates */
|
|
{"GB", CE, Country_GB_ChDesp}, /* United Kingdom */
|
|
{"US", FCC,Country_US_ChDesp}, /* United States */
|
|
{"UY", CE, Country_UY_ChDesp}, /* Uruguay */
|
|
{"UZ", CE, Country_UZ_ChDesp}, /* Uzbekistan */
|
|
{"VE", CE, Country_VE_ChDesp}, /* Venezuela */
|
|
{"VN", CE, Country_VN_ChDesp}, /* Viet Nam */
|
|
{"YE", CE, Country_YE_ChDesp}, /* Yemen */
|
|
{"ZW", CE, Country_ZW_ChDesp}, /* Zimbabwe */
|
|
{"EU", CE, Country_EU_ChDesp}, /* Europe */
|
|
{"NA", FCC,Country_NA_ChDesp}, /* North America */
|
|
{"WO", CE, Country_WO_ChDesp}, /* World Wide */
|
|
{"" , 0, NULL} , /* End */
|
|
};
|
|
|
|
static PCH_REGION GetChRegion(
|
|
IN PUCHAR CntryCode)
|
|
{
|
|
INT loop = 0;
|
|
PCH_REGION pChRegion = NULL;
|
|
|
|
while (strcmp((PSTRING) ChRegion[loop].CountReg, "") != 0)
|
|
{
|
|
if (strncmp((PSTRING) ChRegion[loop].CountReg, (PSTRING) CntryCode, 2) == 0)
|
|
{
|
|
pChRegion = &ChRegion[loop];
|
|
break;
|
|
}
|
|
loop++;
|
|
}
|
|
|
|
/* Default: use WO*/
|
|
if (pChRegion == NULL)
|
|
pChRegion = GetChRegion("WO");
|
|
|
|
return pChRegion;
|
|
}
|
|
|
|
static VOID ChBandCheck(
|
|
IN UCHAR PhyMode,
|
|
OUT PUCHAR pChType)
|
|
{
|
|
*pChType = 0;
|
|
if (WMODE_CAP_5G(PhyMode))
|
|
*pChType |= BAND_5G;
|
|
if (WMODE_CAP_2G(PhyMode))
|
|
*pChType |= BAND_24G;
|
|
|
|
if (*pChType == 0)
|
|
*pChType = BAND_24G;
|
|
}
|
|
|
|
static UCHAR FillChList(
|
|
IN PRTMP_ADAPTER pAd,
|
|
IN PCH_DESP pChDesp,
|
|
IN UCHAR Offset,
|
|
IN UCHAR increment,
|
|
IN UCHAR regulatoryDomain)
|
|
{
|
|
INT i, j, l;
|
|
UCHAR channel;
|
|
|
|
j = Offset;
|
|
for (i = 0; i < pChDesp->NumOfCh; i++)
|
|
{
|
|
channel = pChDesp->FirstChannel + i * increment;
|
|
if (!strncmp((PSTRING) pAd->CommonCfg.CountryCode, "JP", 2))
|
|
{
|
|
/* for JP, ch14 can only be used when PhyMode is "B only" */
|
|
if ( (channel==14) &&
|
|
(!WMODE_EQUAL(pAd->CommonCfg.PhyMode, WMODE_B)))
|
|
{
|
|
pChDesp->NumOfCh--;
|
|
break;
|
|
}
|
|
}
|
|
/*New FCC spec restrict the used channel under DFS */
|
|
#ifdef CONFIG_AP_SUPPORT
|
|
if ((pAd->CommonCfg.bIEEE80211H == 1) &&
|
|
(pAd->CommonCfg.RDDurRegion == FCC) &&
|
|
(pAd->Dot11_H.bDFSIndoor == 1))
|
|
{
|
|
if (RESTRICTION_BAND_1(pAd))
|
|
continue;
|
|
}
|
|
else if ((pAd->CommonCfg.bIEEE80211H == 1) &&
|
|
(pAd->CommonCfg.RDDurRegion == FCC) &&
|
|
(pAd->Dot11_H.bDFSIndoor == 0))
|
|
{
|
|
if ((channel >= 100) && (channel <= 140))
|
|
continue;
|
|
}
|
|
|
|
#endif /* CONFIG_AP_SUPPORT */
|
|
for (l=0; l<MAX_NUM_OF_CHANNELS; l++)
|
|
{
|
|
if (channel == pAd->TxPower[l].Channel)
|
|
{
|
|
pAd->ChannelList[j].Power = pAd->TxPower[l].Power;
|
|
pAd->ChannelList[j].Power2 = pAd->TxPower[l].Power2;
|
|
#ifdef DOT11N_SS3_SUPPORT
|
|
pAd->ChannelList[j].Power3 = pAd->TxPower[l].Power3;
|
|
#endif /* DOT11N_SS3_SUPPORT */
|
|
break;
|
|
}
|
|
}
|
|
if (l == MAX_NUM_OF_CHANNELS)
|
|
continue;
|
|
|
|
pAd->ChannelList[j].Channel = pChDesp->FirstChannel + i * increment;
|
|
pAd->ChannelList[j].MaxTxPwr = pChDesp->MaxTxPwr;
|
|
pAd->ChannelList[j].DfsReq = pChDesp->DfsReq;
|
|
pAd->ChannelList[j].RegulatoryDomain = regulatoryDomain;
|
|
#ifdef DOT11_N_SUPPORT
|
|
if (N_ChannelGroupCheck(pAd, pAd->ChannelList[j].Channel))
|
|
pAd->ChannelList[j].Flags |= CHANNEL_40M_CAP;
|
|
#endif /* DOT11_N_SUPPORT */
|
|
|
|
#ifdef RT_CFG80211_SUPPORT
|
|
CFG80211OS_ChanInfoInit(
|
|
pAd->pCfg80211_CB,
|
|
j,
|
|
pAd->ChannelList[j].Channel,
|
|
pAd->ChannelList[j].MaxTxPwr,
|
|
WMODE_CAP_N(pAd->CommonCfg.PhyMode),
|
|
(pAd->CommonCfg.RegTransmitSetting.field.BW == BW_20));
|
|
#endif /* RT_CFG80211_SUPPORT */
|
|
|
|
j++;
|
|
}
|
|
pAd->ChannelListNum = j;
|
|
|
|
return j;
|
|
}
|
|
|
|
|
|
static inline VOID CreateChList(
|
|
IN PRTMP_ADAPTER pAd,
|
|
IN PCH_REGION pChRegion,
|
|
IN UCHAR Geography)
|
|
{
|
|
INT i;
|
|
UCHAR offset = 0;
|
|
PCH_DESP pChDesp;
|
|
UCHAR ChType;
|
|
UCHAR increment;
|
|
UCHAR regulatoryDomain;
|
|
|
|
if (pChRegion == NULL)
|
|
return;
|
|
|
|
ChBandCheck(pAd->CommonCfg.PhyMode, &ChType);
|
|
|
|
if (pAd->CommonCfg.pChDesp != NULL)
|
|
pChDesp = (PCH_DESP) pAd->CommonCfg.pChDesp;
|
|
else
|
|
pChDesp = pChRegion->pChDesp;
|
|
|
|
for (i = 0; pChDesp[i].FirstChannel != 0; i++)
|
|
{
|
|
if (pChDesp[i].FirstChannel == 0)
|
|
break;
|
|
|
|
if (ChType == BAND_5G)
|
|
{
|
|
if (pChDesp[i].FirstChannel <= 14)
|
|
continue;
|
|
}
|
|
else if (ChType == BAND_24G)
|
|
{
|
|
if (pChDesp[i].FirstChannel > 14)
|
|
continue;
|
|
}
|
|
|
|
if ((pChDesp[i].Geography == BOTH)
|
|
|| (Geography == BOTH)
|
|
|| (pChDesp[i].Geography == Geography))
|
|
{
|
|
if (pChDesp[i].FirstChannel > 14)
|
|
increment = 4;
|
|
else
|
|
increment = 1;
|
|
if (pAd->CommonCfg.DfsType != MAX_RD_REGION)
|
|
regulatoryDomain = pAd->CommonCfg.DfsType;
|
|
else
|
|
regulatoryDomain = pChRegion->DfsType;
|
|
offset = FillChList(pAd, &pChDesp[i], offset, increment, regulatoryDomain);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
VOID BuildChannelListEx(
|
|
IN PRTMP_ADAPTER pAd)
|
|
{
|
|
PCH_REGION pChReg;
|
|
|
|
pChReg = GetChRegion(pAd->CommonCfg.CountryCode);
|
|
CreateChList(pAd, pChReg, pAd->CommonCfg.Geography);
|
|
}
|
|
|
|
VOID BuildBeaconChList(
|
|
IN PRTMP_ADAPTER pAd,
|
|
OUT PUCHAR pBuf,
|
|
OUT PULONG pBufLen)
|
|
{
|
|
INT i;
|
|
ULONG TmpLen;
|
|
PCH_REGION pChRegion;
|
|
PCH_DESP pChDesp;
|
|
UCHAR ChType;
|
|
|
|
pChRegion = GetChRegion(pAd->CommonCfg.CountryCode);
|
|
|
|
if (pChRegion == NULL)
|
|
return;
|
|
|
|
ChBandCheck(pAd->CommonCfg.PhyMode, &ChType);
|
|
*pBufLen = 0;
|
|
|
|
if (pAd->CommonCfg.pChDesp != NULL)
|
|
pChDesp = (PCH_DESP) pAd->CommonCfg.pChDesp;
|
|
else
|
|
pChDesp = pChRegion->pChDesp;
|
|
|
|
for (i=0; pChRegion->pChDesp[i].FirstChannel != 0; i++)
|
|
{
|
|
if (pChDesp[i].FirstChannel == 0)
|
|
break;
|
|
|
|
if (ChType == BAND_5G)
|
|
{
|
|
if (pChDesp[i].FirstChannel <= 14)
|
|
continue;
|
|
}
|
|
else if (ChType == BAND_24G)
|
|
{
|
|
if (pChDesp[i].FirstChannel > 14)
|
|
continue;
|
|
}
|
|
|
|
if ((pChDesp[i].Geography == BOTH) ||
|
|
(pChDesp[i].Geography == pAd->CommonCfg.Geography))
|
|
{
|
|
MakeOutgoingFrame(pBuf + *pBufLen, &TmpLen,
|
|
1, &pChDesp[i].FirstChannel,
|
|
1, &pChDesp[i].NumOfCh,
|
|
1, &pChDesp[i].MaxTxPwr,
|
|
END_OF_ARGS);
|
|
*pBufLen += TmpLen;
|
|
}
|
|
}
|
|
}
|
|
#endif /* EXT_BUILD_CHANNEL_LIST */
|
|
|
|
#ifdef DOT11_N_SUPPORT
|
|
static BOOLEAN IsValidChannel(
|
|
IN PRTMP_ADAPTER pAd,
|
|
IN UCHAR channel)
|
|
|
|
{
|
|
INT i;
|
|
|
|
for (i = 0; i < pAd->ChannelListNum; i++)
|
|
{
|
|
if (pAd->ChannelList[i].Channel == channel)
|
|
break;
|
|
}
|
|
|
|
if (i == pAd->ChannelListNum)
|
|
return FALSE;
|
|
else
|
|
return TRUE;
|
|
}
|
|
|
|
static UCHAR GetExtCh(
|
|
IN UCHAR Channel,
|
|
IN UCHAR Direction)
|
|
{
|
|
CHAR ExtCh;
|
|
|
|
if (Direction == EXTCHA_ABOVE)
|
|
ExtCh = Channel + 4;
|
|
else
|
|
ExtCh = (Channel - 4) > 0 ? (Channel - 4) : 0;
|
|
|
|
return ExtCh;
|
|
}
|
|
|
|
BOOLEAN N_ChannelGroupCheck(
|
|
IN PRTMP_ADAPTER pAd,
|
|
IN UCHAR Channel)
|
|
{
|
|
BOOLEAN RetVal = FALSE;
|
|
|
|
if (Channel > 14)
|
|
{
|
|
if ((Channel == 36) || (Channel == 44) || (Channel == 52) || (Channel == 60) || (Channel == 100) || (Channel == 108) ||
|
|
(Channel == 116) || (Channel == 124) || (Channel == 132) || (Channel == 149) || (Channel == 157))
|
|
{
|
|
RetVal = TRUE;
|
|
}
|
|
else if ((Channel == 40) || (Channel == 48) || (Channel == 56) || (Channel == 64) || (Channel == 104) || (Channel == 112) ||
|
|
(Channel == 120) || (Channel == 128) || (Channel == 136) || (Channel == 153) || (Channel == 161))
|
|
{
|
|
RetVal = TRUE;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
do
|
|
{
|
|
UCHAR ExtCh;
|
|
|
|
if (Channel == 14)
|
|
{
|
|
RetVal = FALSE;
|
|
break;
|
|
}
|
|
|
|
ExtCh = GetExtCh(Channel, EXTCHA_ABOVE);
|
|
if (IsValidChannel(pAd, ExtCh))
|
|
RetVal = TRUE;
|
|
else
|
|
{
|
|
ExtCh = GetExtCh(Channel, EXTCHA_BELOW);
|
|
if (IsValidChannel(pAd, ExtCh))
|
|
RetVal = TRUE;
|
|
}
|
|
} while(FALSE);
|
|
}
|
|
|
|
return RetVal;
|
|
}
|
|
|
|
|
|
VOID N_ChannelCheck(RTMP_ADAPTER *pAd)
|
|
{
|
|
INT idx;
|
|
UCHAR Channel = pAd->CommonCfg.Channel;
|
|
static const UCHAR wfa_ht_ch_ext[] = {
|
|
36, EXTCHA_ABOVE, 40, EXTCHA_BELOW,
|
|
44, EXTCHA_ABOVE, 48, EXTCHA_BELOW,
|
|
52, EXTCHA_ABOVE, 56, EXTCHA_BELOW,
|
|
60, EXTCHA_ABOVE, 64, EXTCHA_BELOW,
|
|
100, EXTCHA_ABOVE, 104, EXTCHA_BELOW,
|
|
108, EXTCHA_ABOVE, 112, EXTCHA_BELOW,
|
|
116, EXTCHA_ABOVE, 120, EXTCHA_BELOW,
|
|
124, EXTCHA_ABOVE, 128, EXTCHA_BELOW,
|
|
132, EXTCHA_ABOVE, 136, EXTCHA_BELOW,
|
|
149, EXTCHA_ABOVE, 153, EXTCHA_BELOW,
|
|
157, EXTCHA_ABOVE, 161, EXTCHA_BELOW,
|
|
0, 0};
|
|
|
|
if (WMODE_CAP_N(pAd->CommonCfg.PhyMode) &&
|
|
(pAd->CommonCfg.RegTransmitSetting.field.BW == BW_40))
|
|
{
|
|
if (Channel > 14)
|
|
{
|
|
idx = 0;
|
|
while(wfa_ht_ch_ext[idx] != 0) {
|
|
if (wfa_ht_ch_ext[idx] == Channel) {
|
|
pAd->CommonCfg.RegTransmitSetting.field.EXTCHA = wfa_ht_ch_ext[idx + 1];
|
|
break;
|
|
}
|
|
idx += 2;
|
|
};
|
|
if (wfa_ht_ch_ext[idx] == 0)
|
|
pAd->CommonCfg.RegTransmitSetting.field.BW = BW_20;
|
|
}
|
|
else
|
|
{
|
|
do
|
|
{
|
|
UCHAR ExtCh;
|
|
UCHAR Dir = pAd->CommonCfg.RegTransmitSetting.field.EXTCHA;
|
|
ExtCh = GetExtCh(Channel, Dir);
|
|
if (IsValidChannel(pAd, ExtCh))
|
|
break;
|
|
|
|
Dir = (Dir == EXTCHA_ABOVE) ? EXTCHA_BELOW : EXTCHA_ABOVE;
|
|
ExtCh = GetExtCh(Channel, Dir);
|
|
if (IsValidChannel(pAd, ExtCh))
|
|
{
|
|
pAd->CommonCfg.RegTransmitSetting.field.EXTCHA = Dir;
|
|
break;
|
|
}
|
|
pAd->CommonCfg.RegTransmitSetting.field.BW = BW_20;
|
|
} while(FALSE);
|
|
|
|
if (Channel == 14)
|
|
{
|
|
pAd->CommonCfg.RegTransmitSetting.field.BW = BW_20;
|
|
/*pAd->CommonCfg.RegTransmitSetting.field.EXTCHA = EXTCHA_NONE; We didn't set the ExtCh as NONE due to it'll set in RTMPSetHT()*/
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
UCHAR N_SetCenCh(RTMP_ADAPTER *pAd, UCHAR prim_ch)
|
|
{
|
|
if (pAd->CommonCfg.RegTransmitSetting.field.BW == BW_40)
|
|
{
|
|
if (pAd->CommonCfg.RegTransmitSetting.field.EXTCHA == EXTCHA_ABOVE)
|
|
pAd->CommonCfg.CentralChannel = prim_ch + 2;
|
|
else
|
|
{
|
|
if (prim_ch == 14)
|
|
pAd->CommonCfg.CentralChannel = prim_ch - 1;
|
|
else
|
|
pAd->CommonCfg.CentralChannel = prim_ch - 2;
|
|
}
|
|
}
|
|
else
|
|
pAd->CommonCfg.CentralChannel = prim_ch;
|
|
|
|
return pAd->CommonCfg.CentralChannel;
|
|
}
|
|
#endif /* DOT11_N_SUPPORT */
|
|
|
|
|
|
UINT8 GetCuntryMaxTxPwr(
|
|
IN PRTMP_ADAPTER pAd,
|
|
IN UINT8 channel)
|
|
{
|
|
int i;
|
|
for (i = 0; i < pAd->ChannelListNum; i++)
|
|
{
|
|
if (pAd->ChannelList[i].Channel == channel)
|
|
break;
|
|
}
|
|
|
|
if (i == pAd->ChannelListNum)
|
|
return 0xff;
|
|
#ifdef SINGLE_SKU
|
|
if (pAd->CommonCfg.bSKUMode == TRUE)
|
|
{
|
|
UINT deltaTxStreamPwr = 0;
|
|
|
|
#ifdef DOT11_N_SUPPORT
|
|
if (WMODE_CAP_N(pAd->CommonCfg.PhyMode) && (pAd->CommonCfg.TxStream == 2))
|
|
deltaTxStreamPwr = 3; /* If 2Tx case, antenna gain will increase 3dBm*/
|
|
#endif /* DOT11_N_SUPPORT */
|
|
|
|
if (pAd->ChannelList[i].RegulatoryDomain == FCC)
|
|
{
|
|
/* FCC should maintain 20/40 Bandwidth, and without antenna gain */
|
|
#ifdef DOT11_N_SUPPORT
|
|
if (WMODE_CAP_N(pAd->CommonCfg.PhyMode) &&
|
|
(pAd->CommonCfg.RegTransmitSetting.field.BW == BW_40) &&
|
|
(channel == 1 || channel == 11))
|
|
return (pAd->ChannelList[i].MaxTxPwr - pAd->CommonCfg.BandedgeDelta - deltaTxStreamPwr);
|
|
else
|
|
#endif /* DOT11_N_SUPPORT */
|
|
return (pAd->ChannelList[i].MaxTxPwr - deltaTxStreamPwr);
|
|
}
|
|
else if (pAd->ChannelList[i].RegulatoryDomain == CE)
|
|
{
|
|
return (pAd->ChannelList[i].MaxTxPwr - pAd->CommonCfg.AntGain - deltaTxStreamPwr);
|
|
}
|
|
else
|
|
return 0xff;
|
|
}
|
|
else
|
|
#endif /* SINGLE_SKU */
|
|
return pAd->ChannelList[i].MaxTxPwr;
|
|
}
|
|
|
|
|
|
/* for OS_ABL */
|
|
VOID RTMP_MapChannelID2KHZ(
|
|
IN UCHAR Ch,
|
|
OUT UINT32 *pFreq)
|
|
{
|
|
int chIdx;
|
|
for (chIdx = 0; chIdx < CH_HZ_ID_MAP_NUM; chIdx++)
|
|
{
|
|
if ((Ch) == CH_HZ_ID_MAP[chIdx].channel)
|
|
{
|
|
(*pFreq) = CH_HZ_ID_MAP[chIdx].freqKHz * 1000;
|
|
break;
|
|
}
|
|
}
|
|
if (chIdx == CH_HZ_ID_MAP_NUM)
|
|
(*pFreq) = 2412000;
|
|
}
|
|
|
|
/* for OS_ABL */
|
|
VOID RTMP_MapKHZ2ChannelID(
|
|
IN ULONG Freq,
|
|
OUT INT *pCh)
|
|
{
|
|
int chIdx;
|
|
for (chIdx = 0; chIdx < CH_HZ_ID_MAP_NUM; chIdx++)
|
|
{
|
|
if ((Freq) == CH_HZ_ID_MAP[chIdx].freqKHz)
|
|
{
|
|
(*pCh) = CH_HZ_ID_MAP[chIdx].channel;
|
|
break;
|
|
}
|
|
}
|
|
if (chIdx == CH_HZ_ID_MAP_NUM)
|
|
(*pCh) = 1;
|
|
}
|
|
|