blob: d6258681d4050cbcde2c4399ad56e76a21dd8713 [file] [log] [blame]
/****************************************************************************
**+-----------------------------------------------------------------------+**
**| |**
**| Copyright(c) 1998 - 2008 Texas Instruments. All rights reserved. |**
**| All rights reserved. |**
**| |**
**| Redistribution and use in source and binary forms, with or without |**
**| modification, are permitted provided that the following conditions |**
**| are met: |**
**| |**
**| * Redistributions of source code must retain the above copyright |**
**| notice, this list of conditions and the following disclaimer. |**
**| * Redistributions in binary form must reproduce the above copyright |**
**| notice, this list of conditions and the following disclaimer in |**
**| the documentation and/or other materials provided with the |**
**| distribution. |**
**| * Neither the name Texas Instruments nor the names of its |**
**| contributors may be used to endorse or promote products derived |**
**| from this software without specific prior written permission. |**
**| |**
**| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |**
**| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |**
**| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |**
**| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |**
**| OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |**
**| SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |**
**| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |**
**| DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |**
**| THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |**
**| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |**
**| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |**
**| |**
**+-----------------------------------------------------------------------+**
****************************************************************************/
#if defined(_WINDOWS)
#elif defined( __LINUX__ )
#include "osrgstry_parser.h"
#elif defined(__ARMCC__)
#include "osrgstry_parser.h"
#include "string.h"
#endif
#include "osRgstry.h"
#include "paramOut.h"
#include "osDot11.h"
#include "osApi.h"
/* TODO: remove this line!*/
#include "802_11Defs.h"
extern rate_e RateNumberToHost(UINT8 rateIn);
#define MAX_KEY_BUFFER_LEN 256
#define N_STR(str) NDIS_STRING_CONST(str)
#define INIT_TBL_OFF(field) FIELD_OFFSET(initTable_t, field)
/* Reports */
NDIS_STRING STR_ReportSeverityTable = NDIS_STRING_CONST( "ReportSeverityTable" );
NDIS_STRING STR_ReportModuleTable = NDIS_STRING_CONST( "ReportModuleTable" );
NDIS_STRING STRFilterEnabled = NDIS_STRING_CONST( "Mac_Filter_Enabled");
NDIS_STRING STRnumGroupAddrs = NDIS_STRING_CONST( "numGroupAddrs" );
NDIS_STRING STRGroup_addr0 = NDIS_STRING_CONST( "Group_addr0" );
NDIS_STRING STRGroup_addr1 = NDIS_STRING_CONST( "Group_addr1" );
NDIS_STRING STRGroup_addr2 = NDIS_STRING_CONST( "Group_addr2" );
NDIS_STRING STRGroup_addr3 = NDIS_STRING_CONST( "Group_addr3" );
NDIS_STRING STRGroup_addr4 = NDIS_STRING_CONST( "Group_addr4" );
NDIS_STRING STRGroup_addr5 = NDIS_STRING_CONST( "Group_addr5" );
NDIS_STRING STRGroup_addr6 = NDIS_STRING_CONST( "Group_addr6" );
NDIS_STRING STRGroup_addr7 = NDIS_STRING_CONST( "Group_addr7" );
/* Beacon timing */
/* If Early Wakeup is Enabled, 1251 wakes-up EARLY_WAKEUP_TIME before expected Beacon reception occasion */
/* If Early Wakeup is Disabled, 1251 wakes-up at the expected Beacon reception occasion. */
NDIS_STRING STREarlyWakeup = NDIS_STRING_CONST( "EarlyWakeup" );
NDIS_STRING STRArp_Ip_Addr = NDIS_STRING_CONST( "ArpIp_Addr" );
NDIS_STRING STRArp_Ip_Filter_Ena = NDIS_STRING_CONST( "ArpIp_Filter_ena");
NDIS_STRING STRBeaconFilterDesiredState = NDIS_STRING_CONST( "Beacon_Filter_Desired_State") ;
NDIS_STRING STRBeaconFilterStored = NDIS_STRING_CONST( "Beacon_Filter_Stored") ;
/*this is for configuring table from ini file*/
NDIS_STRING STRBeaconIETableSize = NDIS_STRING_CONST( "Beacon_IE_Table_Size") ;
NDIS_STRING STRBeaconIETable = NDIS_STRING_CONST( "Beacon_IE_Table") ;
NDIS_STRING STRBeaconIETableNumOfElem = NDIS_STRING_CONST( "Beacon_IE_Num_Of_Elem") ;
NDIS_STRING STRTxXferBufferFullTimeToRecovery = NDIS_STRING_CONST( "TxXferBufferFullTimeToRecovery" );
/* ------------------------------------------------------ */
NDIS_STRING STRFirmwareDebug = NDIS_STRING_CONST( "FirmwareDebug" );
NDIS_STRING STRTraceBufferSize = NDIS_STRING_CONST( "TraceBufferSize" );
NDIS_STRING STRPrintTrace = NDIS_STRING_CONST( "PrintTrace" );
NDIS_STRING STRHwACXAccessMethod = NDIS_STRING_CONST( "HwACXAccessMethod" );
NDIS_STRING STRMaxSitesFragCollect = NDIS_STRING_CONST( "MaxSitesFragCollect" );
NDIS_STRING STRNumACXRxDescriptors = NDIS_STRING_CONST( "NumACXRxDescriptors" );
NDIS_STRING STRNumACXTxDescriptors = NDIS_STRING_CONST( "NumACXTxDescriptors" );
NDIS_STRING STRTxFlashEnable = NDIS_STRING_CONST( "TxFlashEnable" );
NDIS_STRING STRBetEnable = NDIS_STRING_CONST( "BetEnable");
NDIS_STRING STRBetMaxConsecutive = NDIS_STRING_CONST( "BetMaxConsecutive");
NDIS_STRING STRMaxFullBeaconInterval = NDIS_STRING_CONST( "MaxlFullBeaconReceptionInterval" );
NDIS_STRING STRBetEnableThreshold = NDIS_STRING_CONST( "BetEnableThreshold");
NDIS_STRING STRBetDisableThreshold = NDIS_STRING_CONST( "BetDisableThreshold");
NDIS_STRING STRNumHostRxDescriptors = NDIS_STRING_CONST( "NumHostRxDescriptors" );
NDIS_STRING STRNumHostTxDescriptors = NDIS_STRING_CONST( "NumHostTxDescriptors" );
NDIS_STRING STRACXMemoryBlockSize = NDIS_STRING_CONST( "ACXMemoryBlockSize" );
NDIS_STRING STRACXRxMemoryBlockSize = NDIS_STRING_CONST( "ACXMemoryBlockSize" );
NDIS_STRING STRACXTxMemoryBlockSize = NDIS_STRING_CONST( "ACXMemoryBlockSize" );
NDIS_STRING STRACXUseTxDataInterrupt = NDIS_STRING_CONST( "ACXUseTxDataInterrupt" );
NDIS_STRING STRACXUseInterruptThreshold = NDIS_STRING_CONST( "ACXUseInterruptThreshold" );
NDIS_STRING STRCalibrationChannel2_4 = NDIS_STRING_CONST( "CalibrationChannel24" );
NDIS_STRING STRCalibrationChannel5_0 = NDIS_STRING_CONST( "CalibrationChannel5" );
NDIS_STRING STRdot11RTSThreshold = NDIS_STRING_CONST( "dot11RTSThreshold" );
NDIS_STRING STRRxDisableBroadcast = NDIS_STRING_CONST( "RxDisableBroadcast" );
NDIS_STRING STRRecoveryEnable = NDIS_STRING_CONST( "RecoveryEnable" );
NDIS_STRING STRdot11TxAntenna = NDIS_STRING_CONST( "dot11TxAntenna" );
NDIS_STRING STRdot11RxAntenna = NDIS_STRING_CONST( "dot11RxAntenna" );
NDIS_STRING STRTxCompleteThreshold = NDIS_STRING_CONST( "TxCompleteThreshold" );
NDIS_STRING STRdot11FragThreshold = NDIS_STRING_CONST( "dot11FragmentationThreshold" );
NDIS_STRING STRdot11MaxTxMSDULifetime = NDIS_STRING_CONST( "dot11MaxTransmitMSDULifetime" );
NDIS_STRING STRdot11MaxReceiveLifetime = NDIS_STRING_CONST( "dot11MaxReceiveLifetime" );
NDIS_STRING STRdot11RateFallBackRetryLimit = NDIS_STRING_CONST( "dot11RateFallBackRetryLimit");
NDIS_STRING STRListenInterval = NDIS_STRING_CONST( "dot11ListenInterval" );
NDIS_STRING STRExternalMode = NDIS_STRING_CONST( "DriverExternalMode" );
NDIS_STRING STRWiFiAdHoc = NDIS_STRING_CONST( "WiFiAdhoc" );
NDIS_STRING STRWiFiWmmPS = NDIS_STRING_CONST( "WiFiWmmPS" );
NDIS_STRING STRKeepAliveEnable = NDIS_STRING_CONST( "KeepAliveEnable" );
NDIS_STRING STRdot11DesiredChannel = NDIS_STRING_CONST( "dot11DesiredChannel");
NDIS_STRING STRdot11DesiredSSID = NDIS_STRING_CONST( "dot11DesiredSSID" );
NDIS_STRING STRdot11DesiredBSSType = NDIS_STRING_CONST( "dot11DesiredBSSType" );
NDIS_STRING STRdot11BasicRateMask_B = NDIS_STRING_CONST( "dot11BasicRateMaskB");
NDIS_STRING STRdot11SupportedRateMask_B = NDIS_STRING_CONST( "dot11SupportedRateMaskB");
NDIS_STRING STRdot11BasicRateMask_G = NDIS_STRING_CONST( "dot11BasicRateMaskG");
NDIS_STRING STRdot11SupportedRateMask_G = NDIS_STRING_CONST( "dot11SupportedRateMaskG");
NDIS_STRING STRdot11BasicRateMask_A = NDIS_STRING_CONST( "dot11BasicRateMaskA");
NDIS_STRING STRdot11SupportedRateMask_A = NDIS_STRING_CONST( "dot11SupportedRateMaskA");
NDIS_STRING STRdot11BasicRateMask_AG = NDIS_STRING_CONST( "dot11BasicRateMaskAG");
NDIS_STRING STRdot11SupportedRateMask_AG = NDIS_STRING_CONST( "dot11SupportedRateMaskAG");
NDIS_STRING STRdot11DesiredTxRate = NDIS_STRING_CONST( "dot11DesiredTxRate");
NDIS_STRING STRdot11MgmtCtrlTxRateSelection = NDIS_STRING_CONST( "dot11MgmtCtrlTxRateSelection");
NDIS_STRING STRdot11MgmtCtrlTxRate = NDIS_STRING_CONST( "dot11MgmtCtrlTxRate");
NDIS_STRING STRRadio11_RxLevel = NDIS_STRING_CONST( "Radio11_RxLevel");
NDIS_STRING STRRadio11_LNA = NDIS_STRING_CONST( "Radio11_LNA");
NDIS_STRING STRRadio11_RSSI = NDIS_STRING_CONST( "Radio11_RSSI");
NDIS_STRING STRRadio0D_RxLevel = NDIS_STRING_CONST( "Radio0D_RxLevel");
NDIS_STRING STRRadio0D_LNA = NDIS_STRING_CONST( "Radio0D_LNA");
NDIS_STRING STRRadio0D_RSSI = NDIS_STRING_CONST( "Radio0D_RSSI");
NDIS_STRING STRdot11DesiredNetworkType = NDIS_STRING_CONST( "dot11NetworkType");
NDIS_STRING STRdot11DefaultNetworkType = NDIS_STRING_CONST( "dot11DefaultNetworkType");
NDIS_STRING STRdot11SlotTime = NDIS_STRING_CONST( "ShortSlotTime");
NDIS_STRING STRdot11IbssProtection = NDIS_STRING_CONST( "IbssProtectionType");
NDIS_STRING STRdot11RtsCtsProtection = NDIS_STRING_CONST( "dot11RtsCtsProtection");
NDIS_STRING STRRxEnergyDetection = NDIS_STRING_CONST( "RxEnergyDetection" );
NDIS_STRING STRTxEnergyDetection = NDIS_STRING_CONST( "TxEnergyDetection" );
NDIS_STRING STRCrtCalibrationInterval = NDIS_STRING_CONST( "CrtCalibrationInterval" );
NDIS_STRING STRTddCalibrationInterval = NDIS_STRING_CONST( "TddCalibrationInterval" );
NDIS_STRING STRMacClockRate = NDIS_STRING_CONST( "MacClockRate" );
NDIS_STRING STRArmClockRate = NDIS_STRING_CONST( "ArmClockRate" );
NDIS_STRING STRg80211DraftNumber = NDIS_STRING_CONST( "g80211DraftNumber" );
NDIS_STRING STRRateAdaptationTable0 = NDIS_STRING_CONST( "RateAdaptationTable0" );
NDIS_STRING STRRateAdaptationFBThd0 = NDIS_STRING_CONST( "RateAdaptationFBThd0" );
NDIS_STRING STRRateAdaptationSUThd0 = NDIS_STRING_CONST( "RateAdaptationSUThd0" );
NDIS_STRING STRRateAdaptationTable1 = NDIS_STRING_CONST( "RateAdaptationTable1" );
NDIS_STRING STRRateAdaptationFBThd1 = NDIS_STRING_CONST( "RateAdaptationFBThd1" );
NDIS_STRING STRRateAdaptationSUThd1 = NDIS_STRING_CONST( "RateAdaptationSUThd1" );
NDIS_STRING STRRateAdaptationTable2 = NDIS_STRING_CONST( "RateAdaptationTable2" );
NDIS_STRING STRRateAdaptationFBThd2 = NDIS_STRING_CONST( "RateAdaptationFBThd2" );
NDIS_STRING STRRateAdaptationSUThd2 = NDIS_STRING_CONST( "RateAdaptationSUThd2" );
NDIS_STRING STRRateAdaptationTable3 = NDIS_STRING_CONST( "RateAdaptationTable3" );
NDIS_STRING STRRateAdaptationFBThd3 = NDIS_STRING_CONST( "RateAdaptationFBThd3" );
NDIS_STRING STRRateAdaptationSUThd3 = NDIS_STRING_CONST( "RateAdaptationSUThd3" );
/* Tspec Rate Thresholds */
NDIS_STRING STRRateAdaptationHighTrshAcVO = NDIS_STRING_CONST( "RateAdaptationHighTrshAcVO" );
NDIS_STRING STRRateAdaptationHighTrshAcVI = NDIS_STRING_CONST( "RateAdaptationHighTrshAcVI" );
NDIS_STRING STRRateAdaptationHighTrshAcBE = NDIS_STRING_CONST( "RateAdaptationHighTrshAcBE" );
NDIS_STRING STRRateAdaptationHighTrshAcBK = NDIS_STRING_CONST( "RateAdaptationHighTrshAcBK" );
NDIS_STRING STRRateAdaptationLowTrshAcVO = NDIS_STRING_CONST( "RateAdaptationLowTrshAcVO" );
NDIS_STRING STRRateAdaptationLowTrshAcVI = NDIS_STRING_CONST( "RateAdaptationLowTrshAcVI" );
NDIS_STRING STRRateAdaptationLowTrshAcBE = NDIS_STRING_CONST( "RateAdaptationLowTrshAcBE" );
NDIS_STRING STRRateAdaptationLowTrshAcBK = NDIS_STRING_CONST( "RateAdaptationLowTrshAcBK" );
NDIS_STRING STRdot11ShortPreambleInvoked = NDIS_STRING_CONST( "dot11ShortPreambleInvoked" );
NDIS_STRING STRdot11BeaconPeriod = NDIS_STRING_CONST( "dot11BeaconPeriod" );
NDIS_STRING STRdot11MaxScanTime = NDIS_STRING_CONST( "dot11MaxScanTime" );
NDIS_STRING STRdot11MinScanTime = NDIS_STRING_CONST( "dot11MinScanTime" );
NDIS_STRING STRdot11MaxSiteLifetime = NDIS_STRING_CONST( "dot11MaxSiteLifetime" );
NDIS_STRING STRdot11MaxAuthRetry = NDIS_STRING_CONST( "dot11MaxAuthRetry" );
NDIS_STRING STRdot11MaxAssocRetry = NDIS_STRING_CONST( "dot11MaxAssocRetry" );
NDIS_STRING STRdot11AuthRespTimeout = NDIS_STRING_CONST( "dot11AuthenticationResponseTimeout" );
NDIS_STRING STRdot11AssocRespTimeout = NDIS_STRING_CONST( "dot11AssociationResponseTimeout" );
NDIS_STRING STRConnSelfTimeout = NDIS_STRING_CONST( "ConnSelfTimeout" );
NDIS_STRING STRNumTxDataQueues = NDIS_STRING_CONST( "NumTxDataQueues" );
NDIS_STRING STRCreditCalcTimout = NDIS_STRING_CONST( "CreditCalcTimout" );
NDIS_STRING STRCreditCalcTimerEnabled = NDIS_STRING_CONST( "CreditCalcTimerEnabled" );
NDIS_STRING STRFracOfLifeTimeToDrop = NDIS_STRING_CONST( "FracOfLifeTimeToDrop" );
NDIS_STRING STRAdmCtrlDelayDueToMediumTimeOverUsage = NDIS_STRING_CONST( "AdmCtrlDelayDueToMediumTimeOverUsage" );
NDIS_STRING STRAdmissionDownGradeEnable = NDIS_STRING_CONST( "AdmissionDownGradeEnable" );
NDIS_STRING STRTrafficAdmControlTimeout = NDIS_STRING_CONST("TrafficAdmControlTimeout");
NDIS_STRING STRTrafficAdmControlUseFixedMsduSize = NDIS_STRING_CONST("TrafficAdmCtrlUseFixedMsduSize");
NDIS_STRING STRDesiredMaxSpLen = NDIS_STRING_CONST("DesiredMaxSpLen");
NDIS_STRING STRRateContThreshold = NDIS_STRING_CONST( "RateContThreshold");
NDIS_STRING STRRateStepUpThreshold = NDIS_STRING_CONST( "RateStepUpThreshold");
NDIS_STRING STRFBShortInterval = NDIS_STRING_CONST( "FBShortInterval");
NDIS_STRING STRFBLongInterval = NDIS_STRING_CONST( "FBLongInterval");
NDIS_STRING STRRateAdaptationTimeout = NDIS_STRING_CONST( "RateAdaptationTimeout");
NDIS_STRING STRRateControlEnable = NDIS_STRING_CONST( "RateControlEnable" );
NDIS_STRING STRRatePolicyUserShortRetryLimit = NDIS_STRING_CONST( "RatePolicyUserShortRetryLimit" );
NDIS_STRING STRRatePolicyUserLongRetryLimit = NDIS_STRING_CONST( "RatePolicyUserLongRetryLimit" );
NDIS_STRING STRRatePolicyUserRetriesPerRateCck = NDIS_STRING_CONST( "RatePolicyUserRetriesPerRateCck" );
NDIS_STRING STRRatePolicyUserRetriesPerRatePbcc = NDIS_STRING_CONST( "RatePolicyUserRetriesPerRatePbcc" );
NDIS_STRING STRRatePolicyUserRetriesPerRateOfdm = NDIS_STRING_CONST( "RatePolicyUserRetriesPerRateOfdm" );
NDIS_STRING STRRatePolicyUserRetriesPerRateOfdmA = NDIS_STRING_CONST( "RatePolicyUserRetriesPerRateOfdmA" );
NDIS_STRING STRRatePolicySGShortRetryLimit = NDIS_STRING_CONST( "RatePolicySGShortRetryLimit" );
NDIS_STRING STRRatePolicySGLongRetryLimit = NDIS_STRING_CONST( "RatePolicySGLongRetryLimit" );
NDIS_STRING STRRatePolicySGRetriesPerRateCck = NDIS_STRING_CONST( "RatePolicySGRetriesPerRateCck" );
NDIS_STRING STRRatePolicySGRetriesPerRatePbcc = NDIS_STRING_CONST( "RatePolicySGRetriesPerRatePbcc" );
NDIS_STRING STRRatePolicySGRetriesPerRateOfdm = NDIS_STRING_CONST( "RatePolicySGRetriesPerRateOfdm" );
NDIS_STRING STRRatePolicySGRetriesPerRateOfdmA = NDIS_STRING_CONST( "RatePolicySGRetriesPerRateOfdmA" );
NDIS_STRING STRdot11FourXEnable = NDIS_STRING_CONST( "Mode4x" );
NDIS_STRING STRdot11AuthenticationMode = NDIS_STRING_CONST( "dot11AuthenticationMode" );
NDIS_STRING STRdot11WEPStatus = NDIS_STRING_CONST( "dot11WEPStatus" );
NDIS_STRING STRdot11ExcludeUnencrypted = NDIS_STRING_CONST( "dot11ExcludeUnencrypted" );
NDIS_STRING STRdot11WEPKeymappingLength = NDIS_STRING_CONST( "dot11WEPKeymappingLength" );
NDIS_STRING STRdot11WEPDefaultKeyID = NDIS_STRING_CONST( "dot11WEPDefaultKeyID" );
NDIS_STRING STRMixedMode = NDIS_STRING_CONST( "MixedMode" );
NDIS_STRING STRWPAMixedMode = NDIS_STRING_CONST( "WPAMixedMode");
NDIS_STRING STRRSNPreAuth = NDIS_STRING_CONST( "RSNPreAuthentication");
NDIS_STRING STRRSNPreAuthTimeout = NDIS_STRING_CONST( "RSNPreAuthTimeout" );
NDIS_STRING STRTimeToResetCountryMs = NDIS_STRING_CONST( "TimeToResetCountryMs" );
NDIS_STRING STRMultiRegulatoryDomainEnabled = NDIS_STRING_CONST( "MultiRegulatoryDomain" );
NDIS_STRING STRSpectrumManagementEnabled = NDIS_STRING_CONST( "SpectrumManagement" );
NDIS_STRING STRScanControlTable24 = NDIS_STRING_CONST( "AllowedChannelsTable24" );
NDIS_STRING STRScanControlTable5 = NDIS_STRING_CONST( "AllowedChannelsTable5" );
/*
Power Manager
*/
NDIS_STRING STRPowerMode = NDIS_STRING_CONST( "dot11PowerMode" );
NDIS_STRING STRBeaconReceiveTime = NDIS_STRING_CONST( "BeaconReceiveTime" );
NDIS_STRING STRBaseBandWakeUpTime = NDIS_STRING_CONST( "BaseBandWakeUpTime" );
NDIS_STRING STRHangoverPeriod = NDIS_STRING_CONST( "HangoverPeriod" );
NDIS_STRING STRBeaconListenInterval = NDIS_STRING_CONST( "BeaconListenInterval" );
NDIS_STRING STRDtimListenInterval = NDIS_STRING_CONST( "DtimListenInterval" );
NDIS_STRING STRNConsecutiveBeaconsMissed = NDIS_STRING_CONST( "NConsecutiveBeaconsMissed" );
NDIS_STRING STREnterTo802_11PsRetries = NDIS_STRING_CONST( "EnterTo802_11PsRetries" );
NDIS_STRING STRAutoPowerModeInterval = NDIS_STRING_CONST( "AutoPowerModeInterval" );
NDIS_STRING STRAutoPowerModeActiveTh = NDIS_STRING_CONST( "AutoPowerModeActiveTh" );
NDIS_STRING STRAutoPowerModeDozeTh = NDIS_STRING_CONST( "AutoPowerModeDozeTh" );
NDIS_STRING STRAutoPowerModeDozeMode = NDIS_STRING_CONST( "AutoPowerModeDozeMode" );
NDIS_STRING STRDefaultPowerLevel = NDIS_STRING_CONST( "defaultPowerLevel" );
NDIS_STRING STRPowerSavePowerLevel = NDIS_STRING_CONST( "PowerSavePowerLevel" );
NDIS_STRING STRPsPollDeliveryFailureRecoveryPeriod = NDIS_STRING_CONST( "PsPollDeliveryFailureRecoveryPeriod" );
NDIS_STRING STRPowerMgmtHangOverPeriod = NDIS_STRING_CONST( "PowerMgmtHangOverPeriod" );
NDIS_STRING STRPowerMgmtMode = NDIS_STRING_CONST( "PowerMgmtMode" );
NDIS_STRING STRPowerMgmtNeedToSendNullData = NDIS_STRING_CONST( "PowerMgmtNeedToSendNullData" );
NDIS_STRING STRPowerMgmtNullPktRateModulation = NDIS_STRING_CONST( "PowerMgmtNullPktRateModulation" );
NDIS_STRING STRPowerMgmtNumNullPktRetries = NDIS_STRING_CONST( "PowerMgmtNumNullPktRetries" );
NDIS_STRING STRPowerMgmtPllLockTime = NDIS_STRING_CONST( "PllLockTime" );
NDIS_STRING STRBeaconRxTimeout = NDIS_STRING_CONST( "BeaconRxTimeout" );
NDIS_STRING STRBroadcastRxTimeout = NDIS_STRING_CONST( "BroadcastRxTimeout" );
NDIS_STRING STRRxBroadcastInPs = NDIS_STRING_CONST( "RxBroadcastInPs" );
NDIS_STRING STRConsecutivePsPollDeliveryFailureThreshold = NDIS_STRING_CONST( "ConsecutivePsPollDeliveryFailureThreshold" );
NDIS_STRING STRTxPower = NDIS_STRING_CONST( "TxPower" );
/* Scan SRV */
NDIS_STRING STRNumberOfNoScanCompleteToRecovery = NDIS_STRING_CONST( "NumberOfNoScanCompleteToRecovery" );
NDIS_STRING STRTriggeredScanTimeOut = NDIS_STRING_CONST( "TriggeredScanTimeOut" );
/*-----------------------------------*/
/* Bluetooth support */
/*-----------------------------------*/
NDIS_STRING STRBThWlanCoexistEnable = NDIS_STRING_CONST( "BThWlanCoexistEnable" );
NDIS_STRING STRBThWlanCoexistRate = NDIS_STRING_CONST( "BThWlanCoexistRate" );
NDIS_STRING STRBThWlanCoexistParamsbtHpMaxTime = NDIS_STRING_CONST( "BThWlanCoexistParamsbtHpMaxTime" );
NDIS_STRING STRBThWlanCoexistParamswlanHpMaxTime = NDIS_STRING_CONST( "BThWlanCoexistParamswlanHpMaxTime" );
NDIS_STRING STRBThWlanCoexistParamssenseDisableTimer = NDIS_STRING_CONST( "BThWlanCoexistParamssenseDisableTimer" );
NDIS_STRING STRBThWlanCoexistParamsprotectiveRxTimeBeforeBtHp = NDIS_STRING_CONST( "BThWlanCoexistParamsprotectiveRxTimeBeforeBtHp" );
NDIS_STRING STRBThWlanCoexistParamsprotectiveTxTimeBeforeBtHp = NDIS_STRING_CONST( "BThWlanCoexistParamstimeoutWlanPacketCount" );
NDIS_STRING STRBThWlanCoexistParamsprotectiveRxTimeBeforeBtHpFastAp = NDIS_STRING_CONST( "BThWlanCoexistParamsprotectiveRxTimeBeforeBtHpFastAp" );
NDIS_STRING STRBThWlanCoexistParamsprotectiveTxTimeBeforeBtHpFastAp = NDIS_STRING_CONST( "BThWlanCoexistParamsprotectiveTxTimeBeforeBtHpFastAp" );
NDIS_STRING STRBThWlanCoexistParamsprotectiveWlanCycleTimeForFastAp = NDIS_STRING_CONST( "BThWlanCoexistParamsprotectiveWlanCycleTimeForFastAp" );
NDIS_STRING STRBThWlanCoexistParamstimeoutNextBtLpPacket = NDIS_STRING_CONST( "BThWlanCoexistParamstimeoutNextBtLpPacket" );
NDIS_STRING STRBThWlanCoexistParamssgAntennaType = NDIS_STRING_CONST( "BThWlanCoexistParamssgAntennaType" );
NDIS_STRING STRBThWlanCoexistParamssignalingType = NDIS_STRING_CONST( "BThWlanCoexistParamssignalingType" );
NDIS_STRING STRBThWlanCoexistParamsafhLeverageOn = NDIS_STRING_CONST( "BThWlanCoexistParamsafhLeverageOn" );
NDIS_STRING STRBThWlanCoexistParamsnumberQuietCycle = NDIS_STRING_CONST( "BThWlanCoexistParamsnumberQuietCycle" );
NDIS_STRING STRBThWlanCoexistParamsmaxNumCts = NDIS_STRING_CONST( "BThWlanCoexistParamsmaxNumCts" );
NDIS_STRING STRBThWlanCoexistParamsnumberOfWlanPackets = NDIS_STRING_CONST( "BThWlanCoexistParamsnumberOfWlanPackets" );
NDIS_STRING STRBThWlanCoexistParamsnumberOfBtPackets = NDIS_STRING_CONST( "BThWlanCoexistParamsnumberOfBtPackets" );
NDIS_STRING STRBThWlanCoexistParamsnumberOfMissedRxForAvalancheTrigger = NDIS_STRING_CONST( "BThWlanCoexistParamsnumberOfMissedRxForAvalancheTrigger" );
NDIS_STRING STRBThWlanCoexistParamswlanElpHpSupport = NDIS_STRING_CONST( "BThWlanCoexistParamswlanElpHpSupport" );
NDIS_STRING STRBThWlanCoexistParamsbtAntiStarvationPeriod = NDIS_STRING_CONST( "BThWlanCoexistParamsbtAntiStarvationPeriod" );
NDIS_STRING STRBThWlanCoexistParamsbtAntiStarvationNumberOfCyclesWithinThePeriod = NDIS_STRING_CONST( "BThWlanCoexistParamsbtAntiStarvationNumberOfCyclesWithinThePeriod" );
NDIS_STRING STRBThWlanCoexistParamsackModeDuringBtLpInDualAnt = NDIS_STRING_CONST( "BThWlanCoexistParamsackModeDuringBtLpInDualAnt" );
NDIS_STRING STRBThWlanCoexistParamsallowPaSdToggleDuringBtActivityEnable = NDIS_STRING_CONST( "BThWlanCoexistParamsallowPaSdToggleDuringBtActivityEnable" );
NDIS_STRING STRBThWlanCoexistParamswakeUpTimeBeforeBeacon = NDIS_STRING_CONST( "BThWlanCoexistParamswakeUpTimeBeforeBeacon" );
NDIS_STRING STRBThWlanCoexistParamshpdmMaxGuardTime = NDIS_STRING_CONST( "BThWlanCoexistParamshpdmMaxGuardTime" );
NDIS_STRING STRBThWlanCoexistParamstimeoutNextWlanPacket = NDIS_STRING_CONST( "BThWlanCoexistParamstimeoutNextWlanPacket" );
NDIS_STRING STRBThWlanCoexistParamssgAutoModeNoCts = NDIS_STRING_CONST( "BThWlanCoexistParamssgAutoModeNoCts" );
NDIS_STRING STRBThWlanCoexistParamsnumOfBtHpRespectedReq = NDIS_STRING_CONST( "BThWlanCoexistParamsnumOfBtHpRespectedReq" );
NDIS_STRING STRBThWlanCoexistParamswlanRxMinRateToRespectBtHp = NDIS_STRING_CONST( "BThWlanCoexistParamswlanRxMinRateToRespectBtHp" );
NDIS_STRING STRBThWlanCoexistScanNumberOfProbes = NDIS_STRING_CONST( "BThWlanCoexistScanNumberOfProbes" );
NDIS_STRING STRBThWlanCoexistScanCompensationPercent = NDIS_STRING_CONST( "BThWlanCoexistScanCompensationPercent" );
NDIS_STRING STRBThWlanCoexistScanCompensationMaxTime = NDIS_STRING_CONST( "BThWlanCoexistScanCompensationMaxTime" );
NDIS_STRING STRBThWlanCoexistBSSLossCompensationPercent = NDIS_STRING_CONST( "BThWlanCoexistBSSLossCompensationPercent" );
NDIS_STRING STRDisableSsidPending = NDIS_STRING_CONST( "DisableSsidPending" );
/*-----------------------------------*/
/* SME Init Params */
/*-----------------------------------*/
NDIS_STRING STRdot11SmeScanEnabled = NDIS_STRING_CONST( "FirstConnScanEnabled" );
NDIS_STRING STRdot11SmeInterScanMin = NDIS_STRING_CONST( "FirstConnInterScanMinTimout" );
NDIS_STRING STRdot11SmeInterScanMax = NDIS_STRING_CONST( "FirstConnInterScanMaxTimout" );
NDIS_STRING STRdot11SmeInterScanDelta = NDIS_STRING_CONST( "FirstConnInterScanDeltaTimout" );
/* SME B/G Scan Params */
NDIS_STRING STRdot11SmeScanBGChannelList = NDIS_STRING_CONST( "FirstConnScanBandB_ChannelList" );
NDIS_STRING STRdot11SmeScanBGMinDwellTime = NDIS_STRING_CONST( "FirstConnScanBandB_MinDwellTime" );
NDIS_STRING STRdot11SmeScanBGMaxDwellTime = NDIS_STRING_CONST( "FirstConnScanBandB_MaxDwellTime" );
NDIS_STRING STRdot11SmeScanBGNumProbReq = NDIS_STRING_CONST( "FirstConnScanBandB_NumOfProbReqs" );
NDIS_STRING STRdot11SmeScanBGProbReqRate = NDIS_STRING_CONST( "FirstConnScanBandB_ProbReqRate" );
NDIS_STRING STRdot11SmeScanBGTxPowerLevel = NDIS_STRING_CONST( "FirstConnScanBandB_TxPowerLevel" );
/* SME A Scan Params */
NDIS_STRING STRdot11SmeScanAChannelList = NDIS_STRING_CONST( "FirstConnScanBandA_ChannelList" );
NDIS_STRING STRdot11SmeScanAMinDwellTime = NDIS_STRING_CONST( "FirstConnScanBandA_MinDwellTime" );
NDIS_STRING STRdot11SmeScanAMaxDwellTime = NDIS_STRING_CONST( "FirstConnScanBandA_MaxDwellTime" );
NDIS_STRING STRdot11SmeScanANumProbReq = NDIS_STRING_CONST( "FirstConnScanBandA_NumOfProbReqs" );
NDIS_STRING STRdot11SmeScanAProbReqRate = NDIS_STRING_CONST( "FirstConnScanBandA_ProbReqRate" );
NDIS_STRING STRdot11SmeScanATxPowerLevel = NDIS_STRING_CONST( "FirstConnScanBandA_TxPowerLevel" );
/*-----------------------------------*/
/* Health Check Init Params */
/*-----------------------------------*/
NDIS_STRING STRHealthMonitorCheckPeriod = NDIS_STRING_CONST( "HealthMonitorCheckPeriod" );
NDIS_STRING STRRecoveryEnabledNoScanComplete = NDIS_STRING_CONST( "RecoveryEnabledNoScanComplete" );
NDIS_STRING STRRecoveryEnabledMboxFailure = NDIS_STRING_CONST( "RecoveryEnabledMboxFailure" );
NDIS_STRING STRRecoveryEnabledHwAwakeFailure = NDIS_STRING_CONST( "RecoveryEnabledHwAwakeFailure" );
NDIS_STRING STRRecoveryEnabledBusError = NDIS_STRING_CONST( "RecoveryEnabledBusError" );
NDIS_STRING STRRecoveryEnabledDeviceError = NDIS_STRING_CONST( "RecoveryEnabledDeviceError" );
NDIS_STRING STRRecoveryEnabledTxStuck = NDIS_STRING_CONST( "RecoveryEnabledTxStuck" );
NDIS_STRING STRRecoveryEnabledDisconnectTimeout = NDIS_STRING_CONST( "RecoveryEnabledDisconnectTimeout" );
NDIS_STRING STRRecoveryEnabledPowerSaveFailure = NDIS_STRING_CONST( "RecoveryEnabledPowerSaveFailure" );
NDIS_STRING STRRecoveryEnabledMeasurementFailure= NDIS_STRING_CONST( "RecoveryEnabledMeasurementFailure" );
/*-----------------------------------*/
/* Hardware ACI recovery */
/*-----------------------------------*/
NDIS_STRING STRHardwareACIMode = NDIS_STRING_CONST("HardwareACIMode" );
NDIS_STRING STRHardwareACIInputCCA = NDIS_STRING_CONST("HardwareACIInputCCA" );
NDIS_STRING STRHardwareACIQualifiedCCA = NDIS_STRING_CONST("HardwareACIQualifiedCCA" );
NDIS_STRING STRHardwareACIStompForRx = NDIS_STRING_CONST("HardwareACIStompForRx" );
NDIS_STRING STRHardwareACIStompForTx = NDIS_STRING_CONST("HardwareACIStompForTx" );
NDIS_STRING STRHardwareACITxCCA = NDIS_STRING_CONST("HardwareACITxCCA" );
/*-----------------------------------*/
/* Tx Power control */
/*-----------------------------------*/
NDIS_STRING STRTxPowerCheckTime = NDIS_STRING_CONST("TxPowerCheckTime");
NDIS_STRING STRTxPowerControlOn = NDIS_STRING_CONST("TxPowerControlOn");
NDIS_STRING STRTxPowerRssiThresh = NDIS_STRING_CONST("TxPowerRssiThresh");
NDIS_STRING STRTxPowerRssiRestoreThresh = NDIS_STRING_CONST("TxPowerRssiRestoreThresh");
NDIS_STRING STRTxPowerTempRecover = NDIS_STRING_CONST("TxPowerTempRecover");
/*-----------------------------------*/
/*-----------------------------------*/
/* QOS Parameters */
/*-----------------------------------*/
NDIS_STRING STRWMEEnable = NDIS_STRING_CONST("WME_Enable");
NDIS_STRING STRTrafficAdmCtrlEnable = NDIS_STRING_CONST("TrafficAdmCtrl_Enable");
NDIS_STRING STRdesiredPsMode = NDIS_STRING_CONST("desiredPsMode");
NDIS_STRING STRQOSmsduLifeTimeBE = NDIS_STRING_CONST("QOS_msduLifeTimeBE");
NDIS_STRING STRQOSmsduLifeTimeBK = NDIS_STRING_CONST("QOS_msduLifeTimeBK");
NDIS_STRING STRQOSmsduLifeTimeVI = NDIS_STRING_CONST("QOS_msduLifeTimeVI");
NDIS_STRING STRQOSmsduLifeTimeVO = NDIS_STRING_CONST("QOS_msduLifeTimeVO");
NDIS_STRING STRQOSrxTimeOutPsPoll = NDIS_STRING_CONST("QOS_rxTimeoutPsPoll");
NDIS_STRING STRQOSrxTimeOutUPSD = NDIS_STRING_CONST("QOS_rxTimeoutUPSD");
NDIS_STRING STRQOStxQueue0Size = NDIS_STRING_CONST("QOS_txQueue0Size");
NDIS_STRING STRQOStxQueue1Size = NDIS_STRING_CONST("QOS_txQueue1Size");
NDIS_STRING STRQOStxQueue2Size = NDIS_STRING_CONST("QOS_txQueue2Size");
NDIS_STRING STRQOStxQueue3Size = NDIS_STRING_CONST("QOS_txQueue3Size");
NDIS_STRING STRQOSwmePsModeBE = NDIS_STRING_CONST("QOS_wmePsModeBE");
NDIS_STRING STRQOSwmePsModeBK = NDIS_STRING_CONST("QOS_wmePsModeBK");
NDIS_STRING STRQOSwmePsModeVI = NDIS_STRING_CONST("QOS_wmePsModeVI");
NDIS_STRING STRQOSwmePsModeVO = NDIS_STRING_CONST("QOS_wmePsModeVO");
NDIS_STRING STRQOSShortRetryLimitBE = NDIS_STRING_CONST("QOS_ShortRetryLimitBE");
NDIS_STRING STRQOSShortRetryLimitBK = NDIS_STRING_CONST("QOS_ShortRetryLimitBK");
NDIS_STRING STRQOSShortRetryLimitVI = NDIS_STRING_CONST("QOS_ShortRetryLimitVI");
NDIS_STRING STRQOSShortRetryLimitVO = NDIS_STRING_CONST("QOS_ShortRetryLimitVO");
NDIS_STRING STRQOSLongRetryLimitBE = NDIS_STRING_CONST("QOS_LongRetryLimitBE");
NDIS_STRING STRQOSLongRetryLimitBK = NDIS_STRING_CONST("QOS_LongRetryLimitBK");
NDIS_STRING STRQOSLongRetryLimitVI = NDIS_STRING_CONST("QOS_LongRetryLimitVI");
NDIS_STRING STRQOSLongRetryLimitVO = NDIS_STRING_CONST("QOS_LongRetryLimitVO");
NDIS_STRING STRQOSAckPolicyBE = NDIS_STRING_CONST("QOS_AckPolicyBE");
NDIS_STRING STRQOSAckPolicyBK = NDIS_STRING_CONST("QOS_AckPolicyBK");
NDIS_STRING STRQOSAckPolicyVI = NDIS_STRING_CONST("QOS_AckPolicyVI");
NDIS_STRING STRQOSAckPolicyVO = NDIS_STRING_CONST("QOS_AckPolicyVO");
NDIS_STRING STRQoSqueue0OverFlowPolicy = NDIS_STRING_CONST("QOS_queue0OverFlowPolicy");
NDIS_STRING STRQoSqueue1OverFlowPolicy = NDIS_STRING_CONST("QOS_queue1OverFlowPolicy");
NDIS_STRING STRQoSqueue2OverFlowPolicy = NDIS_STRING_CONST("QOS_queue2OverFlowPolicy");
NDIS_STRING STRQoSqueue3OverFlowPolicy = NDIS_STRING_CONST("QOS_queue3OverFlowPolicy");
/* HW Tx queues buffers allocation thresholds */
NDIS_STRING STRQOStxBlksHighPrcntBE = NDIS_STRING_CONST("QOS_txBlksHighPrcntBE");
NDIS_STRING STRQOStxBlksHighPrcntBK = NDIS_STRING_CONST("QOS_txBlksHighPrcntBK");
NDIS_STRING STRQOStxBlksHighPrcntVI = NDIS_STRING_CONST("QOS_txBlksHighPrcntVI");
NDIS_STRING STRQOStxBlksHighPrcntVO = NDIS_STRING_CONST("QOS_txBlksHighPrcntVO");
NDIS_STRING STRQOStxBlksLowPrcntBE = NDIS_STRING_CONST("QOS_txBlksLowPrcntBE");
NDIS_STRING STRQOStxBlksLowPrcntBK = NDIS_STRING_CONST("QOS_txBlksLowPrcntBK");
NDIS_STRING STRQOStxBlksLowPrcntVI = NDIS_STRING_CONST("QOS_txBlksLowPrcntVI");
NDIS_STRING STRQOStxBlksLowPrcntVO = NDIS_STRING_CONST("QOS_txBlksLowPrcntVO");
/* Traffic Intensity parameters*/
NDIS_STRING STRTrafficIntensityThresHigh = NDIS_STRING_CONST("TrafficIntensityThresHigh");
NDIS_STRING STRTrafficIntensityThresLow = NDIS_STRING_CONST("TrafficIntensityThresLow");
NDIS_STRING STRTrafficIntensityTestInterval = NDIS_STRING_CONST("TrafficIntensityTestInterval");
NDIS_STRING STRTrafficIntensityThresholdEnabled = NDIS_STRING_CONST("TrafficIntensityThresholdEnabled");
NDIS_STRING STRTrafficMonitorMinIntervalPercentage = NDIS_STRING_CONST("TrafficMonitorMinIntervalPercent");
/* Packet Burst parameters */
NDIS_STRING STRQOSPacketBurstEnable = NDIS_STRING_CONST("QOS_PacketBurstEnable");
NDIS_STRING STRQOSPacketBurstTxOpLimit = NDIS_STRING_CONST("QOS_PacketBurstTxOpLimit");
/*-----------------------------------*/
/* QOS classifier Parameters */
/*-----------------------------------*/
NDIS_STRING STRClsfr_Type = NDIS_STRING_CONST("Clsfr_Type");
NDIS_STRING STRNumOfCodePoints = NDIS_STRING_CONST("NumOfCodePoints");
NDIS_STRING STRNumOfDstPortClassifiers = NDIS_STRING_CONST("NumOfDstPortClassifiers");
NDIS_STRING STRNumOfDstIPPortClassifiers = NDIS_STRING_CONST("NumOfDstIPPortClassifiers");
NDIS_STRING STRDSCPClassifier00_CodePoint = NDIS_STRING_CONST("DSCPClassifier00_CodePoint");
NDIS_STRING STRDSCPClassifier01_CodePoint = NDIS_STRING_CONST("DSCPClassifier01_CodePoint");
NDIS_STRING STRDSCPClassifier02_CodePoint = NDIS_STRING_CONST("DSCPClassifier02_CodePoint");
NDIS_STRING STRDSCPClassifier03_CodePoint = NDIS_STRING_CONST("DSCPClassifier03_CodePoint");
NDIS_STRING STRDSCPClassifier04_CodePoint = NDIS_STRING_CONST("DSCPClassifier04_CodePoint");
NDIS_STRING STRDSCPClassifier05_CodePoint = NDIS_STRING_CONST("DSCPClassifier05_CodePoint");
NDIS_STRING STRDSCPClassifier06_CodePoint = NDIS_STRING_CONST("DSCPClassifier06_CodePoint");
NDIS_STRING STRDSCPClassifier07_CodePoint = NDIS_STRING_CONST("DSCPClassifier07_CodePoint");
NDIS_STRING STRDSCPClassifier08_CodePoint = NDIS_STRING_CONST("DSCPClassifier08_CodePoint");
NDIS_STRING STRDSCPClassifier09_CodePoint = NDIS_STRING_CONST("DSCPClassifier09_CodePoint");
NDIS_STRING STRDSCPClassifier10_CodePoint = NDIS_STRING_CONST("DSCPClassifier10_CodePoint");
NDIS_STRING STRDSCPClassifier11_CodePoint = NDIS_STRING_CONST("DSCPClassifier11_CodePoint");
NDIS_STRING STRDSCPClassifier12_CodePoint = NDIS_STRING_CONST("DSCPClassifier12_CodePoint");
NDIS_STRING STRDSCPClassifier13_CodePoint = NDIS_STRING_CONST("DSCPClassifier13_CodePoint");
NDIS_STRING STRDSCPClassifier14_CodePoint = NDIS_STRING_CONST("DSCPClassifier14_CodePoint");
NDIS_STRING STRDSCPClassifier15_CodePoint = NDIS_STRING_CONST("DSCPClassifier15_CodePoint");
NDIS_STRING STRDSCPClassifier00_DTag = NDIS_STRING_CONST("DSCPClassifier00_DTag");
NDIS_STRING STRDSCPClassifier01_DTag = NDIS_STRING_CONST("DSCPClassifier01_DTag");
NDIS_STRING STRDSCPClassifier02_DTag = NDIS_STRING_CONST("DSCPClassifier02_DTag");
NDIS_STRING STRDSCPClassifier03_DTag = NDIS_STRING_CONST("DSCPClassifier03_DTag");
NDIS_STRING STRDSCPClassifier04_DTag = NDIS_STRING_CONST("DSCPClassifier04_DTag");
NDIS_STRING STRDSCPClassifier05_DTag = NDIS_STRING_CONST("DSCPClassifier05_DTag");
NDIS_STRING STRDSCPClassifier06_DTag = NDIS_STRING_CONST("DSCPClassifier06_DTag");
NDIS_STRING STRDSCPClassifier07_DTag = NDIS_STRING_CONST("DSCPClassifier07_DTag");
NDIS_STRING STRDSCPClassifier08_DTag = NDIS_STRING_CONST("DSCPClassifier08_DTag");
NDIS_STRING STRDSCPClassifier09_DTag = NDIS_STRING_CONST("DSCPClassifier09_DTag");
NDIS_STRING STRDSCPClassifier10_DTag = NDIS_STRING_CONST("DSCPClassifier10_DTag");
NDIS_STRING STRDSCPClassifier11_DTag = NDIS_STRING_CONST("DSCPClassifier11_DTag");
NDIS_STRING STRDSCPClassifier12_DTag = NDIS_STRING_CONST("DSCPClassifier12_DTag");
NDIS_STRING STRDSCPClassifier13_DTag = NDIS_STRING_CONST("DSCPClassifier13_DTag");
NDIS_STRING STRDSCPClassifier14_DTag = NDIS_STRING_CONST("DSCPClassifier14_DTag");
NDIS_STRING STRDSCPClassifier15_DTag = NDIS_STRING_CONST("DSCPClassifier15_DTag");
NDIS_STRING STRPortClassifier00_Port = NDIS_STRING_CONST("PortClassifier00_Port");
NDIS_STRING STRPortClassifier01_Port = NDIS_STRING_CONST("PortClassifier01_Port");
NDIS_STRING STRPortClassifier02_Port = NDIS_STRING_CONST("PortClassifier02_Port");
NDIS_STRING STRPortClassifier03_Port = NDIS_STRING_CONST("PortClassifier03_Port");
NDIS_STRING STRPortClassifier04_Port = NDIS_STRING_CONST("PortClassifier04_Port");
NDIS_STRING STRPortClassifier05_Port = NDIS_STRING_CONST("PortClassifier05_Port");
NDIS_STRING STRPortClassifier06_Port = NDIS_STRING_CONST("PortClassifier06_Port");
NDIS_STRING STRPortClassifier07_Port = NDIS_STRING_CONST("PortClassifier07_Port");
NDIS_STRING STRPortClassifier08_Port = NDIS_STRING_CONST("PortClassifier08_Port");
NDIS_STRING STRPortClassifier09_Port = NDIS_STRING_CONST("PortClassifier09_Port");
NDIS_STRING STRPortClassifier10_Port = NDIS_STRING_CONST("PortClassifier10_Port");
NDIS_STRING STRPortClassifier11_Port = NDIS_STRING_CONST("PortClassifier11_Port");
NDIS_STRING STRPortClassifier12_Port = NDIS_STRING_CONST("PortClassifier12_Port");
NDIS_STRING STRPortClassifier13_Port = NDIS_STRING_CONST("PortClassifier13_Port");
NDIS_STRING STRPortClassifier14_Port = NDIS_STRING_CONST("PortClassifier14_Port");
NDIS_STRING STRPortClassifier15_Port = NDIS_STRING_CONST("PortClassifier15_Port");
NDIS_STRING STRPortClassifier00_DTag = NDIS_STRING_CONST("PortClassifier00_DTag");
NDIS_STRING STRPortClassifier01_DTag = NDIS_STRING_CONST("PortClassifier01_DTag");
NDIS_STRING STRPortClassifier02_DTag = NDIS_STRING_CONST("PortClassifier02_DTag");
NDIS_STRING STRPortClassifier03_DTag = NDIS_STRING_CONST("PortClassifier03_DTag");
NDIS_STRING STRPortClassifier04_DTag = NDIS_STRING_CONST("PortClassifier04_DTag");
NDIS_STRING STRPortClassifier05_DTag = NDIS_STRING_CONST("PortClassifier05_DTag");
NDIS_STRING STRPortClassifier06_DTag = NDIS_STRING_CONST("PortClassifier06_DTag");
NDIS_STRING STRPortClassifier07_DTag = NDIS_STRING_CONST("PortClassifier07_DTag");
NDIS_STRING STRPortClassifier08_DTag = NDIS_STRING_CONST("PortClassifier08_DTag");
NDIS_STRING STRPortClassifier09_DTag = NDIS_STRING_CONST("PortClassifier09_DTag");
NDIS_STRING STRPortClassifier10_DTag = NDIS_STRING_CONST("PortClassifier10_DTag");
NDIS_STRING STRPortClassifier11_DTag = NDIS_STRING_CONST("PortClassifier11_DTag");
NDIS_STRING STRPortClassifier12_DTag = NDIS_STRING_CONST("PortClassifier12_DTag");
NDIS_STRING STRPortClassifier13_DTag = NDIS_STRING_CONST("PortClassifier13_DTag");
NDIS_STRING STRPortClassifier14_DTag = NDIS_STRING_CONST("PortClassifier14_DTag");
NDIS_STRING STRPortClassifier15_DTag = NDIS_STRING_CONST("PortClassifier15_DTag");
NDIS_STRING STRIPPortClassifier00_IPAddress = NDIS_STRING_CONST("IPPortClassifier00_IPAddress");
NDIS_STRING STRIPPortClassifier01_IPAddress = NDIS_STRING_CONST("IPPortClassifier01_IPAddress");
NDIS_STRING STRIPPortClassifier02_IPAddress = NDIS_STRING_CONST("IPPortClassifier02_IPAddress");
NDIS_STRING STRIPPortClassifier03_IPAddress = NDIS_STRING_CONST("IPPortClassifier03_IPAddress");
NDIS_STRING STRIPPortClassifier04_IPAddress = NDIS_STRING_CONST("IPPortClassifier04_IPAddress");
NDIS_STRING STRIPPortClassifier05_IPAddress = NDIS_STRING_CONST("IPPortClassifier05_IPAddress");
NDIS_STRING STRIPPortClassifier06_IPAddress = NDIS_STRING_CONST("IPPortClassifier06_IPAddress");
NDIS_STRING STRIPPortClassifier07_IPAddress = NDIS_STRING_CONST("IPPortClassifier07_IPAddress");
NDIS_STRING STRIPPortClassifier08_IPAddress = NDIS_STRING_CONST("IPPortClassifier08_IPAddress");
NDIS_STRING STRIPPortClassifier09_IPAddress = NDIS_STRING_CONST("IPPortClassifier09_IPAddress");
NDIS_STRING STRIPPortClassifier10_IPAddress = NDIS_STRING_CONST("IPPortClassifier10_IPAddress");
NDIS_STRING STRIPPortClassifier11_IPAddress = NDIS_STRING_CONST("IPPortClassifier11_IPAddress");
NDIS_STRING STRIPPortClassifier12_IPAddress = NDIS_STRING_CONST("IPPortClassifier12_IPAddress");
NDIS_STRING STRIPPortClassifier13_IPAddress = NDIS_STRING_CONST("IPPortClassifier13_IPAddress");
NDIS_STRING STRIPPortClassifier14_IPAddress = NDIS_STRING_CONST("IPPortClassifier14_IPAddress");
NDIS_STRING STRIPPortClassifier15_IPAddress = NDIS_STRING_CONST("IPPortClassifier15_IPAddress");
NDIS_STRING STRIPPortClassifier00_Port = NDIS_STRING_CONST("IPPortClassifier00_Port");
NDIS_STRING STRIPPortClassifier01_Port = NDIS_STRING_CONST("IPPortClassifier01_Port");
NDIS_STRING STRIPPortClassifier02_Port = NDIS_STRING_CONST("IPPortClassifier02_Port");
NDIS_STRING STRIPPortClassifier03_Port = NDIS_STRING_CONST("IPPortClassifier03_Port");
NDIS_STRING STRIPPortClassifier04_Port = NDIS_STRING_CONST("IPPortClassifier04_Port");
NDIS_STRING STRIPPortClassifier05_Port = NDIS_STRING_CONST("IPPortClassifier05_Port");
NDIS_STRING STRIPPortClassifier06_Port = NDIS_STRING_CONST("IPPortClassifier06_Port");
NDIS_STRING STRIPPortClassifier07_Port = NDIS_STRING_CONST("IPPortClassifier07_Port");
NDIS_STRING STRIPPortClassifier08_Port = NDIS_STRING_CONST("IPPortClassifier08_Port");
NDIS_STRING STRIPPortClassifier09_Port = NDIS_STRING_CONST("IPPortClassifier09_Port");
NDIS_STRING STRIPPortClassifier10_Port = NDIS_STRING_CONST("IPPortClassifier10_Port");
NDIS_STRING STRIPPortClassifier11_Port = NDIS_STRING_CONST("IPPortClassifier11_Port");
NDIS_STRING STRIPPortClassifier12_Port = NDIS_STRING_CONST("IPPortClassifier12_Port");
NDIS_STRING STRIPPortClassifier13_Port = NDIS_STRING_CONST("IPPortClassifier13_Port");
NDIS_STRING STRIPPortClassifier14_Port = NDIS_STRING_CONST("IPPortClassifier14_Port");
NDIS_STRING STRIPPortClassifier15_Port = NDIS_STRING_CONST("IPPortClassifier15_Port");
NDIS_STRING STRIPPortClassifier00_DTag = NDIS_STRING_CONST("IPPortClassifier00_DTag");
NDIS_STRING STRIPPortClassifier01_DTag = NDIS_STRING_CONST("IPPortClassifier01_DTag");
NDIS_STRING STRIPPortClassifier02_DTag = NDIS_STRING_CONST("IPPortClassifier02_DTag");
NDIS_STRING STRIPPortClassifier03_DTag = NDIS_STRING_CONST("IPPortClassifier03_DTag");
NDIS_STRING STRIPPortClassifier04_DTag = NDIS_STRING_CONST("IPPortClassifier04_DTag");
NDIS_STRING STRIPPortClassifier05_DTag = NDIS_STRING_CONST("IPPortClassifier05_DTag");
NDIS_STRING STRIPPortClassifier06_DTag = NDIS_STRING_CONST("IPPortClassifier06_DTag");
NDIS_STRING STRIPPortClassifier07_DTag = NDIS_STRING_CONST("IPPortClassifier07_DTag");
NDIS_STRING STRIPPortClassifier08_DTag = NDIS_STRING_CONST("IPPortClassifier08_DTag");
NDIS_STRING STRIPPortClassifier09_DTag = NDIS_STRING_CONST("IPPortClassifier09_DTag");
NDIS_STRING STRIPPortClassifier10_DTag = NDIS_STRING_CONST("IPPortClassifier10_DTag");
NDIS_STRING STRIPPortClassifier11_DTag = NDIS_STRING_CONST("IPPortClassifier11_DTag");
NDIS_STRING STRIPPortClassifier12_DTag = NDIS_STRING_CONST("IPPortClassifier12_DTag");
NDIS_STRING STRIPPortClassifier13_DTag = NDIS_STRING_CONST("IPPortClassifier13_DTag");
NDIS_STRING STRIPPortClassifier14_DTag = NDIS_STRING_CONST("IPPortClassifier14_DTag");
NDIS_STRING STRIPPortClassifier15_DTag = NDIS_STRING_CONST("IPPortClassifier15_DTag");
/*-----------------------------
Rx Data Filter parameters
-----------------------------*/
NDIS_STRING STRRxDataFiltersEnabled = NDIS_STRING_CONST("RxDataFilters_Enabled");
NDIS_STRING STRRxDataFiltersDefaultAction = NDIS_STRING_CONST("RxDataFilters_DefaultAction");
NDIS_STRING STRRxDataFiltersFilter1Offset = NDIS_STRING_CONST("RxDataFilters_Filter1Offset");
NDIS_STRING STRRxDataFiltersFilter1Mask = NDIS_STRING_CONST("RxDataFilters_Filter1Mask");
NDIS_STRING STRRxDataFiltersFilter1Pattern = NDIS_STRING_CONST("RxDataFilters_Filter1Pattern");
NDIS_STRING STRRxDataFiltersFilter2Offset = NDIS_STRING_CONST("RxDataFilters_Filter2Offset");
NDIS_STRING STRRxDataFiltersFilter2Mask = NDIS_STRING_CONST("RxDataFilters_Filter2Mask");
NDIS_STRING STRRxDataFiltersFilter2Pattern = NDIS_STRING_CONST("RxDataFilters_Filter2Pattern");
NDIS_STRING STRRxDataFiltersFilter3Offset = NDIS_STRING_CONST("RxDataFilters_Filter3Offset");
NDIS_STRING STRRxDataFiltersFilter3Mask = NDIS_STRING_CONST("RxDataFilters_Filter3Mask");
NDIS_STRING STRRxDataFiltersFilter3Pattern = NDIS_STRING_CONST("RxDataFilters_Filter3Pattern");
NDIS_STRING STRRxDataFiltersFilter4Offset = NDIS_STRING_CONST("RxDataFilters_Filter4Offset");
NDIS_STRING STRRxDataFiltersFilter4Mask = NDIS_STRING_CONST("RxDataFilters_Filter4Mask");
NDIS_STRING STRRxDataFiltersFilter4Pattern = NDIS_STRING_CONST("RxDataFilters_Filter4Pattern");
/*---------------------------
Measurement parameters
-----------------------------*/
NDIS_STRING STRMeasurTrafficThreshold = NDIS_STRING_CONST( "MeasurTrafficThreshold" );
NDIS_STRING STRMeasurMaxDurationOnNonServingChannel = NDIS_STRING_CONST( "MeasurMaxDurationOnNonServingChannel" );
/*---------------------------
EXC Manager parameters
-----------------------------*/
#ifdef EXC_MODULE_INCLUDED
NDIS_STRING STRExcModeEnabled = NDIS_STRING_CONST( "ExcModeEnabled" );
#endif
NDIS_STRING STRExcTestIgnoreDeAuth0 = NDIS_STRING_CONST( "ExcTestRogeAP" );
/*-----------------------------------*/
/* EEPROM-less support */
/*-----------------------------------*/
NDIS_STRING STREEPROMlessModeSupported = NDIS_STRING_CONST( "EEPROMlessModeSupported" );
NDIS_STRING STRstationMacAddress = NDIS_STRING_CONST("dot11StationID");
/*-----------------------------------*/
/* INI file to configuration */
/*-----------------------------------*/
NDIS_STRING SendINIBufferToUser = NDIS_STRING_CONST("SendINIBufferToUserMode");
void regConvertStringtoMACAddress(UINT8 *staMACAddressString,UINT8 *MacAddressArray);
void regConvertStringtoIpAddress(UINT8 *staIpAddressString,UINT8 *IpAddressArray);
void regConvertStringtoBeaconIETable(UINT8 *staIpAddressString,UINT8 *BeaconIEArray, UINT8 size);
/*-----------------------------------*/
/* Scan concentrator parameters */
/*-----------------------------------*/
NDIS_STRING STRPassiveScanDwellTime = NDIS_STRING_CONST( "DriverPassiveScanDefaultDwellTime" );
// TRS: Scan changes from TI
NDIS_STRING STRMinimumDurationBetweenOidScans = NDIS_STRING_CONST( "MinimumDurationBetweenOidScans" );
//TRS: end of Scan changes from TI
/*
NDIS_STRING STRPctACXRxMemoryPool = NDIS_STRING_CONST( "PctACXRxMemoryPool" );
NDIS_STRING STRSendPacketsPerOID = NDIS_STRING_CONST( "Dot11SendPacketsPerOID" );
NDIS_STRING STRFragCacheSize = NDIS_STRING_CONST( "FragCacheSize" );
*/
static int decryptWEP( PCHAR pSrc, PCHAR pDst, ULONG len);
short _btoi ( char *sptr, short slen, int *pi, short base );
static VOID initRadioValusFromRgstryString( PCHAR pSrc, PCHAR pDst, ULONG len);
static void readRates(PTIWLN_ADAPTER_T pAdapter, initTable_t *pInitTable);
static void decryptScanControlTable(PUCHAR src, PUCHAR dst, USHORT len);
static UINT32 regReadIntegerTable(PTIWLN_ADAPTER_T pAdapter,
PNDIS_STRING pParameterName,
PCHAR pDefaultValue,
USHORT defaultLen,
PUCHAR pParameter);
static void assignRegValue(PULONG lValue, PNDIS_CONFIGURATION_PARAMETER ndisParameter);
static void parse_filter_request(rxDataFilterRequest_t * request, UINT8 offset, char * mask, UINT8 maskLength, char * pattern, UINT8 patternLength);
/* ---------------------------------------------------------------------------*/
/* Converts a string to a signed int. Assumes base 10. Assumes positive*/
/* number*/
/**/
/* Returns value on success, -1 on failure*/
/**/
/* ---------------------------------------------------------------------------*/
ULONG
tiwlnstrtoi(char *num, UINT length)
{
ULONG value;
if(num == NULL || length == 0 )
{
return 0;
}
for(value=0;length&&*num;num++,length--)
{
if(*num<='9'&&*num>= '0')
{
value=(value*10)+(*num - '0');
}
else { /* Out of range*/
break;
}
}
return value;
}
/*-----------------------------------------------------------------------------
Routine Name:
regReadConfigString
Routine Description:
Arguments:
Return Value:
None
-----------------------------------------------------------------------------*/
BOOLEAN
regReadConfigString(
IN NDIS_HANDLE hConfig,
IN NDIS_STRING *pParmName,
OUT PCHAR pStringOut,
OUT USHORT cbString
)
{
BOOLEAN fRC = FALSE;
NDIS_STATUS rc;
PNDIS_CONFIGURATION_PARAMETER pParameter;
ANSI_STRING strAnsi;
do {
/* Read the string...*/
NdisReadConfiguration( &rc, &pParameter, hConfig, pParmName,
NdisParameterString );
if ( NDIS_STATUS_SUCCESS != rc ) break;
/* convert the string...*/
strAnsi.Length = 0;
strAnsi.MaximumLength = cbString;
strAnsi.Buffer = pStringOut;
rc = NdisUnicodeStringToAnsiString(&strAnsi,
&pParameter->ParameterData.StringData);
if ( NDIS_STATUS_SUCCESS != rc ) break;
/* NULL terminate the output string. If we cannot fit the NULL, that's*/
/* an error...*/
if ( cbString < strAnsi.Length + 1 ) break;
pStringOut[ strAnsi.Length ] = '\0';
fRC = TRUE;
} while( 0 );
return( fRC );
}
/*-----------------------------------------------------------------------------
Routine Name:
regReadRatesConfigArray
Routine Description:
Arguments:
Return Value:
None
-----------------------------------------------------------------------------*/
BOOLEAN
regReadRatesConfigArray(
NDIS_HANDLE SubKeyHandle,
PNDIS_STRING Str,
PUCHAR target,
PUCHAR def,
PULONG size
)
{
BOOLEAN fRC = TRUE;
CHAR str[200];
UCHAR val;
int i,j;
if (!regReadConfigString(SubKeyHandle, Str, (PCHAR)str, 200) ) {
fRC = FALSE;
}
i=j=0;
do
{
val = 0;
if (!fRC) {
val = def[i];
if(!val) break;
}
else
{
if(!str[j])
break;
while (str[j] && (str[j]<'0' || str[j]>'9')) j++;
if (str[j])
{
while (str[j] && str[j]>='0' && str[j]<='9')
{
val=10*val+str[j]-'0';
j++;
}
}
}
target[i++] = val;
}
while (val);
*size = i;
return fRC;
}
/*-----------------------------------------------------------------------------
Routine Name:
convertRatesFromRegistryFormatToDriver
Routine Description:
Arguments:
Return Value:
None
-----------------------------------------------------------------------------*/
rate_e convertRatesFromRegistryFormatToDriver(UCHAR rateIn)
{
switch(rateIn)
{
case 0x1: return DRV_RATE_1M;
case 0x2: return DRV_RATE_2M;
case 0x5: return DRV_RATE_5_5M;
case 0xB: return DRV_RATE_11M;
case 0x16: return DRV_RATE_22M;
case 0x6: return DRV_RATE_6M;
case 0x9: return DRV_RATE_9M;
case 0xC: return DRV_RATE_12M;
case 0x12: return DRV_RATE_18M;
case 0x18: return DRV_RATE_24M;
case 0x24: return DRV_RATE_36M;
case 0x30: return DRV_RATE_48M;
case 0x36: return DRV_RATE_54M;
default: return DRV_RATE_6M;
}
}
/*-----------------------------------------------------------------------------
Routine Name:
regConvertStringtoMACAddress
Routine Description: Converts the MAC Adrress in a form of string readen from the Registry
to the MAC Address Array to be stored in the init_table struct
Arguments:
Return Value:
None
-----------------------------------------------------------------------------*/
void regConvertStringtoMACAddress(UINT8 *staMACAddressString,UINT8 *MacAddressArray)
{
char *ptr;
UINT8 *tmpMacAddr;
UINT8 value = 0, value_l, value_h, add_value;
int i, str_len;
/* Take the pointer to the string MAC Address to convert it to the Array MAC Address */
ptr = (char *)staMACAddressString;
tmpMacAddr = MacAddressArray;
str_len = 3 * MAC_ADDR_LEN - 1;
#if 0
for(i=0; i<MAC_ADDR_LEN ; ptr++)
{
value_l = (*ptr-'0');
/* PRINTF(DBG_REGISTRY,("value_l [%d] *ptr %c value %d\n",value_l,*ptr,value));*/
if( value_l < 9)
{
value = value*10 + value_l;
/* PRINTF(DBG_REGISTRY,("value %d value_l %d \n",value,value_l));*/
}
else
{
tmpMacAddr[i] = value;
/* PRINTF(DBG_REGISTRY,("tmpMacAddr[%d] is %d\n",i,tmpMacAddr[i]));*/
value = 0;
i++;
}
}
#else
for(i=0;(i < MAC_ADDR_LEN);ptr++,str_len--)
{
if (str_len > 0) {
/* The value can be or "0-9" or from "a-f" */
value_l = (*ptr - '0');
value_h = (*ptr - 'a');
}
else { /* last element */
value_l = value_h = 16;
}
/*PRINTF(DBG_REGISTRY,("value_l [%d] value_h [%d] *ptr %c value %d\n",value_l,value_h,*ptr,value));*/
if( (value_l <= 9) || (value_h <= 15 ) )
{
/* We are in an expected range */
/* nCheck if 0-9 */
if(value_l <= 9 )
{
add_value = value_l;
}
/* Check if a-f */
else
{
/* 'a' is in fact 10 decimal in hexa */
add_value = value_h + 10;
}
value = value * 16 + add_value;
/*PRINTF(DBG_REGISTRY,("value %d add_value %d \n",value,add_value));*/
}
else
{
tmpMacAddr[i] = value;
/*PRINTF(DBG_REGISTRY,("tmpMacAddr[%d] is %x\n",i,tmpMacAddr[i]));*/
value = 0;
i++;
}
}
#endif
}
/*-----------------------------------------------------------------------------
Routine Name:
regFillInitTable
Routine Description:
Arguments:
Return Value:
None
-----------------------------------------------------------------------------*/
VOID
regFillInitTable(
PTIWLN_ADAPTER_T pAdapter,
PVOID pInitTable
)
{
UINT8 radioString[3*RX_LEVEL_TABLE_SIZE];
UINT8 bssidBroadcast[MAC_ADDR_LEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
UINT8* RFMD_RxLevel = "bc b3 a9 9a 90 89 80 79 70 68 64 61 60 55 00";
UINT8* RFMD_Lna = "01 01 01 01 01 01 01 01 01 01 01 01 01 01 01";
UINT8* RFMD_Rssi = "0a 0f 14 19 1e 23 28 2d 32 37 3c 41 46 4b c8";
UINT8* MAXIM_RxLevel = "55 4f 4a 43 3a 32 5d 56 4e 46 3e 37 2a 23 1f";
UINT8* MAXIM_Lna = "00 00 00 00 00 00 01 01 01 01 01 01 01 01 01";
UINT8* MAXIM_Rssi = "0a 0f 14 19 1e 23 28 2d 32 37 3c 41 46 4b 5a";
char dummySsidString[MAX_SSID_LEN];
ctrlData_rateAdapt_t RateAdapt;
UCHAR temp[MAX_SUPPORTED_RATES], i;
UINT8 *ClsfrIp = "0a 03 01 c9";
UINT8 ClsfrIpString[16];
UINT8 ClsfrIpStringSize;
/* EEPROM-less : MAC address */
UINT8 regMACstrLen = REG_MAC_ADDR_STR_LEN;
UINT8 staMACAddress[REG_MAC_ADDR_STR_LEN];
UINT8 defStaMacAddress[]= "00 22 11 33 44 55";
UINT8 regArpIpStrLen = REG_ARP_IP_ADDR_STR_LEN ;
UINT8 staArpIpAddress[REG_ARP_IP_ADDR_STR_LEN];
UINT8 defArpIpAddress[] = "0a 00 00 0a" ; /*value by default*/
/*defaults values for beacon IE table*/
/*UINT8 defBeaconIETableSize = 0 ;*/
UINT8 defBeaconIETable[] = "00 01 01 01 32 01 2a 01 03 01 06 01 07 01 20 01 25 01 23 01 30 01 28 01 2e 01 85 01 dd 01 00 52 f2 02 00 01";
/*UINT8 tmpIeTable[BEACON_FILTER_TABLE_MAX_SIZE] ;*/
UINT8 staBeaconFilterIETable[BEACON_FILTER_STRING_MAX_LEN] ;
UINT8 tmpIeTableSize = 35;
UINT8 strSize = 104 ;
UINT filterOffset = 0;
char filterMask[16];
UINT8 filterMaskLength;
char filterPattern[16];
UINT8 filterPatternLength;
initTable_t* p = (initTable_t*) pInitTable;
USHORT tableLen = 0;
USHORT loopIndex = 0;
UINT8 ScanControlTable24Tmp[2 * NUM_OF_CHANNELS_24];
UINT8 ScanControlTable5Tmp[2 * A_5G_BAND_NUM_CHANNELS];
UINT8 ScanControlTable24Def[2* NUM_OF_CHANNELS_24] = "FFFFFFFFFFFFFFFFFFFFFFFFFFFF";
UINT8 ScanControlTable5Def[2 * A_5G_BAND_NUM_CHANNELS] = "FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000000000000000000000000000000000000000000000000000000000000000000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000000000000000FF000000FF000000FF000000FF00000000000000000000000000000000000000";
UINT8 reportSeverityTableDefaults[WLAN_MAX_SEVERITIES] = "000000000000";
UINT8 reportModuleTableDefaults[WLAN_MAX_LOG_MODULES];
UINT16 reportSeverityTableLen;
UINT16 reportModuleTableLen;
int macIndex ; /*used for group address filtering*/
UINT32 localNumTxDesc;
PRINT(DBG_REGISTRY_LOUD, "TIWL: Reading InitTable parameters\n");
/*set all report modules.as default*/
memset(reportModuleTableDefaults, '1', WLAN_MAX_LOG_MODULES );
/* Reset structure */
NdisZeroMemory(p, sizeof(initTable_t));
NdisZeroMemory(&RateAdapt, sizeof(ctrlData_rateAdapt_t));
/*reads the arp ip from table*/
regReadStringParameter(pAdapter ,&STRArp_Ip_Addr,
(PCHAR)(defArpIpAddress),REG_ARP_IP_ADDR_STR_LEN,
(PUCHAR)staArpIpAddress,&regArpIpStrLen ) ;
regReadIntegerParameter(pAdapter, &STRArp_Ip_Filter_Ena,
DEF_FILTER_ENABLE_VALUE, MIN_FILTER_ENABLE_VALUE, MAX_FILTER_ENABLE_VALUE,
sizeof p->TnetwDrv_InitParams.arpIpFilterParams.isFilterEnabled,
(PUCHAR)&p->TnetwDrv_InitParams.arpIpFilterParams.isFilterEnabled );
regConvertStringtoIpAddress(staArpIpAddress, (PUCHAR)&(p->TnetwDrv_InitParams.arpIpFilterParams.arpIpInitParams.addr[0]) );
/* Beacon filter*/
/*is the desired state ENABLED ?*/
regReadIntegerParameter(pAdapter, &STRBeaconFilterDesiredState,
DEF_BEACON_FILTER_ENABLE_VALUE, MIN_BEACON_FILTER_ENABLE_VALUE, MAX_BEACON_FILTER_ENABLE_VALUE,
sizeof p->siteMgrInitParams.beaconFilterParams.desiredState,
(PUCHAR)&p->siteMgrInitParams.beaconFilterParams.desiredState );
regReadIntegerParameter(pAdapter, &STRBeaconFilterStored,
DEF_NUM_STORED_FILTERS, MIN_NUM_STORED_FILTERS, MAX_NUM_STORED_FILTERS,
sizeof p->siteMgrInitParams.beaconFilterParams.numOfStored,
(PUCHAR)&p->siteMgrInitParams.beaconFilterParams.numOfStored );
/*Read the beacon filter IE table*/
/*Read the size of the table*/
regReadIntegerParameter(pAdapter, &STRBeaconIETableSize,
BEACON_FILTER_IE_TABLE_MIN_SIZE, BEACON_FILTER_IE_TABLE_MIN_SIZE,
BEACON_FILTER_IE_TABLE_MAX_SIZE,
sizeof p->siteMgrInitParams.beaconFilterParams.IETableSize,
(PUCHAR)(&p->siteMgrInitParams.beaconFilterParams.IETableSize) );
tmpIeTableSize = p->siteMgrInitParams.beaconFilterParams.IETableSize;
/*Read the number of elements in the table ( this is because 221 has 5 values following it )*/
regReadIntegerParameter(pAdapter, &STRBeaconIETableNumOfElem,
DEF_BEACON_FILTER_IE_TABLE_NUM, BEACON_FILTER_IE_TABLE_MIN_NUM,
BEACON_FILTER_IE_TABLE_MAX_NUM,
sizeof p->siteMgrInitParams.beaconFilterParams.numOfElements,
(PUCHAR)(&p->siteMgrInitParams.beaconFilterParams.numOfElements) );
/*printk("\n OsRgstr tmpIeTableSize = %d numOfElems = %d" , tmpIeTableSize , p->siteMgrInitParams.beaconFilterParams.numOfElements) ;*/
strSize = tmpIeTableSize*2 +tmpIeTableSize - 1 ; /*includes spaces between bytes*/
if ( ( tmpIeTableSize > 0 ) && ( tmpIeTableSize <= BEACON_FILTER_IE_TABLE_MAX_SIZE) )
{
regReadStringParameter(pAdapter, &STRBeaconIETable ,
(PCHAR)(defBeaconIETable), strSize,
(PUCHAR)staBeaconFilterIETable, &strSize);
regConvertStringtoBeaconIETable(staBeaconFilterIETable , (PUCHAR)&p->siteMgrInitParams.beaconFilterParams.IETable[0]/*(PUCHAR)&(tmpIeTable[0] )*/ , tmpIeTableSize);
}
/* MAC ADDRESSES FILTER*/
regReadIntegerParameter(pAdapter, &STRFilterEnabled,
DEF_FILTER_ENABLE_VALUE, MIN_FILTER_ENABLE_VALUE,
MAX_FILTER_ENABLE_VALUE,
sizeof p->TnetwDrv_InitParams.macAddrFilterParams.isFilterEnabled,
(PUCHAR) &p->TnetwDrv_InitParams.macAddrFilterParams.isFilterEnabled);
regReadIntegerParameter(pAdapter, &STRnumGroupAddrs,
NUM_GROUP_ADDRESS_VALUE_DEF, NUM_GROUP_ADDRESS_VALUE_MIN,
NUM_GROUP_ADDRESS_VALUE_MAX,
sizeof p->TnetwDrv_InitParams.macAddrFilterParams.numOfMacAddresses,
(PUCHAR) &p->TnetwDrv_InitParams.macAddrFilterParams.numOfMacAddresses);
/*printk("\nOsRgstry Num Of Group Addr:%d \n" , p->TnetwDrv_InitParams.macAddrFilterParams.numOfMacAddresses) ;*/
macIndex = p->TnetwDrv_InitParams.macAddrFilterParams.numOfMacAddresses -1 ;
switch( macIndex )
{
case 7:
{
regReadStringParameter(pAdapter, &STRGroup_addr7,
(PCHAR)(defStaMacAddress), REG_MAC_ADDR_STR_LEN,
(PUCHAR)staMACAddress, &regMACstrLen);
regConvertStringtoMACAddress(staMACAddress,(PUCHAR) &p->TnetwDrv_InitParams.macAddrFilterParams.macAddrTable[7].addr);
--macIndex;
}
case 6:
{
regReadStringParameter(pAdapter, &STRGroup_addr6,
(PCHAR)(defStaMacAddress), REG_MAC_ADDR_STR_LEN,
(PUCHAR)staMACAddress, &regMACstrLen);
regConvertStringtoMACAddress(staMACAddress,(PUCHAR) &p->TnetwDrv_InitParams.macAddrFilterParams.macAddrTable[6].addr);
--macIndex;
}
case 5:
{
regReadStringParameter(pAdapter, &STRGroup_addr5,
(PCHAR)(defStaMacAddress), REG_MAC_ADDR_STR_LEN,
(PUCHAR)staMACAddress, &regMACstrLen);
regConvertStringtoMACAddress(staMACAddress,(PUCHAR) &p->TnetwDrv_InitParams.macAddrFilterParams.macAddrTable[5].addr);
--macIndex;
}
case 4:
{
regReadStringParameter(pAdapter, &STRGroup_addr4,
(PCHAR)(defStaMacAddress), REG_MAC_ADDR_STR_LEN,
(PUCHAR)staMACAddress, &regMACstrLen);
regConvertStringtoMACAddress(staMACAddress,(PUCHAR) &p->TnetwDrv_InitParams.macAddrFilterParams.macAddrTable[4].addr);
--macIndex;
}
case 3:
{
regReadStringParameter(pAdapter, &STRGroup_addr3,
(PCHAR)(defStaMacAddress), REG_MAC_ADDR_STR_LEN,
(PUCHAR)staMACAddress, &regMACstrLen);
regConvertStringtoMACAddress(staMACAddress,(PUCHAR) &p->TnetwDrv_InitParams.macAddrFilterParams.macAddrTable[3].addr);
--macIndex;
}
case 2:
{
regReadStringParameter(pAdapter, &STRGroup_addr2,
(PCHAR)(defStaMacAddress), REG_MAC_ADDR_STR_LEN,
(PUCHAR)staMACAddress, &regMACstrLen);
regConvertStringtoMACAddress(staMACAddress,(PUCHAR) &p->TnetwDrv_InitParams.macAddrFilterParams.macAddrTable[2].addr );
--macIndex;
}
case 1:
{
regReadStringParameter(pAdapter, &STRGroup_addr1,
(PCHAR)(defStaMacAddress), REG_MAC_ADDR_STR_LEN,
(PUCHAR)staMACAddress, &regMACstrLen);
regConvertStringtoMACAddress(staMACAddress,(PUCHAR) &p->TnetwDrv_InitParams.macAddrFilterParams.macAddrTable[1].addr);
--macIndex;
}
case 0:
{
regReadStringParameter(pAdapter, &STRGroup_addr0,
(PCHAR)(defStaMacAddress), REG_MAC_ADDR_STR_LEN,
(PUCHAR)staMACAddress, &regMACstrLen);
regConvertStringtoMACAddress(staMACAddress,(PUCHAR) &p->TnetwDrv_InitParams.macAddrFilterParams.macAddrTable[0].addr);
}
default:
{
}
}
/* Read Beacon early wakeup parmeter */
regReadIntegerParameter(pAdapter, &STREarlyWakeup,
EARLY_WAKEUP_ENABLE_DEF, EARLY_WAKEUP_ENABLE_MIN,
EARLY_WAKEUP_ENABLE_MAX,
sizeof(p->TnetwDrv_InitParams.macPreambleParams.earlyWakeUp),
(PUCHAR) &p->TnetwDrv_InitParams.macPreambleParams.earlyWakeUp);
/* Read TX XFER init parameters */
regReadIntegerParameter(pAdapter, &STRTxXferBufferFullTimeToRecovery,
TX_XFER_HW_BUFFER_FULL_DUR_RECOVERY_DEF, TX_XFER_HW_BUFFER_FULL_DUR_RECOVERY_MIN,
TX_XFER_HW_BUFFER_FULL_DUR_RECOVERY_MAX,
sizeof (p->TnetwDrv_InitParams.txXferInitParams.timeToTxStuckMs),
(PUCHAR) &(p->TnetwDrv_InitParams.txXferInitParams.timeToTxStuckMs));
/************************/
/* Read severity table */
/**********************/
regReadStringParameter(pAdapter, &STR_ReportSeverityTable,
(PCHAR)reportSeverityTableDefaults,
(UCHAR)WLAN_MAX_SEVERITIES,
(PUCHAR)p->TnetwDrv_InitParams.reportParams.SeverityTable,
(PUCHAR)&reportSeverityTableLen);
/***********************/
/* Read modules table */
/*********************/
regReadStringParameter(pAdapter, &STR_ReportModuleTable,
(PCHAR)reportModuleTableDefaults,
(UCHAR)WLAN_MAX_LOG_MODULES,
(PUCHAR)p->TnetwDrv_InitParams.reportParams.ModuleTable,
(PUCHAR)&reportModuleTableLen);
/*
Default SSID should be non-Valid SSID, hence the STA will not try to connect
*/
for(loopIndex = 0; loopIndex < MAX_SSID_LEN; loopIndex++)
dummySsidString[loopIndex] = (loopIndex+1);
/*
* Read CCK table
*/
regReadRatesConfigArray(pAdapter->ConfigHandle, &STRRateAdaptationTable0,
temp, "\x1\x2\x5\xB",
(PULONG) &RateAdapt.len);
for(i=0; i<RateAdapt.len; i++) RateAdapt.rateAdaptRatesTable[i] =
RateNumberToHost(temp[i]);
NdisZeroMemory(temp, sizeof(temp));
regReadRatesConfigArray(pAdapter->ConfigHandle, &STRRateAdaptationFBThd0,
&RateAdapt.rateAdaptFBTable[0], "\x32\x32\x32\x32",
(PULONG) &RateAdapt.len);
regReadRatesConfigArray(pAdapter->ConfigHandle, &STRRateAdaptationSUThd0,
&RateAdapt.rateAdaptSUTable[0], "\x1E\x1E\x1E\x1E",
(PULONG) &RateAdapt.len);
NdisMoveMemory(&p->ctrlDataInitParams.rateTable.ctrlDataCckRateTable,
&RateAdapt, sizeof(ctrlData_rateAdapt_t));
/*
* Read PBCC table
*/
regReadRatesConfigArray(pAdapter->ConfigHandle, &STRRateAdaptationTable1,
temp, "\x1\x2\x5\xB\x16",
(PULONG) &RateAdapt.len);
for(i=0; i<RateAdapt.len; i++) RateAdapt.rateAdaptRatesTable[i] =
RateNumberToHost(temp[i]);
NdisZeroMemory(temp, sizeof(temp));
regReadRatesConfigArray(pAdapter->ConfigHandle, &STRRateAdaptationFBThd1,
&RateAdapt.rateAdaptFBTable[0], "\x32\x32\x32\x32\x32",
(PULONG) &RateAdapt.len);
regReadRatesConfigArray(pAdapter->ConfigHandle, &STRRateAdaptationSUThd1,
&RateAdapt.rateAdaptSUTable[0], "\x1E\x1E\x1E\x1E\x1E",
(PULONG) &RateAdapt.len);
NdisMoveMemory(&p->ctrlDataInitParams.rateTable.ctrlDataPbccRateTable,
&RateAdapt, sizeof(ctrlData_rateAdapt_t));
/*
* Read OFDM table
*/
regReadRatesConfigArray(pAdapter->ConfigHandle, &STRRateAdaptationTable2,
temp, "\x1\x2\x5\x6\x9\xB\xC\x12\x18\x24\x30\x36",
(PULONG) &RateAdapt.len);
for(i=0; i<RateAdapt.len; i++) RateAdapt.rateAdaptRatesTable[i] =
RateNumberToHost(temp[i]);
NdisZeroMemory(temp, sizeof(temp));
regReadRatesConfigArray(pAdapter->ConfigHandle, &STRRateAdaptationFBThd2,
&RateAdapt.rateAdaptFBTable[0], "\x32\x32\x32\x32\x32\x32\x32\x2D\x2D\x2D\x2D\x14",
(PULONG) &RateAdapt.len);
regReadRatesConfigArray(pAdapter->ConfigHandle, &STRRateAdaptationSUThd2,
&RateAdapt.rateAdaptSUTable[0], "\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\x1E\xA\x5\x0",
(PULONG) &RateAdapt.len);
NdisMoveMemory(&p->ctrlDataInitParams.rateTable.ctrlDataOfdmRateTable,
&RateAdapt, sizeof(ctrlData_rateAdapt_t));
/*
* Read OFDMA table
*/
regReadRatesConfigArray(pAdapter->ConfigHandle, &STRRateAdaptationTable3,
temp, "\x6\x9\xC\x12\x18\x24\x30\x36",
(PULONG) &RateAdapt.len);
for(i=0; i<RateAdapt.len; i++) RateAdapt.rateAdaptRatesTable[i] =
RateNumberToHost(temp[i]);
NdisZeroMemory(temp, sizeof(temp));
regReadRatesConfigArray(pAdapter->ConfigHandle, &STRRateAdaptationFBThd3,
&RateAdapt.rateAdaptFBTable[0], "\x32\x32\x32\x32\x2D\x2D\x2D\x14",
(PULONG) &RateAdapt.len);
regReadRatesConfigArray(pAdapter->ConfigHandle, &STRRateAdaptationSUThd3,
&RateAdapt.rateAdaptSUTable[0], "\x1E\x1E\x1E\x1E\x1E\xA\x5\x0",
(PULONG) &RateAdapt.len);
NdisMoveMemory(&p->ctrlDataInitParams.rateTable.ctrlDataOfdmARateTable,
&RateAdapt, sizeof(ctrlData_rateAdapt_t));
regReadIntegerParameter(pAdapter, &STRRateAdaptationLowTrshAcBK,
RATE_ADAPT_LOW_TRSH_AC_BK_DEF, RATE_ADAPT_LOW_TRSH_AC_BK_MIN,
RATE_ADAPT_LOW_TRSH_AC_BK_MAX,
sizeof p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_BK].lowRateThreshold,
(PUCHAR)&p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_BK].lowRateThreshold);
regReadIntegerParameter(pAdapter, &STRRateAdaptationLowTrshAcBE,
RATE_ADAPT_LOW_TRSH_AC_BE_DEF, RATE_ADAPT_LOW_TRSH_AC_BE_MIN,
RATE_ADAPT_LOW_TRSH_AC_BE_MAX,
sizeof p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_BE].lowRateThreshold,
(PUCHAR)&p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_BE].lowRateThreshold);
regReadIntegerParameter(pAdapter, &STRRateAdaptationLowTrshAcVI,
RATE_ADAPT_LOW_TRSH_AC_VI_DEF, RATE_ADAPT_LOW_TRSH_AC_VI_MIN,
RATE_ADAPT_LOW_TRSH_AC_VI_MAX,
sizeof p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_VI].lowRateThreshold,
(PUCHAR)&p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_VI].lowRateThreshold);
regReadIntegerParameter(pAdapter, &STRRateAdaptationLowTrshAcVO,
RATE_ADAPT_HIGH_TRSH_AC_VO_DEF, RATE_ADAPT_HIGH_TRSH_AC_VO_MIN,
RATE_ADAPT_HIGH_TRSH_AC_VO_MAX,
sizeof p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_VO].lowRateThreshold,
(PUCHAR)&p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_VO].lowRateThreshold);
regReadIntegerParameter(pAdapter, &STRRateAdaptationHighTrshAcBK,
RATE_ADAPT_HIGH_TRSH_AC_BK_DEF, RATE_ADAPT_HIGH_TRSH_AC_BK_MIN,
RATE_ADAPT_HIGH_TRSH_AC_BK_MAX,
sizeof p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_BK].highRateThreshold,
(PUCHAR)&p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_BK].highRateThreshold);
regReadIntegerParameter(pAdapter, &STRRateAdaptationHighTrshAcBE,
RATE_ADAPT_HIGH_TRSH_AC_BE_DEF, RATE_ADAPT_HIGH_TRSH_AC_BE_MIN,
RATE_ADAPT_HIGH_TRSH_AC_BE_MAX,
sizeof p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_BE].highRateThreshold,
(PUCHAR)&p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_BE].highRateThreshold);
regReadIntegerParameter(pAdapter, &STRRateAdaptationHighTrshAcVI,
RATE_ADAPT_HIGH_TRSH_AC_VI_DEF, RATE_ADAPT_HIGH_TRSH_AC_VI_MIN,
RATE_ADAPT_HIGH_TRSH_AC_VI_MAX,
sizeof p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_VI].highRateThreshold,
(PUCHAR)&p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_VI].highRateThreshold);
regReadIntegerParameter(pAdapter, &STRRateAdaptationHighTrshAcVO,
RATE_ADAPT_HIGH_TRSH_AC_VO_DEF, RATE_ADAPT_HIGH_TRSH_AC_VO_MIN,
RATE_ADAPT_HIGH_TRSH_AC_VO_MAX,
sizeof p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_VO].highRateThreshold,
(PUCHAR)&p->ctrlDataInitParams.rateAdaptationInitParam.tspecsRateParameters[QOS_AC_VO].highRateThreshold);
/* rate Policy Params */
regReadIntegerParameter(pAdapter, &STRRatePolicyUserShortRetryLimit,
CTRL_DATA_RATE_POLICY_USER_SHORT_RETRY_LIMIT_DEF,
CTRL_DATA_RATE_POLICY_USER_SHORT_RETRY_LIMIT_MIN,
CTRL_DATA_RATE_POLICY_USER_SHORT_RETRY_LIMIT_MAX,
sizeof p->ctrlDataInitParams.ctrlDataTxRatePolicy[USER_RATE_CLASS].shortRetryLimit,
(PUCHAR)&p->ctrlDataInitParams.ctrlDataTxRatePolicy[USER_RATE_CLASS].shortRetryLimit);
regReadIntegerParameter(pAdapter, &STRRatePolicyUserLongRetryLimit,
CTRL_DATA_RATE_POLICY_USER_LONG_RETRY_LIMIT_DEF,
CTRL_DATA_RATE_POLICY_USER_LONG_RETRY_LIMIT_MIN,
CTRL_DATA_RATE_POLICY_USER_LONG_RETRY_LIMIT_MAX,
sizeof p->ctrlDataInitParams.ctrlDataTxRatePolicy[USER_RATE_CLASS].longRetryLimit,
(PUCHAR)&p->ctrlDataInitParams.ctrlDataTxRatePolicy[USER_RATE_CLASS].longRetryLimit);
regReadIntegerTable(pAdapter, &STRRatePolicyUserRetriesPerRateCck, CTRL_DATA_RATE_POLICY_USER_RETRIES_PER_RATE_CCK_DEF,
CTRL_DATA_RATE_POLICY_RETRIES_PER_RATE_MAX_LEN,
(PUCHAR)&p->ctrlDataInitParams.policyClassRatesArrayCck[USER_RATE_CLASS]);
regReadIntegerTable(pAdapter, &STRRatePolicyUserRetriesPerRatePbcc, CTRL_DATA_RATE_POLICY_USER_RETRIES_PER_RATE_PBCC_DEF,
CTRL_DATA_RATE_POLICY_RETRIES_PER_RATE_MAX_LEN,
(PUCHAR)&p->ctrlDataInitParams.policyClassRatesArrayPbcc[USER_RATE_CLASS]);
regReadIntegerTable(pAdapter, &STRRatePolicyUserRetriesPerRateOfdm, CTRL_DATA_RATE_POLICY_USER_RETRIES_PER_RATE_OFDM_DEF,
CTRL_DATA_RATE_POLICY_RETRIES_PER_RATE_MAX_LEN,
(PUCHAR)&p->ctrlDataInitParams.policyClassRatesArrayOfdm[USER_RATE_CLASS]);
regReadIntegerTable(pAdapter, &STRRatePolicyUserRetriesPerRateOfdmA, CTRL_DATA_RATE_POLICY_USER_RETRIES_PER_RATE_OFDMA_DEF,
CTRL_DATA_RATE_POLICY_RETRIES_PER_RATE_MAX_LEN,
(PUCHAR)&p->ctrlDataInitParams.policyClassRatesArrayOfdmA[USER_RATE_CLASS]);
regReadIntegerParameter(pAdapter, &STRRatePolicySGShortRetryLimit,
CTRL_DATA_RATE_POLICY_SG_SHORT_RETRY_LIMIT_DEF,
CTRL_DATA_RATE_POLICY_SG_SHORT_RETRY_LIMIT_MIN,
CTRL_DATA_RATE_POLICY_SG_SHORT_RETRY_LIMIT_MAX,
sizeof p->ctrlDataInitParams.ctrlDataTxRatePolicy[SG_RATE_CLASS].shortRetryLimit,
(PUCHAR)&p->ctrlDataInitParams.ctrlDataTxRatePolicy[SG_RATE_CLASS].shortRetryLimit);
regReadIntegerParameter(pAdapter, &STRRatePolicySGLongRetryLimit,
CTRL_DATA_RATE_POLICY_SG_LONG_RETRY_LIMIT_DEF,
CTRL_DATA_RATE_POLICY_SG_LONG_RETRY_LIMIT_MIN,
CTRL_DATA_RATE_POLICY_SG_LONG_RETRY_LIMIT_MAX,
sizeof p->ctrlDataInitParams.ctrlDataTxRatePolicy[SG_RATE_CLASS].longRetryLimit,
(PUCHAR)&p->ctrlDataInitParams.ctrlDataTxRatePolicy[SG_RATE_CLASS].longRetryLimit);
regReadIntegerTable(pAdapter, &STRRatePolicySGRetriesPerRateCck, CTRL_DATA_RATE_POLICY_SG_RETRIES_PER_RATE_CCK_DEF,
CTRL_DATA_RATE_POLICY_RETRIES_PER_RATE_MAX_LEN,
(PUCHAR)&p->ctrlDataInitParams.policyClassRatesArrayCck[SG_RATE_CLASS]);
regReadIntegerTable(pAdapter, &STRRatePolicySGRetriesPerRatePbcc, CTRL_DATA_RATE_POLICY_SG_RETRIES_PER_RATE_PBCC_DEF,
CTRL_DATA_RATE_POLICY_RETRIES_PER_RATE_MAX_LEN,
(PUCHAR)&p->ctrlDataInitParams.policyClassRatesArrayPbcc[SG_RATE_CLASS]);
regReadIntegerTable(pAdapter, &STRRatePolicySGRetriesPerRateOfdm, CTRL_DATA_RATE_POLICY_SG_RETRIES_PER_RATE_OFDM_DEF,
CTRL_DATA_RATE_POLICY_RETRIES_PER_RATE_MAX_LEN,
(PUCHAR)&p->ctrlDataInitParams.policyClassRatesArrayOfdm[SG_RATE_CLASS]);
regReadIntegerTable(pAdapter, &STRRatePolicySGRetriesPerRateOfdmA, CTRL_DATA_RATE_POLICY_SG_RETRIES_PER_RATE_OFDMA_DEF,
CTRL_DATA_RATE_POLICY_RETRIES_PER_RATE_MAX_LEN,
(PUCHAR)&p->ctrlDataInitParams.policyClassRatesArrayOfdmA[SG_RATE_CLASS]);
regReadIntegerParameter(pAdapter, &STRRxEnergyDetection,
FALSE, FALSE, TRUE,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlRxEnergyDetection,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlRxEnergyDetection);
regReadIntegerParameter(pAdapter, &STRTxEnergyDetection,
FALSE, FALSE, TRUE,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlTxEnergyDetection,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlTxEnergyDetection);
regReadIntegerParameter(pAdapter, &STRTddCalibrationInterval,
300, 1, 0xFFFFFFFF,
sizeof p->TnetwDrv_InitParams.whalCtrl_init.tddRadioCalTimout,
(PUCHAR)&p->TnetwDrv_InitParams.whalCtrl_init.tddRadioCalTimout);
regReadIntegerParameter(pAdapter, &STRCrtCalibrationInterval,
2, 1, 0xFFFFFFFF,
sizeof p->TnetwDrv_InitParams.whalCtrl_init.CrtRadioCalTimout,
(PUCHAR)&p->TnetwDrv_InitParams.whalCtrl_init.CrtRadioCalTimout);
regReadIntegerParameter(pAdapter, &STRMacClockRate,
80, 0, 255,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlMacClock,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlMacClock);
regReadIntegerParameter(pAdapter, &STRArmClockRate,
80, 0, 255,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlArmClock,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlArmClock);
regReadIntegerParameter(pAdapter, &STRg80211DraftNumber,
DRAFT_6_AND_LATER, DRAFT_5_AND_EARLIER, DRAFT_6_AND_LATER,
sizeof p->siteMgrInitParams.siteMgrUseDraftNum,
(PUCHAR)&p->siteMgrInitParams.siteMgrUseDraftNum);
regReadIntegerParameter(pAdapter, &STRTraceBufferSize,
/*1024, 0, 1024, sizeof(ULONG), */
16, 16, 16,
sizeof p->TnetwDrv_InitParams.whalCtrl_init.TraceBufferSize,
(PUCHAR)&p->TnetwDrv_InitParams.whalCtrl_init.TraceBufferSize);
regReadIntegerParameter(pAdapter, &STRPrintTrace,
FALSE, FALSE, TRUE,
sizeof p->TnetwDrv_InitParams.whalCtrl_init.bDoPrint,
(PUCHAR)&p->TnetwDrv_InitParams.whalCtrl_init.bDoPrint);
regReadIntegerParameter(pAdapter, &STRFirmwareDebug,
FALSE, FALSE, TRUE,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlFirmwareDebug,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlFirmwareDebug);
#ifndef TIWLN_WINCE30
regReadIntegerParameter(pAdapter, &STRHwACXAccessMethod,
HAL_CTRL_HW_ACCESS_METHOD_DEF, HAL_CTRL_HW_ACCESS_METHOD_MIN,
HAL_CTRL_HW_ACCESS_METHOD_MAX,
sizeof p->TnetwDrv_InitParams.whalCtrl_init.hwAccessMethod,
(PUCHAR)&p->TnetwDrv_InitParams.whalCtrl_init.hwAccessMethod);
#else
/* Slave indirect*/
p->TnetwDrv_InitParams.whalCtrl_init.hwAccessMethod = 0;
#endif
regReadIntegerParameter(pAdapter, &STRMaxSitesFragCollect,
HAL_CTRL_SITE_FRAG_COLLECT_DEF, HAL_CTRL_SITE_FRAG_COLLECT_MIN,
HAL_CTRL_SITE_FRAG_COLLECT_MAX,
sizeof p->TnetwDrv_InitParams.whalCtrl_init.maxSitesFragCollect,
(PUCHAR)&p->TnetwDrv_InitParams.whalCtrl_init.maxSitesFragCollect);
regReadIntegerParameter(pAdapter, &STRBetEnable,
HAL_CTRL_BET_ENABLE_DEF, HAL_CTRL_BET_ENABLE_MIN,
HAL_CTRL_BET_ENABLE_MAX,
sizeof p->PowerMgrInitParams.BetEnable,
(PUCHAR)&p->PowerMgrInitParams.BetEnable);
regReadIntegerParameter(pAdapter, &STRBetMaxConsecutive,
HAL_CTRL_BET_MAX_CONSC_DEF, HAL_CTRL_BET_MAX_CONSC_MIN,
HAL_CTRL_BET_MAX_CONSC_MAX,
sizeof p->PowerMgrInitParams.MaximumConsecutiveET,
(PUCHAR)&p->PowerMgrInitParams.MaximumConsecutiveET);
/*--------------- Maximal time between full beacon reception ------------------*/
regReadIntegerParameter(pAdapter, &STRMaxFullBeaconInterval,
HAL_CTRL_MAX_FULL_BEACON_DEF, HAL_CTRL_MAX_FULL_BEACON_MIN,
HAL_CTRL_MAX_FULL_BEACON_MAX,
sizeof p->PowerMgrInitParams.MaximalFullBeaconReceptionInterval,
(PUCHAR)&p->PowerMgrInitParams.MaximalFullBeaconReceptionInterval);
regReadIntegerParameter(pAdapter, &STRBetEnableThreshold,
HAL_CTRL_BET_ENABLE_THRESHOLD_DEF, HAL_CTRL_BET_ENABLE_THRESHOLD_MIN,
HAL_CTRL_BET_ENABLE_THRESHOLD_MAX,
sizeof p->PowerMgrInitParams.BetEnableThreshold,
(PUCHAR)&p->PowerMgrInitParams.BetEnableThreshold);
regReadIntegerParameter(pAdapter, &STRBetDisableThreshold,
HAL_CTRL_BET_DISABLE_THRESHOLD_DEF, HAL_CTRL_BET_DISABLE_THRESHOLD_MIN,
HAL_CTRL_BET_DISABLE_THRESHOLD_MAX,
sizeof p->PowerMgrInitParams.BetDisableThreshold,
(PUCHAR)&p->PowerMgrInitParams.BetDisableThreshold);
p->TnetwDrv_InitParams.whalCtrl_init.rxMemBlkNumber = 60;
p->TnetwDrv_InitParams.whalCtrl_init.txMinMemBlkNumber = 60;
p->TnetwDrv_InitParams.whalCtrl_init.txCompleteTimeout = 500;
p->TnetwDrv_InitParams.whalCtrl_init.txCompleteThreshold = 1;
p->TnetwDrv_InitParams.whalCtrl_init.blockSize = HAL_CTRL_ACX_BLOCK_SIZE_DEF;
p->TnetwDrv_InitParams.whalCtrl_init.UseTxDataInterrupt = HAL_CTRL_USE_TX_DATA_INTR_DEF;
p->TnetwDrv_InitParams.whalCtrl_init.UsePlcpHeader = HAL_CTRL_USE_PLCP_HDR_DEF;
regReadIntegerParameter(pAdapter, &STRNumACXRxDescriptors,
HAL_CTRL_ACX_RX_DESC_DEF, HAL_CTRL_ACX_RX_DESC_MIN,
HAL_CTRL_ACX_RX_DESC_MAX,
sizeof p->TnetwDrv_InitParams.whalCtrl_init.rxDescNum,
(PUCHAR)&p->TnetwDrv_InitParams.whalCtrl_init.rxDescNum);
regReadIntegerParameter(pAdapter, &STRNumACXTxDescriptors,
HAL_CTRL_ACX_TX_DESC_DEF, HAL_CTRL_ACX_TX_DESC_MIN,
HAL_CTRL_ACX_TX_DESC_MAX,
sizeof localNumTxDesc,
(PUCHAR)&localNumTxDesc);
regReadIntegerParameter(pAdapter, &STRTxFlashEnable,
HAL_CTRL_TX_FLASH_ENABLE_DEF, HAL_CTRL_TX_FLASH_ENABLE_MIN,
HAL_CTRL_TX_FLASH_ENABLE_MAX,
sizeof p->TnetwDrv_InitParams.whalCtrl_init.TxFlashEnable,
(PUCHAR)&p->TnetwDrv_InitParams.whalCtrl_init.TxFlashEnable);
p->TnetwDrv_InitParams.whalCtrl_init.numTxQueues = MAX_NUM_OF_TX_QUEUES;
for (i=0;i<p->TnetwDrv_InitParams.whalCtrl_init.numTxQueues;i++){
p->TnetwDrv_InitParams.whalCtrl_init.tx_attrib_queue[i].numDesc = localNumTxDesc;/*needed for validation phase only*/
/* (!!!) must use different priority for each queue */
p->TnetwDrv_InitParams.whalCtrl_init.tx_attrib_queue[i].priority = i;
}
p->TnetwDrv_InitParams.whalCtrl_init.beaconTemplateSize = sizeof(probeRspTemplate_t);
p->TnetwDrv_InitParams.whalCtrl_init.probeRequestTemplateSize = sizeof(probeReqTemplate_t);
p->TnetwDrv_InitParams.whalCtrl_init.probeResponseTemplateSize = sizeof(probeRspTemplate_t);
p->TnetwDrv_InitParams.whalCtrl_init.nullTemplateSize = sizeof(nullDataTemplate_t);
p->TnetwDrv_InitParams.whalCtrl_init.PsPollTemplateSize = sizeof(psPollTemplate_t);
p->TnetwDrv_InitParams.whalCtrl_init.qosNullDataTemplateSize = sizeof(QosNullDataTemplate_t);
regReadIntegerParameter(pAdapter,
&STRBeaconRxTimeout,
BCN_RX_TIMEOUT_DEF_VALUE,
BCN_RX_TIMEOUT_MIN_VALUE,
BCN_RX_TIMEOUT_MAX_VALUE,
sizeof p->TnetwDrv_InitParams.whalCtrl_init.BeaconRxTimeout,
(PUCHAR)&p->TnetwDrv_InitParams.whalCtrl_init.BeaconRxTimeout);
regReadIntegerParameter(pAdapter,
&STRBroadcastRxTimeout,
BROADCAST_RX_TIMEOUT_DEF_VALUE,
BROADCAST_RX_TIMEOUT_MIN_VALUE,
BROADCAST_RX_TIMEOUT_MAX_VALUE,
sizeof p->TnetwDrv_InitParams.whalCtrl_init.BroadcastRxTimeout,
(PUCHAR)&p->TnetwDrv_InitParams.whalCtrl_init.BroadcastRxTimeout);
regReadIntegerParameter(pAdapter,
&STRRxBroadcastInPs,
RX_BROADCAST_IN_PS_DEF_VALUE,
RX_BROADCAST_IN_PS_MIN_VALUE,
RX_BROADCAST_IN_PS_MAX_VALUE,
sizeof p->TnetwDrv_InitParams.whalCtrl_init.RxBroadcastInPs,
(PUCHAR)&p->TnetwDrv_InitParams.whalCtrl_init.RxBroadcastInPs);
regReadIntegerParameter(pAdapter, &STRCalibrationChannel2_4,
HAL_CTRL_CALIBRATION_CHANNEL_2_4_DEF, HAL_CTRL_CALIBRATION_CHANNEL_2_4_MIN,
HAL_CTRL_CALIBRATION_CHANNEL_2_4_MAX,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlCalibrationChannel2_4,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlCalibrationChannel2_4);
regReadIntegerParameter(pAdapter, &STRCalibrationChannel5_0,
HAL_CTRL_CALIBRATION_CHANNEL_5_0_DEF, HAL_CTRL_CALIBRATION_CHANNEL_5_0_MIN,
HAL_CTRL_CALIBRATION_CHANNEL_5_0_MAX,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlCalibrationChannel5_0,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlCalibrationChannel5_0);
regReadIntegerParameter(pAdapter,
&STRConsecutivePsPollDeliveryFailureThreshold,
CONSECUTIVE_PS_POLL_FAILURE_DEF,
CONSECUTIVE_PS_POLL_FAILURE_MIN,
CONSECUTIVE_PS_POLL_FAILURE_MAX,
sizeof p->TnetwDrv_InitParams.whalCtrl_init.ConsecutivePsPollDeliveryFailureThreshold,
(PUCHAR)&p->TnetwDrv_InitParams.whalCtrl_init.ConsecutivePsPollDeliveryFailureThreshold);
regReadIntegerParameter(pAdapter, &STRdot11RTSThreshold,
HAL_CTRL_RTS_THRESHOLD_DEF, HAL_CTRL_RTS_THRESHOLD_MIN,
HAL_CTRL_RTS_THRESHOLD_MAX,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlRtsThreshold,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlRtsThreshold);
regReadIntegerParameter(pAdapter, &STRRxDisableBroadcast,
HAL_CTRL_RX_DISABLE_BROADCAST_DEF, HAL_CTRL_RX_DISABLE_BROADCAST_MIN,
HAL_CTRL_RX_DISABLE_BROADCAST_MAX,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlRxDisableBroadcast,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlRxDisableBroadcast);
regReadIntegerParameter(pAdapter, &STRRecoveryEnable,
HAL_CTRL_RECOVERY_ENABLE_DEF, HAL_CTRL_RECOVERY_ENABLE_MIN,
HAL_CTRL_RECOVERY_ENABLE_MAX,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlRecoveryEnable,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlRecoveryEnable);
p->healthMonitorInitParams.FullRecoveryEnable = (BOOL)p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlRecoveryEnable;
regReadIntegerParameter(pAdapter, &STRdot11FragThreshold,
HAL_CTRL_FRAG_THRESHOLD_DEF, HAL_CTRL_FRAG_THRESHOLD_MIN,
HAL_CTRL_FRAG_THRESHOLD_MAX,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlFragThreshold,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlFragThreshold);
regReadIntegerParameter(pAdapter, &STRdot11MaxTxMSDULifetime,
HAL_CTRL_MAX_TX_MSDU_LIFETIME_DEF, HAL_CTRL_MAX_TX_MSDU_LIFETIME_MIN,
HAL_CTRL_MAX_TX_MSDU_LIFETIME_MAX,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlMaxTxMsduLifetime,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlMaxTxMsduLifetime);
regReadIntegerParameter(pAdapter, &STRdot11MaxReceiveLifetime,
HAL_CTRL_MAX_RX_MSDU_LIFETIME_DEF, HAL_CTRL_MAX_RX_MSDU_LIFETIME_MIN,
HAL_CTRL_MAX_RX_MSDU_LIFETIME_MAX,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlMaxRxMsduLifetime,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlMaxRxMsduLifetime);
regReadIntegerParameter(pAdapter, &STRdot11RateFallBackRetryLimit,
HAL_CTRL_RATE_FB_RETRY_LIMIT_DEF, HAL_CTRL_RATE_FB_RETRY_LIMIT_MIN,
HAL_CTRL_RATE_FB_RETRY_LIMIT_MAX,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlRateFallbackRetry,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlRateFallbackRetry);
regReadIntegerParameter(pAdapter, &STRListenInterval,
HAL_CTRL_LISTEN_INTERVAL_DEF, HAL_CTRL_LISTEN_INTERVAL_MIN,
HAL_CTRL_LISTEN_INTERVAL_MAX,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlListenInterval,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlListenInterval);
regReadIntegerParameter(pAdapter, &STRdot11TxAntenna,
HAL_CTRL_TX_ANTENNA_DEF, HAL_CTRL_TX_ANTENNA_MIN,
HAL_CTRL_TX_ANTENNA_MAX,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlTxAntenna,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlTxAntenna);
/* reverse tx antenna value - ACX and utility have reversed values */
if (p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlTxAntenna == TX_ANTENNA_2)
p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlTxAntenna = TX_ANTENNA_1;
else
p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlTxAntenna = TX_ANTENNA_2;
regReadIntegerParameter(pAdapter, &STRdot11RxAntenna,
HAL_CTRL_RX_ANTENNA_DEF, HAL_CTRL_RX_ANTENNA_MIN,
HAL_CTRL_RX_ANTENNA_MAX,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlRxAntenna,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlRxAntenna);
regReadIntegerParameter(pAdapter, &STRTxCompleteThreshold,
HAL_CTRL_TX_CMPLT_THRESHOLD_DEF, HAL_CTRL_TX_CMPLT_THRESHOLD_MIN,
HAL_CTRL_TX_CMPLT_THRESHOLD_MAX,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlTxCompleteThreshold,
(PUCHAR)&(p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlTxCompleteThreshold));
pAdapter->ExtMode = TRUE;
regReadIntegerParameter(pAdapter, &STRdot11DesiredChannel,
SITE_MGR_CHANNEL_DEF, SITE_MGR_CHANNEL_MIN, SITE_MGR_CHANNEL_MAX,
sizeof p->siteMgrInitParams.siteMgrDesiredChannel,
(PUCHAR)&p->siteMgrInitParams.siteMgrDesiredChannel);
memcpy((void *)p->siteMgrInitParams.siteMgrDesiredBSSID.addr, &bssidBroadcast, MAC_ADDR_LEN);
regReadStringParameter(pAdapter, &STRdot11DesiredSSID,
(PCHAR)dummySsidString,
(UCHAR)MAX_SSID_LEN,
(PUCHAR)p->siteMgrInitParams.siteMgrDesiredSSID.ssidString,
(PUCHAR)&p->siteMgrInitParams.siteMgrDesiredSSID.len);
regReadIntegerParameter(pAdapter, &STRdot11DesiredNetworkType,
SITE_MGR_DOT_11_MODE_DEF, SITE_MGR_DOT_11_MODE_MIN, SITE_MGR_DOT_11_MODE_MAX,
sizeof p->siteMgrInitParams.siteMgrDesiredDot11Mode,
(PUCHAR)&p->siteMgrInitParams.siteMgrDesiredDot11Mode);
regReadIntegerParameter(pAdapter, &STRdot11SlotTime,
PHY_SLOT_TIME_SHORT, PHY_SLOT_TIME_LONG, PHY_SLOT_TIME_SHORT,
sizeof p->siteMgrInitParams.siteMgrDesiredSlotTime,
(PUCHAR)&p->siteMgrInitParams.siteMgrDesiredSlotTime);
regReadIntegerParameter(pAdapter, &STRdot11RtsCtsProtection,
0, 0, 1,
sizeof p->ctrlDataInitParams.ctrlDataDesiredCtsRtsStatus,
(PUCHAR)&p->ctrlDataInitParams.ctrlDataDesiredCtsRtsStatus);
regReadIntegerParameter(pAdapter, &STRdot11IbssProtection,
ERP_PROTECTION_STANDARD, ERP_PROTECTION_NONE, ERP_PROTECTION_TI_TRICK,
sizeof p->ctrlDataInitParams.ctrlDataDesiredIbssProtection,
(PUCHAR)&p->ctrlDataInitParams.ctrlDataDesiredIbssProtection);
/* When working in band A, minimum channel is 36 and not 1*/
if (p->siteMgrInitParams.siteMgrDesiredDot11Mode == DOT11_A_MODE)
{
if (p->siteMgrInitParams.siteMgrDesiredChannel < SITE_MGR_CHANNEL_A_MIN)
p->siteMgrInitParams.siteMgrDesiredChannel = SITE_MGR_CHANNEL_A_MIN;
}
/* should be read from the registry */
p->siteMgrInitParams.siteMgrRadioValues.siteMgr_radiaRadioValues.factorRSSI = 88;
if(1)
{
UINT32 Freq2ChannelTable[] = {0,2412000,2417000,2422000,2427000,2432000,2437000,
2442000,2447000,2452000,2457000,
2462000,2467000,2472000,2484000};
memcpy(p->siteMgrInitParams.siteMgrFreq2ChannelTable,
Freq2ChannelTable,
SITE_MGR_CHANNEL_MAX+1);
}
/* read TX rates from registry */
readRates(pAdapter, p);
regReadIntegerParameter(pAdapter, &STRdot11DesiredBSSType,
SITE_MGR_BSS_TYPE_DEF, BSS_INDEPENDENT, BSS_ANY,
sizeof p->siteMgrInitParams.siteMgrDesiredBSSType,
(PUCHAR)&p->siteMgrInitParams.siteMgrDesiredBSSType);
regReadIntegerParameter(pAdapter, &STRdot11BeaconPeriod,
SITE_MGR_BEACON_INTERVAL_DEF, SITE_MGR_BEACON_INTERVAL_MIN,
SITE_MGR_BEACON_INTERVAL_MAX,
sizeof p->siteMgrInitParams.siteMgrDesiredBeaconInterval,
(PUCHAR)&p->siteMgrInitParams.siteMgrDesiredBeaconInterval);
regReadIntegerParameter(pAdapter, &STRdot11ShortPreambleInvoked,
SITE_MGR_PREAMBLE_TYPE_DEF, PREAMBLE_LONG, PREAMBLE_SHORT,
sizeof p->siteMgrInitParams.siteMgrDesiredPreambleType,
(PUCHAR)&p->siteMgrInitParams.siteMgrDesiredPreambleType);
/* RFMD */
regReadStringParameter(pAdapter, &STRRadio11_RxLevel,
(PCHAR)RFMD_RxLevel, (USHORT)SITE_MGR_RX_LEVEL_TABLE_SIZE_DEF,
radioString, (PUCHAR)&p->siteMgrInitParams.siteMgrRadioValues.RxLevelTableSize);
initRadioValusFromRgstryString( (PCHAR)radioString,
(PCHAR)p->siteMgrInitParams.siteMgrRadioValues.siteMgr_rfmdRadioValues.siteMgr_radioRxLevel,
RX_LEVEL_TABLE_SIZE);
regReadStringParameter(pAdapter, &STRRadio11_LNA,
(PCHAR)RFMD_Lna, (USHORT)SITE_MGR_RX_LEVEL_TABLE_SIZE_DEF,
radioString, (PUCHAR)&p->siteMgrInitParams.siteMgrRadioValues.RxLevelTableSize);
initRadioValusFromRgstryString( (PCHAR)radioString,
(PCHAR)p->siteMgrInitParams.siteMgrRadioValues.siteMgr_rfmdRadioValues.siteMgr_radioLNA,
RX_LEVEL_TABLE_SIZE);
regReadStringParameter(pAdapter, &STRRadio11_RSSI,
(PCHAR)RFMD_Rssi, (USHORT)SITE_MGR_RX_LEVEL_TABLE_SIZE_DEF,
radioString, (PUCHAR)&p->siteMgrInitParams.siteMgrRadioValues.RxLevelTableSize);
initRadioValusFromRgstryString( (PCHAR)radioString,
(PCHAR)p->siteMgrInitParams.siteMgrRadioValues.siteMgr_rfmdRadioValues.siteMgr_radioRSSI,
RX_LEVEL_TABLE_SIZE);
/* MAXIM */
regReadStringParameter(pAdapter, &STRRadio0D_RxLevel,
(PCHAR)MAXIM_RxLevel, (USHORT)SITE_MGR_RX_LEVEL_TABLE_SIZE_DEF,
radioString, (PUCHAR)&p->siteMgrInitParams.siteMgrRadioValues.RxLevelTableSize);
initRadioValusFromRgstryString( (PCHAR)radioString,
(PCHAR)p->siteMgrInitParams.siteMgrRadioValues.siteMgr_maximRadioValues.siteMgr_radioRxLevel,
RX_LEVEL_TABLE_SIZE);
regReadStringParameter(pAdapter, &STRRadio0D_LNA,
(PCHAR)MAXIM_Lna, (USHORT)SITE_MGR_RX_LEVEL_TABLE_SIZE_DEF,
radioString, (PUCHAR)&p->siteMgrInitParams.siteMgrRadioValues.RxLevelTableSize);
initRadioValusFromRgstryString((PCHAR)radioString,
(PCHAR)p->siteMgrInitParams.siteMgrRadioValues.siteMgr_maximRadioValues.siteMgr_radioLNA,
RX_LEVEL_TABLE_SIZE);
regReadStringParameter(pAdapter, &STRRadio0D_RSSI,
(PCHAR)MAXIM_Rssi, (USHORT)SITE_MGR_RX_LEVEL_TABLE_SIZE_DEF,
radioString, (PUCHAR)&p->siteMgrInitParams.siteMgrRadioValues.RxLevelTableSize);
initRadioValusFromRgstryString((PCHAR)radioString,
(PCHAR)p->siteMgrInitParams.siteMgrRadioValues.siteMgr_maximRadioValues.siteMgr_radioRSSI,
RX_LEVEL_TABLE_SIZE);
regReadIntegerParameter(pAdapter, &STRExternalMode,
SITE_MGR_EXTERNAL_MODE_DEF, SITE_MGR_EXTERNAL_MODE_MIN,
SITE_MGR_EXTERNAL_MODE_MAX,
sizeof p->siteMgrInitParams.siteMgrExternalConfiguration,
(PUCHAR)&p->siteMgrInitParams.siteMgrExternalConfiguration);
regReadIntegerParameter(pAdapter, &STRWiFiAdHoc,
SITE_MGR_WiFiAdHoc_DEF, SITE_MGR_WiFiAdHoc_MIN, SITE_MGR_WiFiAdHoc_MAX,
sizeof p->siteMgrInitParams.siteMgrWiFiAdhoc,
(PUCHAR)&p->siteMgrInitParams.siteMgrWiFiAdhoc);
regReadIntegerParameter(pAdapter, &STRWiFiWmmPS,
WIFI_WMM_PS_DEF, WIFI_WMM_PS_MIN, WIFI_WMM_PS_MAX,
sizeof p->TnetwDrv_InitParams.halCtrlConfigParams.WiFiWmmPS,
(PUCHAR)&p->TnetwDrv_InitParams.halCtrlConfigParams.WiFiWmmPS);
regReadIntegerParameter(pAdapter, &STRKeepAliveEnable,
SITE_MGR_KEEP_ALIVE_DEF, SITE_MGR_KEEP_ALIVE_MIN, SITE_MGR_KEEP_ALIVE_MAX,
sizeof p->siteMgrInitParams.siteMgrDesiredkeepAliveEnable,
(PUCHAR)&p->siteMgrInitParams.siteMgrDesiredkeepAliveEnable);
pAdapter->IntMode = (BOOLEAN) p->siteMgrInitParams.siteMgrExternalConfiguration;
regReadIntegerParameter(pAdapter, &STRConnSelfTimeout,
CONN_SELF_TIMEOUT_DEF, CONN_SELF_TIMEOUT_MIN, CONN_SELF_TIMEOUT_MAX,
sizeof p->connInitParams.connSelfTimeout,
(PUCHAR)&p->connInitParams.connSelfTimeout);
regReadIntegerParameter(pAdapter, &STRdot11AuthRespTimeout,
AUTH_RESPONSE_TIMEOUT_DEF, AUTH_RESPONSE_TIMEOUT_MIN, AUTH_RESPONSE_TIMEOUT_MAX,
sizeof p->authInitParams.authResponseTimeout,
(PUCHAR)&p->authInitParams.authResponseTimeout);
regReadIntegerParameter(pAdapter, &STRdot11MaxAuthRetry,
AUTH_MAX_RETRY_COUNT_DEF, AUTH_MAX_RETRY_COUNT_MIN, AUTH_MAX_RETRY_COUNT_MAX,
sizeof p->authInitParams.authMaxRetryCount,
(PUCHAR)&p->authInitParams.authMaxRetryCount);
regReadIntegerParameter(pAdapter, &STRdot11AssocRespTimeout,
ASSOC_RESPONSE_TIMEOUT_DEF, ASSOC_RESPONSE_TIMEOUT_MIN, ASSOC_RESPONSE_TIMEOUT_MAX,
sizeof p->assocInitParams.assocResponseTimeout,
(PUCHAR)&p->assocInitParams.assocResponseTimeout);
regReadIntegerParameter(pAdapter, &STRdot11MaxAssocRetry,
ASSOC_MAX_RETRY_COUNT_DEF, ASSOC_MAX_RETRY_COUNT_MIN, ASSOC_MAX_RETRY_COUNT_MAX,
sizeof p->assocInitParams.assocMaxRetryCount,
(PUCHAR)&p->assocInitParams.assocMaxRetryCount);
regReadIntegerParameter(pAdapter, &STRRxDataFiltersEnabled,
RX_DATA_FILTERS_ENABLED_DEF, RX_DATA_FILTERS_ENABLED_MIN, RX_DATA_FILTERS_ENABLED_MAX,
sizeof p->rxDataInitParams.rxDataFiltersEnabled,
(PUCHAR)&p->rxDataInitParams.rxDataFiltersEnabled);
regReadIntegerParameter(pAdapter, &STRRxDataFiltersFilter1Offset,
RX_DATA_FILTERS_FILTER_OFFSET_DEF, RX_DATA_FILTERS_FILTER_OFFSET_MIN, RX_DATA_FILTERS_FILTER_OFFSET_MAX,
sizeof filterOffset,
(PUCHAR) &filterOffset);
regReadStringParameter(pAdapter, &STRRxDataFiltersFilter1Mask,
RX_DATA_FILTERS_FILTER_MASK_DEF, RX_DATA_FILTERS_FILTER_MASK_LEN_DEF,
(PUCHAR) filterMask,
(PUCHAR) &filterMaskLength);
regReadStringParameter(pAdapter, &STRRxDataFiltersFilter1Pattern,
RX_DATA_FILTERS_FILTER_PATTERN_DEF, RX_DATA_FILTERS_FILTER_PATTERN_LEN_DEF,
(PUCHAR) filterPattern,
(PUCHAR) &filterPatternLength);
parse_filter_request(&p->rxDataInitParams.rxDataFilterRequests[0], filterOffset, filterMask, filterMaskLength, filterPattern, filterPatternLength);
regReadIntegerParameter(pAdapter, &STRRxDataFiltersFilter2Offset,
RX_DATA_FILTERS_FILTER_OFFSET_DEF, RX_DATA_FILTERS_FILTER_OFFSET_MIN, RX_DATA_FILTERS_FILTER_OFFSET_MAX,
sizeof filterOffset,
(PUCHAR) &filterOffset);
regReadStringParameter(pAdapter, &STRRxDataFiltersFilter2Mask,
RX_DATA_FILTERS_FILTER_MASK_DEF, RX_DATA_FILTERS_FILTER_MASK_LEN_DEF,
(PUCHAR) filterMask,
(PUCHAR) &filterMaskLength);
regReadStringParameter(pAdapter, &STRRxDataFiltersFilter2Pattern,
RX_DATA_FILTERS_FILTER_PATTERN_DEF, RX_DATA_FILTERS_FILTER_PATTERN_LEN_DEF,
(PUCHAR) filterPattern,
(PUCHAR) &filterPatternLength);
parse_filter_request(&p->rxDataInitParams.rxDataFilterRequests[1], filterOffset, filterMask, filterMaskLength, filterPattern, filterPatternLength);
regReadIntegerParameter(pAdapter, &STRRxDataFiltersFilter3Offset,
RX_DATA_FILTERS_FILTER_OFFSET_DEF, RX_DATA_FILTERS_FILTER_OFFSET_MIN, RX_DATA_FILTERS_FILTER_OFFSET_MAX,
sizeof filterOffset,
(PUCHAR) &filterOffset);
regReadStringParameter(pAdapter, &STRRxDataFiltersFilter3Mask,
RX_DATA_FILTERS_FILTER_MASK_DEF, RX_DATA_FILTERS_FILTER_MASK_LEN_DEF,
(PUCHAR) filterMask,
(PUCHAR) &filterMaskLength);
regReadStringParameter(pAdapter, &STRRxDataFiltersFilter3Pattern,
RX_DATA_FILTERS_FILTER_PATTERN_DEF, RX_DATA_FILTERS_FILTER_PATTERN_LEN_DEF,
(PUCHAR) filterPattern,
(PUCHAR) &filterPatternLength);
parse_filter_request(&p->rxDataInitParams.rxDataFilterRequests[2], filterOffset, filterMask, filterMaskLength, filterPattern, filterPatternLength);
regReadIntegerParameter(pAdapter, &STRRxDataFiltersFilter4Offset,
RX_DATA_FILTERS_FILTER_OFFSET_DEF, RX_DATA_FILTERS_FILTER_OFFSET_MIN, RX_DATA_FILTERS_FILTER_OFFSET_MAX,
sizeof filterOffset,
(PUCHAR) &filterOffset);
regReadStringParameter(pAdapter, &STRRxDataFiltersFilter4Mask,
RX_DATA_FILTERS_FILTER_MASK_DEF, RX_DATA_FILTERS_FILTER_MASK_LEN_DEF,
(PUCHAR) filterMask,
(PUCHAR) &filterMaskLength);
regReadStringParameter(pAdapter, &STRRxDataFiltersFilter4Pattern,
RX_DATA_FILTERS_FILTER_PATTERN_DEF, RX_DATA_FILTERS_FILTER_PATTERN_LEN_DEF,
(PUCHAR) filterPattern,
(PUCHAR) &filterPatternLength);
parse_filter_request(&p->rxDataInitParams.rxDataFilterRequests[3], filterOffset, filterMask, filterMaskLength, filterPattern, filterPatternLength);
regReadIntegerParameter(pAdapter, &STRRxDataFiltersDefaultAction,
RX_DATA_FILTERS_DEFAULT_ACTION_DEF, RX_DATA_FILTERS_DEFAULT_ACTION_MIN,
RX_DATA_FILTERS_DEFAULT_ACTION_MAX,
sizeof p->rxDataInitParams.rxDataFiltersDefaultAction,
(PUCHAR)&p->rxDataInitParams.rxDataFiltersDefaultAction);
regReadIntegerParameter(pAdapter, &STRNumTxDataQueues,
TX_DATA_NUMBER_OF_DATA_QUEUES_DEF, TX_DATA_NUMBER_OF_DATA_QUEUES_MIN,
TX_DATA_NUMBER_OF_DATA_QUEUES_MAX,
sizeof p->txDataInitParams.txDataNumOfDataQueues,
(PUCHAR)&p->txDataInitParams.txDataNumOfDataQueues);
regReadIntegerParameter(pAdapter, &STRCreditCalcTimout,
TX_DATA_CREDIT_CALC_TIMOEUT_DEF, TX_DATA_CREDIT_CALC_TIMOEUT_MIN,
TX_DATA_CREDIT_CALC_TIMOEUT_MAX,
sizeof p->txDataInitParams.creditCalculationTimeout,
(PUCHAR)&p->txDataInitParams.creditCalculationTimeout);
regReadIntegerParameter(pAdapter, &STRCreditCalcTimerEnabled,
FALSE, FALSE, TRUE,
sizeof p->txDataInitParams.bCreditCalcTimerEnabled,
(PUCHAR)&p->txDataInitParams.bCreditCalcTimerEnabled);
regReadIntegerParameter(pAdapter, &STRFracOfLifeTimeToDrop,
TX_DATA_FRAC_OF_LIFE_TIME_TO_DROP_DEF, TX_DATA_FRAC_OF_LIFE_TIME_TO_DROP_MIN,
TX_DATA_FRAC_OF_LIFE_TIME_TO_DROP_MAX,
sizeof p->txDataInitParams.uFracOfLifeTimeToDrop,
(PUCHAR)&p->txDataInitParams.uFracOfLifeTimeToDrop);
regReadIntegerParameter(pAdapter, &STRAdmCtrlDelayDueToMediumTimeOverUsage,
TX_DATA_ADM_CTRL_DELAY_DUE_TO_MEDIUM_OVER_USAGE_DEF, TX_DATA_ADM_CTRL_DELAY_DUE_TO_MEDIUM_OVER_USAGE_MIN,
TX_DATA_ADM_CTRL_DELAY_DUE_TO_MEDIUM_OVER_USAGE_MAX,
sizeof p->txDataInitParams.admCtrlDelayDueToMediumTimeOverUsage,
(PUCHAR)&p->txDataInitParams.admCtrlDelayDueToMediumTimeOverUsage);
regReadIntegerParameter(pAdapter, &STRAdmissionDownGradeEnable,
TX_DATA_ADM_CTRL_DOWN_GRADE_DEF, TX_DATA_ADM_CTRL_DOWN_GRADE_MIN,
TX_DATA_ADM_CTRL_DOWN_GRADE_MAX,
sizeof p->txDataInitParams.admissionDownGradeEnable,
(PUCHAR)&p->txDataInitParams.admissionDownGradeEnable);
regReadIntegerParameter(pAdapter, &STRTrafficAdmControlTimeout,
TRAFFIC_ADM_CONTROL_TIMEOUT_DEF, TRAFFIC_ADM_CONTROL_TIMEOUT_MIN,
TRAFFIC_ADM_CONTROL_TIMEOUT_MAX,
sizeof p->qosMngrInitParams.trafficAdmCtrlInitParams.trafficAdmCtrlResponseTimeout,
(PUCHAR)&p->qosMngrInitParams.trafficAdmCtrlInitParams.trafficAdmCtrlResponseTimeout);
regReadIntegerParameter(pAdapter, &STRTrafficAdmControlUseFixedMsduSize,
FALSE, FALSE, TRUE,
sizeof p->qosMngrInitParams.trafficAdmCtrlInitParams.trafficAdmCtrlUseFixedMsduSize,
(PUCHAR)&p->qosMngrInitParams.trafficAdmCtrlInitParams.trafficAdmCtrlUseFixedMsduSize);
regReadIntegerParameter(pAdapter, &STRDesiredMaxSpLen,
QOS_MAX_SP_LEN_DEF, QOS_MAX_SP_LEN_MIN,
QOS_MAX_SP_LEN_MAX,
sizeof p->qosMngrInitParams.desiredMaxSpLen,
(PUCHAR)&p->qosMngrInitParams.desiredMaxSpLen);
regReadIntegerParameter(pAdapter, &STRRateContThreshold,
CTRL_DATA_CONT_TX_THRESHOLD_DEF, CTRL_DATA_CONT_TX_THRESHOLD_MIN,
CTRL_DATA_CONT_TX_THRESHOLD_MAX,
sizeof p->ctrlDataInitParams.rateAdaptationInitParam.contTxPacketsThreshold,
(PUCHAR)&p->ctrlDataInitParams.rateAdaptationInitParam.contTxPacketsThreshold);
regReadIntegerParameter(pAdapter, &STRRateStepUpThreshold,
CTRL_DATA_STEP_UP_TX_THRESHOLD_DEF, CTRL_DATA_STEP_UP_TX_THRESHOLD_MIN,
CTRL_DATA_STEP_UP_TX_THRESHOLD_MAX,
sizeof p->ctrlDataInitParams.rateAdaptationInitParam.stepUpTxPacketsThreshold,
(PUCHAR)&p->ctrlDataInitParams.rateAdaptationInitParam.stepUpTxPacketsThreshold);
regReadIntegerParameter(pAdapter, &STRFBShortInterval,
CTRL_DATA_FB_SHORT_INTERVAL_DEF, CTRL_DATA_FB_SHORT_INTERVAL_MIN,
CTRL_DATA_FB_SHORT_INTERVAL_MAX,
sizeof p->ctrlDataInitParams.rateAdaptationInitParam.ctrlDataFBShortInterval,
(PUCHAR)&p->ctrlDataInitParams.rateAdaptationInitParam.ctrlDataFBShortInterval);
regReadIntegerParameter(pAdapter, &STRFBLongInterval,
CTRL_DATA_FB_LONG_INTERVAL_DEF, CTRL_DATA_FB_LONG_INTERVAL_MIN,
CTRL_DATA_FB_LONG_INTERVAL_MAX,
sizeof p->ctrlDataInitParams.rateAdaptationInitParam.ctrlDataFBLongInterval,
(PUCHAR)&p->ctrlDataInitParams.rateAdaptationInitParam.ctrlDataFBLongInterval);
regReadIntegerParameter(pAdapter, &STRRateAdaptationTimeout,
RATE_ADAPTATION_TIMEOUT_DEF , RATE_ADAPTATION_TIMEOUT_MIN, RATE_ADAPTATION_TIMEOUT_MAX,
sizeof p->ctrlDataInitParams.rateAdaptationInitParam.rateAdapt_timeout,
(PUCHAR)&p->ctrlDataInitParams.rateAdaptationInitParam.rateAdapt_timeout);
regReadIntegerParameter(pAdapter, &STRRateControlEnable,
CTRL_DATA_RATE_CONTROL_ENABLE_DEF, CTRL_DATA_RATE_CONTROL_ENABLE_MIN, CTRL_DATA_RATE_CONTROL_ENABLE_MAX,
sizeof p->ctrlDataInitParams.ctrlDataRateControlEnable,
(PUCHAR)&p->ctrlDataInitParams.ctrlDataRateControlEnable);
/* SME Initialization Parameters */
/* ==================================== */
regReadIntegerParameter(pAdapter, &STRdot11SmeScanEnabled,
ENABLE_SME_SCAN_DEF, ENABLE_SME_SCAN_MIN, ENABLE_SME_SCAN_MAX,
sizeof p->smeInitParams.EnableFirstConnScan,
(PUCHAR)&p->smeInitParams.EnableFirstConnScan);
regReadIntegerParameter(pAdapter, &STRdot11SmeInterScanMin,
SME_INTER_SCAN_MIN_DEF, SME_INTER_SCAN_MIN_MIN, SME_INTER_SCAN_MIN_MAX,
sizeof p->smeInitParams.InterScanIntervalMin,
(PUCHAR)&p->smeInitParams.InterScanIntervalMin);
regReadIntegerParameter(pAdapter, &STRdot11SmeInterScanMax,
SME_INTER_SCAN_MAX_DEF, SME_INTER_SCAN_MAX_MIN, SME_INTER_SCAN_MAX_MAX,
sizeof p->smeInitParams.InterScanIntervalMax,
(PUCHAR)&p->smeInitParams.InterScanIntervalMax);
regReadIntegerParameter(pAdapter, &STRdot11SmeInterScanDelta,
SME_INTER_SCAN_DELTA_DEF, SME_INTER_SCAN_DELTA_MIN, SME_INTER_SCAN_DELTA_MAX,
sizeof p->smeInitParams.InterScanIntervalDelta,
(PUCHAR)&p->smeInitParams.InterScanIntervalDelta);
/* B/G scan first scan params */
/* ---------------------------- */
regReadIntegerTable(pAdapter, &STRdot11SmeScanBGChannelList, SME_SCAN_BG_LIST_BAND_VAL_DEF,
SME_SCAN_BG_LIST_BAND_STRING_MAX_SIZE,
(PUCHAR)&p->smeInitParams.scanParamsBG.channelsList);
regReadIntegerParameter(pAdapter, &STRdot11SmeScanBGMinDwellTime,
SME_SCAN_BG_MIN_DWELL_TIME_DEF, SME_SCAN_BG_MIN_DWELL_TIME_MIN, SME_SCAN_BG_MIN_DWELL_TIME_MAX,
sizeof p->smeInitParams.scanParamsBG.minDwellTime,
(PUCHAR)&p->smeInitParams.scanParamsBG.minDwellTime);
regReadIntegerParameter(pAdapter, &STRdot11SmeScanBGMaxDwellTime,
SME_SCAN_BG_MAX_DWELL_TIME_DEF, SME_SCAN_BG_MAX_DWELL_TIME_MIN, SME_SCAN_BG_MAX_DWELL_TIME_MAX,
sizeof p->smeInitParams.scanParamsBG.maxDwellTime,
(PUCHAR)&p->smeInitParams.scanParamsBG.maxDwellTime);
regReadIntegerParameter(pAdapter, &STRdot11SmeScanBGNumProbReq,
SME_SCAN_BG_NUM_PROB_REQ_DEF, SME_SCAN_BG_NUM_PROB_REQ_MIN, SME_SCAN_BG_NUM_PROB_REQ_MAX,
sizeof p->smeInitParams.scanParamsBG.probeReqNumber,
(PUCHAR)&p->smeInitParams.scanParamsBG.probeReqNumber);
regReadIntegerParameter(pAdapter, &STRdot11SmeScanBGProbReqRate,
SME_SCAN_BG_PROB_REQ_RATE_DEF, SME_SCAN_BG_PROB_REQ_RATE_MIN, SME_SCAN_BG_NUM_PROB_REQ_RATE_MAX,
sizeof p->smeInitParams.scanParamsBG.probeRequestRate,
(PUCHAR)&p->smeInitParams.scanParamsBG.probeRequestRate);
regReadIntegerParameter(pAdapter, &STRdot11SmeScanBGTxPowerLevel,
SME_SCAN_BG_TX_POWER_DEF, SME_SCAN_BG_TX_POWER_MIN, SME_SCAN_BG_TX_POWER_MAX,
sizeof p->smeInitParams.scanParamsBG.txPowerDbm,
(PUCHAR)&p->smeInitParams.scanParamsBG.txPowerDbm);
/* A band first scan params */
/* ---------------------------- */
regReadIntegerTable(pAdapter, &STRdot11SmeScanAChannelList, SME_SCAN_A_LIST_BAND_VAL_DEF,
SME_SCAN_A_LIST_BAND_STRING_MAX_SIZE,
(PUCHAR)&p->smeInitParams.scanParamsA.channelsList);
regReadIntegerParameter(pAdapter, &STRdot11SmeScanAMinDwellTime,
SME_SCAN_A_MIN_DWELL_TIME_DEF, SME_SCAN_A_MIN_DWELL_TIME_MIN, SME_SCAN_A_MIN_DWELL_TIME_MAX,
sizeof p->smeInitParams.scanParamsA.minDwellTime,
(PUCHAR)&p->smeInitParams.scanParamsA.minDwellTime);
regReadIntegerParameter(pAdapter, &STRdot11SmeScanAMaxDwellTime,
SME_SCAN_A_MAX_DWELL_TIME_DEF, SME_SCAN_A_MAX_DWELL_TIME_MIN, SME_SCAN_A_MAX_DWELL_TIME_MAX,
sizeof p->smeInitParams.scanParamsA.maxDwellTime,
(PUCHAR)&p->smeInitParams.scanParamsA.maxDwellTime);
regReadIntegerParameter(pAdapter, &STRdot11SmeScanANumProbReq,
SME_SCAN_A_NUM_PROB_REQ_DEF, SME_SCAN_A_NUM_PROB_REQ_MIN, SME_SCAN_A_NUM_PROB_REQ_MAX,
sizeof p->smeInitParams.scanParamsA.probeReqNumber,
(PUCHAR)&p->smeInitParams.scanParamsA.probeReqNumber);
regReadIntegerParameter(pAdapter, &STRdot11SmeScanAProbReqRate,
SME_SCAN_A_PROB_REQ_RATE_DEF, SME_SCAN_A_PROB_REQ_RATE_MIN, SME_SCAN_A_NUM_PROB_REQ_RATE_MAX,
sizeof p->smeInitParams.scanParamsA.probeRequestRate,
(PUCHAR)&p->smeInitParams.scanParamsA.probeRequestRate);
regReadIntegerParameter(pAdapter, &STRdot11SmeScanATxPowerLevel,
SME_SCAN_A_TX_POWER_DEF, SME_SCAN_A_TX_POWER_MIN, SME_SCAN_A_TX_POWER_MAX,
sizeof p->smeInitParams.scanParamsA.txPowerDbm,
(PUCHAR)&p->smeInitParams.scanParamsA.txPowerDbm);
regReadIntegerParameter(pAdapter, &STRdot11AuthenticationMode,
RSN_AUTH_SUITE_DEF, RSN_AUTH_SUITE_MIN, RSN_AUTH_SUITE_MAX,
sizeof p->rsnInitParams.authSuite,
(PUCHAR)&p->rsnInitParams.authSuite);
regReadIntegerParameter(pAdapter, &STRdot11FourXEnable,
CTRL_DATA_FOUR_X_ENABLE_DEF, CTRL_DATA_FOUR_X_ENABLE_MIN, CTRL_DATA_FOUR_X_ENABLE_MAX,
sizeof p->ctrlDataInitParams.ctrlDataFourXEnable,
(PUCHAR)&p->ctrlDataInitParams.ctrlDataFourXEnable);
/* Soft Gemini Section */
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistEnable,
SOFT_GEMINI_ENABLED_DEF, SOFT_GEMINI_ENABLED_MIN, SOFT_GEMINI_ENABLED_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiEnable,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiEnable);
regReadIntegerTable(pAdapter, &STRBThWlanCoexistRate, SG_RATES_DEF,
SG_RATES_STRING_MAX_DEF,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiRate);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsbtHpMaxTime,
SOFT_GEMINI_PARAMS_BT_HP_MAXTIME_DEF, SOFT_GEMINI_PARAMS_BT_HP_MAXTIME_MIN, SOFT_GEMINI_PARAMS_BT_HP_MAXTIME_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.btHpMaxTime,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.btHpMaxTime);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamswlanHpMaxTime,
SOFT_GEMINI_PARAMS_WLAN_HP_MAX_TIME_DEF, SOFT_GEMINI_PARAMS_WLAN_HP_MAX_TIME_MIN, SOFT_GEMINI_PARAMS_WLAN_HP_MAX_TIME_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.wlanHpMaxTime,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.wlanHpMaxTime);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamssenseDisableTimer,
SOFT_GEMINI_PARAMS_SENSE_DISABLE_TIMER_DEF, SOFT_GEMINI_PARAMS_SENSE_DISABLE_TIMER_MIN, SOFT_GEMINI_PARAMS_SENSE_DISABLE_TIMER_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.senseDisableTimer,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.senseDisableTimer);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsprotectiveRxTimeBeforeBtHp,
SOFT_GEMINI_PARAMS_PROTECTIVE_RX_TIME_DEF, SOFT_GEMINI_PARAMS_PROTECTIVE_RX_TIME_MIN, SOFT_GEMINI_PARAMS_PROTECTIVE_RX_TIME_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.protectiveRxTimeBeforeBtHp,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.protectiveRxTimeBeforeBtHp);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsprotectiveTxTimeBeforeBtHp,
SOFT_GEMINI_PARAMS_PROTECTIVE_TX_TIME_DEF, SOFT_GEMINI_PARAMS_PROTECTIVE_TX_TIME_MIN, SOFT_GEMINI_PARAMS_PROTECTIVE_TX_TIME_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.protectiveTxTimeBeforeBtHp,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.protectiveTxTimeBeforeBtHp);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsprotectiveRxTimeBeforeBtHpFastAp,
SOFT_GEMINI_PARAMS_PROTECTIVE_RX_TIME_FAST_DEF, SOFT_GEMINI_PARAMS_PROTECTIVE_RX_TIME_FAST_MIN, SOFT_GEMINI_PARAMS_PROTECTIVE_RX_TIME_FAST_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.protectiveRxTimeBeforeBtHpFastAp,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.protectiveRxTimeBeforeBtHpFastAp);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsprotectiveTxTimeBeforeBtHpFastAp,
SOFT_GEMINI_PARAMS_PROTECTIVE_TX_TIME_FAST_DEF, SOFT_GEMINI_PARAMS_PROTECTIVE_TX_TIME_FAST_MIN, SOFT_GEMINI_PARAMS_PROTECTIVE_TX_TIME_FAST_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.protectiveTxTimeBeforeBtHpFastAp,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.protectiveTxTimeBeforeBtHpFastAp);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsprotectiveWlanCycleTimeForFastAp,
SOFT_GEMINI_PARAMS_CYCLE_TIME_FAST_DEF, SOFT_GEMINI_PARAMS_CYCLE_TIME_FAST_MIN, SOFT_GEMINI_PARAMS_CYCLE_TIME_FAST_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.protectiveWlanCycleTimeForFastAp,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.protectiveWlanCycleTimeForFastAp);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamstimeoutNextBtLpPacket,
SOFT_GEMINI_PARAMS_TIMEOUT_NEXT_BT_LP_PACKET_DEF, SOFT_GEMINI_PARAMS_TIMEOUT_NEXT_BT_LP_PACKET_MIN, SOFT_GEMINI_PARAMS_TIMEOUT_NEXT_BT_LP_PACKET_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.timeoutNextBtLpPacket,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.timeoutNextBtLpPacket);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamssgAntennaType,
SOFT_GEMINI_PARAMS_SG_ANTENNA_TYPE_DEF, SOFT_GEMINI_PARAMS_SG_ANTENNA_TYPE_MIN, SOFT_GEMINI_PARAMS_SG_ANTENNA_TYPE_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.sgAntennaType,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.sgAntennaType);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamssignalingType,
SOFT_GEMINI_PARAMS_SIGNALING_TYPE_DEF, SOFT_GEMINI_PARAMS_SIGNALING_TYPE_MIN, SOFT_GEMINI_PARAMS_SIGNALING_TYPE_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.signalingType,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.signalingType);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsafhLeverageOn,
SOFT_GEMINI_PARAMS_AFH_LEVERAGE_ON_DEF, SOFT_GEMINI_PARAMS_AFH_LEVERAGE_ON_MIN, SOFT_GEMINI_PARAMS_AFH_LEVERAGE_ON_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.afhLeverageOn,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.afhLeverageOn);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsnumberQuietCycle,
SOFT_GEMINI_PARAMS_NUMBER_QUIET_CYCLE_DEF, SOFT_GEMINI_PARAMS_NUMBER_QUIET_CYCLE_MIN, SOFT_GEMINI_PARAMS_NUMBER_QUIET_CYCLE_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.numberQuietCycle,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.numberQuietCycle);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsmaxNumCts,
SOFT_GEMINI_PARAMS_MAX_NUM_CTS_DEF, SOFT_GEMINI_PARAMS_MAX_NUM_CTS_MIN, SOFT_GEMINI_PARAMS_MAX_NUM_CTS_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.maxNumCts,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.maxNumCts);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsnumberOfWlanPackets,
SOFT_GEMINI_PARAMS_NUMBER_OF_WLAN_PACKETS_DEF, SOFT_GEMINI_PARAMS_NUMBER_OF_WLAN_PACKETS_MIN, SOFT_GEMINI_PARAMS_NUMBER_OF_WLAN_PACKETS_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.numberOfWlanPackets,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.numberOfWlanPackets);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsnumberOfBtPackets,
SOFT_GEMINI_PARAMS_NUMBER_OF_BT_PACKETS_DEF, SOFT_GEMINI_PARAMS_NUMBER_OF_BT_PACKETS_MIN, SOFT_GEMINI_PARAMS_NUMBER_OF_BT_PACKETS_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.numberOfBtPackets,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.numberOfBtPackets);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsnumberOfMissedRxForAvalancheTrigger,
SOFT_GEMINI_PARAMS_RX_FOR_AVALANCHE_DEF, SOFT_GEMINI_PARAMS_RX_FOR_AVALANCHE_MIN, SOFT_GEMINI_PARAMS_RX_FOR_AVALANCHE_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.numberOfMissedRxForAvalancheTrigger,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.numberOfMissedRxForAvalancheTrigger);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamswlanElpHpSupport,
SOFT_GEMINI_PARAMS_ELP_HP_DEF, SOFT_GEMINI_PARAMS_ELP_HP_MIN, SOFT_GEMINI_PARAMS_ELP_HP_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.wlanElpHpSupport,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.wlanElpHpSupport);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsbtAntiStarvationPeriod,
SOFT_GEMINI_PARAMS_ANTI_STARVE_PERIOD_DEF, SOFT_GEMINI_PARAMS_ANTI_STARVE_PERIOD_MIN, SOFT_GEMINI_PARAMS_ANTI_STARVE_PERIOD_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.btAntiStarvationPeriod,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.btAntiStarvationPeriod);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsbtAntiStarvationNumberOfCyclesWithinThePeriod,
SOFT_GEMINI_PARAMS_ANTI_STARVE_NUM_CYCLE_DEF, SOFT_GEMINI_PARAMS_ANTI_STARVE_NUM_CYCLE_MIN, SOFT_GEMINI_PARAMS_ANTI_STARVE_NUM_CYCLE_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.btAntiStarvationNumberOfCyclesWithinThePeriod ,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.btAntiStarvationNumberOfCyclesWithinThePeriod);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsackModeDuringBtLpInDualAnt,
SOFT_GEMINI_PARAMS_ACK_MODE_DEF, SOFT_GEMINI_PARAMS_ACK_MODE_MIN, SOFT_GEMINI_PARAMS_ACK_MODE_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.ackModeDuringBtLpInDualAnt ,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.ackModeDuringBtLpInDualAnt);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsallowPaSdToggleDuringBtActivityEnable,
SOFT_GEMINI_PARAMS_ALLOW_PA_SD_DEF, SOFT_GEMINI_PARAMS_ALLOW_PA_SD_MIN, SOFT_GEMINI_PARAMS_ALLOW_PA_SD_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.allowPaSdToggleDuringBtActivityEnable ,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.allowPaSdToggleDuringBtActivityEnable);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamswakeUpTimeBeforeBeacon,
SOFT_GEMINI_PARAMS_TIME_BEFORE_BEACON_DEF, SOFT_GEMINI_PARAMS_TIME_BEFORE_BEACON_MIN, SOFT_GEMINI_PARAMS_TIME_BEFORE_BEACON_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.wakeUpTimeBeforeBeacon ,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.wakeUpTimeBeforeBeacon);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamshpdmMaxGuardTime,
SOFT_GEMINI_PARAMS_HPDM_MAX_TIME_DEF, SOFT_GEMINI_PARAMS_HPDM_MAX_TIME_MIN, SOFT_GEMINI_PARAMS_HPDM_MAX_TIME_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.hpdmMaxGuardTime ,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.hpdmMaxGuardTime);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamstimeoutNextWlanPacket,
SOFT_GEMINI_PARAMS_TIME_OUT_NEXT_WLAN_DEF, SOFT_GEMINI_PARAMS_TIME_OUT_NEXT_WLAN_MIN, SOFT_GEMINI_PARAMS_TIME_OUT_NEXT_WLAN_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.timeoutNextWlanPacket ,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.timeoutNextWlanPacket);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamssgAutoModeNoCts,
SOFT_GEMINI_PARAMS_AUTO_MODE_NO_CTS_DEF, SOFT_GEMINI_PARAMS_AUTO_MODE_NO_CTS_MIN, SOFT_GEMINI_PARAMS_AUTO_MODE_NO_CTS_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.sgAutoModeNoCts ,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.sgAutoModeNoCts);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamsnumOfBtHpRespectedReq,
SOFT_GEMINI_PARAMS_BT_HP_RESPECTED_DEF, SOFT_GEMINI_PARAMS_BT_HP_RESPECTED_MIN, SOFT_GEMINI_PARAMS_BT_HP_RESPECTED_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.numOfBtHpRespectedReq ,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.numOfBtHpRespectedReq);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistParamswlanRxMinRateToRespectBtHp,
SOFT_GEMINI_PARAMS_WLAN_RX_MIN_RATE_DEF, SOFT_GEMINI_PARAMS_WLAN_RX_MIN_RATE_MIN, SOFT_GEMINI_PARAMS_WLAN_RX_MIN_RATE_MAX,
sizeof p->SoftGeminiInitParams.SoftGeminiParam.wlanRxMinRateToRespectBtHp ,
(PUCHAR)&p->SoftGeminiInitParams.SoftGeminiParam.wlanRxMinRateToRespectBtHp);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistScanNumberOfProbes,
SOFT_GEMINI_SCAN_NUMBER_OF_PROBE_REQUEST_DEF, SOFT_GEMINI_SCAN_NUMBER_OF_PROBE_REQUEST_MIN, SOFT_GEMINI_SCAN_NUMBER_OF_PROBE_REQUEST_MAX,
sizeof p->SoftGeminiInitParams.scanNumOfProbeRequest,
(PUCHAR)&p->SoftGeminiInitParams.scanNumOfProbeRequest);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistScanCompensationPercent,
SOFT_GEMINI_SCAN_COMPENSATION_PERCENT_DEF, SOFT_GEMINI_SCAN_COMPENSATION_PERCENT_MIN, SOFT_GEMINI_SCAN_COMPENSATION_PERCENT_MAX,
sizeof p->SoftGeminiInitParams.scanCompensationPercent,
(PUCHAR)&p->SoftGeminiInitParams.scanCompensationPercent);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistScanCompensationMaxTime,
SOFT_GEMINI_SCAN_COMPENSATION_MAX_TIME_DEF, SOFT_GEMINI_SCAN_COMPENSATION_MAX_TIME_MIN, SOFT_GEMINI_SCAN_COMPENSATION_MAX_TIME_MAX,
sizeof p->SoftGeminiInitParams.scanCompensationMaxTime,
(PUCHAR)&p->SoftGeminiInitParams.scanCompensationMaxTime);
regReadIntegerParameter(pAdapter, &STRBThWlanCoexistBSSLossCompensationPercent,
SOFT_GEMINI_BSS_LOSS_COMPENSATION_PERCENT_DEF, SOFT_GEMINI_BSS_LOSS_COMPENSATION_PERCENT_MIN, SOFT_GEMINI_BSS_LOSS_COMPENSATION_PERCENT_MAX,
sizeof p->SoftGeminiInitParams.BSSLossCompensationPercent,
(PUCHAR)&p->SoftGeminiInitParams.BSSLossCompensationPercent);
/* update hal 4x params */
p->TnetwDrv_InitParams.halCtrlConfigParams.halCtrlEnable4x = p->ctrlDataInitParams.ctrlDataFourXEnable;
/*
Power Manager
*/
regReadIntegerParameter(pAdapter,
&STRPowerMode,
POWER_MODE_DEF_VALUE,
POWER_MODE_MIN_VALUE,
POWER_MODE_MAX_VALUE,
sizeof p->PowerMgrInitParams.powerMode,
(PUCHAR)&p->PowerMgrInitParams.powerMode);
regReadIntegerParameter(pAdapter,
&STRBeaconReceiveTime,
BEACON_RECEIVE_TIME_DEF_VALUE,
BEACON_RECEIVE_TIME_MIN_VALUE,
BEACON_RECEIVE_TIME_MAX_VALUE,
sizeof p->PowerMgrInitParams.beaconReceiveTime,
(PUCHAR)&p->PowerMgrInitParams.beaconReceiveTime);
regReadIntegerParameter(pAdapter,
&STRBaseBandWakeUpTime,
BASE_BAND_WAKE_UP_TIME_DEF_VALUE,
BASE_BAND_WAKE_UP_TIME_MIN_VALUE,
BASE_BAND_WAKE_UP_TIME_MAX_VALUE,
sizeof p->PowerMgrInitParams.BaseBandWakeUpTime,
(PUCHAR)&p->PowerMgrInitParams.BaseBandWakeUpTime);
regReadIntegerParameter(pAdapter,
&STRHangoverPeriod,
HANGOVER_PERIOD_DEF_VALUE,
HANGOVER_PERIOD_MIN_VALUE,
HANGOVER_PERIOD_MAX_VALUE,
sizeof p->PowerMgrInitParams.hangoverPeriod,
(PUCHAR)&p->PowerMgrInitParams.hangoverPeriod);
regReadIntegerParameter(pAdapter,
&STRBeaconListenInterval,
BEACON_LISTEN_INTERVAL_DEF_VALUE,
BEACON_LISTEN_INTERVAL_MIN_VALUE,
BEACON_LISTEN_INTERVAL_MAX_VALUE,
sizeof p->PowerMgrInitParams.beaconListenInterval,
(PUCHAR)&p->PowerMgrInitParams.beaconListenInterval);
regReadIntegerParameter(pAdapter,
&STRDtimListenInterval,
DTIM_LISTEN_INTERVAL_DEF_VALUE,
DTIM_LISTEN_INTERVAL_MIN_VALUE,
DTIM_LISTEN_INTERVAL_MAX_VALUE,
sizeof p->PowerMgrInitParams.dtimListenInterval,
(PUCHAR)&p->PowerMgrInitParams.dtimListenInterval);
regReadIntegerParameter(pAdapter,
&STRNConsecutiveBeaconsMissed,
N_CONSECUTIVE_BEACONS_MISSED_DEF_VALUE,
N_CONSECUTIVE_BEACONS_MISSED_MIN_VALUE,
N_CONSECUTIVE_BEACONS_MISSED_MAX_VALUE,
sizeof p->