mirror of
https://github.com/aircrack-ng/rtl8812au.git
synced 2024-11-22 21:34:37 +00:00
Nuke CONFIG_LOAD_PHY_PARA_FROM_FILE function
This commit is contained in:
parent
eccee894cd
commit
14204645d5
7
Makefile
7
Makefile
@ -41,7 +41,6 @@ CONFIG_WAPI_SUPPORT = n
|
||||
CONFIG_EFUSE_CONFIG_FILE = y
|
||||
CONFIG_EXT_CLK = n
|
||||
CONFIG_TRAFFIC_PROTECT = n
|
||||
CONFIG_LOAD_PHY_PARA_FROM_FILE = y
|
||||
CONFIG_TXPWR_BY_RATE = y
|
||||
CONFIG_TXPWR_BY_RATE_EN = n
|
||||
CONFIG_TXPWR_LIMIT = y
|
||||
@ -403,12 +402,6 @@ ifeq ($(CONFIG_TRAFFIC_PROTECT), y)
|
||||
EXTRA_CFLAGS += -DCONFIG_TRAFFIC_PROTECT
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_LOAD_PHY_PARA_FROM_FILE), y)
|
||||
EXTRA_CFLAGS += -DCONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
#EXTRA_CFLAGS += -DREALTEK_CONFIG_PATH_WITH_IC_NAME_FOLDER
|
||||
EXTRA_CFLAGS += -DREALTEK_CONFIG_PATH=\"/lib/firmware/\"
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_TXPWR_BY_RATE), n)
|
||||
EXTRA_CFLAGS += -DCONFIG_TXPWR_BY_RATE=0
|
||||
else ifeq ($(CONFIG_TXPWR_BY_RATE), y)
|
||||
|
@ -80,19 +80,12 @@ void dump_drv_cfg(void *sel)
|
||||
RTW_PRINT_SEL(sel, "CONFIG_POWER_SAVING\n");
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
RTW_PRINT_SEL(sel, "LOAD_PHY_PARA_FROM_FILE - REALTEK_CONFIG_PATH=%s\n", REALTEK_CONFIG_PATH);
|
||||
#if defined(CONFIG_MULTIDRV) || defined(REALTEK_CONFIG_PATH_WITH_IC_NAME_FOLDER)
|
||||
RTW_PRINT_SEL(sel, "LOAD_PHY_PARA_FROM_FILE - REALTEK_CONFIG_PATH_WITH_IC_NAME_FOLDER\n");
|
||||
#endif
|
||||
|
||||
/* configurations about TX power */
|
||||
#ifdef CONFIG_CALIBRATE_TX_POWER_BY_REGULATORY
|
||||
RTW_PRINT_SEL(sel, "CONFIG_CALIBRATE_TX_POWER_BY_REGULATORY\n");
|
||||
#endif
|
||||
#ifdef CONFIG_CALIBRATE_TX_POWER_TO_MAX
|
||||
RTW_PRINT_SEL(sel, "CONFIG_CALIBRATE_TX_POWER_TO_MAX\n");
|
||||
#endif
|
||||
#endif
|
||||
RTW_PRINT_SEL(sel, "RTW_DEF_MODULE_REGULATORY_CERT=0x%02x\n", RTW_DEF_MODULE_REGULATORY_CERT);
|
||||
|
||||
|
122
hal/hal_btcoex.c
122
hal/hal_btcoex.c
@ -5504,128 +5504,6 @@ void hal_btcoex_SetAntIsolationType(PADAPTER padapter, u8 anttype)
|
||||
|
||||
}
|
||||
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
int
|
||||
hal_btcoex_ParseAntIsolationConfigFile(
|
||||
PADAPTER Adapter,
|
||||
char *buffer
|
||||
)
|
||||
{
|
||||
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
|
||||
u32 i = 0 , j = 0;
|
||||
char *szLine , *ptmp;
|
||||
int rtStatus = _SUCCESS;
|
||||
char param_value_string[10];
|
||||
u8 param_value;
|
||||
u8 anttype = 4;
|
||||
|
||||
u8 ant_num = 3 , ant_distance = 50 , rfe_type = 1;
|
||||
|
||||
typedef struct ant_isolation {
|
||||
char *param_name; /* antenna isolation config parameter name */
|
||||
u8 *value; /* antenna isolation config parameter value */
|
||||
} ANT_ISOLATION;
|
||||
|
||||
ANT_ISOLATION ant_isolation_param[] = {
|
||||
{"ANT_NUMBER" , &ant_num},
|
||||
{"ANT_DISTANCE" , &ant_distance},
|
||||
{"RFE_TYPE" , &rfe_type},
|
||||
{NULL , 0}
|
||||
};
|
||||
|
||||
|
||||
|
||||
/* RTW_INFO("===>Hal_ParseAntIsolationConfigFile()\n" ); */
|
||||
|
||||
ptmp = buffer;
|
||||
for (szLine = GetLineFromBuffer(ptmp) ; szLine != NULL; szLine = GetLineFromBuffer(ptmp)) {
|
||||
/* skip comment */
|
||||
if (IsCommentString(szLine))
|
||||
continue;
|
||||
|
||||
/* RTW_INFO("%s : szLine = %s , strlen(szLine) = %d\n" , __func__ , szLine , strlen(szLine));*/
|
||||
for (j = 0 ; ant_isolation_param[j].param_name != NULL ; j++) {
|
||||
if (strstr(szLine , ant_isolation_param[j].param_name) != NULL) {
|
||||
i = 0;
|
||||
while (i < strlen(szLine)) {
|
||||
if (szLine[i] != '"')
|
||||
++i;
|
||||
else {
|
||||
/* skip only has one " */
|
||||
if (strpbrk(szLine , "\"") == strrchr(szLine , '"')) {
|
||||
RTW_INFO("Fail to parse parameters , format error!\n");
|
||||
break;
|
||||
}
|
||||
_rtw_memset((PVOID)param_value_string , 0 , 10);
|
||||
if (!ParseQualifiedString(szLine , &i , param_value_string , '"' , '"')) {
|
||||
RTW_INFO("Fail to parse parameters\n");
|
||||
return _FAIL;
|
||||
} else if (!GetU1ByteIntegerFromStringInDecimal(param_value_string , ant_isolation_param[j].value))
|
||||
RTW_INFO("Fail to GetU1ByteIntegerFromStringInDecimal\n");
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* YiWei 20140716 , for BT coex antenna isolation control */
|
||||
/* rfe_type = 0 was SPDT , rfe_type = 1 was coupler */
|
||||
if (ant_num == 3 && ant_distance >= 50)
|
||||
anttype = 3;
|
||||
else if (ant_num == 2 && ant_distance >= 50 && rfe_type == 1)
|
||||
anttype = 2;
|
||||
else if (ant_num == 3 && ant_distance >= 15 && ant_distance < 50)
|
||||
anttype = 2;
|
||||
else if (ant_num == 2 && ant_distance >= 15 && ant_distance < 50 && rfe_type == 1)
|
||||
anttype = 2;
|
||||
else if ((ant_num == 2 && ant_distance < 15 && rfe_type == 1) || (ant_num == 3 && ant_distance < 15))
|
||||
anttype = 1;
|
||||
else if (ant_num == 2 && rfe_type == 0)
|
||||
anttype = 0;
|
||||
else
|
||||
anttype = 0;
|
||||
|
||||
hal_btcoex_SetAntIsolationType(Adapter, anttype);
|
||||
|
||||
RTW_INFO("%s : ant_num = %d\n" , __func__ , ant_num);
|
||||
RTW_INFO("%s : ant_distance = %d\n" , __func__ , ant_distance);
|
||||
RTW_INFO("%s : rfe_type = %d\n" , __func__ , rfe_type);
|
||||
/* RTW_INFO("<===Hal_ParseAntIsolationConfigFile()\n"); */
|
||||
return rtStatus;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
hal_btcoex_AntIsolationConfig_ParaFile(
|
||||
IN PADAPTER Adapter,
|
||||
IN char *pFileName
|
||||
)
|
||||
{
|
||||
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
|
||||
int rlen = 0 , rtStatus = _FAIL;
|
||||
|
||||
_rtw_memset(pHalData->para_file_buf , 0 , MAX_PARA_FILE_BUF_LEN);
|
||||
|
||||
rtw_get_phy_file_path(Adapter, pFileName);
|
||||
if (rtw_is_file_readable(rtw_phy_para_file_path) == _TRUE) {
|
||||
rlen = rtw_retrieve_from_file(rtw_phy_para_file_path, pHalData->para_file_buf, MAX_PARA_FILE_BUF_LEN);
|
||||
if (rlen > 0)
|
||||
rtStatus = _SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
if (rtStatus == _SUCCESS) {
|
||||
/*RTW_INFO("%s(): read %s ok\n", __func__ , pFileName);*/
|
||||
rtStatus = hal_btcoex_ParseAntIsolationConfigFile(Adapter , pHalData->para_file_buf);
|
||||
} else
|
||||
RTW_INFO("%s(): No File %s, Load from *** Array!\n" , __func__ , pFileName);
|
||||
|
||||
return rtStatus;
|
||||
}
|
||||
#endif /* CONFIG_LOAD_PHY_PARA_FROM_FILE */
|
||||
|
||||
u16 hal_btcoex_btreg_read(PADAPTER padapter, u8 type, u16 addr, u32 *data)
|
||||
{
|
||||
u16 ret = 0;
|
||||
|
@ -100,11 +100,6 @@ void rtw_hal_read_sta_dk_key(_adapter *adapter, u8 key_id)
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
char rtw_phy_para_file_path[PATH_LENGTH_MAX];
|
||||
#endif
|
||||
|
||||
void dump_chip_info(HAL_VERSION ChipVersion)
|
||||
{
|
||||
int cnt = 0;
|
||||
|
1379
hal/hal_com_phycfg.c
1379
hal/hal_com_phycfg.c
File diff suppressed because it is too large
Load Diff
@ -22,7 +22,6 @@
|
||||
//#include <drv_types.h>
|
||||
#include <rtl8814a_hal.h>
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* Function: PHY_RF6052SetBandwidth()
|
||||
*
|
||||
@ -83,19 +82,18 @@ phy_RF6052_Config_ParaFile_8814A(
|
||||
u8 eRFPath;
|
||||
int rtStatus = _SUCCESS;
|
||||
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(Adapter);
|
||||
static char sz8814RadioAFile[] = PHY_FILE_RADIO_A;
|
||||
static char sz8814RadioBFile[] = PHY_FILE_RADIO_B;
|
||||
static char sz8814RadioCFile[] = PHY_FILE_RADIO_C;
|
||||
static char sz8814RadioDFile[] = PHY_FILE_RADIO_D;
|
||||
static char sz8814TxPwrTrack[] = PHY_FILE_TXPWR_TRACK;
|
||||
// static char sz8814RadioAFile[] = PHY_FILE_RADIO_A;
|
||||
// static char sz8814RadioBFile[] = PHY_FILE_RADIO_B;
|
||||
// static char sz8814RadioCFile[] = PHY_FILE_RADIO_C;
|
||||
// static char sz8814RadioDFile[] = PHY_FILE_RADIO_D;
|
||||
// static char sz8814TxPwrTrack[] = PHY_FILE_TXPWR_TRACK;
|
||||
char *pszRadioAFile = NULL, *pszRadioBFile = NULL, *pszRadioCFile = NULL, *pszRadioDFile = NULL, *pszTxPwrTrack = NULL;
|
||||
|
||||
|
||||
pszRadioAFile = sz8814RadioAFile;
|
||||
pszRadioBFile = sz8814RadioBFile;
|
||||
pszRadioCFile = sz8814RadioCFile;
|
||||
pszRadioDFile = sz8814RadioDFile;
|
||||
pszTxPwrTrack = sz8814TxPwrTrack;
|
||||
// pszRadioAFile = sz8814RadioAFile;
|
||||
// pszRadioBFile = sz8814RadioBFile;
|
||||
// pszRadioCFile = sz8814RadioCFile;
|
||||
// pszRadioDFile = sz8814RadioDFile;
|
||||
// pszTxPwrTrack = sz8814TxPwrTrack;
|
||||
|
||||
//3//-----------------------------------------------------------------
|
||||
//3// <2> Initialize RF
|
||||
@ -107,9 +105,6 @@ phy_RF6052_Config_ParaFile_8814A(
|
||||
switch(eRFPath)
|
||||
{
|
||||
case RF_PATH_A:
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
if (PHY_ConfigRFWithParaFile(Adapter, pszRadioAFile, eRFPath) == _FAIL)
|
||||
#endif //CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
{
|
||||
#ifdef CONFIG_EMBEDDED_FWIMG
|
||||
if(HAL_STATUS_FAILURE ==odm_config_rf_with_header_file(&pHalData->odmpriv,CONFIG_RF_RADIO, (enum rf_path)eRFPath))
|
||||
@ -118,9 +113,6 @@ phy_RF6052_Config_ParaFile_8814A(
|
||||
}
|
||||
break;
|
||||
case RF_PATH_B:
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
if (PHY_ConfigRFWithParaFile(Adapter, pszRadioBFile, eRFPath) == _FAIL)
|
||||
#endif //CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
{
|
||||
#ifdef CONFIG_EMBEDDED_FWIMG
|
||||
if(HAL_STATUS_FAILURE ==odm_config_rf_with_header_file(&pHalData->odmpriv,CONFIG_RF_RADIO, (enum rf_path)eRFPath))
|
||||
@ -129,9 +121,6 @@ phy_RF6052_Config_ParaFile_8814A(
|
||||
}
|
||||
break;
|
||||
case RF_PATH_C:
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
if (PHY_ConfigRFWithParaFile(Adapter, pszRadioCFile, eRFPath) == _FAIL)
|
||||
#endif //CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
{
|
||||
#ifdef CONFIG_EMBEDDED_FWIMG
|
||||
if(HAL_STATUS_FAILURE ==odm_config_rf_with_header_file(&pHalData->odmpriv,CONFIG_RF_RADIO, (enum rf_path)eRFPath))
|
||||
@ -140,9 +129,6 @@ phy_RF6052_Config_ParaFile_8814A(
|
||||
}
|
||||
break;
|
||||
case RF_PATH_D:
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
if (PHY_ConfigRFWithParaFile(Adapter, pszRadioDFile, eRFPath) == _FAIL)
|
||||
#endif //CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
{
|
||||
#ifdef CONFIG_EMBEDDED_FWIMG
|
||||
if(HAL_STATUS_FAILURE ==odm_config_rf_with_header_file(&pHalData->odmpriv,CONFIG_RF_RADIO, (enum rf_path)eRFPath))
|
||||
@ -170,9 +156,6 @@ phy_RF6052_Config_ParaFile_8814A(
|
||||
//3 Configuration of Tx Power Tracking
|
||||
//3 -----------------------------------------------------------------
|
||||
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
if (PHY_ConfigRFWithTxPwrTrackParaFile(Adapter, pszTxPwrTrack) == _FAIL)
|
||||
#endif //CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
{
|
||||
#ifdef CONFIG_EMBEDDED_FWIMG
|
||||
odm_config_rf_with_tx_pwr_track_header_file(&pHalData->odmpriv);
|
||||
@ -185,7 +168,6 @@ phy_RF6052_Config_ParaFile_Fail:
|
||||
return rtStatus;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
PHY_RF6052_Config_8814A(
|
||||
IN PADAPTER Adapter)
|
||||
@ -205,6 +187,4 @@ PHY_RF6052_Config_8814A(
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* End of HalRf6052.c */
|
||||
|
||||
|
@ -18,7 +18,6 @@
|
||||
|
||||
--------------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
#ifndef __DRV_TYPES_H__
|
||||
#define __DRV_TYPES_H__
|
||||
|
||||
@ -34,14 +33,6 @@
|
||||
#include <net/arp.h>
|
||||
#endif
|
||||
|
||||
#ifdef PLATFORM_OS_XP
|
||||
#include <drv_types_xp.h>
|
||||
#endif
|
||||
|
||||
#ifdef PLATFORM_OS_CE
|
||||
#include <drv_types_ce.h>
|
||||
#endif
|
||||
|
||||
#ifdef PLATFORM_LINUX
|
||||
#include <drv_types_linux.h>
|
||||
#endif
|
||||
@ -91,7 +82,7 @@ typedef struct _ADAPTER _adapter, ADAPTER, *PADAPTER;
|
||||
#include <rtw_sreset.h>
|
||||
#include <hal_intf.h>
|
||||
#include <hal_com.h>
|
||||
#include<hal_com_h2c.h>
|
||||
#include <hal_com_h2c.h>
|
||||
#include <hal_com_led.h>
|
||||
#include "../hal/hal_dm.h"
|
||||
#include <rtw_qos.h>
|
||||
@ -363,10 +354,6 @@ struct registry_priv {
|
||||
u8 check_fw_ps;
|
||||
u8 RegPwrTrimEnable;
|
||||
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
u8 load_phy_file;
|
||||
u8 RegDecryptCustomFile;
|
||||
#endif
|
||||
#ifdef CONFIG_CONCURRENT_MODE
|
||||
u8 virtual_iface_num;
|
||||
#endif
|
||||
@ -689,7 +676,7 @@ struct debug_priv {
|
||||
u32 dbg_carddisable_cnt;
|
||||
u32 dbg_carddisable_error_cnt;
|
||||
u32 dbg_ps_insuspend_cnt;
|
||||
u32 dbg_dev_unload_inIPS_cnt;
|
||||
u32 dbg_dev_unload_inIPS_cnt;
|
||||
u32 dbg_wow_leave_ps_fail_cnt;
|
||||
u32 dbg_scan_pwr_state_cnt;
|
||||
u32 dbg_downloadfw_pwr_state_cnt;
|
||||
@ -1120,7 +1107,7 @@ struct dvobj_priv {
|
||||
_timer txbcn_timer;
|
||||
#endif
|
||||
_timer dynamic_chk_timer; /* dynamic/periodic check timer */
|
||||
|
||||
|
||||
#ifdef CONFIG_RTW_NAPI_DYNAMIC
|
||||
u8 en_napi_dynamic;
|
||||
#endif /* CONFIG_RTW_NAPI_DYNAMIC */
|
||||
@ -1171,41 +1158,11 @@ struct dvobj_priv {
|
||||
u8 *usb_vendor_req_buf;
|
||||
#endif
|
||||
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
/* related device objects */
|
||||
PDEVICE_OBJECT pphysdevobj;/* pPhysDevObj; */
|
||||
PDEVICE_OBJECT pfuncdevobj;/* pFuncDevObj; */
|
||||
PDEVICE_OBJECT pnextdevobj;/* pNextDevObj; */
|
||||
|
||||
u8 nextdevstacksz;/* unsigned char NextDeviceStackSize; */ /* = (CHAR)CEdevice->pUsbDevObj->StackSize + 1; */
|
||||
|
||||
/* urb for control diescriptor request */
|
||||
|
||||
#ifdef PLATFORM_OS_XP
|
||||
struct _URB_CONTROL_DESCRIPTOR_REQUEST descriptor_urb;
|
||||
PUSB_CONFIGURATION_DESCRIPTOR pconfig_descriptor;/* UsbConfigurationDescriptor; */
|
||||
#endif
|
||||
|
||||
#ifdef PLATFORM_OS_CE
|
||||
WCHAR active_path[MAX_ACTIVE_REG_PATH]; /* adapter regpath */
|
||||
USB_EXTENSION usb_extension;
|
||||
|
||||
_nic_hdl pipehdls_r8192c[0x10];
|
||||
#endif
|
||||
|
||||
u32 config_descriptor_len;/* ULONG UsbConfigurationDescriptorLength; */
|
||||
#endif/* PLATFORM_WINDOWS */
|
||||
|
||||
#ifdef PLATFORM_LINUX
|
||||
struct usb_interface *pusbintf;
|
||||
struct usb_device *pusbdev;
|
||||
#endif/* PLATFORM_LINUX */
|
||||
|
||||
#ifdef PLATFORM_FREEBSD
|
||||
struct usb_interface *pusbintf;
|
||||
struct usb_device *pusbdev;
|
||||
#endif/* PLATFORM_FREEBSD */
|
||||
|
||||
#endif/* CONFIG_USB_HCI */
|
||||
|
||||
/*-------- below is for PCIE INTERFACE --------*/
|
||||
@ -1266,8 +1223,8 @@ struct dvobj_priv {
|
||||
u8 tpt_mode; /* RTK T/P Testing Mode, 0:default mode */
|
||||
u32 edca_be_ul;
|
||||
u32 edca_be_dl;
|
||||
#endif
|
||||
/* also for RTK T/P Testing Mode */
|
||||
#endif
|
||||
/* also for RTK T/P Testing Mode */
|
||||
u8 scan_deny;
|
||||
|
||||
};
|
||||
@ -1536,17 +1493,6 @@ struct _ADAPTER {
|
||||
void (*intf_start)(_adapter *adapter);
|
||||
void (*intf_stop)(_adapter *adapter);
|
||||
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
_nic_hdl hndis_adapter;/* hNdisAdapter(NDISMiniportAdapterHandle); */
|
||||
_nic_hdl hndis_config;/* hNdisConfiguration; */
|
||||
NDIS_STRING fw_img;
|
||||
|
||||
u32 NdisPacketFilter;
|
||||
u8 MCList[MAX_MCAST_LIST_NUM][6];
|
||||
u32 MCAddrCount;
|
||||
#endif /* end of PLATFORM_WINDOWS */
|
||||
|
||||
|
||||
#ifdef PLATFORM_LINUX
|
||||
_nic_hdl pnetdev;
|
||||
char old_ifname[IFNAMSIZ];
|
||||
@ -1582,11 +1528,6 @@ struct _ADAPTER {
|
||||
|
||||
#endif /* PLATFORM_LINUX */
|
||||
|
||||
#ifdef PLATFORM_FREEBSD
|
||||
_nic_hdl pifp;
|
||||
int bup;
|
||||
_lock glock;
|
||||
#endif /* PLATFORM_FREEBSD */
|
||||
u8 mac_addr[ETH_ALEN];
|
||||
int net_closed;
|
||||
|
||||
@ -1757,7 +1698,8 @@ static inline void rtw_clr_drv_stopped(_adapter *padapter)
|
||||
|
||||
/*
|
||||
* Function disabled.
|
||||
* */
|
||||
*
|
||||
*/
|
||||
#define DF_TX_BIT BIT0 /*write_port_cancel*/
|
||||
#define DF_RX_BIT BIT1 /*read_port_cancel*/
|
||||
#define DF_IO_BIT BIT2
|
||||
|
@ -79,10 +79,6 @@ void hal_btcoex_SendScanNotify(PADAPTER, u8 type);
|
||||
void hal_btcoex_StackUpdateProfileInfo(void);
|
||||
void hal_btcoex_pta_off_on_notify(PADAPTER padapter, u8 bBTON);
|
||||
void hal_btcoex_SetAntIsolationType(PADAPTER padapter, u8 anttype);
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
int hal_btcoex_AntIsolationConfig_ParaFile(IN PADAPTER Adapter, IN char *pFileName);
|
||||
int hal_btcoex_ParseAntIsolationConfigFile(PADAPTER Adapter, char *buffer);
|
||||
#endif /* CONFIG_LOAD_PHY_PARA_FROM_FILE */
|
||||
u16 hal_btcoex_btreg_read(PADAPTER padapter, u8 type, u16 addr, u32 *data);
|
||||
u16 hal_btcoex_btreg_write(PADAPTER padapter, u8 type, u16 addr, u16 val);
|
||||
void hal_btcoex_set_rfe_type(u8 type);
|
||||
|
@ -233,11 +233,12 @@ typedef enum _WAKEUP_REASON{
|
||||
|
||||
/*
|
||||
* Queue Select Value in TxDesc
|
||||
* */
|
||||
#define QSLT_BK 0x2/* 0x01 */
|
||||
*
|
||||
*/
|
||||
#define QSLT_BK 0x2 /* 0x01 */
|
||||
#define QSLT_BE 0x0
|
||||
#define QSLT_VI 0x5/* 0x4 */
|
||||
#define QSLT_VO 0x7/* 0x6 */
|
||||
#define QSLT_VI 0x5 /* 0x4 */
|
||||
#define QSLT_VO 0x7 /* 0x6 */
|
||||
#define QSLT_BEACON 0x10
|
||||
#define QSLT_HIGH 0x11
|
||||
#define QSLT_MGNT 0x12
|
||||
@ -565,16 +566,10 @@ void rtw_hal_ch_sw_iqk_info_restore(_adapter *padapter, u8 ch_sw_use_case);
|
||||
void rtw_hal_set_input_gpio(_adapter *padapter, u8 index);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
extern char *rtw_phy_file_path;
|
||||
extern char rtw_phy_para_file_path[PATH_LENGTH_MAX];
|
||||
#define GetLineFromBuffer(buffer) strsep(&buffer, "\r\n")
|
||||
#endif
|
||||
|
||||
void update_IOT_info(_adapter *padapter);
|
||||
#ifdef CONFIG_RTS_FULL_BW
|
||||
void rtw_set_rts_bw(_adapter *padapter);
|
||||
#endif/*CONFIG_RTS_FULL_BW*/
|
||||
#endif /*CONFIG_RTS_FULL_BW*/
|
||||
void hal_set_crystal_cap(_adapter *adapter, u8 crystal_cap);
|
||||
|
||||
void ResumeTxBeacon(_adapter *padapter);
|
||||
|
@ -53,7 +53,6 @@ typedef struct _BB_REGISTER_DEFINITION {
|
||||
|
||||
} BB_REGISTER_DEFINITION_T, *PBB_REGISTER_DEFINITION_T;
|
||||
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
u8
|
||||
PHY_GetTxPowerByRateBase(
|
||||
@ -254,46 +253,5 @@ void dump_tx_power_by_rate(void *sel, _adapter *adapter);
|
||||
|
||||
int rtw_get_phy_file_path(_adapter *adapter, const char *file_name);
|
||||
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
#define MAC_FILE_FW_NIC "FW_NIC.bin"
|
||||
#define MAC_FILE_FW_WW_IMG "FW_WoWLAN.bin"
|
||||
#define PHY_FILE_MAC_REG "MAC_REG.txt"
|
||||
|
||||
#define PHY_FILE_AGC_TAB "AGC_TAB.txt"
|
||||
#define PHY_FILE_PHY_REG "PHY_REG.txt"
|
||||
#define PHY_FILE_PHY_REG_MP "PHY_REG_MP.txt"
|
||||
#define PHY_FILE_PHY_REG_PG "PHY_REG_PG.txt"
|
||||
|
||||
#define PHY_FILE_RADIO_A "RadioA.txt"
|
||||
#define PHY_FILE_RADIO_B "RadioB.txt"
|
||||
#define PHY_FILE_RADIO_C "RadioC.txt"
|
||||
#define PHY_FILE_RADIO_D "RadioD.txt"
|
||||
#define PHY_FILE_TXPWR_TRACK "TxPowerTrack.txt"
|
||||
#define PHY_FILE_TXPWR_LMT "TXPWR_LMT.txt"
|
||||
|
||||
#define PHY_FILE_WIFI_ANT_ISOLATION "wifi_ant_isolation.txt"
|
||||
|
||||
#define MAX_PARA_FILE_BUF_LEN 25600
|
||||
|
||||
#define LOAD_MAC_PARA_FILE BIT0
|
||||
#define LOAD_BB_PARA_FILE BIT1
|
||||
#define LOAD_BB_PG_PARA_FILE BIT2
|
||||
#define LOAD_BB_MP_PARA_FILE BIT3
|
||||
#define LOAD_RF_PARA_FILE BIT4
|
||||
#define LOAD_RF_TXPWR_TRACK_PARA_FILE BIT5
|
||||
#define LOAD_RF_TXPWR_LMT_PARA_FILE BIT6
|
||||
|
||||
int phy_ConfigMACWithParaFile(IN PADAPTER Adapter, IN char *pFileName);
|
||||
int phy_ConfigBBWithParaFile(IN PADAPTER Adapter, IN char *pFileName, IN u32 ConfigType);
|
||||
int phy_ConfigBBWithPgParaFile(IN PADAPTER Adapter, IN const char *pFileName);
|
||||
int phy_ConfigBBWithMpParaFile(IN PADAPTER Adapter, IN char *pFileName);
|
||||
int PHY_ConfigRFWithParaFile(IN PADAPTER Adapter, IN char *pFileName, IN enum rf_path eRFPath);
|
||||
int PHY_ConfigRFWithTxPwrTrackParaFile(IN PADAPTER Adapter, IN char *pFileName);
|
||||
#if CONFIG_TXPWR_LIMIT
|
||||
int PHY_ConfigRFWithPowerLimitTableParaFile(IN PADAPTER Adapter, IN const char *pFileName);
|
||||
#endif
|
||||
void phy_free_filebuf_mask(_adapter *padapter, u8 mask);
|
||||
void phy_free_filebuf(_adapter *padapter);
|
||||
#endif /* CONFIG_LOAD_PHY_PARA_FROM_FILE */
|
||||
u8 phy_check_under_survey_ch(_adapter *adapter);
|
||||
#endif /* __HAL_COMMON_H__ */
|
||||
|
@ -36,7 +36,8 @@
|
||||
|
||||
/*
|
||||
* Interface type.
|
||||
* */
|
||||
*
|
||||
*/
|
||||
typedef enum _INTERFACE_SELECT_PCIE {
|
||||
INTF_SEL0_SOLO_MINICARD = 0, /* WiFi solo-mCard */
|
||||
INTF_SEL1_BT_COMBO_MINICARD = 1, /* WiFi+BT combo-mCard */
|
||||
@ -207,7 +208,6 @@ struct hal_iqk_reg_backup {
|
||||
u32 reg_backup[MAX_RF_PATH][MAX_IQK_INFO_BACKUP_REG_NUM];
|
||||
};
|
||||
|
||||
|
||||
typedef struct hal_p2p_ps_para {
|
||||
/*DW0*/
|
||||
u8 offload_en:1;
|
||||
@ -377,13 +377,6 @@ typedef struct hal_com_data {
|
||||
struct kfree_data_t kfree_data;
|
||||
#endif /*CONFIG_RF_POWER_TRIM*/
|
||||
|
||||
#if defined(CONFIG_RTL8723B) || defined(CONFIG_RTL8703B) || \
|
||||
defined(CONFIG_RTL8723D) || \
|
||||
defined(CONFIG_RTL8192F)
|
||||
|
||||
u8 adjuseVoltageVal;
|
||||
u8 need_restore;
|
||||
#endif
|
||||
u8 EfuseUsedPercentage;
|
||||
u16 EfuseUsedBytes;
|
||||
/*u8 EfuseMap[2][HWSET_MAX_SIZE_JAGUAR];*/
|
||||
@ -482,8 +475,6 @@ typedef struct hal_com_data {
|
||||
u8 bScanInProcess;
|
||||
/******** PHY DM & DM Section **********/
|
||||
|
||||
|
||||
|
||||
/* 2010/08/09 MH Add CU power down mode. */
|
||||
BOOLEAN pwrdown;
|
||||
|
||||
@ -537,11 +528,9 @@ typedef struct hal_com_data {
|
||||
/* SDIO Tx FIFO related. */
|
||||
/* */
|
||||
/* HIQ, MID, LOW, PUB free pages; padapter->xmitpriv.free_txpg */
|
||||
#ifdef CONFIG_RTL8192F
|
||||
u16 SdioTxFIFOFreePage[SDIO_TX_FREE_PG_QUEUE];
|
||||
#else
|
||||
|
||||
u8 SdioTxFIFOFreePage[SDIO_TX_FREE_PG_QUEUE];
|
||||
#endif/*CONFIG_RTL8192F*/
|
||||
|
||||
_lock SdioTxFIFOFreePageLock;
|
||||
u8 SdioTxOQTMaxFreeSpace;
|
||||
u8 SdioTxOQTFreeSpace;
|
||||
@ -597,37 +586,6 @@ typedef struct hal_com_data {
|
||||
BT_COEXIST bt_coexist;
|
||||
#endif /* CONFIG_BT_COEXIST */
|
||||
|
||||
#if defined(CONFIG_RTL8723B) || defined(CONFIG_RTL8703B) \
|
||||
|| defined(CONFIG_RTL8188F) || defined(CONFIG_RTL8188GTV) || defined(CONFIG_RTL8723D)|| defined(CONFIG_RTL8192F)
|
||||
#ifndef CONFIG_PCI_HCI /* mutual exclusive with PCI -- so they're SDIO and GSPI */
|
||||
/* Interrupt relatd register information. */
|
||||
u32 SysIntrStatus;
|
||||
u32 SysIntrMask;
|
||||
#endif
|
||||
#endif /*endif CONFIG_RTL8723B */
|
||||
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
char para_file_buf[MAX_PARA_FILE_BUF_LEN];
|
||||
char *mac_reg;
|
||||
u32 mac_reg_len;
|
||||
char *bb_phy_reg;
|
||||
u32 bb_phy_reg_len;
|
||||
char *bb_agc_tab;
|
||||
u32 bb_agc_tab_len;
|
||||
char *bb_phy_reg_pg;
|
||||
u32 bb_phy_reg_pg_len;
|
||||
char *bb_phy_reg_mp;
|
||||
u32 bb_phy_reg_mp_len;
|
||||
char *rf_radio_a;
|
||||
u32 rf_radio_a_len;
|
||||
char *rf_radio_b;
|
||||
u32 rf_radio_b_len;
|
||||
char *rf_tx_pwr_track;
|
||||
u32 rf_tx_pwr_track_len;
|
||||
char *rf_tx_pwr_lmt;
|
||||
u32 rf_tx_pwr_lmt_len;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BACKGROUND_NOISE_MONITOR
|
||||
struct noise_monitor nm;
|
||||
#endif
|
||||
@ -641,9 +599,6 @@ typedef struct hal_com_data {
|
||||
BOOLEAN bCCKinCH14;
|
||||
BB_INIT_REGISTER RegForRecover[5];
|
||||
|
||||
#if defined(CONFIG_PCI_HCI) && defined(RTL8814AE_SW_BCN)
|
||||
BOOLEAN bCorrectBCN;
|
||||
#endif
|
||||
u32 RxGainOffset[4]; /*{2G, 5G_Low, 5G_Middle, G_High}*/
|
||||
u8 BackUp_IG_REG_4_Chnl_Section[4]; /*{A,B,C,D}*/
|
||||
|
||||
@ -937,18 +892,11 @@ int rtw_halmac_deinit_adapter(struct dvobj_priv *);
|
||||
#define REG_APK rAPK
|
||||
#define REG_ANTSEL_SW_JAGUAR r_ANTSEL_SW_Jaguar
|
||||
|
||||
|
||||
|
||||
#define rf_welut_jaguar RF_WeLut_Jaguar
|
||||
#define rf_mode_table_addr RF_ModeTableAddr
|
||||
#define rf_mode_table_data0 RF_ModeTableData0
|
||||
#define rf_mode_table_data1 RF_ModeTableData1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define RX_SMOOTH_FACTOR Rx_Smooth_Factor
|
||||
|
||||
#endif /* __HAL_DATA_H__ */
|
||||
|
@ -670,26 +670,6 @@ int rtw_tsf_update_restore_factor = CONFIG_TSF_UPDATE_RESTORE_FACTOR;
|
||||
module_param(rtw_tsf_update_restore_factor, int, 0644);
|
||||
MODULE_PARM_DESC(rtw_tsf_update_restore_factor, "num of bcn intervals to stay TSF update restore status");
|
||||
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
char *rtw_phy_file_path = REALTEK_CONFIG_PATH;
|
||||
module_param(rtw_phy_file_path, charp, 0644);
|
||||
MODULE_PARM_DESC(rtw_phy_file_path, "The path of phy parameter");
|
||||
/* PHY FILE Bit Map
|
||||
* BIT0 - MAC, 0: non-support, 1: support
|
||||
* BIT1 - BB, 0: non-support, 1: support
|
||||
* BIT2 - BB_PG, 0: non-support, 1: support
|
||||
* BIT3 - BB_MP, 0: non-support, 1: support
|
||||
* BIT4 - RF, 0: non-support, 1: support
|
||||
* BIT5 - RF_TXPWR_TRACK, 0: non-support, 1: support
|
||||
* BIT6 - RF_TXPWR_LMT, 0: non-support, 1: support */
|
||||
int rtw_load_phy_file = (BIT2 | BIT6);
|
||||
module_param(rtw_load_phy_file, int, 0644);
|
||||
MODULE_PARM_DESC(rtw_load_phy_file, "PHY File Bit Map");
|
||||
int rtw_decrypt_phy_file = 0;
|
||||
module_param(rtw_decrypt_phy_file, int, 0644);
|
||||
MODULE_PARM_DESC(rtw_decrypt_phy_file, "Enable Decrypt PHY File");
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SUPPORT_TRX_SHARED
|
||||
#ifdef DFT_TRX_SHARE_MODE
|
||||
int rtw_trx_share_mode = DFT_TRX_SHARE_MODE;
|
||||
@ -1121,10 +1101,7 @@ uint loadparam(_adapter *padapter)
|
||||
registry_par->AmplifierType_2G = (u8)rtw_amplifier_type_2g;
|
||||
registry_par->AmplifierType_5G = (u8)rtw_amplifier_type_5g;
|
||||
registry_par->GLNA_Type = (u8)rtw_GLNA_type;
|
||||
#ifdef CONFIG_LOAD_PHY_PARA_FROM_FILE
|
||||
registry_par->load_phy_file = (u8)rtw_load_phy_file;
|
||||
registry_par->RegDecryptCustomFile = (u8)rtw_decrypt_phy_file;
|
||||
#endif
|
||||
|
||||
registry_par->qos_opt_enable = (u8)rtw_qos_opt_enable;
|
||||
|
||||
registry_par->hiq_filter = (u8)rtw_hiq_filter;
|
||||
@ -1361,7 +1338,6 @@ unsigned int rtw_classify8021d(struct sk_buff *skb)
|
||||
return dscp >> 5;
|
||||
}
|
||||
|
||||
|
||||
static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0)
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0)
|
||||
@ -1971,7 +1947,6 @@ u32 rtw_start_drv_threads(_adapter *padapter)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#ifdef CONFIG_EVENT_THREAD_MODE
|
||||
if (padapter->evtThread == NULL) {
|
||||
RTW_INFO(FUNC_ADPT_FMT " start RTW_EVENT_THREAD\n", FUNC_ADPT_ARG(padapter));
|
||||
@ -2066,15 +2041,12 @@ u8 rtw_init_default_value(_adapter *padapter)
|
||||
psecuritypriv->dot118021x_bmc_cam_id = INVALID_SEC_MAC_CAM_ID;
|
||||
#endif
|
||||
|
||||
|
||||
/* pwrctrl_priv */
|
||||
|
||||
|
||||
/* registry_priv */
|
||||
rtw_init_registrypriv_dev_network(padapter);
|
||||
rtw_update_registrypriv_dev_network(padapter);
|
||||
|
||||
|
||||
/* hal_priv */
|
||||
rtw_hal_def_value_init(padapter);
|
||||
|
||||
@ -2209,7 +2181,6 @@ struct dvobj_priv *devobj_init(void)
|
||||
pdvobj->en_napi_dynamic = 0;
|
||||
#endif /* CONFIG_RTW_NAPI_DYNAMIC */
|
||||
|
||||
|
||||
#ifdef CONFIG_RTW_TPT_MODE
|
||||
pdvobj->tpt_mode = 0;
|
||||
pdvobj->edca_be_ul = 0x5ea42b;
|
||||
@ -2355,7 +2326,6 @@ u8 rtw_reset_drv_sw(_adapter *padapter)
|
||||
return ret8;
|
||||
}
|
||||
|
||||
|
||||
u8 rtw_init_drv_sw(_adapter *padapter)
|
||||
{
|
||||
u8 ret8 = _SUCCESS;
|
||||
@ -2524,8 +2494,6 @@ u8 rtw_init_drv_sw(_adapter *padapter)
|
||||
|
||||
exit:
|
||||
|
||||
|
||||
|
||||
return ret8;
|
||||
|
||||
}
|
||||
@ -2883,7 +2851,6 @@ _adapter *rtw_drv_add_vir_if(_adapter *primary_padapter,
|
||||
padapter->hw_port = HW_PORT1;
|
||||
#endif
|
||||
|
||||
|
||||
/****** hook vir if into dvobj ******/
|
||||
pdvobjpriv = adapter_to_dvobj(padapter);
|
||||
padapter->iface_id = pdvobjpriv->iface_nums;
|
||||
@ -2901,7 +2868,6 @@ _adapter *rtw_drv_add_vir_if(_adapter *primary_padapter,
|
||||
if (rtw_init_drv_sw(padapter) != _SUCCESS)
|
||||
goto free_drv_sw;
|
||||
|
||||
|
||||
/*get mac address from primary_padapter*/
|
||||
_rtw_memcpy(mac, adapter_mac_addr(primary_padapter), ETH_ALEN);
|
||||
|
||||
@ -2996,7 +2962,6 @@ void rtw_drv_free_vir_if(_adapter *padapter)
|
||||
rtw_vmfree((u8 *)padapter, sizeof(_adapter));
|
||||
}
|
||||
|
||||
|
||||
void rtw_drv_stop_vir_ifaces(struct dvobj_priv *dvobj)
|
||||
{
|
||||
int i;
|
||||
@ -3013,7 +2978,6 @@ void rtw_drv_free_vir_ifaces(struct dvobj_priv *dvobj)
|
||||
rtw_drv_free_vir_if(dvobj->padapters[i]);
|
||||
}
|
||||
|
||||
|
||||
#endif /*end of CONFIG_CONCURRENT_MODE*/
|
||||
|
||||
/* IPv4, IPv6 IP addr notifier */
|
||||
@ -3398,7 +3362,6 @@ int _netdev_open(struct net_device *pnetdev)
|
||||
pwrctrlpriv->bips_processing = _FALSE;
|
||||
}
|
||||
|
||||
|
||||
netdev_open_normal_process:
|
||||
RTW_INFO(FUNC_NDEV_FMT" Success (bup=%d)\n", FUNC_NDEV_ARG(pnetdev), padapter->bup);
|
||||
return 0;
|
||||
@ -3432,7 +3395,6 @@ int _netdev_open(struct net_device *pnetdev)
|
||||
HAL_DATA_TYPE *pHalData = GET_HAL_DATA(padapter);
|
||||
#endif /* CONFIG_BT_COEXIST_SOCKET_TRX */
|
||||
|
||||
|
||||
RTW_INFO(FUNC_NDEV_FMT" , bup=%d\n", FUNC_NDEV_ARG(pnetdev), padapter->bup);
|
||||
|
||||
padapter->netif_up = _TRUE;
|
||||
@ -3530,7 +3492,6 @@ int _netdev_open(struct net_device *pnetdev)
|
||||
RTW_INFO("CONFIG_BT_COEXIST: VIRTUAL_ADAPTER\n");
|
||||
#endif /* CONFIG_BT_COEXIST_SOCKET_TRX */
|
||||
|
||||
|
||||
netdev_open_normal_process:
|
||||
|
||||
#ifdef CONFIG_CONCURRENT_MODE
|
||||
@ -3601,7 +3562,6 @@ int netdev_open(struct net_device *pnetdev)
|
||||
#endif
|
||||
_exit_critical_mutex(&(adapter_to_dvobj(padapter)->hw_init_mutex), NULL);
|
||||
|
||||
|
||||
#ifdef CONFIG_AUTO_AP_MODE
|
||||
if (padapter->iface_id == IFACE_ID2)
|
||||
rtw_start_auto_ap(padapter);
|
||||
@ -3620,7 +3580,6 @@ int ips_netdrv_open(_adapter *padapter)
|
||||
|
||||
RTW_INFO("===> %s.........\n", __FUNCTION__);
|
||||
|
||||
|
||||
rtw_clr_drv_stopped(padapter);
|
||||
/* padapter->bup = _TRUE; */
|
||||
#ifdef CONFIG_NEW_NETDEV_HDL
|
||||
@ -3775,7 +3734,6 @@ int _pm_netdev_open(_adapter *padapter)
|
||||
pwrctrlpriv->bips_processing = _FALSE;
|
||||
}
|
||||
|
||||
|
||||
netdev_open_normal_process:
|
||||
RTW_INFO(FUNC_NDEV_FMT" Success (bup=%d)\n", FUNC_NDEV_ARG(pnetdev), padapter->bup);
|
||||
return 0;
|
||||
@ -4628,7 +4586,6 @@ int rtw_suspend_ap_wow(_adapter *padapter)
|
||||
}
|
||||
#endif /* #ifdef CONFIG_AP_WOWLAN */
|
||||
|
||||
|
||||
int rtw_suspend_normal(_adapter *padapter)
|
||||
{
|
||||
int ret = _SUCCESS;
|
||||
@ -4648,7 +4605,6 @@ int rtw_suspend_normal(_adapter *padapter)
|
||||
|| (adapter_to_pwrctl(padapter)->rf_pwrstate == rf_off))
|
||||
RTW_PRINT("%s: ### ERROR #### driver in IPS ####ERROR###!!!\n", __FUNCTION__);
|
||||
|
||||
|
||||
#ifdef CONFIG_CONCURRENT_MODE
|
||||
rtw_set_drv_stopped(padapter); /*for stop thread*/
|
||||
rtw_stop_cmd_thread(padapter);
|
||||
@ -4741,7 +4697,6 @@ int rtw_suspend_common(_adapter *padapter)
|
||||
#endif /*CONFIG_AP_WOWLAN*/
|
||||
}
|
||||
|
||||
|
||||
RTW_PRINT("rtw suspend success in %d ms\n",
|
||||
rtw_get_passing_time_ms(start_time));
|
||||
|
||||
@ -4934,7 +4889,6 @@ int rtw_resume_process_ap_wow(_adapter *padapter)
|
||||
goto exit;
|
||||
}
|
||||
|
||||
|
||||
#ifdef CONFIG_LPS
|
||||
if (!(pwrpriv->wowlan_dis_lps)) {
|
||||
rtw_set_ps_mode(padapter, PS_MODE_ACTIVE, 0, 0, "AP-WOWLAN");
|
||||
|
Loading…
Reference in New Issue
Block a user