revert "add MTK Properties"

This commit is contained in:
CN_SZTL 2019-07-07 01:42:21 +08:00
parent 5764b92501
commit 2022fdd8d8
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
787 changed files with 595743 additions and 5837 deletions

View File

@ -43,7 +43,7 @@ function wifi_common_down(devname)
os.execute("ifconfig "..vif.." down")
end
end
for _,vif in ipairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), " "))
for _,vif in ipairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "ra%d+")
or string.match(vif, "rai%d+")

View File

@ -1,51 +0,0 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/version.mk
PKG_NAME:=mt7603
PKG_RELEASE:=1
PKG_BUILD_DEPENDS:=base-files
PKG_FILE_DEPENDS:=
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=Hua Shao <nossiac@163.com>
PKG_URLS:=http://nossiac.com/download/mtk-wifi-ko \
http://119.23.148.191:8888/mtk-wifi-ko
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_KO:=$(PKG_NAME)-for-$(CONFIG_TARGET_SUBTARGET)-linux-$(LINUX_VERSION).ko
define Package/mt7603
CATEGORY:=MTK Properties
SUBMENU:=Drivers
TITLE:=MTK MT7603 WiFi AP driver
AUTOLOAD:=$(call AutoProbe,mt7603)
DEPENDS:=+wireless-tools
endef
define Package/mt7603/config-notyet
config MT7603_USING_LUA_SCRIPT
bool "use lua script to init/config driver"
depends on PACKAGE_mt7603
default y
endef
define Build/Compile
for PKG_URL in $(PKG_URLS); do \
wget $$$${PKG_URL}/$(PKG_KO) \
-O $(PKG_BUILD_DIR)/$(PKG_KO); \
if [ "$$$$?" != "0" ]; then continue; else break; fi \
done
endef
define Package/mt7603/install
$(INSTALL_DIR) $(1)/lib/modules/$(LINUX_VERSION)
-$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_KO) \
$(1)/lib/modules/$(LINUX_VERSION)/$(PKG_NAME).ko
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,mt7603))

View File

@ -1,153 +0,0 @@
#The word of "Default" must not be removed
Default
CountryRegion=5
CountryRegionABand=7
CountryCode=
BssidNum=1
SSID1=wifi-mt7603
WirelessMode=9
TxRate=0
Channel=6
BasicRate=15
BeaconPeriod=100
DtimPeriod=1
TxPower=100
LinkTestSupport=0
ThermalRecal=0
SKUenable=0
PERCENTAGEenable=1
BFBACKOFFenable=0
CalCacheApply=0
DisableOLBC=0
BGProtection=0
TxAntenna=
RxAntenna=
TxPreamble=0
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=1
TurboRate=0
WmmCapable=1
APAifsn=3;7;1;1
APCwmin=4;4;3;2
APCwmax=6;10;4;3
APTxop=0;0;94;47
APACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmin=4;4;3;2
BSSCwmax=10;10;4;3
BSSTxop=0;0;94;47
BSSACM=0;0;0;0
AckPolicy=0;0;0;0
APSDCapable=0
DLSCapable=0
NoForwarding=0
NoForwardingBTNBSSID=0
HideSSID=0
ShortSlot=1
AutoChannelSelect=0
SecurityMode=0
VLANEnable=0
VLANName=
VLANID=0
VLANPriority=0
WscConfMode=0
WscConfStatus=2
WscAKMP=1
WscConfigured=0
WscModeOption=0
WscActionIndex=9
WscPinCode=
WscRegResult=1
WscUseUPnP=1
WscUseUFD=0
WscSSID=RalinkInitialAP
WscKeyMGMT=WPA-EAP
WscConfigMethod=138
WscAuthType=1
WscEncrypType=1
WscNewKey=scaptest
IEEE8021X=0
IEEE80211H=1
CSPeriod=6
PreAuth=0
AuthMode=OPEN
EncrypType=NONE
RekeyInterval=3600
RekeyMethod=DISABLE
PMKCachePeriod=10
WPAPSK1=12345678
DefaultKeyID=1
Key1Type=0
Key1Str1=
Key2Type=0
Key2Str1=
Key3Type=0
Key3Str1=
Key4Type=0
Key4Str1=
HSCounter=0
HT_HTC=1
HT_RDG=1
HT_LinkAdapt=0
HT_OpMode=0
HT_MpduDensity=5
HT_EXTCHA=1
HT_BW=1
HT_AutoBA=1
HT_BADecline=0
HT_AMSDU=0
HT_BAWinSize=64
HT_GI=1
HT_STBC=1
HT_MCS=33
HT_PROTECT=1
HT_MIMOPS=3
HT_40MHZ_INTOLERANT=0
HT_TxStream=2
HT_RxStream=2
HT_DisallowTKIP=1
VHT_STBC=1
VHT_SGI=1
VHT_LDPC=1
G_BAND_256QAM=1
NintendoCapable=0
AccessPolicy0=0
AccessControlList0=
AccessPolicy1=0
AccessControlList1=
AccessPolicy2=0
AccessControlList2=
AccessPolicy3=0
AccessControlList3=
WdsEnable=0
WdsEncrypType=NONE
WdsList=
WdsKey=
WirelessEvent=0
MACRepeaterOuiMode=2
RADIUS_Server=0
RADIUS_Port=1812
RADIUS_Key=
RADIUS_Acct_Server=
RADIUS_Acct_Port=1813
RADIUS_Acct_Key=
session_timeout_interval=0
idle_timeout_interval=0
staWirelessMode=9
E2pAccessMode=2
PMFMFPC=0
PMFMFPR=0
PMFSHA256=0
EthConvertMode=dongle
DfsEnable=0
DfsZeroWait=0
DfsZeroWaitCacTime=255
RED_Enable=1
VOW_Airtime_Fairness_En=1
CP_SUPPORT=2
EDCCAEnable=1
EAPifname=br0
PreAuthifname=br0
HT_BSSCoexistence=0

View File

@ -1,158 +0,0 @@
#!/usr/bin/lua
-- Alternative for OpenWrt's /sbin/wifi.
-- Copyright Not Reserved.
-- Hua Shao <nossiac@163.com>
local function esc(x)
return (x:gsub('%%', '%%%%')
:gsub('^%^', '%%^')
:gsub('%$$', '%%$')
:gsub('%(', '%%(')
:gsub('%)', '%%)')
:gsub('%.', '%%.')
:gsub('%[', '%%[')
:gsub('%]', '%%]')
:gsub('%*', '%%*')
:gsub('%+', '%%+')
:gsub('%-', '%%-')
:gsub('%?', '%%?'))
end
function add_vif_into_lan(vif)
local mtkwifi = require("mtkwifi")
local brvifs = mtkwifi.__trim(
mtkwifi.read_pipe("uci get network.lan.ifname"))
if not string.match(brvifs, esc(vif)) then
nixio.syslog("debug", "add "..vif.." into lan")
brvifs = brvifs.." "..vif
os.execute("uci set network.lan.ifname=\""..brvifs.."\"")
os.execute("uci commit")
-- os.execute("brctl addif br-lan "..vif)
os.execute("ubus call network.interface.lan add_device \"{\\\"name\\\":\\\""..vif.."\\\"}\"")
end
end
function mt7603_up(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7603_up called!")
-- 7603 is always the 1st card and it takes "ra" and "apcli" prefix.
-- for multi-bssid, we must bring up ra0 first. ra0 will create ra1, ra2,...
if not mtkwifi.exists("/sys/class/net/ra0") then
nixio.syslog("err", "unable to detect ra0, abort!")
return
end
os.execute("ifconfig ra0 up")
add_vif_into_lan("ra0")
-- then we bring up ra1, ra2,...
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "ra[1-9][0-9]*") then
os.execute("ifconfig "..vif.." up")
if not string.find(vif, "apcli") then
add_vif_into_lan(vif)
end
-- else nixio.syslog("debug", "skip "..vif..", prefix not match "..pre[1])
end
end
-- then we bring up apcli0, apcli1,...
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "apcli%d+") then
os.execute("ifconfig "..vif.." up")
end
end
os.execute(" rm -rf /tmp/mtk/wifi/mt7603*.need_reload")
end
function mt7603_down(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7603_down called!")
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "apcli%d+") then
os.execute("ifconfig "..vif.." down")
end
end
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "ra%d+") then
os.execute("ifconfig "..vif.." down")
local brvifs = mtkwifi.read_pipe("uci get network.lan.ifname")
if string.match(brvifs, vif) then
brvifs = mtkwifi.__trim(string.gsub(brvifs, vif, ""))
nixio.syslog("debug", "remove "..vif.." from lan")
os.execute("uci set network.lan.ifname=\""..brvifs.."\"")
os.execute("uci commit")
os.execute("ubus call network.interface.lan remove_device \"{\\\"name\\\":\\\""..vif.."\\\"}\"")
end
-- else nixio.syslog("debug", "skip "..vif..", prefix not match "..pre[1])
end
end
os.execute(" rm -rf /tmp/mtk/wifi/mt7603*.need_reload")
end
function mt7603_reload(devname)
local nixio = require("nixio")
nixio.syslog("debug", "mt7603_reload called!")
mt7603_down()
mt7603_up()
end
function mt7603_restart(devname)
local nixio = require("nixio")
nixio.syslog("debug", "mt7603_restart called!")
mt7603_down()
os.execute("rmmod mt7603")
os.execute("modprobe mt7603")
mt7603_up()
end
function mt7603_reset(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7603_reset called!")
if mtkwifi.exists("/rom/etc/wireless/mt7603/") then
os.execute("rm -rf /etc/wireless/mt7603/")
os.execute("cp -rf /rom/etc/wireless/mt7603/ /etc/wireless/")
mt7603_reload()
else
nixio.syslog("debug", "/rom"..profile.." missing, unable to reset!")
end
end
function mt7603_status(devname)
return wifi_common_status()
end
function mt7603_detect(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7603_detect called!")
for _,dev in ipairs(mtkwifi.get_all_devs()) do
print([[
config wifi-device ]]..dev.maindev.."\n"..[[
option type mt7603
option vendor ralink
]])
for _,vif in ipairs(dev.vifs) do
print([[
config wifi-iface
option device ]]..dev.maindev.."\n"..[[
option ifname ]]..vif.vifname.."\n"..[[
option network lan
option mode ap
option ssid ]]..vif.__ssid.."\n")
end
end
end

View File

@ -1,50 +0,0 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/version.mk
PKG_NAME:=mt7610
PKG_RELEASE:=1
PKG_BUILD_DEPENDS:=base-files
PKG_FILE_DEPENDS:=
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=Hua Shao <nossiac@163.com>
PKG_URLS:=http://nossiac.com/download/mtk-wifi-ko \
http://119.23.148.191:8888/mtk-wifi-ko
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_KO:=$(PKG_NAME)-for-$(CONFIG_TARGET_SUBTARGET)-linux-$(LINUX_VERSION).ko
define Package/mt7610
CATEGORY:=MTK Properties
SUBMENU:=Drivers
TITLE:=MTK MT7610 WiFi AP driver
AUTOLOAD:=$(call AutoProbe,mt7610)
DEPENDS:=+wireless-tools
endef
define Package/mt7610/config-notyet
config MT7610_USING_LUA_SCRIPT
bool "use lua script to init/config driver"
depends on PACKAGE_mt7610
default y
endef
define Build/Compile
for PKG_URL in $(PKG_URLS); do \
wget $$$${PKG_URL}/$(PKG_KO) \
-O $(PKG_BUILD_DIR)/$(PKG_KO); \
if [ "$$$$?" != "0" ]; then continue; else break; fi \
done
endef
define Package/mt7610/install
$(INSTALL_DIR) $(1)/lib/modules/$(LINUX_VERSION)
-$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_KO) \
$(1)/lib/modules/$(LINUX_VERSION)/$(PKG_NAME).ko
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,mt7610))

View File

@ -1,132 +0,0 @@
#The word of "Default" must not be removed
Default
CountryRegion=
CountryRegionABand=7
CountryCode=
BssidNum=1
SSID1=wifi-mt7610
SSID2=
SSID3=
SSID4=
WirelessMode=9
TxRate=0
Channel=auto
BasicRate=15
BeaconPeriod=100
DtimPeriod=1
TxPower=100
DisableOLBC=0
BGProtection=0
MaxStaNum=0
TxPreamble=0
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=0
TurboRate=0
WmmCapable=1
APSDCapable=1
DLSCapable=0
APAifsn=3;7;1;1
APCwmin=4;4;3;2
APCwmax=6;10;4;3
APTxop=0;0;94;47
APACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmin=4;4;3;2
BSSCwmax=10;10;4;3
BSSTxop=0;0;94;47
BSSACM=0;0;0;0
AckPolicy=0;0;0;0
NoForwarding=0
NoForwardingBTNBSSID=0
HideSSID=0
StationKeepAlive=0
ShortSlot=1
AutoChannelSelect=0
IEEE8021X=0
IEEE80211H=0
CSPeriod=10
WirelessEvent=0
IdsEnable=0
AuthFloodThreshold=32
AssocReqFloodThreshold=32
ReassocReqFloodThreshold=32
ProbeReqFloodThreshold=32
DisassocFloodThreshold=32
DeauthFloodThreshold=32
EapReqFooldThreshold=32
PreAuth=0
AuthMode=OPEN
EncrypType=NONE
RekeyInterval=0
RekeyMethod=DISABLE
PMKCachePeriod=10
WPAPSK1=
WPAPSK2=
WPAPSK3=
WPAPSK4=
DefaultKeyID=1
Key1Type=1;1;1;1
Key1Str1=
Key1Str2=
Key1Str3=
Key1Str4=
Key2Type=1;1;1;1
Key2Str1=
Key2Str2=
Key2Str3=
Key2Str4=
Key3Type=1;1;1;1
Key3Str1=
Key3Str2=
Key3Str3=
Key3Str4=
Key4Type=1;1;1;1
Key4Str1=
Key4Str2=
Key4Str3=
Key4Str4=
HSCounter=0
AccessPolicy0=0
AccessControlList0=
AccessPolicy1=0
AccessControlList1=
AccessPolicy2=0
AccessControlList2=
AccessPolicy3=0
AccessControlList3=
WdsEnable=0
WdsEncrypType=NONE
WdsList=EOF
WdsKey=
RADIUS_Server=192.168.2.3
RADIUS_Port=1812
RADIUS_Key=ralink
own_ip_addr=192.168.5.234
EAPifname=br-lan
PreAuthifname=br-lan
HT_HTC=0
HT_RDG=0
HT_EXTCHA=0
HT_LinkAdapt=0
HT_OpMode=0
HT_MpduDensity=5
HT_BW=0
HT_AutoBA=1
HT_AMSDU=0
HT_BAWinSize=64
HT_GI=1
HT_MCS=33
# WPS stuff
# 1 = enrollee, 2 = proxy, 4 = registrar (bitmask)
# This value is enabled later on, for WPA only
WscConfMode=0
# 1 = disabled, 2 = enabled
WscConfStatus=2
# 2 = PBC, 1 = PIN
WscMode = 2
HT_TxStream=2
HT_RxStream=2

View File

@ -1,158 +0,0 @@
#!/usr/bin/lua
-- Alternative for OpenWrt's /sbin/wifi.
-- Copyright Not Reserved.
-- Hua Shao <nossiac@163.com>
local function esc(x)
return (x:gsub('%%', '%%%%')
:gsub('^%^', '%%^')
:gsub('%$$', '%%$')
:gsub('%(', '%%(')
:gsub('%)', '%%)')
:gsub('%.', '%%.')
:gsub('%[', '%%[')
:gsub('%]', '%%]')
:gsub('%*', '%%*')
:gsub('%+', '%%+')
:gsub('%-', '%%-')
:gsub('%?', '%%?'))
end
function add_vif_into_lan(vif)
local mtkwifi = require("mtkwifi")
local brvifs = mtkwifi.__trim(
mtkwifi.read_pipe("uci get network.lan.ifname"))
if not string.match(brvifs, esc(vif)) then
nixio.syslog("debug", "add "..vif.." into lan")
brvifs = brvifs.." "..vif
os.execute("uci set network.lan.ifname=\""..brvifs.."\"")
os.execute("uci commit")
-- os.execute("brctl addif br-lan "..vif)
os.execute("ubus call network.interface.lan add_device \"{\\\"name\\\":\\\""..vif.."\\\"}\"")
end
end
function mt7610_up(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7610_up called!")
-- 7610 is always the 2nd card and it takes "rai" and "apclii" prefix.
-- for multi-bssid, we must bring up rai0 first. rai0 will create rai1, rai2,...
if not mtkwifi.exists("/sys/class/net/rai0") then
nixio.syslog("err", "unable to detect rai0, abort!")
return
end
os.execute("ifconfig rai0 up")
add_vif_into_lan("rai0")
-- then we bring up ra1, ra2,...
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "ra[1-9][0-9]*") then
os.execute("ifconfig "..vif.." up")
if not string.find(vif, "apcli") then
add_vif_into_lan(vif)
end
-- else nixio.syslog("debug", "skip "..vif..", prefix not match "..pre[1])
end
end
-- then we bring up apcli0, apcli1,...
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "apcli%d+") then
os.execute("ifconfig "..vif.." up")
end
end
os.execute(" rm -rf /tmp/mtk/wifi/mt7610*.need_reload")
end
function mt7610_down(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7610_down called!")
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "apcli%d+") then
os.execute("ifconfig "..vif.." down")
end
end
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "ra%d+") then
os.execute("ifconfig "..vif.." down")
local brvifs = mtkwifi.read_pipe("uci get network.lan.ifname")
if string.match(brvifs, vif) then
brvifs = mtkwifi.__trim(string.gsub(brvifs, vif, ""))
nixio.syslog("debug", "remove "..vif.." from lan")
os.execute("uci set network.lan.ifname=\""..brvifs.."\"")
os.execute("uci commit")
os.execute("ubus call network.interface.lan remove_device \"{\\\"name\\\":\\\""..vif.."\\\"}\"")
end
-- else nixio.syslog("debug", "skip "..vif..", prefix not match "..pre[1])
end
end
os.execute(" rm -rf /tmp/mtk/wifi/mt7610*.need_reload")
end
function mt7610_reload(devname)
local nixio = require("nixio")
nixio.syslog("debug", "mt7610_reload called!")
mt7610_down()
mt7610_up()
end
function mt7610_restart(devname)
local nixio = require("nixio")
nixio.syslog("debug", "mt7610_restart called!")
mt7610_down()
os.execute("rmmod mt7610")
os.execute("modprobe mt7610")
mt7610_up()
end
function mt7610_reset(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7610_reset called!")
if mtkwifi.exists("/rom/etc/wireless/mt7610/") then
os.execute("rm -rf /etc/wireless/mt7610/")
os.execute("cp -rf /rom/etc/wireless/mt7610/ /etc/wireless/")
mt7610_reload()
else
nixio.syslog("debug", "/rom"..profile.." missing, unable to reset!")
end
end
function mt7610_status(devname)
return wifi_common_status()
end
function mt7610_detect(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7610_detect called!")
for _,dev in ipairs(mtkwifi.get_all_devs()) do
print([[
config wifi-device ]]..dev.maindev.."\n"..[[
option type mt7610
option vendor ralink
]])
for _,vif in ipairs(dev.vifs) do
print([[
config wifi-iface
option device ]]..dev.maindev.."\n"..[[
option ifname ]]..vif.vifname.."\n"..[[
option network lan
option mode ap
option ssid ]]..vif.__ssid.."\n")
end
end
end

View File

@ -1,84 +0,0 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/version.mk
PKG_NAME:=mt7612
PKG_RELEASE:=1
PKG_BUILD_DEPENDS:=base-files
PKG_FILE_DEPENDS:=
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=Hua Shao <nossiac@163.com>
PKG_URLS:=http://nossiac.com/download/mtk-wifi-ko \
http://119.23.148.191:8888/mtk-wifi-ko
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_KO:=$(PKG_NAME)-for-$(CONFIG_TARGET_SUBTARGET)-linux-$(LINUX_VERSION).ko
define Package/mt76x2
CATEGORY:=MTK Properties
SUBMENU:=Drivers
TITLE:=MTK MT76x2 WiFi AP driver
DEPENDS:=+wireless-tools
HIDDEN:=1
endef
define Package/mt7602
CATEGORY:=MTK Properties
SUBMENU:=Drivers
TITLE:=MTK MT7602 WiFi AP driver
AUTOLOAD:=$(call AutoProbe,mt7602)
DEPENDS:=+wireless-tools +mt76x2
endef
define Package/mt7612
CATEGORY:=MTK Properties
SUBMENU:=Drivers
TITLE:=MTK MT7612 WiFi AP driver
AUTOLOAD:=$(call AutoProbe,mt7612)
DEPENDS:=+wireless-tools +mt76x2
endef
define Package/mt7612/config-notyet
config MT7612_USING_LUA_SCRIPT
bool "use lua script to init/config driver"
depends on PACKAGE_mt7612
default y
endef
define Build/Compile
for PKG_URL in $(PKG_URLS); do \
wget $$$${PKG_URL}/$(PKG_KO) \
-O $(PKG_BUILD_DIR)/$(PKG_KO); \
if [ "$$$$?" != "0" ]; then continue; else break; fi \
done
endef
define Package/mt76x2/install
if [ "$$(CONFIG_PACKAGE_mt7602)" != "" ] || [ "$$(CONFIG_PACKAGE_mt7612)" != "" ]; then \
$(INSTALL_DIR) $(1)/lib/modules/$(LINUX_VERSION); \
$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_KO) \
$(1)/lib/modules/$(LINUX_VERSION)/mt7612.ko; \
fi
if [ "$$(CONFIG_PACKAGE_mt7602)" != "" ]; then \
$(INSTALL_DIR) $(1)/etc/wireless/mt7602; \
$(CP) ./files/etc/wireless/mt7602/mt7602.dat $(1)/etc/wireless/mt7602/mt7602.dat; \
$(INSTALL_DIR) $(1)/lib/wifi; \
$(CP) ./files/lib/wifi/mt7602.lua $(1)/lib/wifi/mt7602.lua; \
fi
if [ "$$(CONFIG_PACKAGE_mt7612)" != "" ]; then \
$(INSTALL_DIR) $(1)/etc/wireless/mt7612; \
$(CP) ./files/etc/wireless/mt7612/mt7612.dat $(1)/etc/wireless/mt7612/mt7612.dat; \
$(INSTALL_DIR) $(1)/lib/wifi; \
$(CP) ./files/lib/wifi/mt7612.lua $(1)/lib/wifi/mt7612.lua; \
fi
endef
$(eval $(call BuildPackage,mt76x2))
$(eval $(call BuildPackage,mt7602))
$(eval $(call BuildPackage,mt7612))

View File

@ -1,172 +0,0 @@
#The word of "Default" must not be removed
Default
IcapMode=0
WebInit=1
CountryRegion=5
CountryRegionABand=7
CountryCode=
BssidNum=1
SSID1=wifi-mt7612
WirelessMode=14
TxRate=0
Channel=157
BasicRate=15
BeaconPeriod=100
DtimPeriod=1
TxPower=100
LinkTestSupport=0
ThermalRecal=0
SKUenable=0
PERCENTAGEenable=0
BFBACKOFFenable=0
CalCacheApply=0
DisableOLBC=0
BGProtection=0
TxAntenna=
RxAntenna=
TxPreamble=1
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=1
TurboRate=0
WmmCapable=1
APAifsn=3;7;1;1
APCwmin=4;4;3;2
APCwmax=6;10;4;3
APTxop=0;0;94;47
APACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmin=4;4;3;2
BSSCwmax=10;10;4;3
BSSTxop=0;0;94;47
BSSACM=0;0;0;0
AckPolicy=0;0;0;0
APSDCapable=0
DLSCapable=0
NoForwarding=0
NoForwardingBTNBSSID=0
HideSSID=0
ShortSlot=1
AutoChannelSelect=0
SecurityMode=0
VLANEnable=0
VLANName=
VLANID=0
VLANPriority=0
WscConfMode=0
WscConfStatus=2
WscAKMP=1
WscConfigured=0
WscModeOption=0
WscActionIndex=9
WscPinCode=
WscRegResult=1
WscUseUPnP=1
WscUseUFD=0
WscSSID=RalinkInitialAP
WscKeyMGMT=WPA-EAP
WscConfigMethod=138
WscAuthType=1
WscEncrypType=1
WscNewKey=scaptest
IEEE8021X=0
IEEE80211H=1
CSPeriod=6
PreAuth=0
AuthMode=OPEN
EncrypType=NONE
RekeyInterval=3600
RekeyMethod=DISABLE
PMKCachePeriod=10
WPAPSK1=12345678
DefaultKeyID=1
Key1Type=0
Key1Str1=
Key2Type=0
Key2Str1=
Key3Type=0
Key3Str1=
Key4Type=0
Key4Str1=
HSCounter=0
HT_HTC=1
HT_RDG=1
HT_LinkAdapt=0
HT_OpMode=0
HT_MpduDensity=5
HT_EXTCHA=1
HT_BW=1
HT_AutoBA=1
HT_BADecline=0
HT_AMSDU=0
HT_BAWinSize=64
HT_GI=1
HT_STBC=1
HT_MCS=33
HT_PROTECT=1
HT_MIMOPS=3
HT_40MHZ_INTOLERANT=0
HT_TxStream=2
HT_RxStream=2
HT_DisallowTKIP=1
HT_BSSCoexistence=0
VHT_STBC=1
VHT_SGI=1
VHT_LDPC=1
G_BAND_256QAM=1
NintendoCapable=0
AccessPolicy0=0
AccessControlList0=
AccessPolicy1=0
AccessControlList1=
AccessPolicy2=0
AccessControlList2=
AccessPolicy3=0
AccessControlList3=
WdsEnable=0
WdsEncrypType=NONE
WdsList=
WdsKey=
WirelessEvent=0
MACRepeaterOuiMode=2
RADIUS_Server=0
RADIUS_Port=1812
RADIUS_Key=
RADIUS_Acct_Server=
RADIUS_Acct_Port=1813
RADIUS_Acct_Key=
session_timeout_interval=0
idle_timeout_interval=0
staWirelessMode=8
StreamMode=0
PreAntSwitch=1
E2pAccessMode=2
PMFMFPC=0
PMFMFPR=0
PMFSHA256=0
DfsEnable=0
DfsZeroWait=0
DfsZeroWaitCacTime=255
HS_enabled=1
HS_internet=1
HS_hessid=bssid
HS_roaming_consortium_oi=50-6F-9A
HS_operating_class=115
HS_proxy_arp=0
HS_dgaf_disabled=0
HS_l2_filter=0
EDCCAEnable=1
RRMEnable=1
RegulatoryClass=12
FtSupport=1
own_ip_addr=192.168.1.10
EAPifname=br0
PreAuthifname=br0
AutoProvisionEn=
RADIUS_Key1=ralink
MUTxRxEnable=0
FixedTxMode=HT
HT_LDPC=0
VHT_BW=1
VHT_BW_SIGNAL=0

View File

@ -1,157 +0,0 @@
#!/usr/bin/lua
-- Alternative for OpenWrt's /sbin/wifi.
-- Copyright Not Reserved.
-- Hua Shao <nossiac@163.com>
local function esc(x)
return (x:gsub('%%', '%%%%')
:gsub('^%^', '%%^')
:gsub('%$$', '%%$')
:gsub('%(', '%%(')
:gsub('%)', '%%)')
:gsub('%.', '%%.')
:gsub('%[', '%%[')
:gsub('%]', '%%]')
:gsub('%*', '%%*')
:gsub('%+', '%%+')
:gsub('%-', '%%-')
:gsub('%?', '%%?'))
end
function add_vif_into_lan(vif)
local mtkwifi = require("mtkwifi")
local brvifs = mtkwifi.__trim(
mtkwifi.read_pipe("uci get network.lan.ifname"))
if not string.match(brvifs, esc(vif)) then
nixio.syslog("debug", "add "..vif.." into lan")
brvifs = brvifs.." "..vif
os.execute("uci set network.lan.ifname=\""..brvifs.."\"")
os.execute("uci commit")
-- os.execute("brctl addif br-lan "..vif)
os.execute("ubus call network.interface.lan add_device \"{\\\"name\\\":\\\""..vif.."\\\"}\"")
end
end
function mt7602_up(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7602_up called!")
-- typically mt7602 is the 1st card and it takes "ra" and "apcli" prefix.
-- for multi-bssid, we must bring up ra0 first. ra0 will create ra1, ra2,...
if not mtkwifi.exists("/sys/class/net/ra0") then
nixio.syslog("error", "unable to detect ra0, abort!")
return
end
os.execute("ifconfig ra0 up")
add_vif_into_lan("ra0")
-- then we bring up ra1, ra2,...
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "ra%d+") then
os.execute("ifconfig "..vif.." up")
add_vif_into_lan(vif)
-- else nixio.syslog("debug", "skip "..vif..", prefix not match "..pre[1])
end
end
-- then we bring up apcli0, apcli1,...
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "apcli%d+") then
os.execute("ifconfig "..vif.." up")
end
end
os.execute(" rm -rf /tmp/mtk/wifi/mt7602*.need_reload")
end
function mt7602_down(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7602_down called!")
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "apcli%d+") then
os.execute("ifconfig "..vif.." down")
end
end
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "ra%d+") then
os.execute("ifconfig "..vif.." down")
local brvifs = mtkwifi.read_pipe("uci get network.lan.ifname")
if string.match(brvifs, vif) then
brvifs = mtkwifi.__trim(string.gsub(brvifs, vif, ""))
nixio.syslog("debug", "remove "..vif.." from lan")
os.execute("uci set network.lan.ifname=\""..brvifs.."\"")
os.execute("uci commit")
os.execute("ubus call network.interface.lan remove_device \"{\\\"name\\\":\\\""..vif.."\\\"}\"")
end
-- else nixio.syslog("debug", "skip "..vif..", prefix not match "..pre[1])
end
end
os.execute(" rm -rf /tmp/mtk/wifi/mt7602*.need_reload")
end
function mt7602_reload()
local nixio = require("nixio")
nixio.syslog("debug", "mt7602_reload called!")
mt7602_down()
mt7602_up()
end
function mt7602_restart()
local nixio = require("nixio")
nixio.syslog("debug", "mt7602_restart called!")
mt7602_down()
-- 7602 shares driver with 7612
os.execute("rmmod mt7612")
os.execute("modprobe mt7612")
mt7602_up()
end
function mt7602_reset(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7602_reset called!")
if mtkwifi.exists("/rom/etc/wireless/mt7602/") then
os.execute("rm -rf /etc/wireless/mt7602/")
os.execute("cp -rf /rom/etc/wireless/mt7602/ /etc/wireless/")
mt7602_reload()
else
nixio.syslog("debug", "/rom"..profile.." missing, unable to reset!")
end
end
function mt7602_status()
return wifi_common_status()
end
function mt7602_detect(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7602_detect called!")
for _,dev in ipairs(mtkwifi.get_all_devs()) do
print([[
config wifi-device ]]..dev.maindev.."\n"..[[
option type mt7602
option vendor ralink
]])
for _,vif in ipairs(dev.vifs) do
print([[
config wifi-iface
option device ]]..dev.maindev.."\n"..[[
option ifname ]]..vif.vifname.."\n"..[[
option network lan
option mode ap
option ssid ]]..vif.__ssid.."\n")
end
end
end

View File

@ -1,157 +0,0 @@
#!/usr/bin/lua
-- Alternative for OpenWrt's /sbin/wifi.
-- Copyright Not Reserved.
-- Hua Shao <nossiac@163.com>
local function esc(x)
return (x:gsub('%%', '%%%%')
:gsub('^%^', '%%^')
:gsub('%$$', '%%$')
:gsub('%(', '%%(')
:gsub('%)', '%%)')
:gsub('%.', '%%.')
:gsub('%[', '%%[')
:gsub('%]', '%%]')
:gsub('%*', '%%*')
:gsub('%+', '%%+')
:gsub('%-', '%%-')
:gsub('%?', '%%?'))
end
function add_vif_into_lan(vif)
local mtkwifi = require("mtkwifi")
local brvifs = mtkwifi.__trim(
mtkwifi.read_pipe("uci get network.lan.ifname"))
if not string.match(brvifs, esc(vif)) then
nixio.syslog("debug", "add "..vif.." into lan")
brvifs = brvifs.." "..vif
os.execute("uci set network.lan.ifname=\""..brvifs.."\"")
os.execute("uci commit")
-- os.execute("brctl addif br-lan "..vif)
os.execute("ubus call network.interface.lan add_device \"{\\\"name\\\":\\\""..vif.."\\\"}\"")
end
end
function mt7612_up(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7612_up called!")
-- 7612 always takes "rai" and "apclii" prefix.
-- for multi-bssid, we must bring up rai0 first. rai0 will create rai1, rai2,...
if not mtkwifi.exists("/sys/class/net/rai0") then
nixio.syslog("err", "unable to detect rai0, abort!")
return
end
os.execute("ifconfig rai0 up")
add_vif_into_lan("rai0")
-- then we bring up rai1, rai2,...
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "rai[1-9][0-9]*") then
os.execute("ifconfig "..vif.." up")
add_vif_into_lan(vif)
-- else nixio.syslog("debug", "skip "..vif..", prefix not match "..pre[1])
end
end
-- then we bring up apclii0, apclii1,...
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "apclii%d+") then
os.execute("ifconfig "..vif.." up")
end
end
os.execute(" rm -rf /tmp/mtk/wifi/mt7612*.need_reload")
end
function mt7612_down(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7612_down called!")
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "apclii%d+") then
os.execute("ifconfig "..vif.." down")
end
end
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "rai%d+") then
os.execute("ifconfig "..vif.." down")
local brvifs = mtkwifi.read_pipe("uci get network.lan.ifname")
if string.match(brvifs, vif) then
brvifs = mtkwifi.__trim(string.gsub(brvifs, vif, ""))
nixio.syslog("debug", "remove "..vif.." from lan")
os.execute("uci set network.lan.ifname=\""..brvifs.."\"")
os.execute("uci commit")
os.execute("ubus call network.interface.lan remove_device \"{\\\"name\\\":\\\""..vif.."\\\"}\"")
end
-- else nixio.syslog("debug", "skip "..vif..", prefix not match "..pre[1])
end
end
os.execute(" rm -rf /tmp/mtk/wifi/mt7612*.need_reload")
end
function mt7612_reload(devname)
local nixio = require("nixio")
nixio.syslog("debug", "mt7612_reload called!")
mt7612_down()
mt7612_up()
end
function mt7612_restart(devname)
local nixio = require("nixio")
nixio.syslog("debug", "mt7612_restart called!")
mt7612_down()
-- 7602 shares driver with 7612
os.execute("rmmod mt7612")
os.execute("modprobe mt7612")
mt7612_up()
end
function mt7612_reset(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7612_reset called!")
if mtkwifi.exists("/rom/etc/wireless/mt7612/") then
os.execute("rm -rf /etc/wireless/mt7612/")
os.execute("cp -rf /rom/etc/wireless/mt7612/ /etc/wireless/")
mt7612_reload()
else
nixio.syslog("debug", "/rom"..profile.." missing, unable to reset!")
end
end
function mt7612_status(devname)
return wifi_common_status()
end
function mt7612_detect(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7612_detect called!")
for _,dev in ipairs(mtkwifi.get_all_devs()) do
print([[
config wifi-device ]]..dev.maindev.."\n"..[[
option type mt7612
option vendor ralink
]])
for _,vif in ipairs(dev.vifs) do
print([[
config wifi-iface
option device ]]..dev.maindev.."\n"..[[
option ifname ]]..vif.vifname.."\n"..[[
option network lan
option mode ap
option ssid ]]..vif.__ssid.."\n")
end
end
end

View File

@ -1,55 +0,0 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/version.mk
PKG_NAME:=mt7615
PKG_RELEASE:=1
PKG_BUILD_DEPENDS:=base-files
PKG_FILE_DEPENDS:=
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=Hua Shao <nossiac@163.com>
PKG_URLS:=http://nossiac.com/download/mtk-wifi-ko \
http://119.23.148.191:8888/mtk-wifi-ko
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_KO:=$(PKG_NAME)-for-$(CONFIG_TARGET_SUBTARGET)-linux-$(LINUX_VERSION).ko
define Package/mt7615
CATEGORY:=MTK Properties
SUBMENU:=Drivers
TITLE:=MTK MT7615 WiFi AP driver
AUTOLOAD:=$(call AutoProbe,mt7615)
DEPENDS:=+wireless-tools
endef
define Package/mt7615/config-todo
if PACKAGE_mt7615
source "$(SOURCE)/mt7615-config.in"
endif
endef
define Package/mt7615/config-notyet
config MT7615_USING_LUA_SCRIPT
bool "use lua script to init/config driver"
depends on PACKAGE_mt7615
default y
endef
define Build/Compile
for PKG_URL in $(PKG_URLS); do \
wget $$$${PKG_URL}/$(PKG_KO) \
-O $(PKG_BUILD_DIR)/$(PKG_KO); \
if [ "$$$$?" != "0" ]; then continue; else break; fi \
done
endef
define Package/mt7615/install
$(INSTALL_DIR) $(1)/lib/modules/$(LINUX_VERSION)
-$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_KO) \
$(1)/lib/modules/$(LINUX_VERSION)/$(PKG_NAME).ko
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,mt7615))

View File

@ -1,474 +0,0 @@
#The word of "Default" must not be removed
Default
CountryRegion=5
CountryRegionABand=7
CountryCode=US
AutoChannelSkipList=
DBDC_MODE=1
IcapMode=0
BssidNum=1
SSID=
SSID1=wifi-mt7615.1.2G
SSID2=
SSID3=
SSID4=
SSID5=
SSID6=
SSID7=
SSID8=
SSID9=
SSID10=
SSID11=
SSID12=
SSID13=
SSID14=
SSID15=
SSID16=
RRMEnable=0
FtSupport=
ChannelGrp=
WirelessMode=9
FixedTxMode=HT
EthConvertMode=dongle
TxRate=0
Channel=6
BasicRate=15
BeaconPeriod=100
DtimPeriod=1
TxPower=100
LinkTestSupport=0
ThermalRecal=0
PowerUpCckOfdm=0:0:0:0:0:0:0
PowerUpHT20=0:0:0:0:0:0:0
PowerUpHT40=0:0:0:0:0:0:0
PowerUpVHT20=0:0:0:0:0:0:0
PowerUpVHT40=0:0:0:0:0:0:0
PowerUpVHT80=0:0:0:0:0:0:0
PowerUpVHT160=0:0:0:0:0:0:0
SKUenable=0
PERCENTAGEenable=1
BFBACKOFFenable=0
CalCacheApply=0
DisableOLBC=0
BGProtection=0
TxAntenna=
RxAntenna=
TxPreamble=1
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=1
AutoProvisionEn=0
FreqDelta=0
TurboRate=0
WmmCapable=1
APAifsn=3;7;1;1
APCwmin=4;4;3;2
APCwmax=6;10;4;3
APTxop=0;0;94;47
APACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmin=4;4;3;2
BSSCwmax=10;10;4;3
BSSTxop=0;0;94;47
BSSACM=0;0;0;0
AckPolicy=0;0;0;0
APSDCapable=0
DLSCapable=0
NoForwarding=0
NoForwardingBTNBSSID=0
HideSSID=0
ShortSlot=1
AutoChannelSelect=3
IEEE8021X=0
IEEE80211H=1
CarrierDetect=0
ITxBfEn=0
PreAntSwitch=
PhyRateLimit=0
DebugFlags=0
ETxBfEnCond=0
MUTxRxEnable=0
ITxBfTimeout=0
ETxBfTimeout=0
ETxBfNoncompress=0
ETxBfIncapable=0
FineAGC=0
StreamMode=0
StreamModeMac0=
StreamModeMac1=
StreamModeMac2=
StreamModeMac3=
CSPeriod=6
RDRegion=
StationKeepAlive=0
DfsCalibration=0
DfsEnable=0
DfsApplyStopWifi=0
DfsFalseAlarmPrevent=1
DfsZeroWait=0
DfsZeroWaitCacTime=255
DfsDedicatedZeroWait=0
DfsTPDutyRatio=0
DfsLowerLimit=0
DfsUpperLimit=0
DfsOutdoor=0
SymRoundFromCfg=0
BusyIdleFromCfg=0
DfsRssiHighFromCfg=0
DfsRssiLowFromCfg=0
DFSParamFromConfig=0
FCCParamCh0=
FCCParamCh1=
FCCParamCh2=
FCCParamCh3=
CEParamCh0=
CEParamCh1=
CEParamCh2=
CEParamCh3=
JAPParamCh0=
JAPParamCh1=
JAPParamCh2=
JAPParamCh3=
JAPW53ParamCh0=
JAPW53ParamCh1=
JAPW53ParamCh2=
JAPW53ParamCh3=
FixDfsLimit=0
LongPulseRadarTh=0
AvgRssiReq=0
DFS_R66=0
BlockCh=
EzEnable=
EzConfStatus=
EzGroupID=
EzGenGroupID=
EzOpenGroupID=
EzPushBW=
EzDefaultSsid=
EzDefaultPmk=
EzDefaultPmkValid=
EzDefaultSettings=
ManConf=
FtMdId1=
FtMdId2=
MacAddress=
MacAddress1=
RegroupSupport=
RegroupPeriodicity=
EtherTrafficBand=
ApMWDS=
ApCliMWDS=
ForceRoamSupport=
GreenAP=0
PreAuth=0
AuthMode=OPEN
EncrypType=NONE
WapiPsk1=
WapiPsk2=
WapiPsk3=
WapiPsk4=
WapiPsk5=
WapiPsk6=
WapiPsk7=
WapiPsk8=
WapiPsk9=
WapiPsk10=
WapiPsk11=
WapiPsk12=
WapiPsk13=
WapiPsk14=
WapiPsk15=
WapiPsk16=
WapiPskType=
Wapiifname=
WapiAsCertPath=
WapiUserCertPath=
WapiAsIpAddr=
WapiAsPort=
RekeyMethod=DISABLE
RekeyInterval=3600
PMKCachePeriod=10
MeshAutoLink=0
MeshAuthMode=
MeshEncrypType=
MeshDefaultkey=0
MeshWEPKEY=
MeshWPAKEY=
MeshId=
WPAPSK=
WPAPSK1=12345678
WPAPSK2=
WPAPSK3=
WPAPSK4=
WPAPSK5=
WPAPSK6=
WPAPSK7=
WPAPSK8=
WPAPSK9=
WPAPSK10=
WPAPSK11=
WPAPSK12=
WPAPSK13=
WPAPSK14=
WPAPSK15=
WPAPSK16=
DefaultKeyID=1
Key1Type=0
Key1Str=
Key1Str1=
Key1Str2=
Key1Str3=
Key1Str4=
Key1Str5=
Key1Str6=
Key1Str7=
Key1Str8=
Key1Str9=
Key1Str10=
Key1Str11=
Key1Str12=
Key1Str13=
Key1Str14=
Key1Str15=
Key1Str16=
Key2Type=0
Key2Str=
Key2Str1=
Key2Str2=
Key2Str3=
Key2Str4=
Key2Str5=
Key2Str6=
Key2Str7=
Key2Str8=
Key2Str9=
Key2Str10=
Key2Str11=
Key2Str12=
Key2Str13=
Key2Str14=
Key2Str15=
Key2Str16=
Key3Type=0
Key3Str=
Key3Str1=
Key3Str2=
Key3Str3=
Key3Str4=
Key3Str5=
Key3Str6=
Key3Str7=
Key3Str8=
Key3Str9=
Key3Str10=
Key3Str11=
Key3Str12=
Key3Str13=
Key3Str14=
Key3Str15=
Key3Str16=
Key4Type=0
Key4Str=
Key4Str1=
Key4Str2=
Key4Str3=
Key4Str4=
Key4Str5=
Key4Str6=
Key4Str7=
Key4Str8=
Key4Str9=
Key4Str10=
Key4Str11=
Key4Str12=
Key4Str13=
Key4Str14=
Key4Str15=
Key4Str16=
HSCounter=0
HT_HTC=1
HT_RDG=1
HT_LinkAdapt=0
HT_OpMode=0
HT_MpduDensity=5
HT_EXTCHA=1
HT_BW=1
HT_AutoBA=1
HT_BADecline=0
HT_AMSDU=1
HT_BAWinSize=64
HT_GI=1
HT_STBC=1
HT_MCS=33
HT_TxStream=2
HT_RxStream=2
HT_PROTECT=1
HT_DisallowTKIP=1
HT_BSSCoexistence=0
HT_LDPC=1
VHT_BW=0
VHT_Sec80_Channel=0
VHT_STBC=1
VHT_SGI=1
VHT_BW_SIGNAL=0
VHT_LDPC=1
G_BAND_256QAM=1
WscConfMode=0
WscConfStatus=2
WCNTest=0
AccessPolicy0=0
AccessControlList0=
AccessPolicy1=0
AccessControlList1=
AccessPolicy2=0
AccessControlList2=
AccessPolicy3=0
AccessControlList3=
AccessPolicy4=0
AccessControlList4=
AccessPolicy5=0
AccessControlList5=
AccessPolicy6=0
AccessControlList6=
AccessPolicy7=0
AccessControlList7=
AccessPolicy8=0
AccessControlList8=
AccessPolicy9=0
AccessControlList9=
AccessPolicy10=0
AccessControlList10=
AccessPolicy11=0
AccessControlList11=
AccessPolicy12=0
AccessControlList12=
AccessPolicy13=0
AccessControlList13=
AccessPolicy14=0
AccessControlList14=
AccessPolicy15=0
AccessControlList15=
WdsEnable=0
WdsPhyMode=
WdsEncrypType=NONE
WdsList=
Wds0Key=
Wds1Key=
Wds2Key=
Wds3Key=
RADIUS_Server=0
RADIUS_Port=1812
RADIUS_Key1=
RADIUS_Key2=
RADIUS_Key3=
RADIUS_Key4=
RADIUS_Key5=
RADIUS_Key6=
RADIUS_Key7=
RADIUS_Key8=
RADIUS_Key9=
RADIUS_Key10=
RADIUS_Key11=
RADIUS_Key12=
RADIUS_Key13=
RADIUS_Key14=
RADIUS_Key15=
RADIUS_Key16=
RADIUS_Acct_Server=
RADIUS_Acct_Port=1813
RADIUS_Acct_Key=
own_ip_addr=10.10.10.254
Ethifname=
EAPifname=br0
PreAuthifname=br0
session_timeout_interval=0
idle_timeout_interval=0
WiFiTest=0
TGnWifiTest=0
ApCliEzEnable=
ApCliEzConfStatus=
ApCliEzGroupID=
ApCliEzGenGroupID=
ApCliEzOpenGroupID=
ApCliEzRssiThreshold=
ApCliHideSSID=
ApCliEnable=1
ApCliSsid=
ApCliBssid=
ApCliAuthMode=
ApCliEncrypType=
ApCliWPAPSK=
ApCliDefaultKeyID=
ApCliKey1Type=
ApCliKey1Str=
ApCliKey2Type=
ApCliKey2Str=
ApCliKey3Type=
ApCliKey3Str=
ApCliKey4Type=
ApCliKey4Str=
MACRepeaterEn=
MACRepeaterOuiMode=2
ApCliWirelessMode=9
ApCliWPAPSK1=
ApCliKey1Str1=
ApCliKey2Str1=
ApCliKey3Str1=
ApCliKey4Str1=
EfuseBufferMode=0
E2pAccessMode=1
PMFMFPC=0
PMFMFPR=0
PMFSHA256=0
RadioOn=1
BW_Enable=0
BW_Root=0
BW_Priority=
BW_Guarantee_Rate=
BW_Maximum_Rate=
VOW_BW_Ctrl=
VOW_Airtime_Fairness_En=1
VOW_RX_En=
VOW_Refill_Period=
VOW_Sta_VO_DWRR_Quantum=
VOW_Sta_VI_DWRR_Quantum=
VOW_Sta_BE_DWRR_Quantum=
VOW_Sta_BK_DWRR_Quantum=
VOW_WMM_Search_Rule_Band0=
VOW_WMM_Search_Rule_Band1=
VOW_Sta_DWRR_Max_Wait_Time=
VOW_Group_DWRR_Max_Wait_Time=
VOW_Group_Min_Rate=
VOW_Group_Max_Rate=
VOW_Group_Min_Ratio=
VOW_Group_Max_Ratio=
VOW_Airtime_Ctrl_En=
VOW_Rate_Ctrl_En=
VOW_Group_Min_Rate_Bucket_Size=
VOW_Group_Max_Rate_Bucket_Size=
VOW_Group_Min_Airtime_Bucket_Size=
VOW_Group_Max_Airtime_Bucket_Size=
VOW_Group_Backlog=
VOW_Group_Max_Wait_Time=
VOW_Group_DWRR_Quantum=
VOW_WATF_Enable=
VOW_WATF_Q_LV0=
VOW_WATF_Q_LV1=
VOW_WATF_Q_LV2=
VOW_WATF_Q_LV3=
VOW_WATF_MAC_LV0=
VOW_WATF_MAC_LV1=
VOW_WATF_MAC_LV2=
VOW_WATF_MAC_LV3=
VOW_STA_FRR_QUANTUM=
RED_Enable=1
CP_SUPPORT=2
BgndScanSkipCh=
EDCCAEnable=1
BandSteering=0
BndStrgBssIdx=
RadioLinkSelection=0
RoamingEnhance=0
BandNoBf=0
IgmpSnEnable=0

View File

@ -1,474 +0,0 @@
#The word of "Default" must not be removed
Default
CountryRegion=5
CountryRegionABand=7
CountryCode=US
AutoChannelSkipList=
DBDC_MODE=1
IcapMode=0
BssidNum=1
SSID=
SSID1=wifi-mt7615.1.5G
SSID2=
SSID3=
SSID4=
SSID5=
SSID6=
SSID7=
SSID8=
SSID9=
SSID10=
SSID11=
SSID12=
SSID13=
SSID14=
SSID15=
SSID16=
RRMEnable=0
FtSupport=
ChannelGrp=
WirelessMode=14
FixedTxMode=HT
EthConvertMode=
TxRate=0
Channel=157
BasicRate=15
BeaconPeriod=100
DtimPeriod=1
TxPower=100
LinkTestSupport=0
ThermalRecal=0
PowerUpCckOfdm=0:0:0:0:0:0:0
PowerUpHT20=0:0:0:0:0:0:0
PowerUpHT40=0:0:0:0:0:0:0
PowerUpVHT20=0:0:0:0:0:0:0
PowerUpVHT40=0:0:0:0:0:0:0
PowerUpVHT80=0:0:0:0:0:0:0
PowerUpVHT160=0:0:0:0:0:0:0
SKUenable=0
PERCENTAGEenable=1
BFBACKOFFenable=0
CalCacheApply=0
DisableOLBC=0
BGProtection=0
TxAntenna=
RxAntenna=
TxPreamble=1
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=1
AutoProvisionEn=0
FreqDelta=0
TurboRate=0
WmmCapable=1
APAifsn=3;7;1;1
APCwmin=4;4;3;2
APCwmax=6;10;4;3
APTxop=0;0;94;47
APACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmin=4;4;3;2
BSSCwmax=10;10;4;3
BSSTxop=0;0;94;47
BSSACM=0;0;0;0
AckPolicy=0;0;0;0
APSDCapable=0
DLSCapable=0
NoForwarding=0
NoForwardingBTNBSSID=0
HideSSID=0
ShortSlot=1
AutoChannelSelect=3
IEEE8021X=0
IEEE80211H=1
CarrierDetect=0
ITxBfEn=0
PreAntSwitch=1
PhyRateLimit=0
DebugFlags=0
ETxBfEnCond=0
MUTxRxEnable=0
ITxBfTimeout=0
ETxBfTimeout=0
ETxBfNoncompress=0
ETxBfIncapable=0
FineAGC=0
StreamMode=0
StreamModeMac0=
StreamModeMac1=
StreamModeMac2=
StreamModeMac3=
CSPeriod=6
RDRegion=
StationKeepAlive=0
DfsCalibration=0
DfsEnable=0
DfsApplyStopWifi=0
DfsFalseAlarmPrevent=1
DfsZeroWait=0
DfsZeroWaitCacTime=255
DfsDedicatedZeroWait=0
DfsTPDutyRatio=0
DfsLowerLimit=0
DfsUpperLimit=0
DfsOutdoor=0
SymRoundFromCfg=0
BusyIdleFromCfg=0
DfsRssiHighFromCfg=0
DfsRssiLowFromCfg=0
DFSParamFromConfig=0
FCCParamCh0=
FCCParamCh1=
FCCParamCh2=
FCCParamCh3=
CEParamCh0=
CEParamCh1=
CEParamCh2=
CEParamCh3=
JAPParamCh0=
JAPParamCh1=
JAPParamCh2=
JAPParamCh3=
JAPW53ParamCh0=
JAPW53ParamCh1=
JAPW53ParamCh2=
JAPW53ParamCh3=
FixDfsLimit=0
LongPulseRadarTh=0
AvgRssiReq=0
DFS_R66=0
BlockCh=
EzEnable=
EzConfStatus=
EzGroupID=
EzGenGroupID=
EzOpenGroupID=
EzPushBW=
EzDefaultSsid=
EzDefaultPmk=
EzDefaultPmkValid=
EzDefaultSettings=
ManConf=
FtMdId1=
FtMdId2=
MacAddress=
MacAddress1=
RegroupSupport=
RegroupPeriodicity=
EtherTrafficBand=
ApMWDS=
ApCliMWDS=
ForceRoamSupport=
GreenAP=0
PreAuth=0
AuthMode=OPEN
EncrypType=NONE
WapiPsk1=
WapiPsk2=
WapiPsk3=
WapiPsk4=
WapiPsk5=
WapiPsk6=
WapiPsk7=
WapiPsk8=
WapiPsk9=
WapiPsk10=
WapiPsk11=
WapiPsk12=
WapiPsk13=
WapiPsk14=
WapiPsk15=
WapiPsk16=
WapiPskType=
Wapiifname=
WapiAsCertPath=
WapiUserCertPath=
WapiAsIpAddr=
WapiAsPort=
RekeyMethod=DISABLE
RekeyInterval=3600
PMKCachePeriod=10
MeshAutoLink=0
MeshAuthMode=
MeshEncrypType=
MeshDefaultkey=0
MeshWEPKEY=
MeshWPAKEY=
MeshId=
WPAPSK=
WPAPSK1=12345678
WPAPSK2=
WPAPSK3=
WPAPSK4=
WPAPSK5=
WPAPSK6=
WPAPSK7=
WPAPSK8=
WPAPSK9=
WPAPSK10=
WPAPSK11=
WPAPSK12=
WPAPSK13=
WPAPSK14=
WPAPSK15=
WPAPSK16=
DefaultKeyID=1
Key1Type=0
Key1Str=
Key1Str1=
Key1Str2=
Key1Str3=
Key1Str4=
Key1Str5=
Key1Str6=
Key1Str7=
Key1Str8=
Key1Str9=
Key1Str10=
Key1Str11=
Key1Str12=
Key1Str13=
Key1Str14=
Key1Str15=
Key1Str16=
Key2Type=0
Key2Str=
Key2Str1=
Key2Str2=
Key2Str3=
Key2Str4=
Key2Str5=
Key2Str6=
Key2Str7=
Key2Str8=
Key2Str9=
Key2Str10=
Key2Str11=
Key2Str12=
Key2Str13=
Key2Str14=
Key2Str15=
Key2Str16=
Key3Type=0
Key3Str=
Key3Str1=
Key3Str2=
Key3Str3=
Key3Str4=
Key3Str5=
Key3Str6=
Key3Str7=
Key3Str8=
Key3Str9=
Key3Str10=
Key3Str11=
Key3Str12=
Key3Str13=
Key3Str14=
Key3Str15=
Key3Str16=
Key4Type=0
Key4Str=
Key4Str1=
Key4Str2=
Key4Str3=
Key4Str4=
Key4Str5=
Key4Str6=
Key4Str7=
Key4Str8=
Key4Str9=
Key4Str10=
Key4Str11=
Key4Str12=
Key4Str13=
Key4Str14=
Key4Str15=
Key4Str16=
HSCounter=0
HT_HTC=1
HT_RDG=1
HT_LinkAdapt=0
HT_OpMode=0
HT_MpduDensity=5
HT_EXTCHA=1
HT_BW=1
HT_AutoBA=1
HT_BADecline=0
HT_AMSDU=1
HT_BAWinSize=64
HT_GI=1
HT_STBC=1
HT_MCS=33
HT_TxStream=2
HT_RxStream=2
HT_PROTECT=1
HT_DisallowTKIP=1
HT_BSSCoexistence=0
HT_LDPC=1
VHT_BW=1
VHT_Sec80_Channel=0
VHT_STBC=1
VHT_SGI=1
VHT_BW_SIGNAL=0
VHT_LDPC=1
G_BAND_256QAM=1
WscConfMode=0
WscConfStatus=2
WCNTest=0
AccessPolicy0=0
AccessControlList0=
AccessPolicy1=0
AccessControlList1=
AccessPolicy2=0
AccessControlList2=
AccessPolicy3=0
AccessControlList3=
AccessPolicy4=0
AccessControlList4=
AccessPolicy5=0
AccessControlList5=
AccessPolicy6=0
AccessControlList6=
AccessPolicy7=0
AccessControlList7=
AccessPolicy8=0
AccessControlList8=
AccessPolicy9=0
AccessControlList9=
AccessPolicy10=0
AccessControlList10=
AccessPolicy11=0
AccessControlList11=
AccessPolicy12=0
AccessControlList12=
AccessPolicy13=0
AccessControlList13=
AccessPolicy14=0
AccessControlList14=
AccessPolicy15=0
AccessControlList15=
WdsEnable=0
WdsPhyMode=
WdsEncrypType=NONE
WdsList=
Wds0Key=
Wds1Key=
Wds2Key=
Wds3Key=
RADIUS_Server=0
RADIUS_Port=1812
RADIUS_Key1=
RADIUS_Key2=
RADIUS_Key3=
RADIUS_Key4=
RADIUS_Key5=
RADIUS_Key6=
RADIUS_Key7=
RADIUS_Key8=
RADIUS_Key9=
RADIUS_Key10=
RADIUS_Key11=
RADIUS_Key12=
RADIUS_Key13=
RADIUS_Key14=
RADIUS_Key15=
RADIUS_Key16=
RADIUS_Acct_Server=
RADIUS_Acct_Port=1813
RADIUS_Acct_Key=
own_ip_addr=10.10.10.254
Ethifname=
EAPifname=br0
PreAuthifname=br0
session_timeout_interval=0
idle_timeout_interval=0
WiFiTest=0
TGnWifiTest=0
ApCliEzEnable=
ApCliEzConfStatus=
ApCliEzGroupID=
ApCliEzGenGroupID=
ApCliEzOpenGroupID=
ApCliEzRssiThreshold=
ApCliHideSSID=
ApCliEnable=1
ApCliSsid=
ApCliBssid=
ApCliAuthMode=
ApCliEncrypType=
ApCliWPAPSK=
ApCliDefaultKeyID=
ApCliKey1Type=
ApCliKey1Str=
ApCliKey2Type=
ApCliKey2Str=
ApCliKey3Type=
ApCliKey3Str=
ApCliKey4Type=
ApCliKey4Str=
MACRepeaterEn=
MACRepeaterOuiMode=2
ApCliWirelessMode=14
ApCliWPAPSK1=
ApCliKey1Str1=
ApCliKey2Str1=
ApCliKey3Str1=
ApCliKey4Str1=
EfuseBufferMode=0
E2pAccessMode=1
PMFMFPC=0
PMFMFPR=0
PMFSHA256=0
RadioOn=1
BW_Enable=0
BW_Root=0
BW_Priority=
BW_Guarantee_Rate=
BW_Maximum_Rate=
VOW_BW_Ctrl=
VOW_Airtime_Fairness_En=1
VOW_RX_En=
VOW_Refill_Period=
VOW_Sta_VO_DWRR_Quantum=
VOW_Sta_VI_DWRR_Quantum=
VOW_Sta_BE_DWRR_Quantum=
VOW_Sta_BK_DWRR_Quantum=
VOW_WMM_Search_Rule_Band0=
VOW_WMM_Search_Rule_Band1=
VOW_Sta_DWRR_Max_Wait_Time=
VOW_Group_DWRR_Max_Wait_Time=
VOW_Group_Min_Rate=
VOW_Group_Max_Rate=
VOW_Group_Min_Ratio=
VOW_Group_Max_Ratio=
VOW_Airtime_Ctrl_En=
VOW_Rate_Ctrl_En=
VOW_Group_Min_Rate_Bucket_Size=
VOW_Group_Max_Rate_Bucket_Size=
VOW_Group_Min_Airtime_Bucket_Size=
VOW_Group_Max_Airtime_Bucket_Size=
VOW_Group_Backlog=
VOW_Group_Max_Wait_Time=
VOW_Group_DWRR_Quantum=
VOW_WATF_Enable=
VOW_WATF_Q_LV0=
VOW_WATF_Q_LV1=
VOW_WATF_Q_LV2=
VOW_WATF_Q_LV3=
VOW_WATF_MAC_LV0=
VOW_WATF_MAC_LV1=
VOW_WATF_MAC_LV2=
VOW_WATF_MAC_LV3=
VOW_STA_FRR_QUANTUM=
RED_Enable=1
CP_SUPPORT=
BgndScanSkipCh=
EDCCAEnable=
BandSteering=0
BndStrgBssIdx=
RadioLinkSelection=0
RoamingEnhance=0
BandNoBf=0
IgmpSnEnable=0

View File

@ -1,473 +0,0 @@
#The word of "Default" must not be removed
Default
CountryRegion=5
CountryRegionABand=7
CountryCode=US
AutoChannelSkipList=
DBDC_MODE=0
IcapMode=0
BssidNum=1
SSID=
SSID1=wifi-mt7615.1
SSID2=
SSID3=
SSID4=
SSID5=
SSID6=
SSID7=
SSID8=
SSID9=
SSID10=
SSID11=
SSID12=
SSID13=
SSID14=
SSID15=
SSID16=
RRMEnable=1
FtSupport=1
ChannelGrp=
WirelessMode=9
FixedTxMode=HT
EthConvertMode=dongle
TxRate=0
Channel=6
BasicRate=15
BeaconPeriod=100
DtimPeriod=1
TxPower=100
LinkTestSupport=0
ThermalRecal=0
PowerUpCckOfdm=0:0:0:0:0:0:0
PowerUpHT20=0:0:0:0:0:0:0
PowerUpHT40=0:0:0:0:0:0:0
PowerUpVHT20=0:0:0:0:0:0:0
PowerUpVHT40=0:0:0:0:0:0:0
PowerUpVHT80=0:0:0:0:0:0:0
PowerUpVHT160=0:0:0:0:0:0:0
SKUenable=0
PERCENTAGEenable=1
BFBACKOFFenable=0
CalCacheApply=0
DisableOLBC=0
BGProtection=0
TxAntenna=
RxAntenna=
TxPreamble=1
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=1
AutoProvisionEn=0
FreqDelta=0
TurboRate=0
WmmCapable=1
APAifsn=3;7;1;1
APCwmin=4;4;3;2
APCwmax=6;10;4;3
APTxop=0;0;94;47
APACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmin=4;4;3;2
BSSCwmax=10;10;4;3
BSSTxop=0;0;94;47
BSSACM=0;0;0;0
AckPolicy=0;0;0;0
APSDCapable=0
DLSCapable=0
NoForwarding=0
NoForwardingBTNBSSID=0
HideSSID=0
ShortSlot=1
AutoChannelSelect=3
IEEE8021X=0
IEEE80211H=1
CarrierDetect=0
ITxBfEn=0
PreAntSwitch=
PhyRateLimit=0
DebugFlags=0
ETxBfEnCond=0
MUTxRxEnable=0
ITxBfTimeout=0
ETxBfTimeout=0
ETxBfNoncompress=0
ETxBfIncapable=0
FineAGC=0
StreamMode=0
StreamModeMac0=
StreamModeMac1=
StreamModeMac2=
StreamModeMac3=
CSPeriod=6
RDRegion=
StationKeepAlive=0
DfsCalibration=0
DfsEnable=0
DfsApplyStopWifi=0
DfsFalseAlarmPrevent=0
DfsZeroWait=0
DfsZeroWaitCacTime=255
DfsDedicatedZeroWait=0
DfsTPDutyRatio=0
DfsLowerLimit=0
DfsUpperLimit=0
DfsOutdoor=0
SymRoundFromCfg=0
BusyIdleFromCfg=0
DfsRssiHighFromCfg=0
DfsRssiLowFromCfg=0
DFSParamFromConfig=0
FCCParamCh0=
FCCParamCh1=
FCCParamCh2=
FCCParamCh3=
CEParamCh0=
CEParamCh1=
CEParamCh2=
CEParamCh3=
JAPParamCh0=
JAPParamCh1=
JAPParamCh2=
JAPParamCh3=
JAPW53ParamCh0=
JAPW53ParamCh1=
JAPW53ParamCh2=
JAPW53ParamCh3=
FixDfsLimit=0
LongPulseRadarTh=0
AvgRssiReq=0
DFS_R66=0
BlockCh=
EzEnable=
EzConfStatus=
EzGroupID=
EzGenGroupID=
EzOpenGroupID=
EzPushBW=
EzDefaultSsid=
EzDefaultPmk=
EzDefaultPmkValid=
EzDefaultSettings=
ManConf=
FtMdId1=
FtMdId2=
MacAddress=
MacAddress1=
RegroupSupport=
RegroupPeriodicity=
EtherTrafficBand=
ApMWDS=
ApCliMWDS=
ForceRoamSupport=
GreenAP=0
PreAuth=0
AuthMode=OPEN
EncrypType=NONE
WapiPsk1=
WapiPsk2=
WapiPsk3=
WapiPsk4=
WapiPsk5=
WapiPsk6=
WapiPsk7=
WapiPsk8=
WapiPsk9=
WapiPsk10=
WapiPsk11=
WapiPsk12=
WapiPsk13=
WapiPsk14=
WapiPsk15=
WapiPsk16=
WapiPskType=
Wapiifname=
WapiAsCertPath=
WapiUserCertPath=
WapiAsIpAddr=
WapiAsPort=
RekeyMethod=DISABLE
RekeyInterval=3600
PMKCachePeriod=10
MeshAutoLink=0
MeshAuthMode=
MeshEncrypType=
MeshDefaultkey=0
MeshWEPKEY=
MeshWPAKEY=
MeshId=
WPAPSK=
WPAPSK1=12345678
WPAPSK2=
WPAPSK3=
WPAPSK4=
WPAPSK5=
WPAPSK6=
WPAPSK7=
WPAPSK8=
WPAPSK9=
WPAPSK10=
WPAPSK11=
WPAPSK12=
WPAPSK13=
WPAPSK14=
WPAPSK15=
WPAPSK16=
DefaultKeyID=1
Key1Type=0
Key1Str=
Key1Str1=
Key1Str2=
Key1Str3=
Key1Str4=
Key1Str5=
Key1Str6=
Key1Str7=
Key1Str8=
Key1Str9=
Key1Str10=
Key1Str11=
Key1Str12=
Key1Str13=
Key1Str14=
Key1Str15=
Key1Str16=
Key2Type=0
Key2Str=
Key2Str1=
Key2Str2=
Key2Str3=
Key2Str4=
Key2Str5=
Key2Str6=
Key2Str7=
Key2Str8=
Key2Str9=
Key2Str10=
Key2Str11=
Key2Str12=
Key2Str13=
Key2Str14=
Key2Str15=
Key2Str16=
Key3Type=0
Key3Str=
Key3Str1=
Key3Str2=
Key3Str3=
Key3Str4=
Key3Str5=
Key3Str6=
Key3Str7=
Key3Str8=
Key3Str9=
Key3Str10=
Key3Str11=
Key3Str12=
Key3Str13=
Key3Str14=
Key3Str15=
Key3Str16=
Key4Type=0
Key4Str=
Key4Str1=
Key4Str2=
Key4Str3=
Key4Str4=
Key4Str5=
Key4Str6=
Key4Str7=
Key4Str8=
Key4Str9=
Key4Str10=
Key4Str11=
Key4Str12=
Key4Str13=
Key4Str14=
Key4Str15=
Key4Str16=
HSCounter=0
HT_HTC=1
HT_RDG=1
HT_LinkAdapt=0
HT_OpMode=0
HT_MpduDensity=5
HT_EXTCHA=1
HT_BW=1
HT_AutoBA=1
HT_BADecline=0
HT_AMSDU=1
HT_BAWinSize=64
HT_GI=1
HT_STBC=1
HT_MCS=33
HT_TxStream=4
HT_RxStream=4
HT_PROTECT=1
HT_DisallowTKIP=1
HT_BSSCoexistence=0
HT_LDPC=1
VHT_BW=0
VHT_Sec80_Channel=0
VHT_STBC=1
VHT_SGI=1
VHT_BW_SIGNAL=0
VHT_LDPC=1
G_BAND_256QAM=1
WscConfMode=0
WscConfStatus=2
WCNTest=0
AccessPolicy0=0
AccessControlList0=
AccessPolicy1=0
AccessControlList1=
AccessPolicy2=0
AccessControlList2=
AccessPolicy3=0
AccessControlList3=
AccessPolicy4=0
AccessControlList4=
AccessPolicy5=0
AccessControlList5=
AccessPolicy6=0
AccessControlList6=
AccessPolicy7=0
AccessControlList7=
AccessPolicy8=0
AccessControlList8=
AccessPolicy9=0
AccessControlList9=
AccessPolicy10=0
AccessControlList10=
AccessPolicy11=0
AccessControlList11=
AccessPolicy12=0
AccessControlList12=
AccessPolicy13=0
AccessControlList13=
AccessPolicy14=0
AccessControlList14=
AccessPolicy15=0
AccessControlList15=
WdsEnable=0
WdsPhyMode=
WdsEncrypType=NONE
WdsList=
Wds0Key=
Wds1Key=
Wds2Key=
Wds3Key=
RADIUS_Server=0
RADIUS_Port=1812
RADIUS_Key1=
RADIUS_Key2=
RADIUS_Key3=
RADIUS_Key4=
RADIUS_Key5=
RADIUS_Key6=
RADIUS_Key7=
RADIUS_Key8=
RADIUS_Key9=
RADIUS_Key10=
RADIUS_Key11=
RADIUS_Key12=
RADIUS_Key13=
RADIUS_Key14=
RADIUS_Key15=
RADIUS_Key16=
RADIUS_Acct_Server=
RADIUS_Acct_Port=1813
RADIUS_Acct_Key=
own_ip_addr=10.10.10.254
Ethifname=
EAPifname=br0
PreAuthifname=br0
session_timeout_interval=0
idle_timeout_interval=0
WiFiTest=0
TGnWifiTest=0
ApCliEzEnable=
ApCliEzConfStatus=
ApCliEzGroupID=
ApCliEzGenGroupID=
ApCliEzOpenGroupID=
ApCliEzRssiThreshold=
ApCliHideSSID=
ApCliEnable=1
ApCliSsid=
ApCliBssid=
ApCliAuthMode=
ApCliEncrypType=
ApCliWPAPSK=
ApCliDefaultKeyID=
ApCliKey1Type=
ApCliKey1Str=
ApCliKey2Type=
ApCliKey2Str=
ApCliKey3Type=
ApCliKey3Str=
ApCliKey4Type=
ApCliKey4Str=
MACRepeaterEn=
MACRepeaterOuiMode=2
ApCliWirelessMode=9
ApCliWPAPSK1=
ApCliKey1Str1=
ApCliKey2Str1=
ApCliKey3Str1=
ApCliKey4Str1=
EfuseBufferMode=0
E2pAccessMode=1
PMFMFPC=0
PMFMFPR=0
PMFSHA256=0
RadioOn=1
BW_Enable=0
BW_Root=0
BW_Priority=
BW_Guarantee_Rate=
BW_Maximum_Rate=
VOW_BW_Ctrl=
VOW_Airtime_Fairness_En=1
VOW_RX_En=
VOW_Refill_Period=
VOW_Sta_VO_DWRR_Quantum=
VOW_Sta_VI_DWRR_Quantum=
VOW_Sta_BE_DWRR_Quantum=
VOW_Sta_BK_DWRR_Quantum=
VOW_WMM_Search_Rule_Band0=
VOW_WMM_Search_Rule_Band1=
VOW_Sta_DWRR_Max_Wait_Time=
VOW_Group_DWRR_Max_Wait_Time=
VOW_Group_Min_Rate=
VOW_Group_Max_Rate=
VOW_Group_Min_Ratio=
VOW_Group_Max_Ratio=
VOW_Airtime_Ctrl_En=
VOW_Rate_Ctrl_En=
VOW_Group_Min_Rate_Bucket_Size=
VOW_Group_Max_Rate_Bucket_Size=
VOW_Group_Min_Airtime_Bucket_Size=
VOW_Group_Max_Airtime_Bucket_Size=
VOW_Group_Backlog=
VOW_Group_Max_Wait_Time=
VOW_Group_DWRR_Quantum=
VOW_WATF_Enable=
VOW_WATF_Q_LV0=
VOW_WATF_Q_LV1=
VOW_WATF_Q_LV2=
VOW_WATF_Q_LV3=
VOW_WATF_MAC_LV0=
VOW_WATF_MAC_LV1=
VOW_WATF_MAC_LV2=
VOW_WATF_MAC_LV3=
VOW_STA_FRR_QUANTUM=
RED_Enable=1
CP_SUPPORT=2
BgndScanSkipCh=
EDCCAEnable=1
BandSteering=0
BndStrgBssIdx=
RadioLinkSelection=0
RoamingEnhance=0
BandNoBf=0

View File

@ -1,473 +0,0 @@
#The word of "Default" must not be removed
Default
CountryRegion=5
CountryRegionABand=7
CountryCode=US
AutoChannelSkipList=
DBDC_MODE=0
IcapMode=0
BssidNum=1
SSID=
SSID1=wifi-mt7615.2
SSID2=
SSID3=
SSID4=
SSID5=
SSID6=
SSID7=
SSID8=
SSID9=
SSID10=
SSID11=
SSID12=
SSID13=
SSID14=
SSID15=
SSID16=
RRMEnable=1
FtSupport=1
ChannelGrp=
WirelessMode=14
FixedTxMode=HT
EthConvertMode=dongle
TxRate=0
Channel=157
BasicRate=15
BeaconPeriod=100
DtimPeriod=1
TxPower=100
LinkTestSupport=0
ThermalRecal=0
PowerUpCckOfdm=0:0:0:0:0:0:0
PowerUpHT20=0:0:0:0:0:0:0
PowerUpHT40=0:0:0:0:0:0:0
PowerUpVHT20=0:0:0:0:0:0:0
PowerUpVHT40=0:0:0:0:0:0:0
PowerUpVHT80=0:0:0:0:0:0:0
PowerUpVHT160=0:0:0:0:0:0:0
SKUenable=0
PERCENTAGEenable=1
BFBACKOFFenable=0
CalCacheApply=0
DisableOLBC=0
BGProtection=0
TxAntenna=
RxAntenna=
TxPreamble=1
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=1
AutoProvisionEn=0
FreqDelta=0
TurboRate=0
WmmCapable=1
APAifsn=3;7;1;1
APCwmin=4;4;3;2
APCwmax=6;10;4;3
APTxop=0;0;94;47
APACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmin=4;4;3;2
BSSCwmax=10;10;4;3
BSSTxop=0;0;94;47
BSSACM=0;0;0;0
AckPolicy=0;0;0;0
APSDCapable=0
DLSCapable=0
NoForwarding=0
NoForwardingBTNBSSID=0
HideSSID=0
ShortSlot=1
AutoChannelSelect=3
IEEE8021X=0
IEEE80211H=1
CarrierDetect=0
ITxBfEn=0
PreAntSwitch=1
PhyRateLimit=0
DebugFlags=0
ETxBfEnCond=0
MUTxRxEnable=0
ITxBfTimeout=0
ETxBfTimeout=0
ETxBfNoncompress=0
ETxBfIncapable=0
FineAGC=0
StreamMode=0
StreamModeMac0=
StreamModeMac1=
StreamModeMac2=
StreamModeMac3=
CSPeriod=6
RDRegion=
StationKeepAlive=0
DfsCalibration=0
DfsEnable=0
DfsApplyStopWifi=0
DfsFalseAlarmPrevent=0
DfsZeroWait=0
DfsZeroWaitCacTime=255
DfsDedicatedZeroWait=0
DfsTPDutyRatio=0
DfsLowerLimit=0
DfsUpperLimit=0
DfsOutdoor=0
SymRoundFromCfg=0
BusyIdleFromCfg=0
DfsRssiHighFromCfg=0
DfsRssiLowFromCfg=0
DFSParamFromConfig=0
FCCParamCh0=
FCCParamCh1=
FCCParamCh2=
FCCParamCh3=
CEParamCh0=
CEParamCh1=
CEParamCh2=
CEParamCh3=
JAPParamCh0=
JAPParamCh1=
JAPParamCh2=
JAPParamCh3=
JAPW53ParamCh0=
JAPW53ParamCh1=
JAPW53ParamCh2=
JAPW53ParamCh3=
FixDfsLimit=0
LongPulseRadarTh=0
AvgRssiReq=0
DFS_R66=0
BlockCh=
EzEnable=
EzConfStatus=
EzGroupID=
EzGenGroupID=
EzOpenGroupID=
EzPushBW=
EzDefaultSsid=
EzDefaultPmk=
EzDefaultPmkValid=
EzDefaultSettings=
ManConf=
FtMdId1=
FtMdId2=
MacAddress=
MacAddress1=
RegroupSupport=
RegroupPeriodicity=
EtherTrafficBand=
ApMWDS=
ApCliMWDS=
ForceRoamSupport=
GreenAP=0
PreAuth=0
AuthMode=OPEN
EncrypType=NONE
WapiPsk1=
WapiPsk2=
WapiPsk3=
WapiPsk4=
WapiPsk5=
WapiPsk6=
WapiPsk7=
WapiPsk8=
WapiPsk9=
WapiPsk10=
WapiPsk11=
WapiPsk12=
WapiPsk13=
WapiPsk14=
WapiPsk15=
WapiPsk16=
WapiPskType=
Wapiifname=
WapiAsCertPath=
WapiUserCertPath=
WapiAsIpAddr=
WapiAsPort=
RekeyMethod=DISABLE
RekeyInterval=3600
PMKCachePeriod=10
MeshAutoLink=0
MeshAuthMode=
MeshEncrypType=
MeshDefaultkey=0
MeshWEPKEY=
MeshWPAKEY=
MeshId=
WPAPSK=
WPAPSK1=12345678
WPAPSK2=
WPAPSK3=
WPAPSK4=
WPAPSK5=
WPAPSK6=
WPAPSK7=
WPAPSK8=
WPAPSK9=
WPAPSK10=
WPAPSK11=
WPAPSK12=
WPAPSK13=
WPAPSK14=
WPAPSK15=
WPAPSK16=
DefaultKeyID=1
Key1Type=0
Key1Str=
Key1Str1=
Key1Str2=
Key1Str3=
Key1Str4=
Key1Str5=
Key1Str6=
Key1Str7=
Key1Str8=
Key1Str9=
Key1Str10=
Key1Str11=
Key1Str12=
Key1Str13=
Key1Str14=
Key1Str15=
Key1Str16=
Key2Type=0
Key2Str=
Key2Str1=
Key2Str2=
Key2Str3=
Key2Str4=
Key2Str5=
Key2Str6=
Key2Str7=
Key2Str8=
Key2Str9=
Key2Str10=
Key2Str11=
Key2Str12=
Key2Str13=
Key2Str14=
Key2Str15=
Key2Str16=
Key3Type=0
Key3Str=
Key3Str1=
Key3Str2=
Key3Str3=
Key3Str4=
Key3Str5=
Key3Str6=
Key3Str7=
Key3Str8=
Key3Str9=
Key3Str10=
Key3Str11=
Key3Str12=
Key3Str13=
Key3Str14=
Key3Str15=
Key3Str16=
Key4Type=0
Key4Str=
Key4Str1=
Key4Str2=
Key4Str3=
Key4Str4=
Key4Str5=
Key4Str6=
Key4Str7=
Key4Str8=
Key4Str9=
Key4Str10=
Key4Str11=
Key4Str12=
Key4Str13=
Key4Str14=
Key4Str15=
Key4Str16=
HSCounter=0
HT_HTC=1
HT_RDG=1
HT_LinkAdapt=0
HT_OpMode=0
HT_MpduDensity=5
HT_EXTCHA=1
HT_BW=1
HT_AutoBA=1
HT_BADecline=0
HT_AMSDU=1
HT_BAWinSize=64
HT_GI=1
HT_STBC=1
HT_MCS=33
HT_TxStream=4
HT_RxStream=4
HT_PROTECT=1
HT_DisallowTKIP=1
HT_BSSCoexistence=0
HT_LDPC=1
VHT_BW=1
VHT_Sec80_Channel=0
VHT_STBC=1
VHT_SGI=1
VHT_BW_SIGNAL=0
VHT_LDPC=1
G_BAND_256QAM=1
WscConfMode=0
WscConfStatus=2
WCNTest=0
AccessPolicy0=0
AccessControlList0=
AccessPolicy1=0
AccessControlList1=
AccessPolicy2=0
AccessControlList2=
AccessPolicy3=0
AccessControlList3=
AccessPolicy4=0
AccessControlList4=
AccessPolicy5=0
AccessControlList5=
AccessPolicy6=0
AccessControlList6=
AccessPolicy7=0
AccessControlList7=
AccessPolicy8=0
AccessControlList8=
AccessPolicy9=0
AccessControlList9=
AccessPolicy10=0
AccessControlList10=
AccessPolicy11=0
AccessControlList11=
AccessPolicy12=0
AccessControlList12=
AccessPolicy13=0
AccessControlList13=
AccessPolicy14=0
AccessControlList14=
AccessPolicy15=0
AccessControlList15=
WdsEnable=0
WdsPhyMode=
WdsEncrypType=NONE
WdsList=
Wds0Key=
Wds1Key=
Wds2Key=
Wds3Key=
RADIUS_Server=0
RADIUS_Port=1812
RADIUS_Key1=
RADIUS_Key2=
RADIUS_Key3=
RADIUS_Key4=
RADIUS_Key5=
RADIUS_Key6=
RADIUS_Key7=
RADIUS_Key8=
RADIUS_Key9=
RADIUS_Key10=
RADIUS_Key11=
RADIUS_Key12=
RADIUS_Key13=
RADIUS_Key14=
RADIUS_Key15=
RADIUS_Key16=
RADIUS_Acct_Server=
RADIUS_Acct_Port=1813
RADIUS_Acct_Key=
own_ip_addr=10.10.10.254
Ethifname=
EAPifname=br0
PreAuthifname=br0
session_timeout_interval=0
idle_timeout_interval=0
WiFiTest=0
TGnWifiTest=0
ApCliEzEnable=
ApCliEzConfStatus=
ApCliEzGroupID=
ApCliEzGenGroupID=
ApCliEzOpenGroupID=
ApCliEzRssiThreshold=
ApCliHideSSID=
ApCliEnable=1
ApCliSsid=
ApCliBssid=
ApCliAuthMode=
ApCliEncrypType=
ApCliWPAPSK=
ApCliDefaultKeyID=
ApCliKey1Type=
ApCliKey1Str=
ApCliKey2Type=
ApCliKey2Str=
ApCliKey3Type=
ApCliKey3Str=
ApCliKey4Type=
ApCliKey4Str=
MACRepeaterEn=
MACRepeaterOuiMode=2
ApCliWirelessMode=14
ApCliWPAPSK1=
ApCliKey1Str1=
ApCliKey2Str1=
ApCliKey3Str1=
ApCliKey4Str1=
EfuseBufferMode=0
E2pAccessMode=1
PMFMFPC=0
PMFMFPR=0
PMFSHA256=0
RadioOn=1
BW_Enable=0
BW_Root=0
BW_Priority=
BW_Guarantee_Rate=
BW_Maximum_Rate=
VOW_BW_Ctrl=
VOW_Airtime_Fairness_En=1
VOW_RX_En=
VOW_Refill_Period=
VOW_Sta_VO_DWRR_Quantum=
VOW_Sta_VI_DWRR_Quantum=
VOW_Sta_BE_DWRR_Quantum=
VOW_Sta_BK_DWRR_Quantum=
VOW_WMM_Search_Rule_Band0=
VOW_WMM_Search_Rule_Band1=
VOW_Sta_DWRR_Max_Wait_Time=
VOW_Group_DWRR_Max_Wait_Time=
VOW_Group_Min_Rate=
VOW_Group_Max_Rate=
VOW_Group_Min_Ratio=
VOW_Group_Max_Ratio=
VOW_Airtime_Ctrl_En=
VOW_Rate_Ctrl_En=
VOW_Group_Min_Rate_Bucket_Size=
VOW_Group_Max_Rate_Bucket_Size=
VOW_Group_Min_Airtime_Bucket_Size=
VOW_Group_Max_Airtime_Bucket_Size=
VOW_Group_Backlog=
VOW_Group_Max_Wait_Time=
VOW_Group_DWRR_Quantum=
VOW_WATF_Enable=
VOW_WATF_Q_LV0=
VOW_WATF_Q_LV1=
VOW_WATF_Q_LV2=
VOW_WATF_Q_LV3=
VOW_WATF_MAC_LV0=
VOW_WATF_MAC_LV1=
VOW_WATF_MAC_LV2=
VOW_WATF_MAC_LV3=
VOW_STA_FRR_QUANTUM=
RED_Enable=1
CP_SUPPORT=2
BgndScanSkipCh=
EDCCAEnable=1
BandSteering=1
BndStrgBssIdx=
RadioLinkSelection=0
RoamingEnhance=0
BandNoBf=0

View File

@ -1,50 +0,0 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/version.mk
PKG_NAME:=mt7620
PKG_RELEASE:=1
PKG_BUILD_DEPENDS:=base-files
PKG_FILE_DEPENDS:=
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=Hua Shao <nossiac@163.com>
PKG_URLS:=http://nossiac.com/download/mtk-wifi-ko \
http://119.23.148.191:8888/mtk-wifi-ko
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_KO:=$(PKG_NAME)-for-$(CONFIG_TARGET_SUBTARGET)-linux-$(LINUX_VERSION).ko
define Package/mt7620
CATEGORY:=MTK Properties
SUBMENU:=Drivers
TITLE:=MTK MT7620 WiFi AP driver
AUTOLOAD:=$(call AutoProbe,mt7620)
DEPENDS:=+wireless-tools
endef
define Package/mt7620/config-notyet
config MT7620_USING_LUA_SCRIPT
bool "use lua script to init/config driver"
depends on PACKAGE_mt7620
default y
endef
define Build/Compile
for PKG_URL in $(PKG_URLS); do \
wget $$$${PKG_URL}/$(PKG_KO) \
-O $(PKG_BUILD_DIR)/$(PKG_KO); \
if [ "$$$$?" != "0" ]; then continue; else break; fi \
done
endef
define Package/mt7620/install
$(INSTALL_DIR) $(1)/lib/modules/$(LINUX_VERSION)
-$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_KO) \
$(1)/lib/modules/$(LINUX_VERSION)/$(PKG_NAME).ko
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,mt7620))

View File

@ -1,132 +0,0 @@
#The word of "Default" must not be removed
Default
CountryRegion=1
CountryRegionABand=0
CountryCode=
BssidNum=1
SSID1=wifi-mt7620
SSID2=
SSID3=
SSID4=
WirelessMode=9
TxRate=0
Channel=6
BasicRate=15
BeaconPeriod=100
DtimPeriod=1
TxPower=100
DisableOLBC=0
BGProtection=0
MaxStaNum=0
TxPreamble=0
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=0
TurboRate=0
WmmCapable=1
APSDCapable=1
DLSCapable=0
APAifsn=3;7;1;1
APCwmin=4;4;3;2
APCwmax=6;10;4;3
APTxop=0;0;94;47
APACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmin=4;4;3;2
BSSCwmax=10;10;4;3
BSSTxop=0;0;94;47
BSSACM=0;0;0;0
AckPolicy=0;0;0;0
NoForwarding=0
NoForwardingBTNBSSID=0
HideSSID=0
StationKeepAlive=0
ShortSlot=1
AutoChannelSelect=0
IEEE8021X=0
IEEE80211H=0
CSPeriod=10
WirelessEvent=0
IdsEnable=0
AuthFloodThreshold=32
AssocReqFloodThreshold=32
ReassocReqFloodThreshold=32
ProbeReqFloodThreshold=32
DisassocFloodThreshold=32
DeauthFloodThreshold=32
EapReqFooldThreshold=32
PreAuth=0
AuthMode=OPEN
EncrypType=NONE
RekeyInterval=0
RekeyMethod=DISABLE
PMKCachePeriod=10
WPAPSK1=
WPAPSK2=
WPAPSK3=
WPAPSK4=
DefaultKeyID=1
Key1Type=1;1;1;1
Key1Str1=
Key1Str2=
Key1Str3=
Key1Str4=
Key2Type=1;1;1;1
Key2Str1=
Key2Str2=
Key2Str3=
Key2Str4=
Key3Type=1;1;1;1
Key3Str1=
Key3Str2=
Key3Str3=
Key3Str4=
Key4Type=1;1;1;1
Key4Str1=
Key4Str2=
Key4Str3=
Key4Str4=
HSCounter=0
AccessPolicy0=0
AccessControlList0=
AccessPolicy1=0
AccessControlList1=
AccessPolicy2=0
AccessControlList2=
AccessPolicy3=0
AccessControlList3=
WdsEnable=0
WdsEncrypType=NONE
WdsList=EOF
WdsKey=
RADIUS_Server=192.168.2.3
RADIUS_Port=1812
RADIUS_Key=ralink
own_ip_addr=192.168.5.234
EAPifname=br-lan
PreAuthifname=br-lan
HT_HTC=0
HT_RDG=0
HT_EXTCHA=0
HT_LinkAdapt=0
HT_OpMode=0
HT_MpduDensity=5
HT_BW=1
HT_AutoBA=1
HT_AMSDU=0
HT_BAWinSize=64
HT_GI=1
HT_MCS=33
# WPS stuff
# 1 = enrollee, 2 = proxy, 4 = registrar (bitmask)
# This value is enabled later on, for WPA only
WscConfMode=0
# 1 = disabled, 2 = enabled
WscConfStatus=2
# 2 = PBC, 1 = PIN
WscMode = 2
HT_TxStream=2
HT_RxStream=2

View File

@ -1,158 +0,0 @@
#!/usr/bin/lua
-- Alternative for OpenWrt's /sbin/wifi.
-- Copyright Not Reserved.
-- Hua Shao <nossiac@163.com>
local function esc(x)
return (x:gsub('%%', '%%%%')
:gsub('^%^', '%%^')
:gsub('%$$', '%%$')
:gsub('%(', '%%(')
:gsub('%)', '%%)')
:gsub('%.', '%%.')
:gsub('%[', '%%[')
:gsub('%]', '%%]')
:gsub('%*', '%%*')
:gsub('%+', '%%+')
:gsub('%-', '%%-')
:gsub('%?', '%%?'))
end
function add_vif_into_lan(vif)
local mtkwifi = require("mtkwifi")
local brvifs = mtkwifi.__trim(
mtkwifi.read_pipe("uci get network.lan.ifname"))
if not string.match(brvifs, esc(vif)) then
nixio.syslog("debug", "add "..vif.." into lan")
brvifs = brvifs.." "..vif
os.execute("uci set network.lan.ifname=\""..brvifs.."\"")
os.execute("uci commit")
-- os.execute("brctl addif br-lan "..vif)
os.execute("ubus call network.interface.lan add_device \"{\\\"name\\\":\\\""..vif.."\\\"}\"")
end
end
function mt7620_up(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7620_up called!")
-- 7620 is always the 1st card and it takes "ra" and "apcli" prefix.
-- for multi-bssid, we must bring up ra0 first. ra0 will create ra1, ra2,...
if not mtkwifi.exists("/sys/class/net/ra0") then
nixio.syslog("err", "unable to detect ra0, abort!")
return
end
os.execute("ifconfig ra0 up")
add_vif_into_lan("ra0")
-- then we bring up ra1, ra2,...
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "ra[1-9][0-9]*") then
os.execute("ifconfig "..vif.." up")
if not string.find(vif, "apcli") then
add_vif_into_lan(vif)
end
-- else nixio.syslog("debug", "skip "..vif..", prefix not match "..pre[1])
end
end
-- then we bring up apcli0, apcli1,...
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "apcli%d+") then
os.execute("ifconfig "..vif.." up")
end
end
os.execute(" rm -rf /tmp/mtk/wifi/mt7620*.need_reload")
end
function mt7620_down(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7620_down called!")
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "apcli%d+") then
os.execute("ifconfig "..vif.." down")
end
end
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "ra%d+") then
os.execute("ifconfig "..vif.." down")
local brvifs = mtkwifi.read_pipe("uci get network.lan.ifname")
if string.match(brvifs, vif) then
brvifs = mtkwifi.__trim(string.gsub(brvifs, vif, ""))
nixio.syslog("debug", "remove "..vif.." from lan")
os.execute("uci set network.lan.ifname=\""..brvifs.."\"")
os.execute("uci commit")
os.execute("ubus call network.interface.lan remove_device \"{\\\"name\\\":\\\""..vif.."\\\"}\"")
end
-- else nixio.syslog("debug", "skip "..vif..", prefix not match "..pre[1])
end
end
os.execute(" rm -rf /tmp/mtk/wifi/mt7620*.need_reload")
end
function mt7620_reload(devname)
local nixio = require("nixio")
nixio.syslog("debug", "mt7620_reload called!")
mt7620_down()
mt7620_up()
end
function mt7620_restart(devname)
local nixio = require("nixio")
nixio.syslog("debug", "mt7620_restart called!")
mt7620_down()
os.execute("rmmod mt7620")
os.execute("modprobe mt7620")
mt7620_up()
end
function mt7620_reset(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7620_reset called!")
if mtkwifi.exists("/rom/etc/wireless/mt7620/") then
os.execute("rm -rf /etc/wireless/mt7620/")
os.execute("cp -rf /rom/etc/wireless/mt7620/ /etc/wireless/")
mt7620_reload()
else
nixio.syslog("debug", "/rom"..profile.." missing, unable to reset!")
end
end
function mt7620_status(devname)
return wifi_common_status()
end
function mt7620_detect(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7620_detect called!")
for _,dev in ipairs(mtkwifi.get_all_devs()) do
print([[
config wifi-device ]]..dev.maindev.."\n"..[[
option type mt7620
option vendor ralink
]])
for _,vif in ipairs(dev.vifs) do
print([[
config wifi-iface
option device ]]..dev.maindev.."\n"..[[
option ifname ]]..vif.vifname.."\n"..[[
option network lan
option mode ap
option ssid ]]..vif.__ssid.."\n")
end
end
end

View File

@ -1,51 +0,0 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/version.mk
PKG_NAME:=mt7628
PKG_RELEASE:=1
PKG_BUILD_DEPENDS:=base-files
PKG_FILE_DEPENDS:=
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=Hua Shao <nossiac@163.com>
PKG_URLS:=http://nossiac.com/download/mtk-wifi-ko \
http://119.23.148.191:8888/mtk-wifi-ko
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_KO:=$(PKG_NAME)-for-$(CONFIG_TARGET_SUBTARGET)-linux-$(LINUX_VERSION).ko
define Package/mt7628
CATEGORY:=MTK Properties
SUBMENU:=Drivers
TITLE:=MTK MT7628 WiFi AP driver
AUTOLOAD:=$(call AutoProbe,mt7628)
DEPENDS:=+wireless-tools
endef
define Package/mt7628/config-notyet
config MT7628_USING_LUA_SCRIPT
bool "use lua script to init/config driver"
depends on PACKAGE_mt7628
default y
endef
define Build/Compile
for PKG_URL in $(PKG_URLS); do \
wget $$$${PKG_URL}/$(PKG_KO) \
-O $(PKG_BUILD_DIR)/$(PKG_KO); \
if [ "$$$$?" != "0" ]; then continue; else break; fi \
done
endef
define Package/mt7628/install
$(INSTALL_DIR) $(1)/lib/modules/$(LINUX_VERSION)
-$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(PKG_KO) \
$(1)/lib/modules/$(LINUX_VERSION)/$(PKG_NAME).ko
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,mt7628))

View File

@ -1,132 +0,0 @@
#The word of "Default" must not be removed
Default
CountryRegion=1
CountryRegionABand=0
CountryCode=
BssidNum=1
SSID1=wifi-mt7628
SSID2=
SSID3=
SSID4=
WirelessMode=9
TxRate=0
Channel=6
BasicRate=15
BeaconPeriod=100
DtimPeriod=1
TxPower=100
DisableOLBC=0
BGProtection=0
MaxStaNum=0
TxPreamble=0
RTSThreshold=2347
FragThreshold=2346
TxBurst=0
PktAggregate=0
TurboRate=0
WmmCapable=1
APSDCapable=1
DLSCapable=0
APAifsn=3;7;1;1
APCwmin=4;4;3;2
APCwmax=6;10;4;3
APTxop=0;0;94;47
APACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmin=4;4;3;2
BSSCwmax=10;10;4;3
BSSTxop=0;0;94;47
BSSACM=0;0;0;0
AckPolicy=0;0;0;0
NoForwarding=0
NoForwardingBTNBSSID=0
HideSSID=0
StationKeepAlive=0
ShortSlot=1
AutoChannelSelect=0
IEEE8021X=0
IEEE80211H=0
CSPeriod=10
WirelessEvent=0
IdsEnable=0
AuthFloodThreshold=32
AssocReqFloodThreshold=32
ReassocReqFloodThreshold=32
ProbeReqFloodThreshold=32
DisassocFloodThreshold=32
DeauthFloodThreshold=32
EapReqFooldThreshold=32
PreAuth=0
AuthMode=OPEN
EncrypType=NONE
RekeyInterval=0
RekeyMethod=DISABLE
PMKCachePeriod=10
WPAPSK1=
WPAPSK2=
WPAPSK3=
WPAPSK4=
DefaultKeyID=1
Key1Type=1;1;1;1
Key1Str1=
Key1Str2=
Key1Str3=
Key1Str4=
Key2Type=1;1;1;1
Key2Str1=
Key2Str2=
Key2Str3=
Key2Str4=
Key3Type=1;1;1;1
Key3Str1=
Key3Str2=
Key3Str3=
Key3Str4=
Key4Type=1;1;1;1
Key4Str1=
Key4Str2=
Key4Str3=
Key4Str4=
HSCounter=0
AccessPolicy0=0
AccessControlList0=
AccessPolicy1=0
AccessControlList1=
AccessPolicy2=0
AccessControlList2=
AccessPolicy3=0
AccessControlList3=
WdsEnable=0
WdsEncrypType=NONE
WdsList=EOF
WdsKey=
RADIUS_Server=192.168.2.3
RADIUS_Port=1812
RADIUS_Key=ralink
own_ip_addr=192.168.5.234
EAPifname=br-lan
PreAuthifname=br-lan
HT_HTC=0
HT_RDG=0
HT_EXTCHA=0
HT_LinkAdapt=0
HT_OpMode=0
HT_MpduDensity=5
HT_BW=1
HT_AutoBA=1
HT_AMSDU=0
HT_BAWinSize=64
HT_GI=1
HT_MCS=33
# WPS stuff
# 1 = enrollee, 2 = proxy, 4 = registrar (bitmask)
# This value is enabled later on, for WPA only
WscConfMode=0
# 1 = disabled, 2 = enabled
WscConfStatus=2
# 2 = PBC, 1 = PIN
WscMode = 2
HT_TxStream=2
HT_RxStream=2

View File

@ -1,158 +0,0 @@
#!/usr/bin/lua
-- Alternative for OpenWrt's /sbin/wifi.
-- Copyright Not Reserved.
-- Hua Shao <nossiac@163.com>
local function esc(x)
return (x:gsub('%%', '%%%%')
:gsub('^%^', '%%^')
:gsub('%$$', '%%$')
:gsub('%(', '%%(')
:gsub('%)', '%%)')
:gsub('%.', '%%.')
:gsub('%[', '%%[')
:gsub('%]', '%%]')
:gsub('%*', '%%*')
:gsub('%+', '%%+')
:gsub('%-', '%%-')
:gsub('%?', '%%?'))
end
function add_vif_into_lan(vif)
local mtkwifi = require("mtkwifi")
local brvifs = mtkwifi.__trim(
mtkwifi.read_pipe("uci get network.lan.ifname"))
if not string.match(brvifs, esc(vif)) then
nixio.syslog("debug", "add "..vif.." into lan")
brvifs = brvifs.." "..vif
os.execute("uci set network.lan.ifname=\""..brvifs.."\"")
os.execute("uci commit")
-- os.execute("brctl addif br-lan "..vif)
os.execute("ubus call network.interface.lan add_device \"{\\\"name\\\":\\\""..vif.."\\\"}\"")
end
end
function mt7628_up(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7628_up called!")
-- 7628 is always the 1st card and it takes "ra" and "apcli" prefix.
-- for multi-bssid, we must bring up ra0 first. ra0 will create ra1, ra2,...
if not mtkwifi.exists("/sys/class/net/ra0") then
nixio.syslog("err", "unable to detect ra0, abort!")
return
end
os.execute("ifconfig ra0 up")
add_vif_into_lan("ra0")
-- then we bring up ra1, ra2,...
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "ra[1-9][0-9]*") then
os.execute("ifconfig "..vif.." up")
if not string.find(vif, "apcli") then
add_vif_into_lan(vif)
end
-- else nixio.syslog("debug", "skip "..vif..", prefix not match "..pre[1])
end
end
-- then we bring up apcli0, apcli1,...
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "apcli%d+") then
os.execute("ifconfig "..vif.." up")
end
end
os.execute(" rm -rf /tmp/mtk/wifi/mt7628*.need_reload")
end
function mt7628_down(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7628_down called!")
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "apcli%d+") then
os.execute("ifconfig "..vif.." down")
end
end
for _,vif in mtkwifi.__spairs(string.split(mtkwifi.read_pipe("ls /sys/class/net"), "\n"))
do
if string.match(vif, "ra%d+") then
os.execute("ifconfig "..vif.." down")
local brvifs = mtkwifi.read_pipe("uci get network.lan.ifname")
if string.match(brvifs, vif) then
brvifs = mtkwifi.__trim(string.gsub(brvifs, vif, ""))
nixio.syslog("debug", "remove "..vif.." from lan")
os.execute("uci set network.lan.ifname=\""..brvifs.."\"")
os.execute("uci commit")
os.execute("ubus call network.interface.lan remove_device \"{\\\"name\\\":\\\""..vif.."\\\"}\"")
end
-- else nixio.syslog("debug", "skip "..vif..", prefix not match "..pre[1])
end
end
os.execute(" rm -rf /tmp/mtk/wifi/mt7628*.need_reload")
end
function mt7628_reload(devname)
local nixio = require("nixio")
nixio.syslog("debug", "mt7628_reload called!")
mt7628_down()
mt7628_up()
end
function mt7628_restart(devname)
local nixio = require("nixio")
nixio.syslog("debug", "mt7628_restart called!")
mt7628_down()
os.execute("rmmod mt7628")
os.execute("modprobe mt7628")
mt7628_up()
end
function mt7628_reset(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7628_reset called!")
if mtkwifi.exists("/rom/etc/wireless/mt7628/") then
os.execute("rm -rf /etc/wireless/mt7628/")
os.execute("cp -rf /rom/etc/wireless/mt7628/ /etc/wireless/")
mt7628_reload()
else
nixio.syslog("debug", "/rom"..profile.." missing, unable to reset!")
end
end
function mt7628_status(devname)
return wifi_common_status()
end
function mt7628_detect(devname)
local nixio = require("nixio")
local mtkwifi = require("mtkwifi")
nixio.syslog("debug", "mt7628_detect called!")
for _,dev in ipairs(mtkwifi.get_all_devs()) do
print([[
config wifi-device ]]..dev.maindev.."\n"..[[
option type mt7628
option vendor ralink
]])
for _,vif in ipairs(dev.vifs) do
print([[
config wifi-iface
option device ]]..dev.maindev.."\n"..[[
option ifname ]]..vif.vifname.."\n"..[[
option network lan
option mode ap
option ssid ]]..vif.__ssid.."\n")
end
end
end

View File

@ -0,0 +1,225 @@
# All rights reserved.
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=mt_wifi
P4REV:=
PKG_VERSION:=5.0.2.0
#PKG_SOURCE:=MT7615_MT7622_LinuxAP.tar.bz2
#PKG_SOURCE:=MT7615_MT7622_LinuxAP_$(PKG_VERSION).tar.bz2
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)
PKG_KCONFIG:= \
AP_SUPPORT \
RT_FIRST_CARD \
RT_SECOND_CARD \
RT_FIRST_IF_RF_OFFSET \
RT_SECOND_IF_RF_OFFSET \
MT_WIFI \
WIFI_BASIC_FUNC \
MT_WIFI_PATH \
FIRST_IF_NONE \
FIRST_IF_EEPROM_FLASH \
FIRST_IF_EEPROM_EFUSE \
RT_FIRST_CARD_EEPROM \
SECOND_IF_NONE \
SECOND_IF_EEPROM_FLASH \
SECOND_IF_EEPROM_PROM \
SECOND_IF_EEPROM_EFUSE \
RT_SECOND_CARD_EEPROM \
MULTI_INF_SUPPORT \
WIFI_BASIC_FUNC \
WIRELESS_EXT \
WEXT_SPY \
WEXT_PRIV \
DOT11_N_SUPPORT \
DOT11_VHT_AC \
WIFI_DRIVER \
G_BAND_256QAM_SUPPORT \
BRCM_256QAM_SUPPORT \
ICAP_SUPPORT \
MT_AP_SUPPORT \
BACKGROUND_SCAN_SUPPORT \
SMART_CARRIER_SENSE_SUPPORT \
MT_DFS_SUPPORT \
HDR_TRANS_TX_SUPPORT \
CHIP_MT7615E \
HDR_TRANS_RX_SUPPORT \
DBDC_MODE \
MULTI_PROFILE_SUPPORT \
DEFAULT_5G_PROFILE \
SUPPORT_DYNAMIC_TXOP \
WSC_INCLUDED \
MT_STA_SUPPORT \
WSC_V2_SUPPORT \
DOT11W_PMF_SUPPORT \
PASSPOINT_R2 \
TXBF_SUPPORT \
IGMP_SNOOP_SUPPORT \
RATE_ADAPTION \
RATE_ADAPT_AGBS_SUPPORT \
RTMP_FLASH_SUPPORT \
ATE_SUPPORT \
UAPSD \
RLT_MAC \
RLT_BBP \
RLT_RF \
RTMP_MAC \
RTMP_BBP \
RTMP_RF \
RTMP_PCI_SUPPORT \
RTMP_USB_SUPPORT \
RTMP_RBUS_SUPPORT \
WIFI_MODE_AP \
WIFI_MODE_STA \
WIRELESS_EXT \
WEXT_SPY \
WEXT_PRIV \
WDS_SUPPORT \
MBSS_SUPPORT \
APCLI_SUPPORT \
APCLI_CERT_SUPPORT \
MAC_REPEATER_SUPPORT \
RALINK_RT6352 \
RALINK_MT7620 \
RALINK_MT7603E \
CON_WPS_SUPPORT \
VOW_SUPPORT \
BAND_STEERING \
TXOP_ARBITER \
CFG_SUPPORT_DYNAMIC_TXOP \
WIFI_MODE_BOTH \
WIFI_RLT_MAC \
RLT_MAC \
WIFI_RTMP_MAC \
RTMP_MAC \
WIFI_MT_MAC \
CHIP_MT7603E \
CHIP_MT7615E \
MT_MAC \
RATE_ADAPTION \
SUPPORT_OPENWRT \
SDK_USER_LIGHTY \
MUMIMO_SUPPORT \
MU_RA_SUPPORT \
LED_CONTROL_SUPPORT \
RA_HW_NAT \
RA_HW_NAT_WIFI_NEW_ARCH \
CFG80211_SUPPORT \
SER_SUPPORT \
GREENAP_SUPPORT \
RADIUS_ACCOUNTING_SUPPORT \
TPC_SUPPORT \
RLM_CAL_CACHE_SUPPORT \
RF_LOCKDOWN_SUPPORT \
PASSPOINT_R2 \
RED_SUPPORT \
FIRST_IF_EPAELNA \
FIRST_IF_IPAILNA \
FIRST_IF_IPAELNA \
FIRST_IF_EPAILNA \
SECOND_IF_EPAELNA \
SECOND_IF_IPAILNA \
SECOND_IF_IPAELNA \
SECOND_IF_EPAILNA \
THIRD_IF_EPAELNA \
THIRD_IF_IPAILNA \
THIRD_IF_IPAELNA \
THIRD_IF_EPAILNA \
WIFI_PKT_FWD \
DOT11K_RRM_SUPPORT \
DOT11R_FT_SUPPORT \
MBO_SUPPORT \
WIFI_PKT_FWD_V1 \
FIRST_IF_MT7615E \
FIRST_IF_MT7622 \
FIRST_IF_MT7626 \
SECOND_IF_MT7615E \
THIRD_IF_NONE \
THIRD_IF_MT7615E \
RT_THIRD_CARD \
RT_THIRD_IF_RF_OFFSET \
THIRD_IF_EEPROM_FLASH \
THIRD_IF_EEPROM_PROM \
THIRD_IF_EEPROM_EFUSE \
RT_THIRD_CARD_EEPROM \
SPECTRUM_SUPPORT \
MULTI_PROFILE_SUPPORT \
PRE_CAL_TRX_SET1_SUPPORT \
MWDS \
MCAST_RATE_SPECIFIC \
WLAN_HOOK \
COEX_SUPPORT \
EASY_SETUP_SUPPORT \
EVENT_NOTIFIER_SUPPORT \
AIR_MONITOR \
WNM_SUPPORT \
INTERWORKING \
LINUX_NET_TXQ_SUPPORT \
CHIP_MT7622 \
CHIP_MT7626 \
WHNAT_SUPPORT \
FAST_NAT_SUPPORT \
PRE_CAL_TRX_SET2_SUPPORT \
LINK_TEST_SUPPORT \
TCP_RACK_SUPPORT \
FQ_SCH_SUPPORT \
BRCM_256QAM_SUPPORT \
VHT_TXBF_2G_EPIGRAM_IE_SUPPORT \
DSCP_PRI_SUPPORT \
PCIE_ASPM_DYM_CTRL_SUPPORT \
PKG_CONFIG_DEPENDS:=$(foreach c, $(PKG_KCONFIG),$(if $(CONFIG_MTK_$c),CONFIG_$(c)))
include $(INCLUDE_DIR)/package.mk
TAR_CMD=$(HOST_TAR) -C $(1)/ $(TAR_OPTIONS)
define KernelPackage/mt_wifi
CATEGORY:=MTK Properties
TITLE:=MTK wifi AP driver
DEPENDS:=+wifi-l1profile
ifneq ($(CONFIG_MTK_WHNAT_SUPPORT), )
FILES:=$(PKG_BUILD_DIR)/mt_wifi_ap/mt_wifi.ko \
$(PKG_BUILD_DIR)/mt_wifi/embedded/tools/plug_in/whnat/mt_whnat.ko
AUTOLOAD:=$(call AutoProbe,mt_wifi mt_whnat)
else
FILES:=$(PKG_BUILD_DIR)/mt_wifi_ap/mt_wifi.ko
AUTOLOAD:=$(call AutoProbe,mt_wifi)
endif
SUBMENU:=Drivers
MENU:=1
endef
define KernelPackage/mt_wifi/config
source "$(SOURCE)/config.in"
endef
define Build/Compile
$(MAKE) -C "$(LINUX_DIR)" V=1 \
CROSS_COMPILE="$(TARGET_CROSS)" \
ARCH="$(LINUX_KARCH)" \
SUBDIRS="$(PKG_BUILD_DIR)/mt_wifi_ap" \
$(foreach c, $(PKG_KCONFIG),$(if $(CONFIG_MTK_$c),CONFIG_$(c)=$(CONFIG_MTK_$(c)))) \
modules
endef
define KernelPackage/mt_wifi/install
$(INSTALL_DIR) $(1)/etc/init.d/
$(INSTALL_DIR) $(1)/lib/wifi/
$(INSTALL_DIR) $(1)/etc/wireless/mt7615/
$(INSTALL_DIR) $(1)/etc_ro/Wireless/RT2860AP/
$(INSTALL_BIN) ./files/mt7615.1.2G.dat $(1)/etc/wireless/mt7615/
$(INSTALL_BIN) ./files/mt7615.1.5G.dat $(1)/etc/wireless/mt7615/
$(INSTALL_BIN) ./files/SingleSKU.dat $(1)/etc_ro/Wireless/RT2860AP/
$(INSTALL_BIN) ./files/SingleSKU_BF.dat $(1)/etc_ro/Wireless/RT2860AP/
$(INSTALL_BIN) ./files/mt7615.lua $(1)/lib/wifi
$(INSTALL_BIN) ./files/firmware.sh $(1)/etc/init.d/
endef
$(eval $(call KernelPackage,mt_wifi))

View File

@ -0,0 +1,80 @@
if [ -d wifi_driver ]; then
mkdir -p mt_wifi_ap
mkdir -p mt_wifi_sta
cp -a wifi_driver/os/linux/Kconfig.mt_wifi_ap ./mt_wifi_ap/Kconfig
cp -a wifi_driver/os/linux/Makefile.mt_wifi_ap ./mt_wifi_ap/Makefile
cp -a wifi_driver/os/linux/Kconfig.mt_wifi_sta ./mt_wifi_sta/Kconfig
cp -a wifi_driver/os/linux/Makefile.mt_wifi_sta ./mt_wifi_sta/Makefile
cp -a wifi_driver/os/linux/Kconfig.mt_wifi wifi_driver/embedded/Kconfig
cp -rf wifi_driver mt_wifi
#if [ -d mt_wifi ]; then
# rm -rf mt_wifi
#fi
#mv wifi_driver mt_wifi
echo "7622 mt_wifi autobuild"
RT28xx_DIR=./mt_wifi
CHIPSET=mt7622
RT28xx_MODE=AP
HAS_WOW_SUPPORT=n
HAS_FPGA_MODE=n
HAS_RX_CUT_THROUGH=n
RT28xx_BIN_DIR=.
export RT28xx_DIR CHIPSET RT28xx_MODE HAS_WOW_SUPPORT HAS_FPGA_MODE HAS_RX_CUT_THROUGH RT28xx_BIN_DIR
make -C mt_wifi/embedded build_tools
./mt_wifi/embedded/tools/bin2h
make -C mt_wifi/embedded build_sku_tables
./mt_wifi/txpwr/dat2h
echo "7615 mt_wifi autobuild"
RT28xx_DIR=./mt_wifi
CHIPSET=mt7615
RT28xx_MODE=AP
HAS_WOW_SUPPORT=n
HAS_FPGA_MODE=n
HAS_RX_CUT_THROUGH=n
RT28xx_BIN_DIR=.
export RT28xx_DIR CHIPSET RT28xx_MODE HAS_WOW_SUPPORT HAS_FPGA_MODE HAS_RX_CUT_THROUGH RT28xx_BIN_DIR
make -C mt_wifi/embedded build_tools
./mt_wifi/embedded/tools/bin2h
make -C mt_wifi/embedded build_sku_tables
./mt_wifi/txpwr/dat2h
echo "7626 mt_wifi autobuild"
RT28xx_DIR=./mt_wifi
CHIPSET=mt7626
RT28xx_MODE=AP
HAS_WOW_SUPPORT=n
HAS_FPGA_MODE=n
HAS_RX_CUT_THROUGH=n
RT28xx_BIN_DIR=.
export RT28xx_DIR CHIPSET RT28xx_MODE HAS_WOW_SUPPORT HAS_FPGA_MODE HAS_RX_CUT_THROUGH RT28xx_BIN_DIR
make -C mt_wifi/embedded build_tools
./mt_wifi/embedded/tools/bin2h
make -C mt_wifi/embedded build_sku_tables
./mt_wifi/txpwr/dat2h
elif [ -d rlt_wifi ]; then
mkdir -p mt_wifi_ap
mkdir -p mt_wifi_sta
cp -a rlt_wifi/os/linux/Kconfig.mt_wifi_ap ./mt_wifi_ap/Kconfig
cp -a rlt_wifi/os/linux/Makefile.mt_wifi_ap ./mt_wifi_ap/Makefile
cp -a rlt_wifi/os/linux/Kconfig.mt_wifi_sta ./mt_wifi_sta/Kconfig
cp -a rlt_wifi/os/linux/Makefile.mt_wifi_sta ./mt_wifi_sta/Makefile
cp -a rlt_wifi/os/linux/Kconfig.mt_wifi rlt_wifi/embedded/Kconfig
if [ -d mt_wifi ]; then
rm -rf mt_wifi
fi
mv rlt_wifi mt_wifi
echo "7615e rlt_wifi autobuild"
RT28xx_DIR=./mt_wifi
CHIPSET=mt7615
RT28xx_MODE=AP
HAS_WOW_SUPPORT=n
HAS_FPGA_MODE=n
HAS_RX_CUT_THROUGH=n
RT28xx_BIN_DIR=.
export RT28xx_DIR CHIPSET RT28xx_MODE HAS_WOW_SUPPORT HAS_FPGA_MODE HAS_RX_CUT_THROUGH RT28xx_BIN_DIR
make -C mt_wifi/embedded build_tools
./mt_wifi/embedded/tools/bin2h
make -C mt_wifi/embedded build_sku_tables
./mt_wifi/txpwr/dat2h
else
exit 1
fi

View File

@ -0,0 +1,868 @@
if PACKAGE_kmod-mt_wifi
config MTK_SUPPORT_OPENWRT
bool
default y
depends on PACKAGE_kmod-mt_wifi
config MTK_WIFI_DRIVER
bool
default y
depends on PACKAGE_kmod-mt_wifi
select MTK_WIFI_MT_MAC
select MTK_MT_MAC
#select MTK_FIRST_IF_MT7615E
#select MTK_CHIP_MT7622
#select MTK_CHIP_MT7626
#select MTK_SECOND_IF_MT7615E
#select MTK_THIRD_IF_MT7615E
#select MTK_CHIP_MT7615E
if MTK_WIFI_DRIVER
choice
prompt "Choose First WiFi Interface"
config MTK_FIRST_IF_NONE
bool "None"
config MTK_FIRST_IF_MT7615E
bool "MT7615E"
select MTK_WIFI_MT_MAC
select MTK_MT_MAC
select MTK_CHIP_MT7615E
config MTK_FIRST_IF_MT7622
bool "MT7622"
select MTK_WIFI_MT_MAC
select MTK_MT_MAC
select MTK_CHIP_MT7622
config MTK_FIRST_IF_MT7626
bool "MT7626"
select MTK_WIFI_MT_MAC
select MTK_MT_MAC
select MTK_CHIP_MT7626
endchoice
choice
prompt "Choose Second WiFi Interface"
config MTK_SECOND_IF_NONE
bool "None"
config MTK_SECOND_IF_MT7615E
bool "MT7615E"
select MTK_WIFI_MT_MAC
select MTK_CHIP_MT7615E
select MTK_MULTI_INF_SUPPORT
endchoice
choice
prompt "Choose Third WiFi Interface"
config MTK_THIRD_IF_NONE
bool "None"
config MTK_THIRD_IF_MT7615E
bool "MT7615E"
select MTK_WIFI_MT_MAC
select MTK_CHIP_MT7615E
select MTK_MULTI_INF_SUPPORT
endchoice
config MTK_RT_FIRST_CARD
int
depends on ! MTK_FIRST_IF_NONE
default 7615 if MTK_FIRST_IF_MT7615E
default 7622 if MTK_FIRST_IF_MT7622
default 7626 if MTK_FIRST_IF_MT7626
config MTK_RT_SECOND_CARD
int
depends on ! MTK_SECOND_IF_NONE
default 7615 if MTK_SECOND_IF_MT7615E
config MTK_RT_THIRD_CARD
int
depends on ! MTK_THIRD_IF_NONE
default 7615 if MTK_THIRD_IF_MT7615E
config MTK_RT_FIRST_IF_RF_OFFSET
hex
depends on ! MTK_FIRST_IF_NONE
default 0xc0000
config MTK_RT_SECOND_IF_RF_OFFSET
hex
depends on ! MTK_SECOND_IF_NONE
default 0xc8000
config MTK_RT_THIRD_IF_RF_OFFSET
hex
depends on ! MTK_THIRD_IF_NONE
default 0xd0000
config MTK_MT_WIFI
tristate "MT WIFI Driver"
select MTK_WIFI_BASIC_FUNC if MTK_MT_WIFI
config MTK_MT_WIFI_PATH
string
depends on MTK_MT_WIFI
default "mt_wifi"
if MTK_MT_WIFI
menu "WiFi Generic Feature Options"
choice
prompt "EEPROM Type of 1st Card"
depends on ! MTK_FIRST_IF_NONE
config MTK_FIRST_IF_EEPROM_FLASH
bool "FLASH"
config MTK_FIRST_IF_EEPROM_PROM
bool "EEPROM"
config MTK_FIRST_IF_EEPROM_EFUSE
bool "EFUSE"
endchoice
config MTK_RT_FIRST_CARD_EEPROM
string
depends on ! MTK_FIRST_IF_NONE
default "prom" if MTK_FIRST_IF_EEPROM_PROM
default "efuse" if MTK_FIRST_IF_EEPROM_EFUSE
default "flash" if MTK_FIRST_IF_EEPROM_FLASH
choice
prompt "EEPROM Type of 2nd Card"
depends on ! MTK_SECOND_IF_NONE
config MTK_SECOND_IF_EEPROM_FLASH
bool "FLASH"
config MTK_SECOND_IF_EEPROM_PROM
bool "EEPROM"
config MTK_SECOND_IF_EEPROM_EFUSE
bool "EFUSE"
endchoice
config MTK_RT_SECOND_CARD_EEPROM
string
depends on ! MTK_SECOND_IF_NONE
default "prom" if MTK_SECOND_IF_EEPROM_PROM
default "efuse" if MTK_SECOND_IF_EEPROM_EFUSE
default "flash" if MTK_SECOND_IF_EEPROM_FLASH
choice
prompt "EEPROM Type of 3th Card"
depends on ! MTK_THIRD_IF_NONE
config MTK_THIRD_IF_EEPROM_FLASH
bool "FLASH"
config MTK_THIRD_IF_EEPROM_PROM
bool "EEPROM"
config MTK_THIRD_IF_EEPROM_EFUSE
bool "EFUSE"
endchoice
config MTK_RT_THIRD_CARD_EEPROM
string
depends on ! MTK_THIRD_IF_NONE
default "prom" if MTK_THIRD_IF_EEPROM_PROM
default "efuse" if MTK_THIRD_IF_EEPROM_EFUSE
default "flash" if MTK_THIRD_IF_EEPROM_FLASH
config MTK_MULTI_INF_SUPPORT
bool
default y if !MTK_FIRST_IF_NONE && !MTK_SECOND_IF_NONE
config MTK_WIFI_BASIC_FUNC
bool "Basic Functions"
select MTK_WIRELESS_EXT
select MTK_WEXT_SPY
select MTK_WEXT_PRIV
config MTK_DOT11_N_SUPPORT
bool "802.11n support"
default y
config MTK_DOT11_VHT_AC
bool "802.11AC support"
depends on MTK_WIFI_DRIVER
depends on MTK_DOT11_N_SUPPORT
default y
config MTK_G_BAND_256QAM_SUPPORT
bool "2.4G 256QAM support"
depends on MTK_WIFI_DRIVER
depends on MTK_DOT11_VHT_AC
default y
config MTK_BRCM_256QAM_SUPPORT
bool "BRCM 2.4G 256QAM support"
depends on MTK_WIFI_DRIVER
depends on MTK_G_BAND_256QAM_SUPPORT
default y
config MTK_VHT_TXBF_2G_EPIGRAM_IE_SUPPORT
bool "BRCM 2.4G VHT Sounding support"
depends on MTK_WIFI_DRIVER
default y
config MTK_TPC_SUPPORT
bool "802.11h TPC Support"
depends on MTK_WIFI_DRIVER
default y
config MTK_ICAP_SUPPORT
bool "ICAP Support"
depends on MTK_WIFI_DRIVER
depends on MTK_MT_AP_SUPPORT
default y
config MTK_SPECTRUM_SUPPORT
bool "Wifi Spectrum Support"
depends on MTK_WIFI_DRIVER
depends on MTK_MT_AP_SUPPORT
default y
config MTK_BACKGROUND_SCAN_SUPPORT
bool "Background Scan Support"
depends on MTK_WIFI_DRIVER
default y
config MTK_SMART_CARRIER_SENSE_SUPPORT
bool "Smart Carrier Sense Support"
depends on MTK_WIFI_DRIVER
default y
config MTK_MT_DFS_SUPPORT
bool "Dynamic Frequency Selection Support"
depends on MTK_WIFI_DRIVER
default y
#config WFA_VHT_R2_PF
# bool "WFA VHT R2 Plugfest"
# depends on DOT11_VHT_AC
# default n
config MTK_HDR_TRANS_TX_SUPPORT
bool "Tx Header Translation"
depends on MTK_CHIP_MT7615E || MTK_CHIP_MT7622 || MTK_CHIP_MT7626
default y
config MTK_HDR_TRANS_RX_SUPPORT
bool "Rx Header Translation"
depends on MTK_CHIP_MT7615E || MTK_CHIP_MT7622 || MTK_CHIP_MT7626
default y
config MTK_DBDC_MODE
bool "dbdc mode support"
depends on MTK_CHIP_MT7615E || MTK_CHIP_MT7626
select MULTI_PROFILE_SUPPORT
select DEFAULT_5G_PROFILE
default y
config MTK_MULTI_PROFILE_SUPPORT
bool "Multi Profile Support"
depends on MTK_DBDC_MODE
default y
config MTK_DEFAULT_5G_PROFILE
bool "5G default profile for DBDC"
depends on MTK_DBDC_MODE
# depends on MTK_MULTI_PROFILE_SUPPORT
default n
config MTK_WSC_INCLUDED
bool "WSC (WiFi Simple Config)"
depends on MTK_WIFI_DRIVER
depends on MTK_MT_AP_SUPPORT || MTK_MT_STA_SUPPORT
default y
config MTK_WSC_V2_SUPPORT
bool "WSC V2(WiFi Simple Config Version 2.0)"
depends on MTK_WIFI_DRIVER
depends on MTK_MT_AP_SUPPORT || MTK_MT_STA_SUPPORT
default y
config MTK_DOT11W_PMF_SUPPORT
bool "PMF"
depends on MTK_WIFI_DRIVER
depends on MTK_MT_AP_SUPPORT || MTK_MT_STA_SUPPORT
default y
config MTK_TXBF_SUPPORT
bool "Tx Bean Forming Support"
depends on MTK_WIFI_DRIVER
default y
config MTK_FAST_NAT_SUPPORT
bool "Fast-NAT support"
# depends on RA_HW_NAT_WIFI
default n
config MTK_WHNAT_SUPPORT
tristate "Wifi Hardware NAT support"
depends on MTK_CHIP_MT7615E
depends on MTK_WLAN_HOOK
depends on MTK_FAST_NAT_SUPPORT
select PACKAGE_kmod-hw_nat
default n
#config LLTD_SUPPORT
# bool "LLTD (Link Layer Topology Discovery Protocol)"
# depends on WIFI_DRIVER
# depends on MT_AP_SUPPORT
# default n
#config QOS_DLS_SUPPORT
# bool "802.11e DLS ((Direct-Link Setup) Support"
# depends on WIFI_DRIVER
# depends on MT_AP_SUPPORT
# default n
#config WAPI_SUPPORT
# bool "WAPI Support"
# depends on WIFI_DRIVER
# default n
config MTK_FTM_SUPPORT
bool "FTM Support"
depends on MTK_WIFI_DRIVER
select MTK_PASSPOINT_R2
default n
#config CARRIER_DETECTION_SUPPORT
# bool "Carrier Detect"
# depends on WIFI_DRIVER
# default n
config MTK_IGMP_SNOOP_SUPPORT
bool "IGMP snooping"
depends on MTK_WIFI_DRIVER
depends on MTK_MT_AP_SUPPORT
default y
#config BLOCK_NET_IF
# bool "NETIF Block"
# depends on WIFI_DRIVER
# depends on MT_AP_SUPPORT
# default n
# help
# Support Net interface block while Tx-Sw queue full
#config RATE_ADAPTION
# bool "New Rate Adaptation support"
# depends on WIFI_DRIVER
# default y
#config NEW_RATE_ADAPT_SUPPORT
# bool "Intelligent Rate Adaption"
# depends on WIFI_DRIVER && RATE_ADAPTION
# default y
#config AGS_SUPPORT
# bool "Adaptive Group Switching"
# depends on WIFI_DRIVER && RATE_ADAPTION
# depends on MT_AP_SUPPORT || MT_STA_SUPPORT
# default n
#config RATE_ADAPT_AGBS_SUPPORT
# bool "Adaptive AGBS Mode"
# depends on WIFI_DRIVER && RATE_ADAPTION
# depends on MT_AP_SUPPORT || MT_STA_SUPPORT
# default y
#config IDS_SUPPORT
# bool "IDS (Intrusion Detection System) Support"
# depends on WIFI_DRIVER
# depends on MT_AP_SUPPORT
# default n
#config WIFI_WORK_QUEUE
# bool "Work Queue"
# depends on WIFI_DRIVER
# default n
#config WIFI_SKB_RECYCLE
# bool "SKB Recycle(Linux)"
# depends on WIFI_DRIVER
# depends on MT_AP_SUPPORT
# default n
config MTK_RTMP_FLASH_SUPPORT
bool "Flash Support"
depends on MTK_WIFI_DRIVER
default y
config MTK_PRE_CAL_TRX_SET1_SUPPORT
bool "Calibration To Flash/BinFile Support"
depends on MTK_WIFI_DRIVER
default y
config MTK_RLM_CAL_CACHE_SUPPORT
bool "RlmCalibrationCache Support"
depends on MTK_WIFI_DRIVER
default y
config MTK_PRE_CAL_TRX_SET2_SUPPORT
bool "Pre-calibration to Flash Support"
depends on MTK_WIFI_DRIVER
default y
config MTK_RF_LOCKDOWN_SUPPORT
bool "RF Lockdown Support"
depends on MTK_WIFI_DRIVER
default n
config MTK_LINK_TEST_SUPPORT
bool "Link Test Support"
depends on MTK_WIFI_DRIVER
default n
#config MTK_LED_CONTROL_SUPPORT
# bool "LED Support"
# depends on MTK_WIFI_DRIVER
# depends on MTK_MT_AP_SUPPORT
# default n
config MTK_ATE_SUPPORT
bool "ATE/QA Support"
depends on MTK_WIFI_DRIVER
default y
#config MTK_MEMORY_OPTIMIZATION
# bool "Memory Optimization"
# depends on MTK_WIFI_DRIVER
# default n
config MTK_PASSPOINT_R2
bool "Passpoint Release-2 Support"
depends on MTK_WIFI_DRIVER
select MTK_DOT11W_PMF_SUPPORT
depends on MTK_MT_AP_SUPPORT
default n
config MTK_MBO_SUPPORT
bool "MBO Support"
depends on MTK_WIFI_DRIVER
select MTK_INTERWORKING
select MTK_WNM_SUPPORT
select MTK_DOT11K_RRM_SUPPORT
select MTK_DOT11R_FT_SUPPORT
select MTK_DOT11W_PMF_SUPPORT
default n
#config TRACE_TCP_PKT
# bool "TCP DATA/ACK packets trace log"
# depends on WIFI_DRIVER
# default n
config MTK_UAPSD
bool "UAPSD support"
depends on MTK_WIFI_DRIVER
depends on MTK_MT_AP_SUPPORT || MTK_MT_STA_SUPPORT
default y
config MTK_TCP_RACK_SUPPORT
bool "TCP Reduced ACK support"
depends on MTK_WIFI_DRIVER
default y
#### PA_LNA_Type choice
config MTK_RED_SUPPORT
bool "RED(Random Early Drop) support"
depends on MTK_WIFI_DRIVER
depends on MTK_MT_AP_SUPPORT || MTK_MT_STA_SUPPORT
default y
config MTK_FQ_SCH_SUPPORT
bool "Fair Queueing support"
depends on MTK_WIFI_DRIVER
depends on MTK_MT_AP_SUPPORT && MTK_VOW_SUPPORT
depends on MTK_CHIP_MT7622
default y
config MTK_FDB_SUPPORT
bool "FW Debug Port"
depends on MTK_WIFI_DRIVER
default n
choice
prompt "PA LNA Type of 1st Card"
depends on ! MTK_FIRST_IF_NONE
config MTK_FIRST_IF_EPAELNA
bool "ePAeLNA"
config MTK_FIRST_IF_IPAILNA
bool "iPAiLNA"
config MTK_FIRST_IF_IPAELNA
bool "iPAeLNA"
# config MTK_FIRST_IF_EPAILNA
# bool "ePAiLNA"
endchoice
choice
prompt "PA LNA Type of 2nd Card"
depends on ! MTK_SECOND_IF_NONE
config MTK_SECOND_IF_EPAELNA
bool "ePAeLNA"
config MTK_SECOND_IF_IPAILNA
bool "iPAiLNA"
config MTK_SECOND_IF_IPAELNA
bool "iPAeLNA"
# config MTK_SECOND_IF_EPAILNA
# bool "ePAiLNA"
endchoice
choice
prompt "PA LNA Type of 3rd Card"
depends on ! MTK_THIRD_IF_NONE
config MTK_THIRD_IF_EPAELNA
bool "ePAeLNA"
config MTK_THIRD_IF_IPAILNA
bool "iPAiLNA"
config MTK_THIRD_IF_IPAELNA
bool "iPAeLNA"
# config MTK_THIRD_IF_EPAILNA
# bool "ePAiLNA"
endchoice
#### PA_LNA_Type choice END
#
# Section for chip architectures
#
# "RLT MAC Support"
config MTK_RLT_MAC
bool
depends on MTK_WIFI_DRIVER
default n
config MTK_RLT_BBP
bool
config MTK_RLT_RF
bool
# "RTMP MAC Support"
config MTK_RTMP_MAC
bool
depends on MTK_WIFI_DRIVER
default n
config MTK_RTMP_BBP
bool
config MTK_RTMP_RF
bool
#
# Section for interfaces
#
config MTK_RTMP_PCI_SUPPORT
bool
config MTK_RTMP_USB_SUPPORT
bool
config MTK_RTMP_RBUS_SUPPORT
bool
endmenu
menu "WiFi Operation Modes"
choice
prompt "Main Mode"
default MTK_WIFI_MODE_AP
config MTK_WIFI_MODE_AP
tristate "AP"
select MTK_MT_AP_SUPPORT
config MTK_WIFI_MODE_STA
tristate "STA"
select MTK_MT_STA_SUPPORT
config MTK_WIFI_MODE_BOTH
tristate "APSTA"
select MTK_MT_AP_SUPPORT
select MTK_MT_STA_SUPPORT
endchoice
config MTK_MT_AP_SUPPORT
tristate "Ralink RT2860 802.11n AP support"
# depends on NET_RADIO
select MTK_WIRELESS_EXT
select MTK_WEXT_SPY
select MTK_WEXT_PRIV
config MTK_WDS_SUPPORT
bool "WDS"
depends on MTK_MT_AP_SUPPORT
default y
config MTK_MBSS_SUPPORT
bool "MBSSID"
depends on MTK_MT_AP_SUPPORT
default y
#config NEW_MBSSID_MODE
# bool "New MBSSID MODE"
# depends on MT_AP_SUPPORT && MBSS_SUPPORT
# depends on RALINK_RT3883 || RALINK_RT3352 || RALINK_RT5350 || RALINK_RT6352 || RALINK_MT7620
# default y
#config ENHANCE_NEW_MBSSID_MODE
# bool "Enhanced MBSSID mode"
# depends on NEW_MBSSID_MODE
# default y
config MTK_APCLI_SUPPORT
bool "AP-Client Support"
depends on MTK_MT_AP_SUPPORT
default y
config MTK_APCLI_CERT_SUPPORT
bool "AP-Client TGn Cert Support"
depends on MTK_MT_AP_SUPPORT
depends on MTK_APCLI_SUPPORT
default n
config MTK_MAC_REPEATER_SUPPORT
bool "MAC Repeater Support"
depends on MTK_MT_AP_SUPPORT
depends on MTK_APCLI_SUPPORT
depends on MTK_RALINK_RT6352 || MTK_RALINK_MT7620 || MTK_RALINK_MT7603E || MTK_MT_AP_SUPPORT
default y
config MTK_MWDS
bool "Mixed WDS(MWDS)"
depends on MTK_MT_AP_SUPPORT
select MTK_APCLI_SUPPORT
default n
config MTK_MUMIMO_SUPPORT
bool "MU-MIMO Support"
depends on MTK_WIFI_DRIVER
select MTK_MU_RA_SUPPORT
default y
config MTK_MU_RA_SUPPORT
bool "MU-RGA Support"
depends on MTK_MUMIMO_SUPPORT
config MTK_DOT11R_FT_SUPPORT
bool "802.11r Fast BSS Transition"
depends on MTK_MT_AP_SUPPORT
default n
config MTK_DOT11K_RRM_SUPPORT
bool "802.11k Radio Resource Management"
depends on MTK_MT_AP_SUPPORT
default n
#config SNIFFER_SUPPORT
# bool "SNIFFER"
# depends on MT_AP_SUPPORT
# default n
config MTK_CFG80211_SUPPORT
bool "CFG80211"
depends on MTK_MT_AP_SUPPORT
default n
config MTK_DSCP_PRI_SUPPORT
bool "Dscp Priority Mapping Support"
depends on MTK_MT_AP_SUPPORT
default n
config MTK_CON_WPS_SUPPORT
bool "Concurrent WPS Support"
depends on MTK_MT_AP_SUPPORT
depends on MTK_APCLI_SUPPORT
depends on MTK_WSC_INCLUDED
depends on MTK_WSC_V2_SUPPORT
# depends on MTK_MULTI_INF_SUPPORT
default n
#config LLTD_SUPPORT
# bool "LLTD (Link Layer Topology Discovery Protocol)"
# depends on MT_AP_SUPPORT
#config COC_SUPPORT
# bool "CoC Support"
# depends on MT_AP_SUPPORT
# default n
#config RT2860V2_SNMP
# bool "Net-SNMP Support"
# depends on MT_AP_SUPPORT
config MTK_MCAST_RATE_SPECIFIC
bool "User specific tx rate of mcast pkt"
depends on MTK_MT_AP_SUPPORT
default y
#config EXT_BUILD_CHANNEL_LIST
# bool "Extension Channel List"
# depends on MT_AP_SUPPORT
#config AUTO_CH_SELECT_ENHANCE
# bool "Auto Channel Selection Enhancement"
# depends on MT_AP_SUPPORT
config MTK_VOW_SUPPORT
bool "MediaAir(VOW) support"
depends on MTK_MT_AP_SUPPORT
default y
#config AIRPLAY_SUPPORT
# bool "AIRPLAY Support"
# depends on MT_AP_SUPPORT
# default n
config MTK_BAND_STEERING
bool "Band Steering"
depends on MTK_MT_AP_SUPPORT
default y
config MTK_LED_CONTROL_SUPPORT
bool "LED Control Support"
default n
config MTK_WLAN_HOOK
bool "WLAN hook Support"
depends on MTK_WIFI_DRIVER
default n
config MTK_RADIUS_ACCOUNTING_SUPPORT
bool "Radius Accounting Support"
depends on MTK_MT_AP_SUPPORT
default n
config MTK_GREENAP_SUPPORT
bool "GreenAP Support"
depends on MTK_MT_AP_SUPPORT
default y
config MTK_PCIE_ASPM_DYM_CTRL_SUPPORT
bool "Pcie Aspm Dynamic Control Support"
depends on MTK_MT_AP_SUPPORT
default y
config MTK_COEX_SUPPORT
bool "Coex Support"
depends on MTK_MT_AP_SUPPORT
default n
config MTK_EASY_SETUP_SUPPORT
bool "Whole Home Coverage - Easy Setup"
depends on MTK_MT_AP_SUPPORT
default n
config MTK_EVENT_NOTIFIER_SUPPORT
bool "Whole Home Coverage - Event Notifier"
depends on MTK_MT_AP_SUPPORT
default n
config MTK_AIR_MONITOR
bool "Air Monitor"
depends on MTK_MT_AP_SUPPORT
default n
config MTK_WNM_SUPPORT
bool "802.11v WNM Support"
depends on MTK_MT_AP_SUPPORT
default n
config MTK_INTERWORKING
bool "802.11u Interworking"
depends on MTK_MT_AP_SUPPORT
default n
#config ROAMING_ENHANCE_SUPPORT
# bool "Roaming Enhance Support"
# depends on MT_AP_SUPPORT
# depends on APCLI_SUPPORT
# default n
config MTK_LINUX_NET_TXQ_SUPPORT
bool "NET TX Queue Support"
default n
#config WIFI_FWD_SUPPORT
# bool "WiFi Forwarding Support"
# default n
endmenu
endif
config MTK_WIFI_MT_MAC
bool
default y
depends on MTK_MT_WIFI
if MTK_WIFI_RLT_MAC
config MTK_RLT_MAC
bool
default y
endif
if MTK_WIFI_RTMP_MAC
config MTK_RTMP_MAC
bool
default y
endif
if MTK_WIFI_MT_MAC
config MTK_MT_MAC
bool
default y
config MTK_CHIP_MT7603E
bool
default n
config MTK_CHIP_MT7615E
bool
default n
config MTK_CHIP_MT7622
bool
default n
config MTK_CHIP_MT7663E
bool
default n
config MTK_CHIP_MT7626
bool
default n
endif
if MTK_CHIP_MT7615E || MTK_CHIP_MT7622 || MTK_CHIP_MT7626
config MTK_MT_MAC
bool
default y
select MTK_RATE_ADAPTION
select MTK_RATE_ADAPT_AGBS_SUPPORT
select MTK_DOT11_N_SUPPORT
select MTK_DOT11_VHT_AC
select MTK_HDR_TRANS_TX_SUPPORT
select MTK_HDR_TRANS_RX_SUPPORT
endif
endif #MTK_WIFI_DRIVER#
endif #PACKAGE_kmod-mt_wifi#

View File

@ -0,0 +1,65 @@
# Single SKU Max Power Table | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
# 2.4G Channel |CCK | | | |OFDM | | | | | | | |VHT20 | | | | | | | | | |VHT40 | | | | | | | | | |Txstream_Delta | | | | | | | | | | | | | | | | | | | | |
Band: 2.4G |CCK_1M |CCK_2M |CCK_5.5M |CCK_11M |OFDM_6M |OFDM_9M |OFDM_12M |OFDM_18M |OFDM_24M |OFDM_36M |OFDM_48M |OFDM_54M |VHT20_MCS0 |VHT20_MCS1 |VHT20_MCS2 |VHT20_MCS3 |VHT20_MCS4 |VHT20_MCS5 |VHT20_MCS6 |VHT20_MCS7 |VHT20_MCS8 |VHT20_MCS9 |VHT40_MCS0 |VHT40_MCS1 |VHT40_MCS2 |VHT40_MCS3 |VHT40_MCS4 |VHT40_MCS5 |VHT40_MCS6 |VHT40_MCS7 |VHT40_MCS8 |VHT40_MCS9 |Txstream_3T |Txstream_2T |Txstream_1T | | | | | | | | | | | | | | | | | | |
Ch1 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |20 |12 |18 |16 |8 | |8 | |8 | |9 |11 |12 |2 |1 |3 | | | | | | | | | | | | | | | | | | |
Ch2 |8 | |8 | |8 | |8 | |8 | |8 |8 |15 |8 | |8 | |8 | |19 |19 |10 |12 |8 | |8 | |8 | |9 |16 |12 |5 |4 |0 | | | | | | | | | | | | | | | | | | |
Ch3 |8 | |8 | |8 | |8 | |8 | |8 |8 |18 |8 | |8 | |8 | |17 |18 |16 |20 |8 | |8 | |8 | |12 |8 |20 |0 |2 |0 | | | | | | | | | | | | | | | | | | |
Ch4 |8 | |8 | |8 | |8 | |8 | |8 |8 |9 |8 | |8 | |8 | |14 |10 |14 |18 |8 | |8 | |8 | |14 |12 |10 |3 |4 |5 | | | | | | | | | | | | | | | | | | |
Ch5 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |10 |13 |11 |8 |8 | |8 | |8 | |12 |8 |9 |4 |5 |3 | | | | | | | | | | | | | | | | | | |
Ch6 |8 | |8 | |8 | |8 | |8 | |8 |8 |13 |8 | |8 | |8 | |11 |9 |12 |16 |8 | |8 | |8 | |9 |17 |11 |5 |2 |1 | | | | | | | | | | | | | | | | | | |
Ch7 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |14 |11 |13 |18 |8 | |8 | |8 | |16 |13 |10 |2 |5 |4 | | | | | | | | | | | | | | | | | | |
Ch8 |8 | |8 | |8 | |8 | |8 | |8 |8 |15 |8 | |8 | |8 | |14 |9 |11 |10 |8 | |8 | |8 | |11 |14 |8 |5 |5 |3 | | | | | | | | | | | | | | | | | | |
Ch9 |8 | |8 | |8 | |8 | |8 | |8 |8 |11 |8 | |8 | |8 | |12 |9 |15 |19 |8 | |8 | |8 | |14 |20 |12 |2 |5 |3 | | | | | | | | | | | | | | | | | | |
Ch10 |8 | |8 | |8 | |8 | |8 | |8 |8 |14 |8 | |8 | |8 | |17 |14 |17 |15 |8 | |8 | |8 | |9 |17 |8 |2 |4 |2 | | | | | | | | | | | | | | | | | | |
Ch11 |8 | |8 | |8 | |8 | |8 | |8 |8 |14 |8 | |8 | |8 | |20 |10 |20 |18 |8 | |8 | |8 | |12 |8 |20 |3 |1 |4 | | | | | | | | | | | | | | | | | | |
Ch12 |8 | |8 | |8 | |8 | |8 | |8 |8 |18 |8 | |8 | |8 | |20 |16 |17 |9 |8 | |8 | |8 | |11 |20 |9 |0 |0 |1 | | | | | | | | | | | | | | | | | | |
Ch13 |8 | |8 | |8 | |8 | |8 | |8 |8 |8 |8 | |8 | |8 | |11 |16 |19 |16 |8 | |8 | |8 | |15 |12 |12 |2 |0 |2 | | | | | | | | | | | | | | | | | | |
Ch14 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |15 |17 |16 |14 |8 | |8 | |8 | |12 |14 |20 |4 |1 |5 | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
# 5G Channel |OFDM | | | | | | | |VHT20 | | | | | | | | | |VHT40 | | | | | | | | | |VHT80 | | | | | | | | | |VHT160 | | | | | | | | | |Txstream_Delta | | | | |
Band: 5G |OFDM_6M |OFDM_9M |OFDM_12M |OFDM_18M |OFDM_24M |OFDM_36M |OFDM_48M |OFDM_54M |VHT20_MCS0 |VHT20_MCS1 |VHT20_MCS2 |VHT20_MCS3 |VHT20_MCS4 |VHT20_MCS5 |VHT20_MCS6 |VHT20_MCS7 |VHT20_MCS8 |VHT20_MCS9 |VHT40_MCS0 |VHT40_MCS1 |VHT40_MCS2 |VHT40_MCS3 |VHT40_MCS4 |VHT40_MCS5 |VHT40_MCS6 |VHT40_MCS7 |VHT40_MCS8 |VHT40_MCS9 |VHT80_MCS0 |VHT80_MCS1 |VHT80_MCS2 |VHT80_MCS3 |VHT80_MCS4 |VHT80_MCS5 |VHT80_MCS6 |VHT80_MCS7 |VHT80_MCS8 |VHT80_MCS9 |VHT160_MCS0 |VHT160_MCS1 |VHT160_MCS2 |VHT160_MCS3 |VHT160_MCS4 |VHT160_MCS5 |VHT160_MCS6 |VHT160_MCS7 |VHT160_MCS8 |VHT160_MCS9 |Txstream_3T |Txstream_2T |Txstream_1T | | |
Ch184 |18 | |18 | |18 | |18 |18 |15 |18 | |12 | |13 | |11 |14 |16 |16 |12 | |12 | |13 | |20 |17 |16 |17 |18 | |9 | |16 | |17 |20 |18 |16 |19 | |15 | |9 | |17 |8 |17 |0 |4 |4 | | |
Ch188 |18 | |18 | |18 | |18 |18 |16 |20 | |9 | |9 | |11 |8 |12 |18 |15 | |11 | |11 | |14 |8 |17 |16 |16 | |16 | |12 | |8 |13 |19 |18 |11 | |9 | |12 | |14 |8 |13 |5 |2 |0 | | |
Ch192 |18 | |18 | |18 | |18 |18 |15 |9 | |11 | |9 | |15 |14 |11 |19 |15 | |8 | |18 | |20 |20 |8 |9 |9 | |9 | |11 | |18 |13 |14 |20 |18 | |10 | |14 | |12 |13 |16 |0 |2 |0 | | |
Ch196 |18 | |18 | |18 | |18 |18 |10 |11 | |19 | |13 | |12 |11 |10 |13 |11 | |19 | |10 | |16 |20 |15 |15 |8 | |14 | |8 | |18 |20 |15 |17 |17 | |14 | |12 | |12 |8 |16 |4 |3 |2 | | |
Ch8 |18 | |18 | |18 | |18 |18 |18 |13 | |19 | |20 | |18 |10 |9 |8 |8 | |17 | |15 | |17 |9 |18 |19 |11 | |12 | |15 | |20 |12 |12 |13 |9 | |9 | |15 | |10 |11 |17 |4 |3 |3 | | |
Ch12 |18 | |18 | |18 | |18 |18 |17 |20 | |14 | |10 | |10 |16 |15 |13 |11 | |15 | |16 | |17 |11 |15 |9 |18 | |8 | |20 | |19 |11 |9 |20 |8 | |18 | |8 | |8 |18 |18 |1 |3 |4 | | |
Ch16 |18 | |18 | |18 | |18 |18 |10 |18 | |18 | |8 | |19 |8 |12 |19 |16 | |19 | |18 | |16 |19 |12 |18 |18 | |9 | |10 | |18 |20 |20 |20 |9 | |11 | |20 | |17 |14 |16 |2 |2 |2 | | |
Ch36 |18 | |18 | |18 | |18 |18 |18 |19 | |8 | |11 | |16 |10 |9 |19 |11 | |19 | |9 | |8 |19 |8 |11 |17 | |20 | |14 | |9 |19 |19 |20 |13 | |12 | |19 | |13 |17 |9 |5 |1 |2 | | |
Ch40 |18 | |18 | |18 | |18 |18 |13 |20 | |13 | |19 | |16 |11 |14 |17 |17 | |14 | |8 | |13 |8 |10 |20 |10 | |9 | |14 | |11 |14 |17 |9 |20 | |15 | |19 | |9 |8 |11 |3 |1 |1 | | |
Ch44 |18 | |18 | |18 | |18 |18 |10 |14 | |19 | |20 | |17 |16 |12 |18 |8 | |17 | |18 | |15 |19 |14 |11 |13 | |14 | |12 | |16 |16 |19 |13 |14 | |19 | |14 | |20 |20 |11 |5 |1 |0 | | |
Ch48 |18 | |18 | |18 | |18 |18 |8 |12 | |12 | |19 | |11 |8 |11 |20 |12 | |12 | |11 | |15 |16 |10 |12 |16 | |11 | |15 | |18 |19 |17 |16 |17 | |11 | |8 | |10 |16 |16 |5 |5 |0 | | |
Ch52 |18 | |18 | |18 | |18 |18 |15 |12 | |15 | |20 | |9 |10 |10 |14 |8 | |20 | |10 | |16 |17 |18 |11 |16 | |17 | |10 | |17 |12 |13 |17 |17 | |13 | |18 | |18 |20 |13 |4 |3 |4 | | |
Ch56 |18 | |18 | |18 | |18 |18 |13 |16 | |15 | |13 | |15 |20 |13 |14 |11 | |10 | |20 | |10 |8 |16 |12 |10 | |16 | |11 | |9 |11 |14 |17 |12 | |17 | |13 | |18 |10 |19 |0 |3 |3 | | |
Ch60 |18 | |18 | |18 | |18 |18 |14 |11 | |8 | |20 | |13 |16 |13 |11 |20 | |9 | |17 | |16 |11 |8 |12 |17 | |15 | |8 | |16 |10 |20 |19 |15 | |13 | |9 | |17 |18 |11 |4 |1 |2 | | |
Ch64 |18 | |18 | |18 | |18 |18 |13 |14 | |8 | |12 | |17 |8 |12 |18 |17 | |17 | |14 | |18 |8 |8 |20 |17 | |16 | |20 | |9 |15 |11 |10 |11 | |18 | |10 | |10 |15 |19 |2 |1 |4 | | |
Ch68 |18 | |18 | |18 | |18 |18 |14 |19 | |17 | |9 | |18 |19 |20 |12 |14 | |8 | |14 | |20 |20 |18 |9 |18 | |11 | |19 | |19 |10 |11 |8 |18 | |9 | |8 | |16 |11 |8 |3 |3 |1 | | |
Ch72 |18 | |18 | |18 | |18 |18 |19 |13 | |20 | |11 | |16 |9 |19 |20 |19 | |14 | |8 | |9 |17 |13 |19 |15 | |8 | |9 | |19 |14 |19 |15 |18 | |16 | |12 | |13 |15 |10 |4 |3 |1 | | |
Ch76 |18 | |18 | |18 | |18 |18 |17 |13 | |16 | |20 | |16 |8 |9 |20 |11 | |17 | |11 | |8 |18 |9 |20 |9 | |17 | |16 | |11 |11 |11 |18 |10 | |13 | |W | |20 |17 |8 |1 |3 |3 | | |
Ch80 |18 | |18 | |18 | |18 |18 |14 |20 | |13 | |13 | |17 |8 |10 |16 |8 | |9 | |19 | |16 |17 |17 |19 |15 | |9 | |13 | |16 |13 |14 |12 |9 | |20 | |20 | |14 |18 |18 |0 |4 |2 | | |
Ch84 |18 | |18 | |18 | |18 |18 |11 |18 | |20 | |9 | |13 |14 |11 |16 |15 | |12 | |11 | |9 |19 |13 |11 |11 | |9 | |15 | |16 |18 |13 |12 |8 | |8 | |8 | |10 |12 |15 |3 |2 |5 | | |
Ch88 |18 | |18 | |18 | |18 |18 |18 |19 | |9 | |17 | |15 |8 |19 |11 |11 | |14 | |9 | |14 |20 |20 |11 |11 | |15 | |12 | |14 |11 |8 |18 |15 | |19 | |18 | |12 |20 |16 |5 |5 |1 | | |
Ch92 |18 | |18 | |18 | |18 |18 |11 |8 | |15 | |13 | |13 |13 |13 |16 |14 | |14 | |9 | |9 |15 |20 |11 |17 | |10 | |14 | |13 |17 |11 |8 |18 | |20 | |8 | |10 |19 |18 |1 |4 |4 | | |
Ch96 |18 | |18 | |18 | |18 |18 |8 |12 | |16 | |9 | |13 |12 |9 |8 |11 | |8 | |8 | |19 |11 |15 |16 |8 | |11 | |16 | |18 |16 |9 |19 |9 | |10 | |15 | |19 |19 |15 |4 |2 |4 | | |
Ch100 |18 | |18 | |18 | |18 |18 |18 |13 | |20 | |20 | |12 |9 |19 |10 |9 | |14 | |8 | |19 |10 |17 |9 |10 | |10 | |8 | |13 |12 |11 |20 |11 | |16 | |18 | |14 |16 |19 |1 |1 |2 | | |
Ch104 |18 | |18 | |18 | |18 |18 |19 |12 | |20 | |14 | |16 |15 |9 |19 |11 | |15 | |11 | |12 |18 |15 |11 |15 | |19 | |10 | |14 |15 |19 |9 |13 | |19 | |13 | |11 |11 |17 |2 |2 |0 | | |
Ch108 |18 | |18 | |18 | |18 |18 |18 |15 | |13 | |16 | |11 |19 |19 |18 |19 | |12 | |17 | |8 |9 |10 |8 |8 | |18 | |8 | |10 |11 |17 |15 |10 | |19 | |13 | |16 |10 |15 |0 |2 |3 | | |
Ch112 |18 | |18 | |18 | |18 |18 |8 |13 | |9 | |17 | |9 |15 |17 |10 |19 | |9 | |19 | |11 |16 |14 |16 |8 | |18 | |13 | |16 |13 |17 |19 |11 | |8 | |8 | |18 |14 |17 |5 |2 |5 | | |
Ch116 |18 | |18 | |18 | |18 |18 |8 |20 | |11 | |15 | |8 |11 |8 |18 |15 | |13 | |17 | |14 |13 |9 |8 |14 | |14 | |11 | |9 |19 |17 |11 |11 | |8 | |20 | |8 |10 |20 |5 |2 |1 | | |
Ch120 |18 | |18 | |18 | |18 |18 |14 |20 | |8 | |20 | |14 |10 |10 |17 |12 | |16 | |20 | |10 |20 |17 |18 |9 | |15 | |14 | |17 |13 |14 |16 |8 | |18 | |10 | |15 |12 |12 |1 |5 |3 | | |
Ch124 |18 | |18 | |18 | |18 |18 |20 |9 | |17 | |12 | |12 |8 |14 |8 |8 | |20 | |17 | |16 |20 |13 |14 |16 | |10 | |14 | |20 |15 |17 |8 |10 | |13 | |13 | |11 |13 |9 |5 |0 |5 | | |
Ch128 |18 | |18 | |18 | |18 |18 |9 |19 | |9 | |14 | |8 |14 |11 |9 |14 | |16 | |15 | |14 |10 |15 |14 |14 | |20 | |10 | |16 |15 |11 |12 |13 | |13 | |13 | |12 |15 |20 |1 |4 |3 | | |
Ch132 |18 | |18 | |18 | |18 |18 |20 |16 | |13 | |8 | |18 |11 |20 |12 |11 | |11 | |14 | |12 |13 |8 |12 |13 | |10 | |20 | |19 |12 |13 |14 |12 | |11 | |19 | |19 |20 |8 |3 |1 |4 | | |
Ch136 |18 | |18 | |18 | |18 |18 |12 |12 | |19 | |10 | |20 |10 |8 |17 |8 | |12 | |10 | |10 |13 |13 |12 |8 | |11 | |18 | |14 |12 |17 |8 |14 | |14 | |9 | |11 |18 |14 |1 |2 |2 | | |
Ch140 |18 | |18 | |18 | |18 |18 |12 |10 | |13 | |9 | |16 |8 |20 |10 |17 | |8 | |15 | |13 |20 |15 |10 |18 | |13 | |12 | |12 |16 |18 |12 |17 | |10 | |16 | |11 |15 |14 |3 |2 |5 | | |
Ch144 |18 | |18 | |18 | |18 |18 |19 |9 | |15 | |8 | |13 |18 |17 |9 |19 | |16 | |11 | |20 |12 |15 |19 |10 | |17 | |15 | |17 |14 |9 |9 |13 | |17 | |16 | |10 |9 |10 |1 |5 |2 | | |
Ch149 |18 | |18 | |18 | |18 |18 |15 |20 | |12 | |19 | |19 |19 |10 |10 |13 | |15 | |19 | |12 |19 |10 |14 |15 | |10 | |15 | |9 |8 |11 |15 |13 | |10 | |16 | |15 |18 |12 |5 |5 |2 | | |
Ch153 |18 | |18 | |18 | |18 |18 |20 |17 | |8 | |19 | |16 |20 |13 |16 |18 | |14 | |11 | |10 |16 |16 |19 |15 | |13 | |17 | |19 |18 |19 |20 |8 | |18 | |9 | |17 |11 |11 |1 |2 |1 | | |
Ch157 |18 | |18 | |18 | |18 |18 |13 |17 | |12 | |19 | |16 |8 |17 |11 |12 | |15 | |14 | |18 |11 |12 |9 |18 | |20 | |13 | |16 |13 |20 |17 |19 | |10 | |12 | |20 |18 |16 |5 |2 |3 | | |
Ch161 |18 | |18 | |18 | |18 |18 |12 |12 | |16 | |12 | |15 |11 |18 |11 |13 | |17 | |19 | |11 |13 |13 |9 |15 | |10 | |10 | |19 |13 |20 |13 |9 | |8 | |8 | |20 |14 |12 |0 |4 |1 | | |
Ch165 |18 | |18 | |18 | |18 |18 |13 |16 | |15 | |13 | |15 |8 |19 |15 |10 | |17 | |13 | |13 |19 |20 |8 |18 | |15 | |20 | |16 |9 |14 |11 |20 | |11 | |19 | |15 |16 |8 |1 |2 |0 | | |
Ch169 |18 | |18 | |18 | |18 |18 |8 |17 | |17 | |13 | |16 |8 |14 |18 |11 | |8 | |18 | |20 |14 |8 |17 |8 | |13 | |18 | |19 |20 |19 |20 |17 | |13 | |20 | |9 |15 |18 |0 |3 |4 | | |
Ch173 |18 | |18 | |18 | |18 |18 |14 |9 | |13 | |12 | |15 |14 |15 |10 |10 | |18 | |16 | |16 |8 |13 |16 |11 | |11 | |13 | |13 |15 |12 |20 |15 | |14 | |13 | |16 |11 |14 |3 |3 |4 | | |
Ch177 |18 | |18 | |18 | |18 |18 |19 |18 | |16 | |10 | |20 |13 |11 |16 |12 | |16 | |18 | |18 |11 |18 |8 |13 | |14 | |11 | |18 |14 |16 |16 |19 | |16 | |13 | |15 |8 |13 |5 |0 |0 | | |
Ch181 |18 | |18 | |18 | |18 |18 |20 |11 | |10 | |9 | |8 |9 |15 |15 |8 | |8 | |12 | |11 |9 |18 |20 |11 | |17 | |11 | |8 |15 |8 |18 |12 | |18 | |16 | |19 |9 |14 |4 |1 |4 | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

View File

@ -0,0 +1,65 @@
# Single SKU Max Power Table | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
# 2.4G Channel |CCK | | | |OFDM | | | | | | | |VHT20 | | | | | | | | | |VHT40 | | | | | | | | | |Txstream_Delta | | | | | | | | | | | | | | | | | | | | |
Band: 2.4G |CCK_1M |CCK_2M |CCK_5.5M |CCK_11M |OFDM_6M |OFDM_9M |OFDM_12M |OFDM_18M |OFDM_24M |OFDM_36M |OFDM_48M |OFDM_54M |VHT20_MCS0 |VHT20_MCS1 |VHT20_MCS2 |VHT20_MCS3 |VHT20_MCS4 |VHT20_MCS5 |VHT20_MCS6 |VHT20_MCS7 |VHT20_MCS8 |VHT20_MCS9 |VHT40_MCS0 |VHT40_MCS1 |VHT40_MCS2 |VHT40_MCS3 |VHT40_MCS4 |VHT40_MCS5 |VHT40_MCS6 |VHT40_MCS7 |VHT40_MCS8 |VHT40_MCS9 |Txstream_3T |Txstream_2T |Txstream_1T | | | | | | | | | | | | | | | | | | |
Ch1 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |20 |12 |18 |16 |8 | |8 | |8 | |9 |11 |12 |2 |1 |3 | | | | | | | | | | | | | | | | | | |
Ch2 |8 | |8 | |8 | |8 | |8 | |8 |8 |15 |8 | |8 | |8 | |19 |19 |10 |12 |8 | |8 | |8 | |9 |16 |12 |5 |4 |0 | | | | | | | | | | | | | | | | | | |
Ch3 |8 | |8 | |8 | |8 | |8 | |8 |8 |18 |8 | |8 | |8 | |17 |18 |16 |20 |8 | |8 | |8 | |12 |8 |20 |0 |2 |0 | | | | | | | | | | | | | | | | | | |
Ch4 |8 | |8 | |8 | |8 | |8 | |8 |8 |9 |8 | |8 | |8 | |14 |10 |14 |18 |8 | |8 | |8 | |14 |12 |10 |3 |4 |5 | | | | | | | | | | | | | | | | | | |
Ch5 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |10 |13 |11 |8 |8 | |8 | |8 | |12 |8 |9 |4 |5 |3 | | | | | | | | | | | | | | | | | | |
Ch6 |8 | |8 | |8 | |8 | |8 | |8 |8 |13 |8 | |8 | |8 | |11 |9 |12 |16 |8 | |8 | |8 | |9 |17 |11 |5 |2 |1 | | | | | | | | | | | | | | | | | | |
Ch7 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |14 |11 |13 |18 |8 | |8 | |8 | |16 |13 |10 |2 |5 |4 | | | | | | | | | | | | | | | | | | |
Ch8 |8 | |8 | |8 | |8 | |8 | |8 |8 |15 |8 | |8 | |8 | |14 |9 |11 |10 |8 | |8 | |8 | |11 |14 |8 |5 |5 |3 | | | | | | | | | | | | | | | | | | |
Ch9 |8 | |8 | |8 | |8 | |8 | |8 |8 |11 |8 | |8 | |8 | |12 |9 |15 |19 |8 | |8 | |8 | |14 |20 |12 |2 |5 |3 | | | | | | | | | | | | | | | | | | |
Ch10 |8 | |8 | |8 | |8 | |8 | |8 |8 |14 |8 | |8 | |8 | |17 |14 |17 |15 |8 | |8 | |8 | |9 |17 |8 |2 |4 |2 | | | | | | | | | | | | | | | | | | |
Ch11 |8 | |8 | |8 | |8 | |8 | |8 |8 |14 |8 | |8 | |8 | |20 |10 |20 |18 |8 | |8 | |8 | |12 |8 |20 |3 |1 |4 | | | | | | | | | | | | | | | | | | |
Ch12 |8 | |8 | |8 | |8 | |8 | |8 |8 |18 |8 | |8 | |8 | |20 |16 |17 |9 |8 | |8 | |8 | |11 |20 |9 |0 |0 |1 | | | | | | | | | | | | | | | | | | |
Ch13 |8 | |8 | |8 | |8 | |8 | |8 |8 |8 |8 | |8 | |8 | |11 |16 |19 |16 |8 | |8 | |8 | |15 |12 |12 |2 |0 |2 | | | | | | | | | | | | | | | | | | |
Ch14 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |15 |17 |16 |14 |8 | |8 | |8 | |12 |14 |20 |4 |1 |5 | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
# 5G Channel |OFDM | | | | | | | |VHT20 | | | | | | | | | |VHT40 | | | | | | | | | |VHT80 | | | | | | | | | |VHT160 | | | | | | | | | |Txstream_Delta | | | | |
Band: 5G |OFDM_6M |OFDM_9M |OFDM_12M |OFDM_18M |OFDM_24M |OFDM_36M |OFDM_48M |OFDM_54M |VHT20_MCS0 |VHT20_MCS1 |VHT20_MCS2 |VHT20_MCS3 |VHT20_MCS4 |VHT20_MCS5 |VHT20_MCS6 |VHT20_MCS7 |VHT20_MCS8 |VHT20_MCS9 |VHT40_MCS0 |VHT40_MCS1 |VHT40_MCS2 |VHT40_MCS3 |VHT40_MCS4 |VHT40_MCS5 |VHT40_MCS6 |VHT40_MCS7 |VHT40_MCS8 |VHT40_MCS9 |VHT80_MCS0 |VHT80_MCS1 |VHT80_MCS2 |VHT80_MCS3 |VHT80_MCS4 |VHT80_MCS5 |VHT80_MCS6 |VHT80_MCS7 |VHT80_MCS8 |VHT80_MCS9 |VHT160_MCS0 |VHT160_MCS1 |VHT160_MCS2 |VHT160_MCS3 |VHT160_MCS4 |VHT160_MCS5 |VHT160_MCS6 |VHT160_MCS7 |VHT160_MCS8 |VHT160_MCS9 |Txstream_3T |Txstream_2T |Txstream_1T | | |
Ch184 |18 | |18 | |18 | |18 |18 |15 |18 | |12 | |13 | |11 |14 |16 |16 |12 | |12 | |13 | |20 |17 |16 |17 |18 | |9 | |16 | |17 |20 |18 |16 |19 | |15 | |9 | |17 |8 |17 |0 |4 |4 | | |
Ch188 |18 | |18 | |18 | |18 |18 |16 |20 | |9 | |9 | |11 |8 |12 |18 |15 | |11 | |11 | |14 |8 |17 |16 |16 | |16 | |12 | |8 |13 |19 |18 |11 | |9 | |12 | |14 |8 |13 |5 |2 |0 | | |
Ch192 |18 | |18 | |18 | |18 |18 |15 |9 | |11 | |9 | |15 |14 |11 |19 |15 | |8 | |18 | |20 |20 |8 |9 |9 | |9 | |11 | |18 |13 |14 |20 |18 | |10 | |14 | |12 |13 |16 |0 |2 |0 | | |
Ch196 |18 | |18 | |18 | |18 |18 |10 |11 | |19 | |13 | |12 |11 |10 |13 |11 | |19 | |10 | |16 |20 |15 |15 |8 | |14 | |8 | |18 |20 |15 |17 |17 | |14 | |12 | |12 |8 |16 |4 |3 |2 | | |
Ch8 |18 | |18 | |18 | |18 |18 |18 |13 | |19 | |20 | |18 |10 |9 |8 |8 | |17 | |15 | |17 |9 |18 |19 |11 | |12 | |15 | |20 |12 |12 |13 |9 | |9 | |15 | |10 |11 |17 |4 |3 |3 | | |
Ch12 |18 | |18 | |18 | |18 |18 |17 |20 | |14 | |10 | |10 |16 |15 |13 |11 | |15 | |16 | |17 |11 |15 |9 |18 | |8 | |20 | |19 |11 |9 |20 |8 | |18 | |8 | |8 |18 |18 |1 |3 |4 | | |
Ch16 |18 | |18 | |18 | |18 |18 |10 |18 | |18 | |8 | |19 |8 |12 |19 |16 | |19 | |18 | |16 |19 |12 |18 |18 | |9 | |10 | |18 |20 |20 |20 |9 | |11 | |20 | |17 |14 |16 |2 |2 |2 | | |
Ch36 |18 | |18 | |18 | |18 |18 |18 |19 | |8 | |11 | |16 |10 |9 |19 |11 | |19 | |9 | |8 |19 |8 |11 |17 | |20 | |14 | |9 |19 |19 |20 |13 | |12 | |19 | |13 |17 |9 |5 |1 |2 | | |
Ch40 |18 | |18 | |18 | |18 |18 |13 |20 | |13 | |19 | |16 |11 |14 |17 |17 | |14 | |8 | |13 |8 |10 |20 |10 | |9 | |14 | |11 |14 |17 |9 |20 | |15 | |19 | |9 |8 |11 |3 |1 |1 | | |
Ch44 |18 | |18 | |18 | |18 |18 |10 |14 | |19 | |20 | |17 |16 |12 |18 |8 | |17 | |18 | |15 |19 |14 |11 |13 | |14 | |12 | |16 |16 |19 |13 |14 | |19 | |14 | |20 |20 |11 |5 |1 |0 | | |
Ch48 |18 | |18 | |18 | |18 |18 |8 |12 | |12 | |19 | |11 |8 |11 |20 |12 | |12 | |11 | |15 |16 |10 |12 |16 | |11 | |15 | |18 |19 |17 |16 |17 | |11 | |8 | |10 |16 |16 |5 |5 |0 | | |
Ch52 |18 | |18 | |18 | |18 |18 |15 |12 | |15 | |20 | |9 |10 |10 |14 |8 | |20 | |10 | |16 |17 |18 |11 |16 | |17 | |10 | |17 |12 |13 |17 |17 | |13 | |18 | |18 |20 |13 |4 |3 |4 | | |
Ch56 |18 | |18 | |18 | |18 |18 |13 |16 | |15 | |13 | |15 |20 |13 |14 |11 | |10 | |20 | |10 |8 |16 |12 |10 | |16 | |11 | |9 |11 |14 |17 |12 | |17 | |13 | |18 |10 |19 |0 |3 |3 | | |
Ch60 |18 | |18 | |18 | |18 |18 |14 |11 | |8 | |20 | |13 |16 |13 |11 |20 | |9 | |17 | |16 |11 |8 |12 |17 | |15 | |8 | |16 |10 |20 |19 |15 | |13 | |9 | |17 |18 |11 |4 |1 |2 | | |
Ch64 |18 | |18 | |18 | |18 |18 |13 |14 | |8 | |12 | |17 |8 |12 |18 |17 | |17 | |14 | |18 |8 |8 |20 |17 | |16 | |20 | |9 |15 |11 |10 |11 | |18 | |10 | |10 |15 |19 |2 |1 |4 | | |
Ch68 |18 | |18 | |18 | |18 |18 |14 |19 | |17 | |9 | |18 |19 |20 |12 |14 | |8 | |14 | |20 |20 |18 |9 |18 | |11 | |19 | |19 |10 |11 |8 |18 | |9 | |8 | |16 |11 |8 |3 |3 |1 | | |
Ch72 |18 | |18 | |18 | |18 |18 |19 |13 | |20 | |11 | |16 |9 |19 |20 |19 | |14 | |8 | |9 |17 |13 |19 |15 | |8 | |9 | |19 |14 |19 |15 |18 | |16 | |12 | |13 |15 |10 |4 |3 |1 | | |
Ch76 |18 | |18 | |18 | |18 |18 |17 |13 | |16 | |20 | |16 |8 |9 |20 |11 | |17 | |11 | |8 |18 |9 |20 |9 | |17 | |16 | |11 |11 |11 |18 |10 | |13 | |W | |20 |17 |8 |1 |3 |3 | | |
Ch80 |18 | |18 | |18 | |18 |18 |14 |20 | |13 | |13 | |17 |8 |10 |16 |8 | |9 | |19 | |16 |17 |17 |19 |15 | |9 | |13 | |16 |13 |14 |12 |9 | |20 | |20 | |14 |18 |18 |0 |4 |2 | | |
Ch84 |18 | |18 | |18 | |18 |18 |11 |18 | |20 | |9 | |13 |14 |11 |16 |15 | |12 | |11 | |9 |19 |13 |11 |11 | |9 | |15 | |16 |18 |13 |12 |8 | |8 | |8 | |10 |12 |15 |3 |2 |5 | | |
Ch88 |18 | |18 | |18 | |18 |18 |18 |19 | |9 | |17 | |15 |8 |19 |11 |11 | |14 | |9 | |14 |20 |20 |11 |11 | |15 | |12 | |14 |11 |8 |18 |15 | |19 | |18 | |12 |20 |16 |5 |5 |1 | | |
Ch92 |18 | |18 | |18 | |18 |18 |11 |8 | |15 | |13 | |13 |13 |13 |16 |14 | |14 | |9 | |9 |15 |20 |11 |17 | |10 | |14 | |13 |17 |11 |8 |18 | |20 | |8 | |10 |19 |18 |1 |4 |4 | | |
Ch96 |18 | |18 | |18 | |18 |18 |8 |12 | |16 | |9 | |13 |12 |9 |8 |11 | |8 | |8 | |19 |11 |15 |16 |8 | |11 | |16 | |18 |16 |9 |19 |9 | |10 | |15 | |19 |19 |15 |4 |2 |4 | | |
Ch100 |18 | |18 | |18 | |18 |18 |18 |13 | |20 | |20 | |12 |9 |19 |10 |9 | |14 | |8 | |19 |10 |17 |9 |10 | |10 | |8 | |13 |12 |11 |20 |11 | |16 | |18 | |14 |16 |19 |1 |1 |2 | | |
Ch104 |18 | |18 | |18 | |18 |18 |19 |12 | |20 | |14 | |16 |15 |9 |19 |11 | |15 | |11 | |12 |18 |15 |11 |15 | |19 | |10 | |14 |15 |19 |9 |13 | |19 | |13 | |11 |11 |17 |2 |2 |0 | | |
Ch108 |18 | |18 | |18 | |18 |18 |18 |15 | |13 | |16 | |11 |19 |19 |18 |19 | |12 | |17 | |8 |9 |10 |8 |8 | |18 | |8 | |10 |11 |17 |15 |10 | |19 | |13 | |16 |10 |15 |0 |2 |3 | | |
Ch112 |18 | |18 | |18 | |18 |18 |8 |13 | |9 | |17 | |9 |15 |17 |10 |19 | |9 | |19 | |11 |16 |14 |16 |8 | |18 | |13 | |16 |13 |17 |19 |11 | |8 | |8 | |18 |14 |17 |5 |2 |5 | | |
Ch116 |18 | |18 | |18 | |18 |18 |8 |20 | |11 | |15 | |8 |11 |8 |18 |15 | |13 | |17 | |14 |13 |9 |8 |14 | |14 | |11 | |9 |19 |17 |11 |11 | |8 | |20 | |8 |10 |20 |5 |2 |1 | | |
Ch120 |18 | |18 | |18 | |18 |18 |14 |20 | |8 | |20 | |14 |10 |10 |17 |12 | |16 | |20 | |10 |20 |17 |18 |9 | |15 | |14 | |17 |13 |14 |16 |8 | |18 | |10 | |15 |12 |12 |1 |5 |3 | | |
Ch124 |18 | |18 | |18 | |18 |18 |20 |9 | |17 | |12 | |12 |8 |14 |8 |8 | |20 | |17 | |16 |20 |13 |14 |16 | |10 | |14 | |20 |15 |17 |8 |10 | |13 | |13 | |11 |13 |9 |5 |0 |5 | | |
Ch128 |18 | |18 | |18 | |18 |18 |9 |19 | |9 | |14 | |8 |14 |11 |9 |14 | |16 | |15 | |14 |10 |15 |14 |14 | |20 | |10 | |16 |15 |11 |12 |13 | |13 | |13 | |12 |15 |20 |1 |4 |3 | | |
Ch132 |18 | |18 | |18 | |18 |18 |20 |16 | |13 | |8 | |18 |11 |20 |12 |11 | |11 | |14 | |12 |13 |8 |12 |13 | |10 | |20 | |19 |12 |13 |14 |12 | |11 | |19 | |19 |20 |8 |3 |1 |4 | | |
Ch136 |18 | |18 | |18 | |18 |18 |12 |12 | |19 | |10 | |20 |10 |8 |17 |8 | |12 | |10 | |10 |13 |13 |12 |8 | |11 | |18 | |14 |12 |17 |8 |14 | |14 | |9 | |11 |18 |14 |1 |2 |2 | | |
Ch140 |18 | |18 | |18 | |18 |18 |12 |10 | |13 | |9 | |16 |8 |20 |10 |17 | |8 | |15 | |13 |20 |15 |10 |18 | |13 | |12 | |12 |16 |18 |12 |17 | |10 | |16 | |11 |15 |14 |3 |2 |5 | | |
Ch144 |18 | |18 | |18 | |18 |18 |19 |9 | |15 | |8 | |13 |18 |17 |9 |19 | |16 | |11 | |20 |12 |15 |19 |10 | |17 | |15 | |17 |14 |9 |9 |13 | |17 | |16 | |10 |9 |10 |1 |5 |2 | | |
Ch149 |18 | |18 | |18 | |18 |18 |15 |20 | |12 | |19 | |19 |19 |10 |10 |13 | |15 | |19 | |12 |19 |10 |14 |15 | |10 | |15 | |9 |8 |11 |15 |13 | |10 | |16 | |15 |18 |12 |5 |5 |2 | | |
Ch153 |18 | |18 | |18 | |18 |18 |20 |17 | |8 | |19 | |16 |20 |13 |16 |18 | |14 | |11 | |10 |16 |16 |19 |15 | |13 | |17 | |19 |18 |19 |20 |8 | |18 | |9 | |17 |11 |11 |1 |2 |1 | | |
Ch157 |18 | |18 | |18 | |18 |18 |13 |17 | |12 | |19 | |16 |8 |17 |11 |12 | |15 | |14 | |18 |11 |12 |9 |18 | |20 | |13 | |16 |13 |20 |17 |19 | |10 | |12 | |20 |18 |16 |5 |2 |3 | | |
Ch161 |18 | |18 | |18 | |18 |18 |12 |12 | |16 | |12 | |15 |11 |18 |11 |13 | |17 | |19 | |11 |13 |13 |9 |15 | |10 | |10 | |19 |13 |20 |13 |9 | |8 | |8 | |20 |14 |12 |0 |4 |1 | | |
Ch165 |18 | |18 | |18 | |18 |18 |13 |16 | |15 | |13 | |15 |8 |19 |15 |10 | |17 | |13 | |13 |19 |20 |8 |18 | |15 | |20 | |16 |9 |14 |11 |20 | |11 | |19 | |15 |16 |8 |1 |2 |0 | | |
Ch169 |18 | |18 | |18 | |18 |18 |8 |17 | |17 | |13 | |16 |8 |14 |18 |11 | |8 | |18 | |20 |14 |8 |17 |8 | |13 | |18 | |19 |20 |19 |20 |17 | |13 | |20 | |9 |15 |18 |0 |3 |4 | | |
Ch173 |18 | |18 | |18 | |18 |18 |14 |9 | |13 | |12 | |15 |14 |15 |10 |10 | |18 | |16 | |16 |8 |13 |16 |11 | |11 | |13 | |13 |15 |12 |20 |15 | |14 | |13 | |16 |11 |14 |3 |3 |4 | | |
Ch177 |18 | |18 | |18 | |18 |18 |19 |18 | |16 | |10 | |20 |13 |11 |16 |12 | |16 | |18 | |18 |11 |18 |8 |13 | |14 | |11 | |18 |14 |16 |16 |19 | |16 | |13 | |15 |8 |13 |5 |0 |0 | | |
Ch181 |18 | |18 | |18 | |18 |18 |20 |11 | |10 | |9 | |8 |9 |15 |15 |8 | |8 | |12 | |11 |9 |18 |20 |11 | |17 | |11 | |8 |15 |8 |18 |12 | |18 | |16 | |19 |9 |14 |4 |1 |4 | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

View File

@ -0,0 +1,16 @@
#!/bin/sh /etc/rc.common
chmod 777 /sbin/mtkwifi
START=15
STOP=15
USE_PROCD=1
start_service() {
[ -f /etc/hotplug.d/firmware/11-mtk-wifi-e2p ] && sh /etc/hotplug.d/firmware/11-mtk-wifi-e2p
}
stop_service() {
echo 'do nothing' > /dev/null
}

View File

@ -0,0 +1,375 @@
Default
AccessControlList0=
AccessControlList1=
AccessControlList10=
AccessControlList11=
AccessControlList12=
AccessControlList13=
AccessControlList14=
AccessControlList15=
AccessControlList2=
AccessControlList3=
AccessControlList4=
AccessControlList5=
AccessControlList6=
AccessControlList7=
AccessControlList8=
AccessControlList9=
AccessPolicy0=0
AccessPolicy1=0
AccessPolicy10=0
AccessPolicy11=0
AccessPolicy12=0
AccessPolicy13=0
AccessPolicy14=0
AccessPolicy15=0
AccessPolicy2=0
AccessPolicy3=0
AccessPolicy4=0
AccessPolicy5=0
AccessPolicy6=0
AccessPolicy7=0
AccessPolicy8=0
AccessPolicy9=0
AckPolicy=0;0;0;0
APACM=0;0;0;0
APAifsn=3;7;1;1
ApCliAuthMode=
ApCliBssid=
ApCliDefaultKeyID=
ApCliEnable=
ApCliEncrypType=
ApCliKey1Str=
ApCliKey1Str1=
ApCliKey1Type=
ApCliKey2Str=
ApCliKey2Str1=
ApCliKey2Type=
ApCliKey3Str=
ApCliKey3Str1=
ApCliKey3Type=
ApCliKey4Str=
ApCliKey4Str1=
ApCliKey4Type=
ApCliSsid=
ApCliWirelessMode=
ApCliWPAPSK=
ApCliWPAPSK1=
APCwmax=6;10;4;3
APCwmin=4;4;3;2
APSDCapable=1
APTxop=0;0;94;47
AuthMode=OPEN
AutoChannelSelect=0
AutoChannelSkipList=
AutoProvisionEn=0
BandSteering=0
BasicRate=15
BeaconPeriod=100
BFBACKOFFenable=0
BgndScanSkipCh=
BGProtection=0
BndStrgBssIdx=
BSSACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmax=10;10;4;3
BSSCwmin=4;4;3;2
BssidNum=1
BSSTxop=0;0;94;47
BW_Enable=0
BW_Guarantee_Rate=
BW_Maximum_Rate=
BW_Priority=
BW_Root=0
CalCacheApply=0
CarrierDetect=0
Channel=6
ChannelGrp=
CountryCode=US
CountryRegion=5
CountryRegionABand=7
CP_SUPPORT=2
CSPeriod=6
DBDC_MODE=1
DebugFlags=0
DefaultKeyID=1
DfsCalibration=0
DfsEnable=0
DfsFalseAlarmPrevent=1
DfsZeroWait=0
DfsZeroWaitCacTime=255
DisableOLBC=0
DtimPeriod=1
E2pAccessMode=2
EAPifname=br0
EDCCAEnable=1
EncrypType=NONE
EthConvertMode=dongle
EtherTrafficBand=0
Ethifname=
ETxBfEnCond=1
FineAGC=0
FixedTxMode=
ForceRoamSupport=
FragThreshold=2346
FreqDelta=0
FtSupport=0
GreenAP=1
G_BAND_256QAM=1
HideSSID=0
HT_AMSDU=0
HT_AutoBA=1
HT_BADecline=0
HT_BAWinSize=64
HT_BSSCoexistence=1
HT_BW=1
HT_DisallowTKIP=1
HT_EXTCHA=1
HT_GI=1
HT_HTC=1
HT_LDPC=1
HT_LinkAdapt=0
HT_MCS=33
HT_MpduDensity=5
HT_OpMode=0
HT_PROTECT=1
HT_RxStream=2
HT_STBC=1
HT_TxStream=2
IcapMode=0
idle_timeout_interval=0
IEEE80211H=1
IEEE8021X=0
IgmpSnEnable=0
ITxBfEn=1
Key1Str=
Key1Str1=
Key1Str10=
Key1Str11=
Key1Str12=
Key1Str13=
Key1Str14=
Key1Str15=
Key1Str16=
Key1Str2=
Key1Str3=
Key1Str4=
Key1Str5=
Key1Str6=
Key1Str7=
Key1Str8=
Key1Str9=
Key1Type=0
Key2Str=
Key2Str1=
Key2Str10=
Key2Str11=
Key2Str12=
Key2Str13=
Key2Str14=
Key2Str15=
Key2Str16=
Key2Str2=
Key2Str3=
Key2Str4=
Key2Str5=
Key2Str6=
Key2Str7=
Key2Str8=
Key2Str9=
Key2Type=0
Key3Str=
Key3Str1=
Key3Str10=
Key3Str11=
Key3Str12=
Key3Str13=
Key3Str14=
Key3Str15=
Key3Str16=
Key3Str2=
Key3Str3=
Key3Str4=
Key3Str5=
Key3Str6=
Key3Str7=
Key3Str8=
Key3Str9=
Key3Type=0
Key4Str=
Key4Str1=
Key4Str10=
Key4Str11=
Key4Str12=
Key4Str13=
Key4Str14=
Key4Str15=
Key4Str16=
Key4Str2=
Key4Str3=
Key4Str4=
Key4Str5=
Key4Str6=
Key4Str7=
Key4Str8=
Key4Str9=
Key4Type=0
LinkTestSupport=0
MACRepeaterEn=
MACRepeaterOuiMode=2
MUTxRxEnable=0
NoForwarding=0
NoForwardingBTNBSSID=0
own_ip_addr=10.10.10.254
PcieAspm=0
PERCENTAGEenable=0
PhyRateLimit=0
PMFMFPC=0
PMFMFPR=0
PMFSHA256=0
PMKCachePeriod=10
PowerUpCckOfdm=0:0:0:0:0:0:0
PowerUpHT20=0:0:0:0:0:0:0
PowerUpHT40=0:0:0:0:0:0:0
PowerUpVHT160=0:0:0:0:0:0:0
PowerUpVHT20=0:0:0:0:0:0:0
PowerUpVHT40=0:0:0:0:0:0:0
PowerUpVHT80=0:0:0:0:0:0:0
PreAntSwitch=
PreAuth=0
PreAuthifname=br0
RadioLinkSelection=0
RadioOn=1
RADIUS_Acct_Key=
RADIUS_Acct_Port=1813
RADIUS_Acct_Server=
RADIUS_Key1=
RADIUS_Key10=
RADIUS_Key11=
RADIUS_Key12=
RADIUS_Key13=
RADIUS_Key14=
RADIUS_Key15=
RADIUS_Key16=
RADIUS_Key2=
RADIUS_Key3=
RADIUS_Key4=
RADIUS_Key5=
RADIUS_Key6=
RADIUS_Key7=
RADIUS_Key8=
RADIUS_Key9=
RADIUS_Port=1812
RADIUS_Server=0
RDRegion=
RED_Enable=1
RekeyInterval=3600
RekeyMethod=DISABLE
RRMEnable=0
RTSThreshold=2347
session_timeout_interval=0
ShortSlot=1
SKUenable=0
SSID=
SSID1=K2P_2G
SSID10=
SSID11=
SSID12=
SSID13=
SSID14=
SSID15=
SSID16=
SSID2=
SSID3=
SSID4=
SSID5=
SSID6=
SSID7=
SSID8=
SSID9=
StationKeepAlive=0
StreamMode=0
StreamModeMac0=
StreamModeMac1=
StreamModeMac2=
StreamModeMac3=
TGnWifiTest=0
ThermalRecal=0
TxBurst=1
TxPower=100
TxPreamble=1
VHT_BW=1
VHT_BW_SIGNAL=0
VHT_LDPC=1
VHT_Sec80_Channel=0
VHT_SGI=1
VHT_STBC=1
VLANID=0
VLANPriority=0
VLANTag=0
VOW_Airtime_Ctrl_En=
VOW_Airtime_Fairness_En=1
VOW_BW_Ctrl=0
VOW_Group_Backlog=
VOW_Group_DWRR_Max_Wait_Time=
VOW_Group_DWRR_Quantum=
VOW_Group_Max_Airtime_Bucket_Size=
VOW_Group_Max_Rate=
VOW_Group_Max_Rate_Bucket_Size=
VOW_Group_Max_Ratio=
VOW_Group_Max_Wait_Time=
VOW_Group_Min_Airtime_Bucket_Size=
VOW_Group_Min_Rate=
VOW_Group_Min_Rate_Bucket_Size=
VOW_Group_Min_Ratio=
VOW_Rate_Ctrl_En=
VOW_Refill_Period=
VOW_RX_En=1
VOW_Sta_BE_DWRR_Quantum=
VOW_Sta_BK_DWRR_Quantum=
VOW_Sta_DWRR_Max_Wait_Time=
VOW_Sta_VI_DWRR_Quantum=
VOW_Sta_VO_DWRR_Quantum=
VOW_WATF_Enable=
VOW_WATF_MAC_LV0=
VOW_WATF_MAC_LV1=
VOW_WATF_MAC_LV2=
VOW_WATF_MAC_LV3=
VOW_WATF_Q_LV0=
VOW_WATF_Q_LV1=
VOW_WATF_Q_LV2=
VOW_WATF_Q_LV3=
VOW_WMM_Search_Rule_Band0=
VOW_WMM_Search_Rule_Band1=
WCNTest=0
Wds0Key=
Wds1Key=
Wds2Key=
Wds3Key=
WdsEnable=0
WdsEncrypType=NONE
WdsList=
WdsPhyMode=0
WHNAT=0
WiFiTest=0
WirelessMode=9
WmmCapable=1
WPAPSK=
WPAPSK1=12345678
WPAPSK10=
WPAPSK11=
WPAPSK12=
WPAPSK13=
WPAPSK14=
WPAPSK15=
WPAPSK16=
WPAPSK2=
WPAPSK3=
WPAPSK4=
WPAPSK5=
WPAPSK6=
WPAPSK7=
WPAPSK8=
WPAPSK9=
WscConfMode=0
WscConfStatus=2

View File

@ -0,0 +1,375 @@
Default
AccessControlList0=
AccessControlList1=
AccessControlList10=
AccessControlList11=
AccessControlList12=
AccessControlList13=
AccessControlList14=
AccessControlList15=
AccessControlList2=
AccessControlList3=
AccessControlList4=
AccessControlList5=
AccessControlList6=
AccessControlList7=
AccessControlList8=
AccessControlList9=
AccessPolicy0=0
AccessPolicy1=0
AccessPolicy10=0
AccessPolicy11=0
AccessPolicy12=0
AccessPolicy13=0
AccessPolicy14=0
AccessPolicy15=0
AccessPolicy2=0
AccessPolicy3=0
AccessPolicy4=0
AccessPolicy5=0
AccessPolicy6=0
AccessPolicy7=0
AccessPolicy8=0
AccessPolicy9=0
AckPolicy=0;0;0;0
APACM=0;0;0;0
APAifsn=3;7;1;1
ApCliAuthMode=
ApCliBssid=
ApCliDefaultKeyID=
ApCliEnable=
ApCliEncrypType=
ApCliKey1Str=
ApCliKey1Str1=
ApCliKey1Type=
ApCliKey2Str=
ApCliKey2Str1=
ApCliKey2Type=
ApCliKey3Str=
ApCliKey3Str1=
ApCliKey3Type=
ApCliKey4Str=
ApCliKey4Str1=
ApCliKey4Type=
ApCliSsid=
ApCliWirelessMode=
ApCliWPAPSK=
ApCliWPAPSK1=
APCwmax=6;10;4;3
APCwmin=4;4;3;2
APSDCapable=1
APTxop=0;0;94;47
AuthMode=OPEN
AutoChannelSelect=0
AutoChannelSkipList=
AutoProvisionEn=0
BandSteering=0
BasicRate=15
BeaconPeriod=100
BFBACKOFFenable=0
BgndScanSkipCh=
BGProtection=0
BndStrgBssIdx=
BSSACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmax=10;10;4;3
BSSCwmin=4;4;3;2
BssidNum=1
BSSTxop=0;0;94;47
BW_Enable=0
BW_Guarantee_Rate=
BW_Maximum_Rate=
BW_Priority=
BW_Root=0
CalCacheApply=0
CarrierDetect=0
Channel=36
ChannelGrp=
CountryCode=US
CountryRegion=5
CountryRegionABand=7
CP_SUPPORT=2
CSPeriod=6
DBDC_MODE=1
DebugFlags=0
DefaultKeyID=1
DfsCalibration=0
DfsEnable=1
DfsFalseAlarmPrevent=1
DfsZeroWait=0
DfsZeroWaitCacTime=255
DisableOLBC=0
DtimPeriod=1
E2pAccessMode=2
EAPifname=br0
EDCCAEnable=1
EncrypType=NONE
EthConvertMode=dongle
EtherTrafficBand=0
Ethifname=
ETxBfEnCond=1
FineAGC=0
FixedTxMode=
ForceRoamSupport=
FragThreshold=2346
FreqDelta=0
FtSupport=0
GreenAP=1
G_BAND_256QAM=1
HideSSID=0
HT_AMSDU=0
HT_AutoBA=1
HT_BADecline=0
HT_BAWinSize=64
HT_BSSCoexistence=1
HT_BW=1
HT_DisallowTKIP=1
HT_EXTCHA=1
HT_GI=1
HT_HTC=1
HT_LDPC=1
HT_LinkAdapt=0
HT_MCS=33
HT_MpduDensity=5
HT_OpMode=0
HT_PROTECT=1
HT_RxStream=2
HT_STBC=1
HT_TxStream=2
IcapMode=0
idle_timeout_interval=0
IEEE80211H=1
IEEE8021X=0
IgmpSnEnable=0
ITxBfEn=1
Key1Str=
Key1Str1=
Key1Str10=
Key1Str11=
Key1Str12=
Key1Str13=
Key1Str14=
Key1Str15=
Key1Str16=
Key1Str2=
Key1Str3=
Key1Str4=
Key1Str5=
Key1Str6=
Key1Str7=
Key1Str8=
Key1Str9=
Key1Type=0
Key2Str=
Key2Str1=
Key2Str10=
Key2Str11=
Key2Str12=
Key2Str13=
Key2Str14=
Key2Str15=
Key2Str16=
Key2Str2=
Key2Str3=
Key2Str4=
Key2Str5=
Key2Str6=
Key2Str7=
Key2Str8=
Key2Str9=
Key2Type=0
Key3Str=
Key3Str1=
Key3Str10=
Key3Str11=
Key3Str12=
Key3Str13=
Key3Str14=
Key3Str15=
Key3Str16=
Key3Str2=
Key3Str3=
Key3Str4=
Key3Str5=
Key3Str6=
Key3Str7=
Key3Str8=
Key3Str9=
Key3Type=0
Key4Str=
Key4Str1=
Key4Str10=
Key4Str11=
Key4Str12=
Key4Str13=
Key4Str14=
Key4Str15=
Key4Str16=
Key4Str2=
Key4Str3=
Key4Str4=
Key4Str5=
Key4Str6=
Key4Str7=
Key4Str8=
Key4Str9=
Key4Type=0
LinkTestSupport=0
MACRepeaterEn=
MACRepeaterOuiMode=2
MUTxRxEnable=1
NoForwarding=0
NoForwardingBTNBSSID=0
own_ip_addr=10.10.10.254
PcieAspm=0
PERCENTAGEenable=0
PhyRateLimit=0
PMFMFPC=0
PMFMFPR=0
PMFSHA256=0
PMKCachePeriod=10
PowerUpCckOfdm=0:0:0:0:0:0:0
PowerUpHT20=0:0:0:0:0:0:0
PowerUpHT40=0:0:0:0:0:0:0
PowerUpVHT160=0:0:0:0:0:0:0
PowerUpVHT20=0:0:0:0:0:0:0
PowerUpVHT40=0:0:0:0:0:0:0
PowerUpVHT80=0:0:0:0:0:0:0
PreAntSwitch=
PreAuth=0
PreAuthifname=br0
RadioLinkSelection=0
RadioOn=1
RADIUS_Acct_Key=
RADIUS_Acct_Port=1813
RADIUS_Acct_Server=
RADIUS_Key1=
RADIUS_Key10=
RADIUS_Key11=
RADIUS_Key12=
RADIUS_Key13=
RADIUS_Key14=
RADIUS_Key15=
RADIUS_Key16=
RADIUS_Key2=
RADIUS_Key3=
RADIUS_Key4=
RADIUS_Key5=
RADIUS_Key6=
RADIUS_Key7=
RADIUS_Key8=
RADIUS_Key9=
RADIUS_Port=1812
RADIUS_Server=0
RDRegion=
RED_Enable=1
RekeyInterval=3600
RekeyMethod=DISABLE
RRMEnable=0
RTSThreshold=2347
session_timeout_interval=0
ShortSlot=1
SKUenable=0
SSID=
SSID1=K2P_5G
SSID10=
SSID11=
SSID12=
SSID13=
SSID14=
SSID15=
SSID16=
SSID2=
SSID3=
SSID4=
SSID5=
SSID6=
SSID7=
SSID8=
SSID9=
StationKeepAlive=0
StreamMode=0
StreamModeMac0=
StreamModeMac1=
StreamModeMac2=
StreamModeMac3=
TGnWifiTest=0
ThermalRecal=0
TxBurst=1
TxPower=100
TxPreamble=1
VHT_BW=1
VHT_BW_SIGNAL=0
VHT_LDPC=1
VHT_Sec80_Channel=0
VHT_SGI=1
VHT_STBC=1
VLANID=0
VLANPriority=0
VLANTag=0
VOW_Airtime_Ctrl_En=
VOW_Airtime_Fairness_En=1
VOW_BW_Ctrl=0
VOW_Group_Backlog=
VOW_Group_DWRR_Max_Wait_Time=
VOW_Group_DWRR_Quantum=
VOW_Group_Max_Airtime_Bucket_Size=
VOW_Group_Max_Rate=
VOW_Group_Max_Rate_Bucket_Size=
VOW_Group_Max_Ratio=
VOW_Group_Max_Wait_Time=
VOW_Group_Min_Airtime_Bucket_Size=
VOW_Group_Min_Rate=
VOW_Group_Min_Rate_Bucket_Size=
VOW_Group_Min_Ratio=
VOW_Rate_Ctrl_En=
VOW_Refill_Period=
VOW_RX_En=1
VOW_Sta_BE_DWRR_Quantum=
VOW_Sta_BK_DWRR_Quantum=
VOW_Sta_DWRR_Max_Wait_Time=
VOW_Sta_VI_DWRR_Quantum=
VOW_Sta_VO_DWRR_Quantum=
VOW_WATF_Enable=
VOW_WATF_MAC_LV0=
VOW_WATF_MAC_LV1=
VOW_WATF_MAC_LV2=
VOW_WATF_MAC_LV3=
VOW_WATF_Q_LV0=
VOW_WATF_Q_LV1=
VOW_WATF_Q_LV2=
VOW_WATF_Q_LV3=
VOW_WMM_Search_Rule_Band0=
VOW_WMM_Search_Rule_Band1=
WCNTest=0
Wds0Key=
Wds1Key=
Wds2Key=
Wds3Key=
WdsEnable=0
WdsEncrypType=NONE
WdsList=
WdsPhyMode=0
WHNAT=0
WiFiTest=0
WirelessMode=14
WmmCapable=1
WPAPSK=
WPAPSK1=12345678
WPAPSK10=
WPAPSK11=
WPAPSK12=
WPAPSK13=
WPAPSK14=
WPAPSK15=
WPAPSK16=
WPAPSK2=
WPAPSK3=
WPAPSK4=
WPAPSK5=
WPAPSK6=
WPAPSK7=
WPAPSK8=
WPAPSK9=
WscConfMode=0
WscConfStatus=2

View File

@ -3,6 +3,7 @@
-- Copyright Not Reserved.
-- Hua Shao <nossiac@163.com>
package.path = '/lib/wifi/?.lua;'..package.path
local vif_prefix = {"ra", "rai", "rae", "rax", "ray", "raz",
"apcli", "apclix", "apclii", "apcliy", "apclie", "apcliz", }
@ -215,3 +216,4 @@ config wifi-iface
end
end
end

View File

@ -0,0 +1,65 @@
# Single SKU Max Power Table | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
# 2.4G Channel |CCK | | | |OFDM | | | | | | | |VHT20 | | | | | | | | | |VHT40 | | | | | | | | | |Txstream_Delta | | | | | | | | | | | | | | | | | | | | |
Band: 2.4G |CCK_1M |CCK_2M |CCK_5.5M |CCK_11M |OFDM_6M |OFDM_9M |OFDM_12M |OFDM_18M |OFDM_24M |OFDM_36M |OFDM_48M |OFDM_54M |VHT20_MCS0 |VHT20_MCS1 |VHT20_MCS2 |VHT20_MCS3 |VHT20_MCS4 |VHT20_MCS5 |VHT20_MCS6 |VHT20_MCS7 |VHT20_MCS8 |VHT20_MCS9 |VHT40_MCS0 |VHT40_MCS1 |VHT40_MCS2 |VHT40_MCS3 |VHT40_MCS4 |VHT40_MCS5 |VHT40_MCS6 |VHT40_MCS7 |VHT40_MCS8 |VHT40_MCS9 |Txstream_3T |Txstream_2T |Txstream_1T | | | | | | | | | | | | | | | | | | |
Ch1 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |20 |12 |18 |16 |8 | |8 | |8 | |9 |11 |12 |2 |1 |3 | | | | | | | | | | | | | | | | | | |
Ch2 |8 | |8 | |8 | |8 | |8 | |8 |8 |15 |8 | |8 | |8 | |19 |19 |10 |12 |8 | |8 | |8 | |9 |16 |12 |5 |4 |0 | | | | | | | | | | | | | | | | | | |
Ch3 |8 | |8 | |8 | |8 | |8 | |8 |8 |18 |8 | |8 | |8 | |17 |18 |16 |20 |8 | |8 | |8 | |12 |8 |20 |0 |2 |0 | | | | | | | | | | | | | | | | | | |
Ch4 |8 | |8 | |8 | |8 | |8 | |8 |8 |9 |8 | |8 | |8 | |14 |10 |14 |18 |8 | |8 | |8 | |14 |12 |10 |3 |4 |5 | | | | | | | | | | | | | | | | | | |
Ch5 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |10 |13 |11 |8 |8 | |8 | |8 | |12 |8 |9 |4 |5 |3 | | | | | | | | | | | | | | | | | | |
Ch6 |8 | |8 | |8 | |8 | |8 | |8 |8 |13 |8 | |8 | |8 | |11 |9 |12 |16 |8 | |8 | |8 | |9 |17 |11 |5 |2 |1 | | | | | | | | | | | | | | | | | | |
Ch7 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |14 |11 |13 |18 |8 | |8 | |8 | |16 |13 |10 |2 |5 |4 | | | | | | | | | | | | | | | | | | |
Ch8 |8 | |8 | |8 | |8 | |8 | |8 |8 |15 |8 | |8 | |8 | |14 |9 |11 |10 |8 | |8 | |8 | |11 |14 |8 |5 |5 |3 | | | | | | | | | | | | | | | | | | |
Ch9 |8 | |8 | |8 | |8 | |8 | |8 |8 |11 |8 | |8 | |8 | |12 |9 |15 |19 |8 | |8 | |8 | |14 |20 |12 |2 |5 |3 | | | | | | | | | | | | | | | | | | |
Ch10 |8 | |8 | |8 | |8 | |8 | |8 |8 |14 |8 | |8 | |8 | |17 |14 |17 |15 |8 | |8 | |8 | |9 |17 |8 |2 |4 |2 | | | | | | | | | | | | | | | | | | |
Ch11 |8 | |8 | |8 | |8 | |8 | |8 |8 |14 |8 | |8 | |8 | |20 |10 |20 |18 |8 | |8 | |8 | |12 |8 |20 |3 |1 |4 | | | | | | | | | | | | | | | | | | |
Ch12 |8 | |8 | |8 | |8 | |8 | |8 |8 |18 |8 | |8 | |8 | |20 |16 |17 |9 |8 | |8 | |8 | |11 |20 |9 |0 |0 |1 | | | | | | | | | | | | | | | | | | |
Ch13 |8 | |8 | |8 | |8 | |8 | |8 |8 |8 |8 | |8 | |8 | |11 |16 |19 |16 |8 | |8 | |8 | |15 |12 |12 |2 |0 |2 | | | | | | | | | | | | | | | | | | |
Ch14 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |15 |17 |16 |14 |8 | |8 | |8 | |12 |14 |20 |4 |1 |5 | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
# 5G Channel |OFDM | | | | | | | |VHT20 | | | | | | | | | |VHT40 | | | | | | | | | |VHT80 | | | | | | | | | |VHT160 | | | | | | | | | |Txstream_Delta | | | | |
Band: 5G |OFDM_6M |OFDM_9M |OFDM_12M |OFDM_18M |OFDM_24M |OFDM_36M |OFDM_48M |OFDM_54M |VHT20_MCS0 |VHT20_MCS1 |VHT20_MCS2 |VHT20_MCS3 |VHT20_MCS4 |VHT20_MCS5 |VHT20_MCS6 |VHT20_MCS7 |VHT20_MCS8 |VHT20_MCS9 |VHT40_MCS0 |VHT40_MCS1 |VHT40_MCS2 |VHT40_MCS3 |VHT40_MCS4 |VHT40_MCS5 |VHT40_MCS6 |VHT40_MCS7 |VHT40_MCS8 |VHT40_MCS9 |VHT80_MCS0 |VHT80_MCS1 |VHT80_MCS2 |VHT80_MCS3 |VHT80_MCS4 |VHT80_MCS5 |VHT80_MCS6 |VHT80_MCS7 |VHT80_MCS8 |VHT80_MCS9 |VHT160_MCS0 |VHT160_MCS1 |VHT160_MCS2 |VHT160_MCS3 |VHT160_MCS4 |VHT160_MCS5 |VHT160_MCS6 |VHT160_MCS7 |VHT160_MCS8 |VHT160_MCS9 |Txstream_3T |Txstream_2T |Txstream_1T | | |
Ch184 |18 | |18 | |18 | |18 |18 |15 |18 | |12 | |13 | |11 |14 |16 |16 |12 | |12 | |13 | |20 |17 |16 |17 |18 | |9 | |16 | |17 |20 |18 |16 |19 | |15 | |9 | |17 |8 |17 |0 |4 |4 | | |
Ch188 |18 | |18 | |18 | |18 |18 |16 |20 | |9 | |9 | |11 |8 |12 |18 |15 | |11 | |11 | |14 |8 |17 |16 |16 | |16 | |12 | |8 |13 |19 |18 |11 | |9 | |12 | |14 |8 |13 |5 |2 |0 | | |
Ch192 |18 | |18 | |18 | |18 |18 |15 |9 | |11 | |9 | |15 |14 |11 |19 |15 | |8 | |18 | |20 |20 |8 |9 |9 | |9 | |11 | |18 |13 |14 |20 |18 | |10 | |14 | |12 |13 |16 |0 |2 |0 | | |
Ch196 |18 | |18 | |18 | |18 |18 |10 |11 | |19 | |13 | |12 |11 |10 |13 |11 | |19 | |10 | |16 |20 |15 |15 |8 | |14 | |8 | |18 |20 |15 |17 |17 | |14 | |12 | |12 |8 |16 |4 |3 |2 | | |
Ch8 |18 | |18 | |18 | |18 |18 |18 |13 | |19 | |20 | |18 |10 |9 |8 |8 | |17 | |15 | |17 |9 |18 |19 |11 | |12 | |15 | |20 |12 |12 |13 |9 | |9 | |15 | |10 |11 |17 |4 |3 |3 | | |
Ch12 |18 | |18 | |18 | |18 |18 |17 |20 | |14 | |10 | |10 |16 |15 |13 |11 | |15 | |16 | |17 |11 |15 |9 |18 | |8 | |20 | |19 |11 |9 |20 |8 | |18 | |8 | |8 |18 |18 |1 |3 |4 | | |
Ch16 |18 | |18 | |18 | |18 |18 |10 |18 | |18 | |8 | |19 |8 |12 |19 |16 | |19 | |18 | |16 |19 |12 |18 |18 | |9 | |10 | |18 |20 |20 |20 |9 | |11 | |20 | |17 |14 |16 |2 |2 |2 | | |
Ch36 |18 | |18 | |18 | |18 |18 |18 |19 | |8 | |11 | |16 |10 |9 |19 |11 | |19 | |9 | |8 |19 |8 |11 |17 | |20 | |14 | |9 |19 |19 |20 |13 | |12 | |19 | |13 |17 |9 |5 |1 |2 | | |
Ch40 |18 | |18 | |18 | |18 |18 |13 |20 | |13 | |19 | |16 |11 |14 |17 |17 | |14 | |8 | |13 |8 |10 |20 |10 | |9 | |14 | |11 |14 |17 |9 |20 | |15 | |19 | |9 |8 |11 |3 |1 |1 | | |
Ch44 |18 | |18 | |18 | |18 |18 |10 |14 | |19 | |20 | |17 |16 |12 |18 |8 | |17 | |18 | |15 |19 |14 |11 |13 | |14 | |12 | |16 |16 |19 |13 |14 | |19 | |14 | |20 |20 |11 |5 |1 |0 | | |
Ch48 |18 | |18 | |18 | |18 |18 |8 |12 | |12 | |19 | |11 |8 |11 |20 |12 | |12 | |11 | |15 |16 |10 |12 |16 | |11 | |15 | |18 |19 |17 |16 |17 | |11 | |8 | |10 |16 |16 |5 |5 |0 | | |
Ch52 |18 | |18 | |18 | |18 |18 |15 |12 | |15 | |20 | |9 |10 |10 |14 |8 | |20 | |10 | |16 |17 |18 |11 |16 | |17 | |10 | |17 |12 |13 |17 |17 | |13 | |18 | |18 |20 |13 |4 |3 |4 | | |
Ch56 |18 | |18 | |18 | |18 |18 |13 |16 | |15 | |13 | |15 |20 |13 |14 |11 | |10 | |20 | |10 |8 |16 |12 |10 | |16 | |11 | |9 |11 |14 |17 |12 | |17 | |13 | |18 |10 |19 |0 |3 |3 | | |
Ch60 |18 | |18 | |18 | |18 |18 |14 |11 | |8 | |20 | |13 |16 |13 |11 |20 | |9 | |17 | |16 |11 |8 |12 |17 | |15 | |8 | |16 |10 |20 |19 |15 | |13 | |9 | |17 |18 |11 |4 |1 |2 | | |
Ch64 |18 | |18 | |18 | |18 |18 |13 |14 | |8 | |12 | |17 |8 |12 |18 |17 | |17 | |14 | |18 |8 |8 |20 |17 | |16 | |20 | |9 |15 |11 |10 |11 | |18 | |10 | |10 |15 |19 |2 |1 |4 | | |
Ch68 |18 | |18 | |18 | |18 |18 |14 |19 | |17 | |9 | |18 |19 |20 |12 |14 | |8 | |14 | |20 |20 |18 |9 |18 | |11 | |19 | |19 |10 |11 |8 |18 | |9 | |8 | |16 |11 |8 |3 |3 |1 | | |
Ch72 |18 | |18 | |18 | |18 |18 |19 |13 | |20 | |11 | |16 |9 |19 |20 |19 | |14 | |8 | |9 |17 |13 |19 |15 | |8 | |9 | |19 |14 |19 |15 |18 | |16 | |12 | |13 |15 |10 |4 |3 |1 | | |
Ch76 |18 | |18 | |18 | |18 |18 |17 |13 | |16 | |20 | |16 |8 |9 |20 |11 | |17 | |11 | |8 |18 |9 |20 |9 | |17 | |16 | |11 |11 |11 |18 |10 | |13 | |W | |20 |17 |8 |1 |3 |3 | | |
Ch80 |18 | |18 | |18 | |18 |18 |14 |20 | |13 | |13 | |17 |8 |10 |16 |8 | |9 | |19 | |16 |17 |17 |19 |15 | |9 | |13 | |16 |13 |14 |12 |9 | |20 | |20 | |14 |18 |18 |0 |4 |2 | | |
Ch84 |18 | |18 | |18 | |18 |18 |11 |18 | |20 | |9 | |13 |14 |11 |16 |15 | |12 | |11 | |9 |19 |13 |11 |11 | |9 | |15 | |16 |18 |13 |12 |8 | |8 | |8 | |10 |12 |15 |3 |2 |5 | | |
Ch88 |18 | |18 | |18 | |18 |18 |18 |19 | |9 | |17 | |15 |8 |19 |11 |11 | |14 | |9 | |14 |20 |20 |11 |11 | |15 | |12 | |14 |11 |8 |18 |15 | |19 | |18 | |12 |20 |16 |5 |5 |1 | | |
Ch92 |18 | |18 | |18 | |18 |18 |11 |8 | |15 | |13 | |13 |13 |13 |16 |14 | |14 | |9 | |9 |15 |20 |11 |17 | |10 | |14 | |13 |17 |11 |8 |18 | |20 | |8 | |10 |19 |18 |1 |4 |4 | | |
Ch96 |18 | |18 | |18 | |18 |18 |8 |12 | |16 | |9 | |13 |12 |9 |8 |11 | |8 | |8 | |19 |11 |15 |16 |8 | |11 | |16 | |18 |16 |9 |19 |9 | |10 | |15 | |19 |19 |15 |4 |2 |4 | | |
Ch100 |18 | |18 | |18 | |18 |18 |18 |13 | |20 | |20 | |12 |9 |19 |10 |9 | |14 | |8 | |19 |10 |17 |9 |10 | |10 | |8 | |13 |12 |11 |20 |11 | |16 | |18 | |14 |16 |19 |1 |1 |2 | | |
Ch104 |18 | |18 | |18 | |18 |18 |19 |12 | |20 | |14 | |16 |15 |9 |19 |11 | |15 | |11 | |12 |18 |15 |11 |15 | |19 | |10 | |14 |15 |19 |9 |13 | |19 | |13 | |11 |11 |17 |2 |2 |0 | | |
Ch108 |18 | |18 | |18 | |18 |18 |18 |15 | |13 | |16 | |11 |19 |19 |18 |19 | |12 | |17 | |8 |9 |10 |8 |8 | |18 | |8 | |10 |11 |17 |15 |10 | |19 | |13 | |16 |10 |15 |0 |2 |3 | | |
Ch112 |18 | |18 | |18 | |18 |18 |8 |13 | |9 | |17 | |9 |15 |17 |10 |19 | |9 | |19 | |11 |16 |14 |16 |8 | |18 | |13 | |16 |13 |17 |19 |11 | |8 | |8 | |18 |14 |17 |5 |2 |5 | | |
Ch116 |18 | |18 | |18 | |18 |18 |8 |20 | |11 | |15 | |8 |11 |8 |18 |15 | |13 | |17 | |14 |13 |9 |8 |14 | |14 | |11 | |9 |19 |17 |11 |11 | |8 | |20 | |8 |10 |20 |5 |2 |1 | | |
Ch120 |18 | |18 | |18 | |18 |18 |14 |20 | |8 | |20 | |14 |10 |10 |17 |12 | |16 | |20 | |10 |20 |17 |18 |9 | |15 | |14 | |17 |13 |14 |16 |8 | |18 | |10 | |15 |12 |12 |1 |5 |3 | | |
Ch124 |18 | |18 | |18 | |18 |18 |20 |9 | |17 | |12 | |12 |8 |14 |8 |8 | |20 | |17 | |16 |20 |13 |14 |16 | |10 | |14 | |20 |15 |17 |8 |10 | |13 | |13 | |11 |13 |9 |5 |0 |5 | | |
Ch128 |18 | |18 | |18 | |18 |18 |9 |19 | |9 | |14 | |8 |14 |11 |9 |14 | |16 | |15 | |14 |10 |15 |14 |14 | |20 | |10 | |16 |15 |11 |12 |13 | |13 | |13 | |12 |15 |20 |1 |4 |3 | | |
Ch132 |18 | |18 | |18 | |18 |18 |20 |16 | |13 | |8 | |18 |11 |20 |12 |11 | |11 | |14 | |12 |13 |8 |12 |13 | |10 | |20 | |19 |12 |13 |14 |12 | |11 | |19 | |19 |20 |8 |3 |1 |4 | | |
Ch136 |18 | |18 | |18 | |18 |18 |12 |12 | |19 | |10 | |20 |10 |8 |17 |8 | |12 | |10 | |10 |13 |13 |12 |8 | |11 | |18 | |14 |12 |17 |8 |14 | |14 | |9 | |11 |18 |14 |1 |2 |2 | | |
Ch140 |18 | |18 | |18 | |18 |18 |12 |10 | |13 | |9 | |16 |8 |20 |10 |17 | |8 | |15 | |13 |20 |15 |10 |18 | |13 | |12 | |12 |16 |18 |12 |17 | |10 | |16 | |11 |15 |14 |3 |2 |5 | | |
Ch144 |18 | |18 | |18 | |18 |18 |19 |9 | |15 | |8 | |13 |18 |17 |9 |19 | |16 | |11 | |20 |12 |15 |19 |10 | |17 | |15 | |17 |14 |9 |9 |13 | |17 | |16 | |10 |9 |10 |1 |5 |2 | | |
Ch149 |18 | |18 | |18 | |18 |18 |15 |20 | |12 | |19 | |19 |19 |10 |10 |13 | |15 | |19 | |12 |19 |10 |14 |15 | |10 | |15 | |9 |8 |11 |15 |13 | |10 | |16 | |15 |18 |12 |5 |5 |2 | | |
Ch153 |18 | |18 | |18 | |18 |18 |20 |17 | |8 | |19 | |16 |20 |13 |16 |18 | |14 | |11 | |10 |16 |16 |19 |15 | |13 | |17 | |19 |18 |19 |20 |8 | |18 | |9 | |17 |11 |11 |1 |2 |1 | | |
Ch157 |18 | |18 | |18 | |18 |18 |13 |17 | |12 | |19 | |16 |8 |17 |11 |12 | |15 | |14 | |18 |11 |12 |9 |18 | |20 | |13 | |16 |13 |20 |17 |19 | |10 | |12 | |20 |18 |16 |5 |2 |3 | | |
Ch161 |18 | |18 | |18 | |18 |18 |12 |12 | |16 | |12 | |15 |11 |18 |11 |13 | |17 | |19 | |11 |13 |13 |9 |15 | |10 | |10 | |19 |13 |20 |13 |9 | |8 | |8 | |20 |14 |12 |0 |4 |1 | | |
Ch165 |18 | |18 | |18 | |18 |18 |13 |16 | |15 | |13 | |15 |8 |19 |15 |10 | |17 | |13 | |13 |19 |20 |8 |18 | |15 | |20 | |16 |9 |14 |11 |20 | |11 | |19 | |15 |16 |8 |1 |2 |0 | | |
Ch169 |18 | |18 | |18 | |18 |18 |8 |17 | |17 | |13 | |16 |8 |14 |18 |11 | |8 | |18 | |20 |14 |8 |17 |8 | |13 | |18 | |19 |20 |19 |20 |17 | |13 | |20 | |9 |15 |18 |0 |3 |4 | | |
Ch173 |18 | |18 | |18 | |18 |18 |14 |9 | |13 | |12 | |15 |14 |15 |10 |10 | |18 | |16 | |16 |8 |13 |16 |11 | |11 | |13 | |13 |15 |12 |20 |15 | |14 | |13 | |16 |11 |14 |3 |3 |4 | | |
Ch177 |18 | |18 | |18 | |18 |18 |19 |18 | |16 | |10 | |20 |13 |11 |16 |12 | |16 | |18 | |18 |11 |18 |8 |13 | |14 | |11 | |18 |14 |16 |16 |19 | |16 | |13 | |15 |8 |13 |5 |0 |0 | | |
Ch181 |18 | |18 | |18 | |18 |18 |20 |11 | |10 | |9 | |8 |9 |15 |15 |8 | |8 | |12 | |11 |9 |18 |20 |11 | |17 | |11 | |8 |15 |8 |18 |12 | |18 | |16 | |19 |9 |14 |4 |1 |4 | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

View File

@ -0,0 +1,65 @@
# Single SKU Max Power Table | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
# 2.4G Channel |CCK | | | |OFDM | | | | | | | |VHT20 | | | | | | | | | |VHT40 | | | | | | | | | |Txstream_Delta | | | | | | | | | | | | | | | | | | | | |
Band: 2.4G |CCK_1M |CCK_2M |CCK_5.5M |CCK_11M |OFDM_6M |OFDM_9M |OFDM_12M |OFDM_18M |OFDM_24M |OFDM_36M |OFDM_48M |OFDM_54M |VHT20_MCS0 |VHT20_MCS1 |VHT20_MCS2 |VHT20_MCS3 |VHT20_MCS4 |VHT20_MCS5 |VHT20_MCS6 |VHT20_MCS7 |VHT20_MCS8 |VHT20_MCS9 |VHT40_MCS0 |VHT40_MCS1 |VHT40_MCS2 |VHT40_MCS3 |VHT40_MCS4 |VHT40_MCS5 |VHT40_MCS6 |VHT40_MCS7 |VHT40_MCS8 |VHT40_MCS9 |Txstream_3T |Txstream_2T |Txstream_1T | | | | | | | | | | | | | | | | | | |
Ch1 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |20 |12 |18 |16 |8 | |8 | |8 | |9 |11 |12 |2 |1 |3 | | | | | | | | | | | | | | | | | | |
Ch2 |8 | |8 | |8 | |8 | |8 | |8 |8 |15 |8 | |8 | |8 | |19 |19 |10 |12 |8 | |8 | |8 | |9 |16 |12 |5 |4 |0 | | | | | | | | | | | | | | | | | | |
Ch3 |8 | |8 | |8 | |8 | |8 | |8 |8 |18 |8 | |8 | |8 | |17 |18 |16 |20 |8 | |8 | |8 | |12 |8 |20 |0 |2 |0 | | | | | | | | | | | | | | | | | | |
Ch4 |8 | |8 | |8 | |8 | |8 | |8 |8 |9 |8 | |8 | |8 | |14 |10 |14 |18 |8 | |8 | |8 | |14 |12 |10 |3 |4 |5 | | | | | | | | | | | | | | | | | | |
Ch5 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |10 |13 |11 |8 |8 | |8 | |8 | |12 |8 |9 |4 |5 |3 | | | | | | | | | | | | | | | | | | |
Ch6 |8 | |8 | |8 | |8 | |8 | |8 |8 |13 |8 | |8 | |8 | |11 |9 |12 |16 |8 | |8 | |8 | |9 |17 |11 |5 |2 |1 | | | | | | | | | | | | | | | | | | |
Ch7 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |14 |11 |13 |18 |8 | |8 | |8 | |16 |13 |10 |2 |5 |4 | | | | | | | | | | | | | | | | | | |
Ch8 |8 | |8 | |8 | |8 | |8 | |8 |8 |15 |8 | |8 | |8 | |14 |9 |11 |10 |8 | |8 | |8 | |11 |14 |8 |5 |5 |3 | | | | | | | | | | | | | | | | | | |
Ch9 |8 | |8 | |8 | |8 | |8 | |8 |8 |11 |8 | |8 | |8 | |12 |9 |15 |19 |8 | |8 | |8 | |14 |20 |12 |2 |5 |3 | | | | | | | | | | | | | | | | | | |
Ch10 |8 | |8 | |8 | |8 | |8 | |8 |8 |14 |8 | |8 | |8 | |17 |14 |17 |15 |8 | |8 | |8 | |9 |17 |8 |2 |4 |2 | | | | | | | | | | | | | | | | | | |
Ch11 |8 | |8 | |8 | |8 | |8 | |8 |8 |14 |8 | |8 | |8 | |20 |10 |20 |18 |8 | |8 | |8 | |12 |8 |20 |3 |1 |4 | | | | | | | | | | | | | | | | | | |
Ch12 |8 | |8 | |8 | |8 | |8 | |8 |8 |18 |8 | |8 | |8 | |20 |16 |17 |9 |8 | |8 | |8 | |11 |20 |9 |0 |0 |1 | | | | | | | | | | | | | | | | | | |
Ch13 |8 | |8 | |8 | |8 | |8 | |8 |8 |8 |8 | |8 | |8 | |11 |16 |19 |16 |8 | |8 | |8 | |15 |12 |12 |2 |0 |2 | | | | | | | | | | | | | | | | | | |
Ch14 |8 | |8 | |8 | |8 | |8 | |8 |8 |10 |8 | |8 | |8 | |15 |17 |16 |14 |8 | |8 | |8 | |12 |14 |20 |4 |1 |5 | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
# 5G Channel |OFDM | | | | | | | |VHT20 | | | | | | | | | |VHT40 | | | | | | | | | |VHT80 | | | | | | | | | |VHT160 | | | | | | | | | |Txstream_Delta | | | | |
Band: 5G |OFDM_6M |OFDM_9M |OFDM_12M |OFDM_18M |OFDM_24M |OFDM_36M |OFDM_48M |OFDM_54M |VHT20_MCS0 |VHT20_MCS1 |VHT20_MCS2 |VHT20_MCS3 |VHT20_MCS4 |VHT20_MCS5 |VHT20_MCS6 |VHT20_MCS7 |VHT20_MCS8 |VHT20_MCS9 |VHT40_MCS0 |VHT40_MCS1 |VHT40_MCS2 |VHT40_MCS3 |VHT40_MCS4 |VHT40_MCS5 |VHT40_MCS6 |VHT40_MCS7 |VHT40_MCS8 |VHT40_MCS9 |VHT80_MCS0 |VHT80_MCS1 |VHT80_MCS2 |VHT80_MCS3 |VHT80_MCS4 |VHT80_MCS5 |VHT80_MCS6 |VHT80_MCS7 |VHT80_MCS8 |VHT80_MCS9 |VHT160_MCS0 |VHT160_MCS1 |VHT160_MCS2 |VHT160_MCS3 |VHT160_MCS4 |VHT160_MCS5 |VHT160_MCS6 |VHT160_MCS7 |VHT160_MCS8 |VHT160_MCS9 |Txstream_3T |Txstream_2T |Txstream_1T | | |
Ch184 |18 | |18 | |18 | |18 |18 |15 |18 | |12 | |13 | |11 |14 |16 |16 |12 | |12 | |13 | |20 |17 |16 |17 |18 | |9 | |16 | |17 |20 |18 |16 |19 | |15 | |9 | |17 |8 |17 |0 |4 |4 | | |
Ch188 |18 | |18 | |18 | |18 |18 |16 |20 | |9 | |9 | |11 |8 |12 |18 |15 | |11 | |11 | |14 |8 |17 |16 |16 | |16 | |12 | |8 |13 |19 |18 |11 | |9 | |12 | |14 |8 |13 |5 |2 |0 | | |
Ch192 |18 | |18 | |18 | |18 |18 |15 |9 | |11 | |9 | |15 |14 |11 |19 |15 | |8 | |18 | |20 |20 |8 |9 |9 | |9 | |11 | |18 |13 |14 |20 |18 | |10 | |14 | |12 |13 |16 |0 |2 |0 | | |
Ch196 |18 | |18 | |18 | |18 |18 |10 |11 | |19 | |13 | |12 |11 |10 |13 |11 | |19 | |10 | |16 |20 |15 |15 |8 | |14 | |8 | |18 |20 |15 |17 |17 | |14 | |12 | |12 |8 |16 |4 |3 |2 | | |
Ch8 |18 | |18 | |18 | |18 |18 |18 |13 | |19 | |20 | |18 |10 |9 |8 |8 | |17 | |15 | |17 |9 |18 |19 |11 | |12 | |15 | |20 |12 |12 |13 |9 | |9 | |15 | |10 |11 |17 |4 |3 |3 | | |
Ch12 |18 | |18 | |18 | |18 |18 |17 |20 | |14 | |10 | |10 |16 |15 |13 |11 | |15 | |16 | |17 |11 |15 |9 |18 | |8 | |20 | |19 |11 |9 |20 |8 | |18 | |8 | |8 |18 |18 |1 |3 |4 | | |
Ch16 |18 | |18 | |18 | |18 |18 |10 |18 | |18 | |8 | |19 |8 |12 |19 |16 | |19 | |18 | |16 |19 |12 |18 |18 | |9 | |10 | |18 |20 |20 |20 |9 | |11 | |20 | |17 |14 |16 |2 |2 |2 | | |
Ch36 |18 | |18 | |18 | |18 |18 |18 |19 | |8 | |11 | |16 |10 |9 |19 |11 | |19 | |9 | |8 |19 |8 |11 |17 | |20 | |14 | |9 |19 |19 |20 |13 | |12 | |19 | |13 |17 |9 |5 |1 |2 | | |
Ch40 |18 | |18 | |18 | |18 |18 |13 |20 | |13 | |19 | |16 |11 |14 |17 |17 | |14 | |8 | |13 |8 |10 |20 |10 | |9 | |14 | |11 |14 |17 |9 |20 | |15 | |19 | |9 |8 |11 |3 |1 |1 | | |
Ch44 |18 | |18 | |18 | |18 |18 |10 |14 | |19 | |20 | |17 |16 |12 |18 |8 | |17 | |18 | |15 |19 |14 |11 |13 | |14 | |12 | |16 |16 |19 |13 |14 | |19 | |14 | |20 |20 |11 |5 |1 |0 | | |
Ch48 |18 | |18 | |18 | |18 |18 |8 |12 | |12 | |19 | |11 |8 |11 |20 |12 | |12 | |11 | |15 |16 |10 |12 |16 | |11 | |15 | |18 |19 |17 |16 |17 | |11 | |8 | |10 |16 |16 |5 |5 |0 | | |
Ch52 |18 | |18 | |18 | |18 |18 |15 |12 | |15 | |20 | |9 |10 |10 |14 |8 | |20 | |10 | |16 |17 |18 |11 |16 | |17 | |10 | |17 |12 |13 |17 |17 | |13 | |18 | |18 |20 |13 |4 |3 |4 | | |
Ch56 |18 | |18 | |18 | |18 |18 |13 |16 | |15 | |13 | |15 |20 |13 |14 |11 | |10 | |20 | |10 |8 |16 |12 |10 | |16 | |11 | |9 |11 |14 |17 |12 | |17 | |13 | |18 |10 |19 |0 |3 |3 | | |
Ch60 |18 | |18 | |18 | |18 |18 |14 |11 | |8 | |20 | |13 |16 |13 |11 |20 | |9 | |17 | |16 |11 |8 |12 |17 | |15 | |8 | |16 |10 |20 |19 |15 | |13 | |9 | |17 |18 |11 |4 |1 |2 | | |
Ch64 |18 | |18 | |18 | |18 |18 |13 |14 | |8 | |12 | |17 |8 |12 |18 |17 | |17 | |14 | |18 |8 |8 |20 |17 | |16 | |20 | |9 |15 |11 |10 |11 | |18 | |10 | |10 |15 |19 |2 |1 |4 | | |
Ch68 |18 | |18 | |18 | |18 |18 |14 |19 | |17 | |9 | |18 |19 |20 |12 |14 | |8 | |14 | |20 |20 |18 |9 |18 | |11 | |19 | |19 |10 |11 |8 |18 | |9 | |8 | |16 |11 |8 |3 |3 |1 | | |
Ch72 |18 | |18 | |18 | |18 |18 |19 |13 | |20 | |11 | |16 |9 |19 |20 |19 | |14 | |8 | |9 |17 |13 |19 |15 | |8 | |9 | |19 |14 |19 |15 |18 | |16 | |12 | |13 |15 |10 |4 |3 |1 | | |
Ch76 |18 | |18 | |18 | |18 |18 |17 |13 | |16 | |20 | |16 |8 |9 |20 |11 | |17 | |11 | |8 |18 |9 |20 |9 | |17 | |16 | |11 |11 |11 |18 |10 | |13 | |W | |20 |17 |8 |1 |3 |3 | | |
Ch80 |18 | |18 | |18 | |18 |18 |14 |20 | |13 | |13 | |17 |8 |10 |16 |8 | |9 | |19 | |16 |17 |17 |19 |15 | |9 | |13 | |16 |13 |14 |12 |9 | |20 | |20 | |14 |18 |18 |0 |4 |2 | | |
Ch84 |18 | |18 | |18 | |18 |18 |11 |18 | |20 | |9 | |13 |14 |11 |16 |15 | |12 | |11 | |9 |19 |13 |11 |11 | |9 | |15 | |16 |18 |13 |12 |8 | |8 | |8 | |10 |12 |15 |3 |2 |5 | | |
Ch88 |18 | |18 | |18 | |18 |18 |18 |19 | |9 | |17 | |15 |8 |19 |11 |11 | |14 | |9 | |14 |20 |20 |11 |11 | |15 | |12 | |14 |11 |8 |18 |15 | |19 | |18 | |12 |20 |16 |5 |5 |1 | | |
Ch92 |18 | |18 | |18 | |18 |18 |11 |8 | |15 | |13 | |13 |13 |13 |16 |14 | |14 | |9 | |9 |15 |20 |11 |17 | |10 | |14 | |13 |17 |11 |8 |18 | |20 | |8 | |10 |19 |18 |1 |4 |4 | | |
Ch96 |18 | |18 | |18 | |18 |18 |8 |12 | |16 | |9 | |13 |12 |9 |8 |11 | |8 | |8 | |19 |11 |15 |16 |8 | |11 | |16 | |18 |16 |9 |19 |9 | |10 | |15 | |19 |19 |15 |4 |2 |4 | | |
Ch100 |18 | |18 | |18 | |18 |18 |18 |13 | |20 | |20 | |12 |9 |19 |10 |9 | |14 | |8 | |19 |10 |17 |9 |10 | |10 | |8 | |13 |12 |11 |20 |11 | |16 | |18 | |14 |16 |19 |1 |1 |2 | | |
Ch104 |18 | |18 | |18 | |18 |18 |19 |12 | |20 | |14 | |16 |15 |9 |19 |11 | |15 | |11 | |12 |18 |15 |11 |15 | |19 | |10 | |14 |15 |19 |9 |13 | |19 | |13 | |11 |11 |17 |2 |2 |0 | | |
Ch108 |18 | |18 | |18 | |18 |18 |18 |15 | |13 | |16 | |11 |19 |19 |18 |19 | |12 | |17 | |8 |9 |10 |8 |8 | |18 | |8 | |10 |11 |17 |15 |10 | |19 | |13 | |16 |10 |15 |0 |2 |3 | | |
Ch112 |18 | |18 | |18 | |18 |18 |8 |13 | |9 | |17 | |9 |15 |17 |10 |19 | |9 | |19 | |11 |16 |14 |16 |8 | |18 | |13 | |16 |13 |17 |19 |11 | |8 | |8 | |18 |14 |17 |5 |2 |5 | | |
Ch116 |18 | |18 | |18 | |18 |18 |8 |20 | |11 | |15 | |8 |11 |8 |18 |15 | |13 | |17 | |14 |13 |9 |8 |14 | |14 | |11 | |9 |19 |17 |11 |11 | |8 | |20 | |8 |10 |20 |5 |2 |1 | | |
Ch120 |18 | |18 | |18 | |18 |18 |14 |20 | |8 | |20 | |14 |10 |10 |17 |12 | |16 | |20 | |10 |20 |17 |18 |9 | |15 | |14 | |17 |13 |14 |16 |8 | |18 | |10 | |15 |12 |12 |1 |5 |3 | | |
Ch124 |18 | |18 | |18 | |18 |18 |20 |9 | |17 | |12 | |12 |8 |14 |8 |8 | |20 | |17 | |16 |20 |13 |14 |16 | |10 | |14 | |20 |15 |17 |8 |10 | |13 | |13 | |11 |13 |9 |5 |0 |5 | | |
Ch128 |18 | |18 | |18 | |18 |18 |9 |19 | |9 | |14 | |8 |14 |11 |9 |14 | |16 | |15 | |14 |10 |15 |14 |14 | |20 | |10 | |16 |15 |11 |12 |13 | |13 | |13 | |12 |15 |20 |1 |4 |3 | | |
Ch132 |18 | |18 | |18 | |18 |18 |20 |16 | |13 | |8 | |18 |11 |20 |12 |11 | |11 | |14 | |12 |13 |8 |12 |13 | |10 | |20 | |19 |12 |13 |14 |12 | |11 | |19 | |19 |20 |8 |3 |1 |4 | | |
Ch136 |18 | |18 | |18 | |18 |18 |12 |12 | |19 | |10 | |20 |10 |8 |17 |8 | |12 | |10 | |10 |13 |13 |12 |8 | |11 | |18 | |14 |12 |17 |8 |14 | |14 | |9 | |11 |18 |14 |1 |2 |2 | | |
Ch140 |18 | |18 | |18 | |18 |18 |12 |10 | |13 | |9 | |16 |8 |20 |10 |17 | |8 | |15 | |13 |20 |15 |10 |18 | |13 | |12 | |12 |16 |18 |12 |17 | |10 | |16 | |11 |15 |14 |3 |2 |5 | | |
Ch144 |18 | |18 | |18 | |18 |18 |19 |9 | |15 | |8 | |13 |18 |17 |9 |19 | |16 | |11 | |20 |12 |15 |19 |10 | |17 | |15 | |17 |14 |9 |9 |13 | |17 | |16 | |10 |9 |10 |1 |5 |2 | | |
Ch149 |18 | |18 | |18 | |18 |18 |15 |20 | |12 | |19 | |19 |19 |10 |10 |13 | |15 | |19 | |12 |19 |10 |14 |15 | |10 | |15 | |9 |8 |11 |15 |13 | |10 | |16 | |15 |18 |12 |5 |5 |2 | | |
Ch153 |18 | |18 | |18 | |18 |18 |20 |17 | |8 | |19 | |16 |20 |13 |16 |18 | |14 | |11 | |10 |16 |16 |19 |15 | |13 | |17 | |19 |18 |19 |20 |8 | |18 | |9 | |17 |11 |11 |1 |2 |1 | | |
Ch157 |18 | |18 | |18 | |18 |18 |13 |17 | |12 | |19 | |16 |8 |17 |11 |12 | |15 | |14 | |18 |11 |12 |9 |18 | |20 | |13 | |16 |13 |20 |17 |19 | |10 | |12 | |20 |18 |16 |5 |2 |3 | | |
Ch161 |18 | |18 | |18 | |18 |18 |12 |12 | |16 | |12 | |15 |11 |18 |11 |13 | |17 | |19 | |11 |13 |13 |9 |15 | |10 | |10 | |19 |13 |20 |13 |9 | |8 | |8 | |20 |14 |12 |0 |4 |1 | | |
Ch165 |18 | |18 | |18 | |18 |18 |13 |16 | |15 | |13 | |15 |8 |19 |15 |10 | |17 | |13 | |13 |19 |20 |8 |18 | |15 | |20 | |16 |9 |14 |11 |20 | |11 | |19 | |15 |16 |8 |1 |2 |0 | | |
Ch169 |18 | |18 | |18 | |18 |18 |8 |17 | |17 | |13 | |16 |8 |14 |18 |11 | |8 | |18 | |20 |14 |8 |17 |8 | |13 | |18 | |19 |20 |19 |20 |17 | |13 | |20 | |9 |15 |18 |0 |3 |4 | | |
Ch173 |18 | |18 | |18 | |18 |18 |14 |9 | |13 | |12 | |15 |14 |15 |10 |10 | |18 | |16 | |16 |8 |13 |16 |11 | |11 | |13 | |13 |15 |12 |20 |15 | |14 | |13 | |16 |11 |14 |3 |3 |4 | | |
Ch177 |18 | |18 | |18 | |18 |18 |19 |18 | |16 | |10 | |20 |13 |11 |16 |12 | |16 | |18 | |18 |11 |18 |8 |13 | |14 | |11 | |18 |14 |16 |16 |19 | |16 | |13 | |15 |8 |13 |5 |0 |0 | | |
Ch181 |18 | |18 | |18 | |18 |18 |20 |11 | |10 | |9 | |8 |9 |15 |15 |8 | |8 | |12 | |11 |9 |18 |20 |11 | |17 | |11 | |8 |15 |8 |18 |12 | |18 | |16 | |19 |9 |14 |4 |1 |4 | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

View File

@ -1,191 +1,157 @@
#The word of "Default" must not be removed
Default
CountryRegion=5
CountryRegionABand=7
CountryCode=US
AccessControlList0=
AccessControlList1=
AccessControlList10=
AccessControlList11=
AccessControlList12=
AccessControlList13=
AccessControlList14=
AccessControlList15=
AccessControlList2=
AccessControlList3=
AccessControlList4=
AccessControlList5=
AccessControlList6=
AccessControlList7=
AccessControlList8=
AccessControlList9=
AccessPolicy0=0
AccessPolicy1=0
AccessPolicy10=0
AccessPolicy11=0
AccessPolicy12=0
AccessPolicy13=0
AccessPolicy14=0
AccessPolicy15=0
AccessPolicy2=0
AccessPolicy3=0
AccessPolicy4=0
AccessPolicy5=0
AccessPolicy6=0
AccessPolicy7=0
AccessPolicy8=0
AccessPolicy9=0
AckPolicy=0;0;0;0
APACM=0;0;0;0
APAifsn=3;7;1;1
ApCliAuthMode=
ApCliBssid=
ApCliDefaultKeyID=
ApCliEnable=
ApCliKey1Str=
ApCliKey1Str1=
ApCliKey1Type=
ApCliKey2Str=
ApCliKey2Str1=
ApCliKey2Type=
ApCliKey3Str=
ApCliKey3Str1=
ApCliKey3Type=
ApCliKey4Str=
ApCliKey4Str1=
ApCliKey4Type=
ApCliSsid=
ApCliWirelessMode=
ApCliWPAPSK=
ApCliWPAPSK1=
APCwmax=6;10;4;3
APCwmin=4;4;3;2
APSDCapable=1
APTxop=0;0;94;47
AuthMode=OPEN
AutoChannelSelect=3
AutoChannelSkipList=
DBDC_MODE=1
IcapMode=0
BssidNum=1
SSID=
SSID1=wifi-mt7615.3.2G
SSID2=
SSID3=
SSID4=
SSID5=
SSID6=
SSID7=
SSID8=
SSID9=
SSID10=
SSID11=
SSID12=
SSID13=
SSID14=
SSID15=
SSID16=
RRMEnable=0
FtSupport=0
ChannelGrp=
WirelessMode=9
FixedTxMode=HT
EthConvertMode=dongle
TxRate=0
Channel=6
AutoProvisionEn=0
BandSteering=0
BasicRate=15
BeaconPeriod=100
DtimPeriod=1
TxPower=100
LinkTestSupport=0
ThermalRecal=0
SKUenable=0
PERCENTAGEenable=1
BFBACKOFFenable=0
CalCacheApply=0
DisableOLBC=0
BgndScanSkipCh=
BGProtection=0
TxAntenna=
RxAntenna=
TxPreamble=1
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=1
AutoProvisionEn=0
FreqDelta=0
TurboRate=0
WmmCapable=1
APAifsn=3;7;1;1
APCwmin=4;4;3;2
APCwmax=6;10;4;3
APTxop=0;0;94;47
APACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmin=4;4;3;2
BSSCwmax=10;10;4;3
BSSTxop=0;0;94;47
BndStrgBssIdx=
BSSACM=0;0;0;0
AckPolicy=0;0;0;0
APSDCapable=0
DLSCapable=0
NoForwarding=0
NoForwardingBTNBSSID=0
HideSSID=0
ShortSlot=1
AutoChannelSelect=0
IEEE8021X=0
IEEE80211H=1
BSSAifsn=3;7;2;2
BSSCwmax=10;10;4;3
BSSCwmin=4;4;3;2
BssidNum=1
BSSTxop=0;0;94;47
BW_Enable=0
BW_Guarantee_Rate=
BW_Maximum_Rate=
BW_Priority=
BW_Root=0
CalCacheApply=0
CarrierDetect=0
ITxBfEn=0
PreAntSwitch=
PhyRateLimit=0
DebugFlags=0
ETxBfEnCond=0
MUTxRxEnable=0
ITxBfTimeout=0
ETxBfTimeout=0
ETxBfNoncompress=0
ETxBfIncapable=0
FineAGC=0
StreamMode=0
StreamModeMac0=
StreamModeMac1=
StreamModeMac2=
StreamModeMac3=
Channel=0
ChannelGrp=
CountryCode=US
CountryRegion=5
CountryRegionABand=7
CP_SUPPORT=2
CSPeriod=6
RDRegion=
StationKeepAlive=0
DBDC_MODE=0
DebugFlags=0
DefaultKeyID=1
DfsCalibration=0
DfsEnable=0
DfsApplyStopWifi=0
DfsFalseAlarmPrevent=1
DfsZeroWait=0
DfsZeroWaitCacTime=255
DfsLowerLimit=0
DfsUpperLimit=0
DfsOutdoor=0
SymRoundFromCfg=0
BusyIdleFromCfg=0
DfsRssiHighFromCfg=0
DfsRssiLowFromCfg=0
DFSParamFromConfig=0
FCCParamCh0=
FCCParamCh1=
FCCParamCh2=
FCCParamCh3=
CEParamCh0=
CEParamCh1=
CEParamCh2=
CEParamCh3=
JAPParamCh0=
JAPParamCh1=
JAPParamCh2=
JAPParamCh3=
JAPW53ParamCh0=
JAPW53ParamCh1=
JAPW53ParamCh2=
JAPW53ParamCh3=
FixDfsLimit=0
LongPulseRadarTh=0
AvgRssiReq=0
DFS_R66=0
BlockCh=
GreenAP=0
PreAuth=0
AuthMode=OPEN
DisableOLBC=0
DtimPeriod=1
E2pAccessMode=2
EAPifname=br-lan
EDCCAEnable=1
EncrypType=NONE
WapiPsk1=
WapiPsk2=
WapiPsk3=
WapiPsk4=
WapiPsk5=
WapiPsk6=
WapiPsk7=
WapiPsk8=
WapiPsk9=
WapiPsk10=
WapiPsk11=
WapiPsk12=
WapiPsk13=
WapiPsk14=
WapiPsk15=
WapiPsk16=
WapiPskType=
Wapiifname=
WapiAsCertPath=
WapiUserCertPath=
WapiAsIpAddr=
WapiAsPort=
RekeyMethod=DISABLE
RekeyInterval=3600
PMKCachePeriod=10
MeshAutoLink=0
MeshAuthMode=
MeshEncrypType=
MeshDefaultkey=0
MeshWEPKEY=
MeshWPAKEY=
MeshId=
WPAPSK=
WPAPSK1=12345678
WPAPSK2=
WPAPSK3=
WPAPSK4=
WPAPSK5=
WPAPSK6=
WPAPSK7=
WPAPSK8=
WPAPSK9=
WPAPSK10=
WPAPSK11=
WPAPSK12=
WPAPSK13=
WPAPSK14=
WPAPSK15=
WPAPSK16=
DefaultKeyID=1
Key1Type=0
EthConvertMode=dongle
EtherTrafficBand=0
Ethifname=
ETxBfEnCond=1
FineAGC=0
FixedTxMode=
ForceRoamSupport=
FragThreshold=2346
FreqDelta=0
FtSupport=0
GreenAP=1
G_BAND_256QAM=1
HideSSID=0
HT_AMSDU=1
HT_AutoBA=1
HT_BADecline=0
HT_BAWinSize=64
HT_BSSCoexistence=1
HT_BW=1
HT_DisallowTKIP=1
HT_EXTCHA=1
HT_GI=1
HT_HTC=1
HT_LDPC=1
HT_LinkAdapt=0
HT_MCS=33
HT_MpduDensity=5
HT_OpMode=0
HT_PROTECT=1
HT_RDG=0
HT_RxStream=4
HT_STBC=1
HT_TxStream=4
IcapMode=0
idle_timeout_interval=0
IEEE80211H=1
IEEE8021X=0
IgmpSnEnable=0
ITxBfEn=1
Key1Str=
Key1Str1=
Key1Str10=
Key1Str11=
Key1Str12=
Key1Str13=
Key1Str14=
Key1Str15=
Key1Str16=
Key1Str2=
Key1Str3=
Key1Str4=
@ -194,16 +160,16 @@ Key1Str6=
Key1Str7=
Key1Str8=
Key1Str9=
Key1Str10=
Key1Str11=
Key1Str12=
Key1Str13=
Key1Str14=
Key1Str15=
Key1Str16=
Key2Type=0
Key1Type=0
Key2Str=
Key2Str1=
Key2Str10=
Key2Str11=
Key2Str12=
Key2Str13=
Key2Str14=
Key2Str15=
Key2Str16=
Key2Str2=
Key2Str3=
Key2Str4=
@ -212,16 +178,16 @@ Key2Str6=
Key2Str7=
Key2Str8=
Key2Str9=
Key2Str10=
Key2Str11=
Key2Str12=
Key2Str13=
Key2Str14=
Key2Str15=
Key2Str16=
Key3Type=0
Key2Type=0
Key3Str=
Key3Str1=
Key3Str10=
Key3Str11=
Key3Str12=
Key3Str13=
Key3Str14=
Key3Str15=
Key3Str16=
Key3Str2=
Key3Str3=
Key3Str4=
@ -230,16 +196,16 @@ Key3Str6=
Key3Str7=
Key3Str8=
Key3Str9=
Key3Str10=
Key3Str11=
Key3Str12=
Key3Str13=
Key3Str14=
Key3Str15=
Key3Str16=
Key4Type=0
Key3Type=0
Key4Str=
Key4Str1=
Key4Str10=
Key4Str11=
Key4Str12=
Key4Str13=
Key4Str14=
Key4Str15=
Key4Str16=
Key4Str2=
Key4Str3=
Key4Str4=
@ -248,87 +214,51 @@ Key4Str6=
Key4Str7=
Key4Str8=
Key4Str9=
Key4Str10=
Key4Str11=
Key4Str12=
Key4Str13=
Key4Str14=
Key4Str15=
Key4Str16=
HSCounter=0
HT_HTC=1
HT_RDG=1
HT_LinkAdapt=0
HT_OpMode=0
HT_MpduDensity=5
HT_EXTCHA=1
HT_BW=1
HT_AutoBA=1
HT_BADecline=0
HT_AMSDU=1
HT_BAWinSize=64
HT_GI=1
HT_STBC=1
HT_MCS=33
HT_TxStream=2
HT_RxStream=2
HT_PROTECT=1
HT_DisallowTKIP=1
HT_BSSCoexistence=0
HT_LDPC=1
VHT_BW=0
VHT_Sec80_Channel=0
VHT_STBC=0
VHT_SGI=0
VHT_BW_SIGNAL=0
VHT_LDPC=0
G_BAND_256QAM=1
WscConfMode=0
WscConfStatus=2
WCNTest=0
AccessPolicy0=0
AccessControlList0=
AccessPolicy1=0
AccessControlList1=
AccessPolicy2=0
AccessControlList2=
AccessPolicy3=0
AccessControlList3=
AccessPolicy4=0
AccessControlList4=
AccessPolicy5=0
AccessControlList5=
AccessPolicy6=0
AccessControlList6=
AccessPolicy7=0
AccessControlList7=
AccessPolicy8=0
AccessControlList8=
AccessPolicy9=0
AccessControlList9=
AccessPolicy10=0
AccessControlList10=
AccessPolicy11=0
AccessControlList11=
AccessPolicy12=0
AccessControlList12=
AccessPolicy13=0
AccessControlList13=
AccessPolicy14=0
AccessControlList14=
AccessPolicy15=0
AccessControlList15=
WdsEnable=0
WdsPhyMode=
WdsEncrypType=NONE
WdsList=
Wds0Key=
Wds1Key=
Wds2Key=
Wds3Key=
RADIUS_Server=0
RADIUS_Port=1812
Key4Type=0
LinkTestSupport=0
MACRepeaterEn=
MACRepeaterOuiMode=2
MeshAuthMode=
MeshAutoLink=0
MeshDefaultkey=0
MeshEncrypType=
MeshId=
MeshWEPKEY=
MeshWPAKEY=
MUTxRxEnable=0
NoForwarding=0
NoForwardingBTNBSSID=0
own_ip_addr=192.168.1.1
PcieAspm=0
PERCENTAGEenable=0
PhyRateLimit=0
PMFMFPC=1
PMFMFPR=0
PMFSHA256=0
PMKCachePeriod=10
PowerUpCckOfdm=0:0:0:0:0:0:0
PowerUpHT20=0:0:0:0:0:0:0
PowerUpHT40=0:0:0:0:0:0:0
PowerUpVHT160=0:0:0:0:0:0:0
PowerUpVHT20=0:0:0:0:0:0:0
PowerUpVHT40=0:0:0:0:0:0:0
PowerUpVHT80=0:0:0:0:0:0:0
PreAntSwitch=
PreAuth=0
PreAuthifname=br-lan
RadioLinkSelection=0
RadioOn=1
RADIUS_Acct_Key=
RADIUS_Acct_Port=1813
RADIUS_Acct_Server=
RADIUS_Key1=
RADIUS_Key10=
RADIUS_Key11=
RADIUS_Key12=
RADIUS_Key13=
RADIUS_Key14=
RADIUS_Key15=
RADIUS_Key16=
RADIUS_Key2=
RADIUS_Key3=
RADIUS_Key4=
@ -337,96 +267,144 @@ RADIUS_Key6=
RADIUS_Key7=
RADIUS_Key8=
RADIUS_Key9=
RADIUS_Key10=
RADIUS_Key11=
RADIUS_Key12=
RADIUS_Key13=
RADIUS_Key14=
RADIUS_Key15=
RADIUS_Key16=
RADIUS_Acct_Server=
RADIUS_Acct_Port=1813
RADIUS_Acct_Key=
own_ip_addr=10.10.10.254
Ethifname=
EAPifname=br0
PreAuthifname=br0
RADIUS_Port=1812
RADIUS_Server=0
RDRegion=
RED_Enable=1
RekeyInterval=3600
RekeyMethod=DISABLE
RRMEnable=0
RTSThreshold=2347
session_timeout_interval=0
idle_timeout_interval=0
WiFiTest=0
ShortSlot=1
SKUenable=0
SSID=
SSID1=WITHUSP-5.0
SSID10=
SSID11=
SSID12=
SSID13=
SSID14=
SSID15=
SSID16=
SSID2=
SSID3=
SSID4=
SSID5=
SSID6=
SSID7=
SSID8=
SSID9=
StationKeepAlive=0
StreamMode=0
StreamModeMac0=
StreamModeMac1=
StreamModeMac2=
StreamModeMac3=
TGnWifiTest=0
ApCliEnable=
ApCliSsid=
ApCliBssid=
ApCliAuthMode=
ApCliEncrypType=
ApCliWPAPSK=
ApCliDefaultKeyID=
ApCliKey1Type=
ApCliKey1Str=
ApCliKey2Type=
ApCliKey2Str=
ApCliKey3Type=
ApCliKey3Str=
ApCliKey4Type=
ApCliKey4Str=
MACRepeaterEn=
MACRepeaterOuiMode=2
ApCliWirelessMode=9
ApCliWPAPSK1=
ApCliKey1Str1=
ApCliKey2Str1=
ApCliKey3Str1=
ApCliKey4Str1=
EfuseBufferMode=0
E2pAccessMode=1
PMFMFPC=0
PMFMFPR=0
PMFSHA256=0
RadioOn=1
BW_Enable=0
BW_Root=0
BW_Priority=
BW_Guarantee_Rate=
BW_Maximum_Rate=
VOW_BW_Ctrl=
ThermalRecal=0
TxBurst=1
TxPower=100
TxPreamble=1
VHT_BW=1
VHT_BW_SIGNAL=0
VHT_LDPC=1
VHT_Sec80_Channel=0
VHT_SGI=1
VHT_STBC=1
VLANID=0
VLANPriority=0
VLANTag=0
VOW_Airtime_Ctrl_En=0
VOW_Airtime_Fairness_En=1
VOW_RX_En=
VOW_BW_Ctrl=0
VOW_Group_Backlog=
VOW_Group_DWRR_Max_Wait_Time=
VOW_Group_DWRR_Quantum=
VOW_Group_Max_Airtime_Bucket_Size=
VOW_Group_Max_Rate=
VOW_Group_Max_Rate_Bucket_Size=
VOW_Group_Max_Ratio=
VOW_Group_Max_Wait_Time=
VOW_Group_Min_Airtime_Bucket_Size=
VOW_Group_Min_Rate=
VOW_Group_Min_Rate_Bucket_Size=
VOW_Group_Min_Ratio=
VOW_Rate_Ctrl_En=0
VOW_Refill_Period=
VOW_Sta_VO_DWRR_Quantum=
VOW_Sta_VI_DWRR_Quantum=
VOW_RX_En=1
VOW_Sta_BE_DWRR_Quantum=
VOW_Sta_BK_DWRR_Quantum=
VOW_WMM_Search_Rule_Band0=
VOW_WMM_Search_Rule_Band1=
VOW_Sta_DWRR_Max_Wait_Time=
VOW_Group_DWRR_Max_Wait_Time=
VOW_Group_Min_Rate=
VOW_Group_Max_Rate=
VOW_Group_Min_Ratio=
VOW_Group_Max_Ratio=
VOW_Airtime_Ctrl_En=
VOW_Rate_Ctrl_En=
VOW_Group_Min_Rate_Bucket_Size=
VOW_Group_Max_Rate_Bucket_Size=
VOW_Group_Min_Airtime_Bucket_Size=
VOW_Group_Max_Airtime_Bucket_Size=
VOW_Group_Backlog=
VOW_Group_Max_Wait_Time=
VOW_Group_DWRR_Quantum=
VOW_Sta_VI_DWRR_Quantum=
VOW_Sta_VO_DWRR_Quantum=
VOW_WATF_Enable=
VOW_WATF_Q_LV0=
VOW_WATF_Q_LV1=
VOW_WATF_Q_LV2=
VOW_WATF_Q_LV3=
VOW_WATF_MAC_LV0=
VOW_WATF_MAC_LV1=
VOW_WATF_MAC_LV2=
VOW_WATF_MAC_LV3=
RED_Enable=1
CP_SUPPORT=2
BgndScanSkipCh=
EDCCAEnable=1
BandSteering=0
BndStrgBssIdx=
RadioLinkSelection=0
VOW_WATF_Q_LV0=
VOW_WATF_Q_LV1=
VOW_WATF_Q_LV2=
VOW_WATF_Q_LV3=
VOW_WMM_Search_Rule_Band0=
VOW_WMM_Search_Rule_Band1=
WapiAsCertPath=
WapiAsIpAddr=
WapiAsPort=
Wapiifname=
WapiPsk1=
WapiPsk10=
WapiPsk11=
WapiPsk12=
WapiPsk13=
WapiPsk14=
WapiPsk15=
WapiPsk16=
WapiPsk2=
WapiPsk3=
WapiPsk4=
WapiPsk5=
WapiPsk6=
WapiPsk7=
WapiPsk8=
WapiPsk9=
WapiPskType=
WapiUserCertPath=
WCNTest=0
Wds0Key=
Wds1Key=
Wds2Key=
Wds3Key=
WdsEnable=0
WdsEncrypType=NONE
WdsList=
WdsPhyMode=0
WHNAT=1
WiFiTest=0
WirelessMode=14
WmmCapable=1
WPAPSK=
WPAPSK1=12345678
WPAPSK10=
WPAPSK11=
WPAPSK12=
WPAPSK13=
WPAPSK14=
WPAPSK15=
WPAPSK16=
WPAPSK2=
WPAPSK3=
WPAPSK4=
WPAPSK5=
WPAPSK6=
WPAPSK7=
WPAPSK8=
WPAPSK9=
WscConfMode=0
WscConfStatus=2
WEP1Type1=0
WEP2Type1=0
WEP3Type1=0
WEP4Type1=0
WPSRadio=0

View File

@ -1,198 +1,158 @@
#The word of "Default" must not be removed
Default
CountryRegion=5
CountryRegionABand=7
CountryCode=US
AccessControlList0=
AccessControlList1=
AccessControlList10=
AccessControlList11=
AccessControlList12=
AccessControlList13=
AccessControlList14=
AccessControlList15=
AccessControlList2=
AccessControlList3=
AccessControlList4=
AccessControlList5=
AccessControlList6=
AccessControlList7=
AccessControlList8=
AccessControlList9=
AccessPolicy0=0
AccessPolicy1=0
AccessPolicy10=0
AccessPolicy11=0
AccessPolicy12=0
AccessPolicy13=0
AccessPolicy14=0
AccessPolicy15=0
AccessPolicy2=0
AccessPolicy3=0
AccessPolicy4=0
AccessPolicy5=0
AccessPolicy6=0
AccessPolicy7=0
AccessPolicy8=0
AccessPolicy9=0
AckPolicy=0;0;0;0
APACM=0;0;0;0
APAifsn=3;7;1;1
ApCliAuthMode=
ApCliBssid=
ApCliDefaultKeyID=
ApCliEnable=
ApCliEncrypType=
ApCliKey1Str=
ApCliKey1Str1=
ApCliKey1Type=
ApCliKey2Str=
ApCliKey2Str1=
ApCliKey2Type=
ApCliKey3Str=
ApCliKey3Str1=
ApCliKey3Type=
ApCliKey4Str=
ApCliKey4Str1=
ApCliKey4Type=
ApCliSsid=
ApCliWirelessMode=
ApCliWPAPSK=
ApCliWPAPSK1=
APCwmax=6;10;4;3
APCwmin=4;4;3;2
APSDCapable=1
APTxop=0;0;94;47
AuthMode=OPEN
AutoChannelSelect=3
AutoChannelSkipList=
DBDC_MODE=1
IcapMode=0
BssidNum=1
SSID=
SSID1=wifi-mt7615.2.2G
SSID2=
SSID3=
SSID4=
SSID5=
SSID6=
SSID7=
SSID8=
SSID9=
SSID10=
SSID11=
SSID12=
SSID13=
SSID14=
SSID15=
SSID16=
RRMEnable=0
FtSupport=0
ChannelGrp=
WirelessMode=9
FixedTxMode=HT
EthConvertMode=dongle
TxRate=0
Channel=6
AutoProvisionEn=0
BandSteering=0
BasicRate=15
BeaconPeriod=100
DtimPeriod=1
TxPower=100
LinkTestSupport=0
ThermalRecal=0
PowerUpCckOfdm=0:0:0:0:0:0:0
PowerUpHT20=0:0:0:0:0:0:0
PowerUpHT40=0:0:0:0:0:0:0
PowerUpVHT20=0:0:0:0:0:0:0
PowerUpVHT40=0:0:0:0:0:0:0
PowerUpVHT80=0:0:0:0:0:0:0
PowerUpVHT160=0:0:0:0:0:0:0
SKUenable=0
PERCENTAGEenable=1
BFBACKOFFenable=0
CalCacheApply=0
DisableOLBC=0
BgndScanSkipCh=
BGProtection=0
TxAntenna=
RxAntenna=
TxPreamble=1
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=1
AutoProvisionEn=0
FreqDelta=0
TurboRate=0
WmmCapable=1
APAifsn=3;7;1;1
APCwmin=4;4;3;2
APCwmax=6;10;4;3
APTxop=0;0;94;47
APACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmin=4;4;3;2
BSSCwmax=10;10;4;3
BSSTxop=0;0;94;47
BndStrgBssIdx=
BSSACM=0;0;0;0
AckPolicy=0;0;0;0
APSDCapable=0
DLSCapable=0
NoForwarding=0
NoForwardingBTNBSSID=0
HideSSID=0
ShortSlot=1
AutoChannelSelect=0
IEEE8021X=0
IEEE80211H=1
BSSAifsn=3;7;2;2
BSSCwmax=10;10;4;3
BSSCwmin=4;4;3;2
BssidNum=1
BSSTxop=0;0;94;47
BW_Enable=0
BW_Guarantee_Rate=
BW_Maximum_Rate=
BW_Priority=
BW_Root=0
CalCacheApply=0
CarrierDetect=0
ITxBfEn=0
PreAntSwitch=
PhyRateLimit=0
DebugFlags=0
ETxBfEnCond=0
MUTxRxEnable=0
ITxBfTimeout=0
ETxBfTimeout=0
ETxBfNoncompress=0
ETxBfIncapable=0
FineAGC=0
StreamMode=0
StreamModeMac0=
StreamModeMac1=
StreamModeMac2=
StreamModeMac3=
Channel=0
ChannelGrp=
CountryCode=US
CountryRegion=5
CountryRegionABand=7
CP_SUPPORT=2
CSPeriod=6
RDRegion=
StationKeepAlive=0
DBDC_MODE=0
DebugFlags=0
DefaultKeyID=1
DfsCalibration=0
DfsEnable=0
DfsApplyStopWifi=0
DfsFalseAlarmPrevent=1
DfsZeroWait=0
DfsZeroWaitCacTime=255
DfsLowerLimit=0
DfsUpperLimit=0
DfsOutdoor=0
SymRoundFromCfg=0
BusyIdleFromCfg=0
DfsRssiHighFromCfg=0
DfsRssiLowFromCfg=0
DFSParamFromConfig=0
FCCParamCh0=
FCCParamCh1=
FCCParamCh2=
FCCParamCh3=
CEParamCh0=
CEParamCh1=
CEParamCh2=
CEParamCh3=
JAPParamCh0=
JAPParamCh1=
JAPParamCh2=
JAPParamCh3=
JAPW53ParamCh0=
JAPW53ParamCh1=
JAPW53ParamCh2=
JAPW53ParamCh3=
FixDfsLimit=0
LongPulseRadarTh=0
AvgRssiReq=0
DFS_R66=0
BlockCh=
GreenAP=0
PreAuth=0
AuthMode=OPEN
DisableOLBC=0
DtimPeriod=1
E2pAccessMode=1
EAPifname=br-lan
EDCCAEnable=1
EncrypType=NONE
WapiPsk1=
WapiPsk2=
WapiPsk3=
WapiPsk4=
WapiPsk5=
WapiPsk6=
WapiPsk7=
WapiPsk8=
WapiPsk9=
WapiPsk10=
WapiPsk11=
WapiPsk12=
WapiPsk13=
WapiPsk14=
WapiPsk15=
WapiPsk16=
WapiPskType=
Wapiifname=
WapiAsCertPath=
WapiUserCertPath=
WapiAsIpAddr=
WapiAsPort=
RekeyMethod=DISABLE
RekeyInterval=3600
PMKCachePeriod=10
MeshAutoLink=0
MeshAuthMode=
MeshEncrypType=
MeshDefaultkey=0
MeshWEPKEY=
MeshWPAKEY=
MeshId=
WPAPSK=
WPAPSK1=12345678
WPAPSK2=
WPAPSK3=
WPAPSK4=
WPAPSK5=
WPAPSK6=
WPAPSK7=
WPAPSK8=
WPAPSK9=
WPAPSK10=
WPAPSK11=
WPAPSK12=
WPAPSK13=
WPAPSK14=
WPAPSK15=
WPAPSK16=
DefaultKeyID=1
Key1Type=0
EthConvertMode=dongle
EtherTrafficBand=0
Ethifname=
ETxBfEnCond=1
FineAGC=0
FixedTxMode=
ForceRoamSupport=
FragThreshold=2346
FreqDelta=0
FtSupport=0
GreenAP=1
G_BAND_256QAM=1
HideSSID=0
HT_AMSDU=1
HT_AutoBA=1
HT_BADecline=0
HT_BAWinSize=64
HT_BSSCoexistence=1
HT_BW=1
HT_DisallowTKIP=1
HT_EXTCHA=1
HT_GI=1
HT_HTC=1
HT_LDPC=1
HT_LinkAdapt=0
HT_MCS=33
HT_MpduDensity=5
HT_OpMode=0
HT_PROTECT=1
HT_RDG=0
HT_RxStream=4
HT_STBC=1
HT_TxStream=4
IcapMode=0
idle_timeout_interval=0
IEEE80211H=1
IEEE8021X=0
IgmpSnEnable=0
ITxBfEn=1
Key1Str=
Key1Str1=
Key1Str10=
Key1Str11=
Key1Str12=
Key1Str13=
Key1Str14=
Key1Str15=
Key1Str16=
Key1Str2=
Key1Str3=
Key1Str4=
@ -201,16 +161,16 @@ Key1Str6=
Key1Str7=
Key1Str8=
Key1Str9=
Key1Str10=
Key1Str11=
Key1Str12=
Key1Str13=
Key1Str14=
Key1Str15=
Key1Str16=
Key2Type=0
Key1Type=0
Key2Str=
Key2Str1=
Key2Str10=
Key2Str11=
Key2Str12=
Key2Str13=
Key2Str14=
Key2Str15=
Key2Str16=
Key2Str2=
Key2Str3=
Key2Str4=
@ -219,16 +179,16 @@ Key2Str6=
Key2Str7=
Key2Str8=
Key2Str9=
Key2Str10=
Key2Str11=
Key2Str12=
Key2Str13=
Key2Str14=
Key2Str15=
Key2Str16=
Key3Type=0
Key2Type=0
Key3Str=
Key3Str1=
Key3Str10=
Key3Str11=
Key3Str12=
Key3Str13=
Key3Str14=
Key3Str15=
Key3Str16=
Key3Str2=
Key3Str3=
Key3Str4=
@ -237,16 +197,16 @@ Key3Str6=
Key3Str7=
Key3Str8=
Key3Str9=
Key3Str10=
Key3Str11=
Key3Str12=
Key3Str13=
Key3Str14=
Key3Str15=
Key3Str16=
Key4Type=0
Key3Type=0
Key4Str=
Key4Str1=
Key4Str10=
Key4Str11=
Key4Str12=
Key4Str13=
Key4Str14=
Key4Str15=
Key4Str16=
Key4Str2=
Key4Str3=
Key4Str4=
@ -255,87 +215,52 @@ Key4Str6=
Key4Str7=
Key4Str8=
Key4Str9=
Key4Str10=
Key4Str11=
Key4Str12=
Key4Str13=
Key4Str14=
Key4Str15=
Key4Str16=
HSCounter=0
HT_HTC=1
HT_RDG=1
HT_LinkAdapt=0
HT_OpMode=0
HT_MpduDensity=5
HT_EXTCHA=1
HT_BW=1
HT_AutoBA=1
HT_BADecline=0
HT_AMSDU=1
HT_BAWinSize=64
HT_GI=1
HT_STBC=1
HT_MCS=33
HT_TxStream=2
HT_RxStream=2
HT_PROTECT=1
HT_DisallowTKIP=1
HT_BSSCoexistence=0
HT_LDPC=1
VHT_BW=0
VHT_Sec80_Channel=0
VHT_STBC=0
VHT_SGI=0
VHT_BW_SIGNAL=0
VHT_LDPC=0
G_BAND_256QAM=1
WscConfMode=0
WscConfStatus=2
WCNTest=0
AccessPolicy0=0
AccessControlList0=
AccessPolicy1=0
AccessControlList1=
AccessPolicy2=0
AccessControlList2=
AccessPolicy3=0
AccessControlList3=
AccessPolicy4=0
AccessControlList4=
AccessPolicy5=0
AccessControlList5=
AccessPolicy6=0
AccessControlList6=
AccessPolicy7=0
AccessControlList7=
AccessPolicy8=0
AccessControlList8=
AccessPolicy9=0
AccessControlList9=
AccessPolicy10=0
AccessControlList10=
AccessPolicy11=0
AccessControlList11=
AccessPolicy12=0
AccessControlList12=
AccessPolicy13=0
AccessControlList13=
AccessPolicy14=0
AccessControlList14=
AccessPolicy15=0
AccessControlList15=
WdsEnable=0
WdsPhyMode=
WdsEncrypType=NONE
WdsList=
Wds0Key=
Wds1Key=
Wds2Key=
Wds3Key=
RADIUS_Server=0
RADIUS_Port=1812
Key4Type=0
LinkTestSupport=0
MACRepeaterEn=
MACRepeaterOuiMode=2
MeshAuthMode=
MeshAutoLink=0
MeshDefaultkey=0
MeshEncrypType=
MeshId=
MeshWEPKEY=
MeshWPAKEY=
MUTxRxEnable=0
NoForwarding=0
NoForwardingBTNBSSID=0
own_ip_addr=192.168.1.1
PcieAspm=0
PERCENTAGEenable=0
PhyRateLimit=0
PMFMFPC=1
PMFMFPR=0
PMFSHA256=0
PMKCachePeriod=10
PowerUpCckOfdm=0:0:0:0:0:0:0
PowerUpHT20=0:0:0:0:0:0:0
PowerUpHT40=0:0:0:0:0:0:0
PowerUpVHT160=0:0:0:0:0:0:0
PowerUpVHT20=0:0:0:0:0:0:0
PowerUpVHT40=0:0:0:0:0:0:0
PowerUpVHT80=0:0:0:0:0:0:0
PreAntSwitch=
PreAuth=0
PreAuthifname=br-lan
RadioLinkSelection=0
RadioOn=1
RADIUS_Acct_Key=
RADIUS_Acct_Port=1813
RADIUS_Acct_Server=
RADIUS_Key1=
RADIUS_Key10=
RADIUS_Key11=
RADIUS_Key12=
RADIUS_Key13=
RADIUS_Key14=
RADIUS_Key15=
RADIUS_Key16=
RADIUS_Key2=
RADIUS_Key3=
RADIUS_Key4=
@ -344,96 +269,144 @@ RADIUS_Key6=
RADIUS_Key7=
RADIUS_Key8=
RADIUS_Key9=
RADIUS_Key10=
RADIUS_Key11=
RADIUS_Key12=
RADIUS_Key13=
RADIUS_Key14=
RADIUS_Key15=
RADIUS_Key16=
RADIUS_Acct_Server=
RADIUS_Acct_Port=1813
RADIUS_Acct_Key=
own_ip_addr=10.10.10.254
Ethifname=
EAPifname=br0
PreAuthifname=br0
RADIUS_Port=1812
RADIUS_Server=0
RDRegion=
RED_Enable=1
RekeyInterval=3600
RekeyMethod=DISABLE
RRMEnable=0
RTSThreshold=2347
session_timeout_interval=0
idle_timeout_interval=0
WiFiTest=0
ShortSlot=1
SKUenable=0
SSID=
SSID1=MTK_AP3
SSID10=
SSID11=
SSID12=
SSID13=
SSID14=
SSID15=
SSID16=
SSID2=
SSID3=
SSID4=
SSID5=
SSID6=
SSID7=
SSID8=
SSID9=
StationKeepAlive=0
StreamMode=0
StreamModeMac0=
StreamModeMac1=
StreamModeMac2=
StreamModeMac3=
TGnWifiTest=0
ApCliEnable=
ApCliSsid=
ApCliBssid=
ApCliAuthMode=
ApCliEncrypType=
ApCliWPAPSK=
ApCliDefaultKeyID=
ApCliKey1Type=
ApCliKey1Str=
ApCliKey2Type=
ApCliKey2Str=
ApCliKey3Type=
ApCliKey3Str=
ApCliKey4Type=
ApCliKey4Str=
MACRepeaterEn=
MACRepeaterOuiMode=2
ApCliWirelessMode=9
ApCliWPAPSK1=
ApCliKey1Str1=
ApCliKey2Str1=
ApCliKey3Str1=
ApCliKey4Str1=
EfuseBufferMode=0
E2pAccessMode=1
PMFMFPC=0
PMFMFPR=0
PMFSHA256=0
RadioOn=1
BW_Enable=0
BW_Root=0
BW_Priority=
BW_Guarantee_Rate=
BW_Maximum_Rate=
VOW_BW_Ctrl=
ThermalRecal=0
TxBurst=1
TxPower=100
TxPreamble=1
VHT_BW=1
VHT_BW_SIGNAL=0
VHT_LDPC=1
VHT_Sec80_Channel=0
VHT_SGI=1
VHT_STBC=1
VLANID=0
VLANPriority=0
VLANTag=0
VOW_Airtime_Ctrl_En=
VOW_Airtime_Fairness_En=1
VOW_RX_En=
VOW_BW_Ctrl=0
VOW_Group_Backlog=
VOW_Group_DWRR_Max_Wait_Time=
VOW_Group_DWRR_Quantum=
VOW_Group_Max_Airtime_Bucket_Size=
VOW_Group_Max_Rate=
VOW_Group_Max_Rate_Bucket_Size=
VOW_Group_Max_Ratio=
VOW_Group_Max_Wait_Time=
VOW_Group_Min_Airtime_Bucket_Size=
VOW_Group_Min_Rate=
VOW_Group_Min_Rate_Bucket_Size=
VOW_Group_Min_Ratio=
VOW_Rate_Ctrl_En=
VOW_Refill_Period=
VOW_Sta_VO_DWRR_Quantum=
VOW_Sta_VI_DWRR_Quantum=
VOW_RX_En=1
VOW_Sta_BE_DWRR_Quantum=
VOW_Sta_BK_DWRR_Quantum=
VOW_WMM_Search_Rule_Band0=
VOW_WMM_Search_Rule_Band1=
VOW_Sta_DWRR_Max_Wait_Time=
VOW_Group_DWRR_Max_Wait_Time=
VOW_Group_Min_Rate=
VOW_Group_Max_Rate=
VOW_Group_Min_Ratio=
VOW_Group_Max_Ratio=
VOW_Airtime_Ctrl_En=
VOW_Rate_Ctrl_En=
VOW_Group_Min_Rate_Bucket_Size=
VOW_Group_Max_Rate_Bucket_Size=
VOW_Group_Min_Airtime_Bucket_Size=
VOW_Group_Max_Airtime_Bucket_Size=
VOW_Group_Backlog=
VOW_Group_Max_Wait_Time=
VOW_Group_DWRR_Quantum=
VOW_Sta_VI_DWRR_Quantum=
VOW_Sta_VO_DWRR_Quantum=
VOW_WATF_Enable=
VOW_WATF_Q_LV0=
VOW_WATF_Q_LV1=
VOW_WATF_Q_LV2=
VOW_WATF_Q_LV3=
VOW_WATF_MAC_LV0=
VOW_WATF_MAC_LV1=
VOW_WATF_MAC_LV2=
VOW_WATF_MAC_LV3=
RED_Enable=1
CP_SUPPORT=2
BgndScanSkipCh=
EDCCAEnable=1
BandSteering=0
BndStrgBssIdx=
RadioLinkSelection=0
VOW_WATF_Q_LV0=
VOW_WATF_Q_LV1=
VOW_WATF_Q_LV2=
VOW_WATF_Q_LV3=
VOW_WMM_Search_Rule_Band0=
VOW_WMM_Search_Rule_Band1=
WapiAsCertPath=
WapiAsIpAddr=
WapiAsPort=
Wapiifname=
WapiPsk1=
WapiPsk10=
WapiPsk11=
WapiPsk12=
WapiPsk13=
WapiPsk14=
WapiPsk15=
WapiPsk16=
WapiPsk2=
WapiPsk3=
WapiPsk4=
WapiPsk5=
WapiPsk6=
WapiPsk7=
WapiPsk8=
WapiPsk9=
WapiPskType=
WapiUserCertPath=
WCNTest=0
Wds0Key=
Wds1Key=
Wds2Key=
Wds3Key=
WdsEnable=0
WdsEncrypType=NONE
WdsList=
WdsPhyMode=0
WHNAT=1
WiFiTest=0
WirelessMode=14
WmmCapable=1
WPAPSK=
WPAPSK1=12345678
WPAPSK10=
WPAPSK11=
WPAPSK12=
WPAPSK13=
WPAPSK14=
WPAPSK15=
WPAPSK16=
WPAPSK2=
WPAPSK3=
WPAPSK4=
WPAPSK5=
WPAPSK6=
WPAPSK7=
WPAPSK8=
WPAPSK9=
WscConfMode=0
WscConfStatus=2
WEP1Type1=0
WEP2Type1=0
WEP3Type1=0
WEP4Type1=0
WPSRadio=0

Binary file not shown.

View File

@ -1,198 +1,158 @@
#The word of "Default" must not be removed
Default
CountryRegion=5
CountryRegionABand=7
CountryCode=
AccessControlList0=
AccessControlList1=
AccessControlList10=
AccessControlList11=
AccessControlList12=
AccessControlList13=
AccessControlList14=
AccessControlList15=
AccessControlList2=
AccessControlList3=
AccessControlList4=
AccessControlList5=
AccessControlList6=
AccessControlList7=
AccessControlList8=
AccessControlList9=
AccessPolicy0=0
AccessPolicy1=0
AccessPolicy10=0
AccessPolicy11=0
AccessPolicy12=0
AccessPolicy13=0
AccessPolicy14=0
AccessPolicy15=0
AccessPolicy2=0
AccessPolicy3=0
AccessPolicy4=0
AccessPolicy5=0
AccessPolicy6=0
AccessPolicy7=0
AccessPolicy8=0
AccessPolicy9=0
AckPolicy=0;0;0;0
APACM=0;0;0;0
APAifsn=3;7;1;1
ApCliAuthMode=
ApCliBssid=
ApCliDefaultKeyID=
ApCliEnable=
ApCliEncrypType=
ApCliKey1Str=
ApCliKey1Str1=
ApCliKey1Type=
ApCliKey2Str=
ApCliKey2Str1=
ApCliKey2Type=
ApCliKey3Str=
ApCliKey3Str1=
ApCliKey3Type=
ApCliKey4Str=
ApCliKey4Str1=
ApCliKey4Type=
ApCliSsid=
ApCliWirelessMode=
ApCliWPAPSK=
ApCliWPAPSK1=
APCwmax=6;10;4;3
APCwmin=4;4;3;2
APSDCapable=1
APTxop=0;0;94;47
AuthMode=OPEN
AutoChannelSelect=3
AutoChannelSkipList=
DBDC_MODE=0
IcapMode=0
BssidNum=1
SSID=
SSID1=wifi-mt7615.3
SSID2=
SSID3=
SSID4=
SSID5=
SSID6=
SSID7=
SSID8=
SSID9=
SSID10=
SSID11=
SSID12=
SSID13=
SSID14=
SSID15=
SSID16=
RRMEnable=0
FtSupport=0
ChannelGrp=
WirelessMode=9
FixedTxMode=HT
EthConvertMode=dongle
TxRate=0
Channel=6
AutoProvisionEn=0
BandSteering=0
BasicRate=15
BeaconPeriod=100
DtimPeriod=1
TxPower=100
LinkTestSupport=0
ThermalRecal=0
PowerUpCckOfdm=0:0:0:0:0:0:0
PowerUpHT20=0:0:0:0:0:0:0
PowerUpHT40=0:0:0:0:0:0:0
PowerUpVHT20=0:0:0:0:0:0:0
PowerUpVHT40=0:0:0:0:0:0:0
PowerUpVHT80=0:0:0:0:0:0:0
PowerUpVHT160=0:0:0:0:0:0:0
SKUenable=0
PERCENTAGEenable=1
BFBACKOFFenable=0
CalCacheApply=0
DisableOLBC=0
BgndScanSkipCh=
BGProtection=0
TxAntenna=
RxAntenna=
TxPreamble=0
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=1
AutoProvisionEn=0
FreqDelta=0
TurboRate=0
WmmCapable=1
APAifsn=3;7;1;1
APCwmin=4;4;3;2
APCwmax=6;10;4;3
APTxop=0;0;94;47
APACM=0;0;0;0
BSSAifsn=3;7;2;2
BSSCwmin=4;4;3;2
BSSCwmax=10;10;4;3
BSSTxop=0;0;94;47
BndStrgBssIdx=
BSSACM=0;0;0;0
AckPolicy=0;0;0;0
APSDCapable=0
DLSCapable=0
NoForwarding=0
NoForwardingBTNBSSID=0
HideSSID=0
ShortSlot=1
AutoChannelSelect=0
IEEE8021X=0
IEEE80211H=1
BSSAifsn=3;7;2;2
BSSCwmax=10;10;4;3
BSSCwmin=4;4;3;2
BssidNum=1
BSSTxop=0;0;94;47
BW_Enable=0
BW_Guarantee_Rate=
BW_Maximum_Rate=
BW_Priority=
BW_Root=0
CalCacheApply=0
CarrierDetect=0
ITxBfEn=0
PreAntSwitch=
PhyRateLimit=0
DebugFlags=0
ETxBfEnCond=0
MUTxRxEnable=0
ITxBfTimeout=0
ETxBfTimeout=0
ETxBfNoncompress=0
ETxBfIncapable=0
FineAGC=0
StreamMode=0
StreamModeMac0=
StreamModeMac1=
StreamModeMac2=
StreamModeMac3=
Channel=0
ChannelGrp=
CountryCode=US
CountryRegion=5
CountryRegionABand=7
CP_SUPPORT=2
CSPeriod=6
RDRegion=
StationKeepAlive=0
DBDC_MODE=0
DebugFlags=0
DefaultKeyID=1
DfsCalibration=0
DfsEnable=0
DfsApplyStopWifi=0
DfsFalseAlarmPrevent=1
DfsZeroWait=0
DfsZeroWaitCacTime=255
DfsLowerLimit=0
DfsUpperLimit=0
DfsOutdoor=0
SymRoundFromCfg=0
BusyIdleFromCfg=0
DfsRssiHighFromCfg=0
DfsRssiLowFromCfg=0
DFSParamFromConfig=0
FCCParamCh0=
FCCParamCh1=
FCCParamCh2=
FCCParamCh3=
CEParamCh0=
CEParamCh1=
CEParamCh2=
CEParamCh3=
JAPParamCh0=
JAPParamCh1=
JAPParamCh2=
JAPParamCh3=
JAPW53ParamCh0=
JAPW53ParamCh1=
JAPW53ParamCh2=
JAPW53ParamCh3=
FixDfsLimit=0
LongPulseRadarTh=0
AvgRssiReq=0
DFS_R66=0
BlockCh=
GreenAP=0
PreAuth=0
AuthMode=OPEN
DisableOLBC=0
DtimPeriod=1
E2pAccessMode=2
EAPifname=br-lan
EDCCAEnable=1
EncrypType=NONE
WapiPsk1=
WapiPsk2=
WapiPsk3=
WapiPsk4=
WapiPsk5=
WapiPsk6=
WapiPsk7=
WapiPsk8=
WapiPsk9=
WapiPsk10=
WapiPsk11=
WapiPsk12=
WapiPsk13=
WapiPsk14=
WapiPsk15=
WapiPsk16=
WapiPskType=
Wapiifname=
WapiAsCertPath=
WapiUserCertPath=
WapiAsIpAddr=
WapiAsPort=
RekeyMethod=DISABLE
RekeyInterval=3600
PMKCachePeriod=10
MeshAutoLink=0
MeshAuthMode=
MeshEncrypType=
MeshDefaultkey=0
MeshWEPKEY=
MeshWPAKEY=
MeshId=
WPAPSK=
WPAPSK1=12345678
WPAPSK2=
WPAPSK3=
WPAPSK4=
WPAPSK5=
WPAPSK6=
WPAPSK7=
WPAPSK8=
WPAPSK9=
WPAPSK10=
WPAPSK11=
WPAPSK12=
WPAPSK13=
WPAPSK14=
WPAPSK15=
WPAPSK16=
DefaultKeyID=1
Key1Type=0
EthConvertMode=dongle
EtherTrafficBand=0
Ethifname=
ETxBfEnCond=1
FineAGC=0
FixedTxMode=
ForceRoamSupport=
FragThreshold=2346
FreqDelta=0
FtSupport=0
GreenAP=1
G_BAND_256QAM=1
HideSSID=0
HT_AMSDU=1
HT_AutoBA=1
HT_BADecline=0
HT_BAWinSize=64
HT_BSSCoexistence=1
HT_BW=1
HT_DisallowTKIP=1
HT_EXTCHA=1
HT_GI=1
HT_HTC=1
HT_LDPC=1
HT_LinkAdapt=0
HT_MCS=33
HT_MpduDensity=5
HT_OpMode=0
HT_PROTECT=1
HT_RDG=0
HT_RxStream=4
HT_STBC=1
HT_TxStream=4
IcapMode=0
idle_timeout_interval=0
IEEE80211H=1
IEEE8021X=0
IgmpSnEnable=0
ITxBfEn=1
Key1Str=
Key1Str1=
Key1Str10=
Key1Str11=
Key1Str12=
Key1Str13=
Key1Str14=
Key1Str15=
Key1Str16=
Key1Str2=
Key1Str3=
Key1Str4=
@ -201,16 +161,16 @@ Key1Str6=
Key1Str7=
Key1Str8=
Key1Str9=
Key1Str10=
Key1Str11=
Key1Str12=
Key1Str13=
Key1Str14=
Key1Str15=
Key1Str16=
Key2Type=0
Key1Type=0
Key2Str=
Key2Str1=
Key2Str10=
Key2Str11=
Key2Str12=
Key2Str13=
Key2Str14=
Key2Str15=
Key2Str16=
Key2Str2=
Key2Str3=
Key2Str4=
@ -219,16 +179,16 @@ Key2Str6=
Key2Str7=
Key2Str8=
Key2Str9=
Key2Str10=
Key2Str11=
Key2Str12=
Key2Str13=
Key2Str14=
Key2Str15=
Key2Str16=
Key3Type=0
Key2Type=0
Key3Str=
Key3Str1=
Key3Str10=
Key3Str11=
Key3Str12=
Key3Str13=
Key3Str14=
Key3Str15=
Key3Str16=
Key3Str2=
Key3Str3=
Key3Str4=
@ -237,16 +197,16 @@ Key3Str6=
Key3Str7=
Key3Str8=
Key3Str9=
Key3Str10=
Key3Str11=
Key3Str12=
Key3Str13=
Key3Str14=
Key3Str15=
Key3Str16=
Key4Type=0
Key3Type=0
Key4Str=
Key4Str1=
Key4Str10=
Key4Str11=
Key4Str12=
Key4Str13=
Key4Str14=
Key4Str15=
Key4Str16=
Key4Str2=
Key4Str3=
Key4Str4=
@ -255,87 +215,51 @@ Key4Str6=
Key4Str7=
Key4Str8=
Key4Str9=
Key4Str10=
Key4Str11=
Key4Str12=
Key4Str13=
Key4Str14=
Key4Str15=
Key4Str16=
HSCounter=0
HT_HTC=1
HT_RDG=1
HT_LinkAdapt=0
HT_OpMode=0
HT_MpduDensity=5
HT_EXTCHA=1
HT_BW=1
HT_AutoBA=1
HT_BADecline=0
HT_AMSDU=1
HT_BAWinSize=64
HT_GI=1
HT_STBC=1
HT_MCS=33
HT_TxStream=2
HT_RxStream=2
HT_PROTECT=1
HT_DisallowTKIP=1
HT_BSSCoexistence=0
HT_LDPC=1
VHT_BW=0
VHT_Sec80_Channel=0
VHT_STBC=0
VHT_SGI=0
VHT_BW_SIGNAL=0
VHT_LDPC=0
G_BAND_256QAM=1
WscConfMode=0
WscConfStatus=2
WCNTest=0
AccessPolicy0=0
AccessControlList0=
AccessPolicy1=0
AccessControlList1=
AccessPolicy2=0
AccessControlList2=
AccessPolicy3=0
AccessControlList3=
AccessPolicy4=0
AccessControlList4=
AccessPolicy5=0
AccessControlList5=
AccessPolicy6=0
AccessControlList6=
AccessPolicy7=0
AccessControlList7=
AccessPolicy8=0
AccessControlList8=
AccessPolicy9=0
AccessControlList9=
AccessPolicy10=0
AccessControlList10=
AccessPolicy11=0
AccessControlList11=
AccessPolicy12=0
AccessControlList12=
AccessPolicy13=0
AccessControlList13=
AccessPolicy14=0
AccessControlList14=
AccessPolicy15=0
AccessControlList15=
WdsEnable=0
WdsPhyMode=
WdsEncrypType=NONE
WdsList=
Wds0Key=
Wds1Key=
Wds2Key=
Wds3Key=
RADIUS_Server=0
RADIUS_Port=1812
Key4Type=0
LinkTestSupport=0
MACRepeaterEn=
MACRepeaterOuiMode=2
MeshAuthMode=
MeshAutoLink=0
MeshDefaultkey=0
MeshEncrypType=
MeshId=
MeshWEPKEY=
MeshWPAKEY=
MUTxRxEnable=0
NoForwarding=0
NoForwardingBTNBSSID=0
own_ip_addr=192.168.1.1
PcieAspm=0
PERCENTAGEenable=0
PhyRateLimit=0
PMFMFPC=1
PMFMFPR=0
PMFSHA256=0
PMKCachePeriod=10
PowerUpCckOfdm=0:0:0:0:0:0:0
PowerUpHT20=0:0:0:0:0:0:0
PowerUpHT40=0:0:0:0:0:0:0
PowerUpVHT160=0:0:0:0:0:0:0
PowerUpVHT20=0:0:0:0:0:0:0
PowerUpVHT40=0:0:0:0:0:0:0
PowerUpVHT80=0:0:0:0:0:0:0
PreAntSwitch=
PreAuth=0
PreAuthifname=br-lan
RadioLinkSelection=0
RadioOn=1
RADIUS_Acct_Key=
RADIUS_Acct_Port=1813
RADIUS_Acct_Server=
RADIUS_Key1=
RADIUS_Key10=
RADIUS_Key11=
RADIUS_Key12=
RADIUS_Key13=
RADIUS_Key14=
RADIUS_Key15=
RADIUS_Key16=
RADIUS_Key2=
RADIUS_Key3=
RADIUS_Key4=
@ -344,96 +268,145 @@ RADIUS_Key6=
RADIUS_Key7=
RADIUS_Key8=
RADIUS_Key9=
RADIUS_Key10=
RADIUS_Key11=
RADIUS_Key12=
RADIUS_Key13=
RADIUS_Key14=
RADIUS_Key15=
RADIUS_Key16=
RADIUS_Acct_Server=
RADIUS_Acct_Port=1813
RADIUS_Acct_Key=
own_ip_addr=10.10.10.254
Ethifname=
EAPifname=br0
PreAuthifname=br0
RADIUS_Port=1812
RADIUS_Server=0
RDRegion=
RED_Enable=1
RekeyInterval=3600
RekeyMethod=DISABLE
RRMEnable=0
RTSThreshold=2347
session_timeout_interval=0
idle_timeout_interval=0
WiFiTest=0
ShortSlot=1
SKUenable=0
SSID=
SSID1=WITHUSP-2.4
SSID10=
SSID11=
SSID12=
SSID13=
SSID14=
SSID15=
SSID16=
SSID2=
SSID3=
SSID4=
SSID5=
SSID6=
SSID7=
SSID8=
SSID9=
StationKeepAlive=0
StreamMode=0
StreamModeMac0=
StreamModeMac1=
StreamModeMac2=
StreamModeMac3=
TGnWifiTest=0
ApCliEnable=
ApCliSsid=
ApCliBssid=
ApCliAuthMode=
ApCliEncrypType=
ApCliWPAPSK=
ApCliDefaultKeyID=
ApCliKey1Type=
ApCliKey1Str=
ApCliKey2Type=
ApCliKey2Str=
ApCliKey3Type=
ApCliKey3Str=
ApCliKey4Type=
ApCliKey4Str=
MACRepeaterEn=
MACRepeaterOuiMode=2
ApCliWirelessMode=9
ApCliWPAPSK1=
ApCliKey1Str1=
ApCliKey2Str1=
ApCliKey3Str1=
ApCliKey4Str1=
EfuseBufferMode=0
E2pAccessMode=2
PMFMFPC=0
PMFMFPR=0
PMFSHA256=0
RadioOn=1
BW_Enable=0
BW_Root=0
BW_Priority=
BW_Guarantee_Rate=
BW_Maximum_Rate=
VOW_BW_Ctrl=
ThermalRecal=0
CCKTxStream=4
TxBurst=1
TxPower=100
TxPreamble=1
VHT_BW=0
VHT_BW_SIGNAL=0
VHT_LDPC=1
VHT_Sec80_Channel=0
VHT_SGI=1
VHT_STBC=1
VLANID=0
VLANPriority=0
VLANTag=0
VOW_Airtime_Ctrl_En=0
VOW_Airtime_Fairness_En=1
VOW_RX_En=
VOW_BW_Ctrl=0
VOW_Group_Backlog=
VOW_Group_DWRR_Max_Wait_Time=
VOW_Group_DWRR_Quantum=
VOW_Group_Max_Airtime_Bucket_Size=
VOW_Group_Max_Rate=
VOW_Group_Max_Rate_Bucket_Size=
VOW_Group_Max_Ratio=
VOW_Group_Max_Wait_Time=
VOW_Group_Min_Airtime_Bucket_Size=
VOW_Group_Min_Rate=
VOW_Group_Min_Rate_Bucket_Size=
VOW_Group_Min_Ratio=
VOW_Rate_Ctrl_En=0
VOW_Refill_Period=
VOW_Sta_VO_DWRR_Quantum=
VOW_Sta_VI_DWRR_Quantum=
VOW_RX_En=1
VOW_Sta_BE_DWRR_Quantum=
VOW_Sta_BK_DWRR_Quantum=
VOW_WMM_Search_Rule_Band0=
VOW_WMM_Search_Rule_Band1=
VOW_Sta_DWRR_Max_Wait_Time=
VOW_Group_DWRR_Max_Wait_Time=
VOW_Group_Min_Rate=
VOW_Group_Max_Rate=
VOW_Group_Min_Ratio=
VOW_Group_Max_Ratio=
VOW_Airtime_Ctrl_En=
VOW_Rate_Ctrl_En=
VOW_Group_Min_Rate_Bucket_Size=
VOW_Group_Max_Rate_Bucket_Size=
VOW_Group_Min_Airtime_Bucket_Size=
VOW_Group_Max_Airtime_Bucket_Size=
VOW_Group_Backlog=
VOW_Group_Max_Wait_Time=
VOW_Group_DWRR_Quantum=
VOW_Sta_VI_DWRR_Quantum=
VOW_Sta_VO_DWRR_Quantum=
VOW_WATF_Enable=
VOW_WATF_Q_LV0=
VOW_WATF_Q_LV1=
VOW_WATF_Q_LV2=
VOW_WATF_Q_LV3=
VOW_WATF_MAC_LV0=
VOW_WATF_MAC_LV1=
VOW_WATF_MAC_LV2=
VOW_WATF_MAC_LV3=
RED_Enable=1
CP_SUPPORT=2
BgndScanSkipCh=
EDCCAEnable=1
BandSteering=0
BndStrgBssIdx=
RadioLinkSelection=0
VOW_WATF_Q_LV0=
VOW_WATF_Q_LV1=
VOW_WATF_Q_LV2=
VOW_WATF_Q_LV3=
VOW_WMM_Search_Rule_Band0=
VOW_WMM_Search_Rule_Band1=
WapiAsCertPath=
WapiAsIpAddr=
WapiAsPort=
Wapiifname=
WapiPsk1=
WapiPsk10=
WapiPsk11=
WapiPsk12=
WapiPsk13=
WapiPsk14=
WapiPsk15=
WapiPsk16=
WapiPsk2=
WapiPsk3=
WapiPsk4=
WapiPsk5=
WapiPsk6=
WapiPsk7=
WapiPsk8=
WapiPsk9=
WapiPskType=
WapiUserCertPath=
WCNTest=0
Wds0Key=
Wds1Key=
Wds2Key=
Wds3Key=
WdsEnable=0
WdsEncrypType=NONE
WdsList=
WdsPhyMode=0
WHNAT=0
WiFiTest=0
WirelessMode=9
WmmCapable=1
WPAPSK=
WPAPSK1=12345678
WPAPSK10=
WPAPSK11=
WPAPSK12=
WPAPSK13=
WPAPSK14=
WPAPSK15=
WPAPSK16=
WPAPSK2=
WPAPSK3=
WPAPSK4=
WPAPSK5=
WPAPSK6=
WPAPSK7=
WPAPSK8=
WPAPSK9=
WscConfMode=0
WscConfStatus=2
WEP1Type1=0
WEP2Type1=0
WEP3Type1=0
WEP4Type1=0
WPSRadio=0

View File

@ -0,0 +1,98 @@
--This file is created for check some deamons like miniupnpd,8021xd...
local mtkwifi = require("mtkwifi")
local devs = mtkwifi.get_all_devs()
local nixio = require("nixio")
function miniupnpd_chk(devname,vif,enable)
local WAN_IF=mtkwifi.__trim(mtkwifi.read_pipe("uci -q get network.wan.ifname"))
os.execute("rm -rf /etc/miniupnpd.conf")
os.execute("iptables -t nat -F MINIUPNPD 1>/dev/null 2>&1")
--rmeoving the rule to MINIUPNPD
os.execute("iptables-t nat -D PREROUTING -i "..WAN_IF.." -j MINIUPNPD 1>/dev/null 2>&1")
os.execute("iptables-t nat -X MINIUPNPD 1>/dev/null 2>&1")
--removing the MINIUPNPD chain for filter
os.execute("iptables -t filter -F MINIUPNPD 1>/dev/null 2>&1")
--adding the rule to MINIUPNPD
os.execute("iptables -t filter -D FORWARD -i "..WAN_IF.." ! -o "..WAN_IF.." -j MINIUPNPD 1>/dev/null 2>&1")
os.execute("iptables -t filter -X MINIUPNPD 1>/dev/null 2>&1")
os.execute("iptables -t nat -N MINIUPNPD")
os.execute("iptables -t nat -A PREROUTING -i "..WAN_IF.." -j MINIUPNPD")
os.execute("iptables -t filter -N MINIUPNPD")
os.execute("iptables -t filter -A FORWARD -i "..WAN_IF.." ! -o "..WAN_IF.." -j MINIUPNPD")
if mtkwifi.exists("/tmp/run/miniupnpd."..vif) then
os.execute("cat /tmp/run/miniupnpd."..vif.." | xargs kill -9")
end
if enable then
local profile = mtkwifi.search_dev_and_profile()[devname]
local cfgs = mtkwifi.load_profile(profile)
local ssid_index = devs[devname]["vifs"][vif].vifidx
local wsc_conf_mode = ""
local PORT_NUM = 7777+(string.byte(vif, -1)+string.byte(vif, -2))
local LAN_IPADDR = mtkwifi.__trim(mtkwifi.read_pipe("uci -q get network.lan.ipaddr"))
local LAN_MASK = mtkwifi.__trim(mtkwifi.read_pipe("uci -q get network.lan.netmask"))
local port = 6352 + (string.byte(vif, -1)+string.byte(vif, -2))
LAN_IPADDR = LAN_IPADDR.."/"..LAN_MASK
wsc_conf_mode = mtkwifi.token_get(cfgs["WscConfMode"], ssid_index, "")
local file = io.open("/etc/miniupnpd.conf", "w")
if nil == file then
nixio.syslog("debug","open file /etc/miniupnpd.conf fail")
end
file:write("ext_ifname=",WAN_IF,'\n','\n',
"listening_ip=",LAN_IPADDR,'\n','\n',
"port=",port,'\n','\n',
"bitrate_up=800000000",'\n',
"bitrate_down=800000000",'\n','\n',
"secure_mode=no",'\n','\n',
"system_uptime=yes",'\n','\n',
"notify_interval=30",'\n','\n',
"uuid=68555350-3352-3883-2883-335030522880",'\n','\n',
"serial=12345678",'\n','\n',
"model_number=1",'\n','\n',
"enable_upnp=no",'\n','\n')
file:close()
if wsc_conf_mode ~= "" and wsc_conf_mode ~= "0" then
os.execute("miniupnpd -m 1 -I "..vif.." -P /var/run/miniupnpd."..vif.." -G -i "..WAN_IF.." -a "..LAN_IPADDR.." -n "..PORT_NUM)
end
end
end
function d8021xd_chk(devname,prefix,main_ifname,enable)
local profile = mtkwifi.search_dev_and_profile()[devname]
local cfgs = mtkwifi.load_profile(profile)
local auth_mode = cfgs.AuthMode
local ieee8021x = cfgs.IEEE8021X
local pat_auth_mode = {"WPA$", "WPA;", "WPA2$", "WPA2;", "WPA1WPA2$", "WPA1WPA2;"}
local pat_ieee8021x = {"1$", "1;"}
local apd_en = false
if mtkwifi.exists("/tmp/run/8021xd_"..main_ifname..".pid") then
os.execute("cat /tmp/run/8021xd_"..main_ifname..".pid | xargs kill -9")
os.execute("rm /tmp/run/8021xd_"..main_ifname..".pid")
end
if enable then
for _, pat in ipairs(pat_auth_mode) do
if string.find(auth_mode, pat) then
apd_en = true
end
end
for _, pat in ipairs(pat_ieee8021x) do
if string.find(ieee8021x, pat) then
apd_en = true
end
end
if apd_en then
os.execute("8021xd -p "..prefix.. " -i "..main_ifname)
end
end
end

View File

@ -0,0 +1,19 @@
diff -urN a/mt_wifi/mt_wifi/embedded/common/cmm_info.c b/mt_wifi/mt_wifi/embedded/common/cmm_info.c
--- a/mt_wifi/embedded/common/cmm_info.c 2018-11-01 10:03:25.663408611 +0000
+++ b/mt_wifi/embedded/common/cmm_info.c 2018-11-01 10:09:14.991395503 +0000
@@ -3200,6 +3200,15 @@
else
need_send = FALSE;
}
+#if 1
+ /* [2018.11.01 hepark] To fill 5G information */
+ else if (!strcmp(wrq->ifr_ifrn.ifrn_name, "rai0")) {
+ if (!memcmp(pEntry->wdev->if_dev->name, "rax", 3))
+ need_send = FALSE;
+ else
+ need_send = TRUE;
+ }
+#endif
}
if (IS_ENTRY_CLIENT(pEntry) && (pEntry->Sst == SST_ASSOC) && (need_send == TRUE)) {
pDst = &pMacTab->Entry[pMacTab->Num];

View File

@ -0,0 +1,167 @@
diff -urN a/mt_wifi/embedded/common/ee_flash.c b/mt_wifi/embedded/common/ee_flash.c
--- a/mt_wifi/embedded/common/ee_flash.c 2018-04-30 15:57:54.000000000 +0800
+++ b/mt_wifi/embedded/common/ee_flash.c 2019-01-14 21:28:38.163721571 +0800
@@ -111,8 +111,8 @@
int mt_mtd_write_nm_wifi(char *name, loff_t to, size_t len, const u_char *buf);
int mt_mtd_read_nm_wifi(char *name, loff_t from, size_t len, u_char *buf);
-#define flash_read(_ctrl, _ptr, _offset, _len) mt_mtd_read_nm_wifi("Factory", _offset, (size_t)_len, _ptr)
-#define flash_write(_ctrl, _ptr, _offset, _len) mt_mtd_write_nm_wifi("Factory", _offset, (size_t)_len, _ptr)
+#define flash_read(_ctrl, _ptr, _offset, _len) mt_mtd_read_nm_wifi("factory", _offset&0xFFFF, (size_t)_len, _ptr)
+#define flash_write(_ctrl, _ptr, _offset, _len) mt_mtd_write_nm_wifi("factory", _offset&0xFFFF, (size_t)_len, _ptr)
#else
/*
@@ -122,8 +122,8 @@
extern int ra_mtd_write_nm(char *name, loff_t to, size_t len, const u_char *buf);
extern int ra_mtd_read_nm(char *name, loff_t from, size_t len, u_char *buf);
-#define flash_read(_ctrl, _ptr, _offset, _len) ra_mtd_read_nm("Factory", _offset, (size_t)_len, _ptr)
-#define flash_write(_ctrl, _ptr, _offset, _len) ra_mtd_write_nm("Factory", _offset, (size_t)_len, _ptr)
+#define flash_read(_ctrl, _ptr, _offset, _len) ra_mtd_read_nm("factory", _offset&0xFFFF, (size_t)_len, _ptr)
+#define flash_write(_ctrl, _ptr, _offset, _len) ra_mtd_write_nm("factory", _offset&0xFFFF, (size_t)_len, _ptr)
#endif /*CONFIG_WIFI_MTD*/
#endif /*RA_MTD_RW_BY_NUM*/
diff -urN a/mt_wifi/embedded/common/eeprom.c b/mt_wifi/embedded/common/eeprom.c
--- a/mt_wifi/embedded/common/eeprom.c 2018-04-30 15:57:54.000000000 +0800
+++ b/mt_wifi/embedded/common/eeprom.c 2019-04-19 17:05:48.336239756 +0800
@@ -646,7 +646,7 @@
efuse_probe(pAd);
#endif /* RTMP_EFUSE_SUPPORT */
- /* rtmp_eeprom_of_platform(pAd); //for MT7615, only use E2pAccessMode parameter to get eeprom type */
+ rtmp_eeprom_of_platform(pAd); //for MT7615, only use E2pAccessMode parameter to get eeprom type */
if (forceMode != E2P_NONE && forceMode < NUM_OF_E2P_MODE) {
e2p_type = forceMode;
diff -urN a/mt_wifi/os/linux/mt_wifi_mtd.c b/mt_wifi/os/linux/mt_wifi_mtd.c
--- a/mt_wifi/os/linux/mt_wifi_mtd.c 1970-01-01 08:00:00.000000000 +0800
+++ b/mt_wifi/os/linux/mt_wifi_mtd.c 2019-01-06 17:17:32.771446000 +0800
@@ -0,0 +1,113 @@
+/*
+ ***************************************************************************
+ * MediaTek Inc.
+ *
+ * All rights reserved. source code is an unpublished work and the
+ * use of a copyright notice does not imply otherwise. This source code
+ * contains confidential trade secret material of MediaTek. Any attemp
+ * or participation in deciphering, decoding, reverse engineering or in any
+ * way altering the source code is stricitly prohibited, unless the prior
+ * written consent of MediaTek, Inc. is obtained.
+ ***************************************************************************
+ Module Name:
+ mt_wifi_mtd.c
+
+*/
+
+#include <linux/version.h>
+#include <linux/module.h>
+#include <linux/types.h>
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/err.h>
+#include <linux/slab.h>
+#include <asm/io.h>
+#include <linux/mtd/mtd.h>
+#include <linux/mtd/map.h>
+#include <linux/mtd/concat.h>
+#include <linux/mtd/partitions.h>
+#if defined (CONFIG_MIPS)
+#include <asm/addrspace.h>
+#endif
+
+int mt_mtd_write_nm_wifi(char *name, loff_t to, size_t len, const u_char *buf)
+{
+ int ret = -1;
+ size_t rdlen, wrlen;
+ struct mtd_info *mtd;
+ struct erase_info ei;
+ u_char *bak = NULL;
+
+ mtd = get_mtd_device_nm(name);
+ if (IS_ERR(mtd))
+ return -1;
+
+ if (len > mtd->erasesize) {
+ put_mtd_device(mtd);
+ return -E2BIG;
+ }
+
+ bak = kmalloc(mtd->erasesize, GFP_KERNEL);
+ if (bak == NULL) {
+ put_mtd_device(mtd);
+ return -ENOMEM;
+ }
+
+ ret = mtd_read(mtd, 0, mtd->erasesize, &rdlen, bak);
+
+ if (ret != 0) {
+ put_mtd_device(mtd);
+ kfree(bak);
+ return ret;
+ }
+
+ if (rdlen != mtd->erasesize)
+ printk("warning: ra_mtd_write: rdlen is not equal to erasesize\n");
+
+ memcpy(bak + to, buf, len);
+
+ ei.mtd = mtd;
+ ei.callback = NULL;
+ ei.addr = 0;
+ ei.len = mtd->erasesize;
+ ei.priv = 0;
+
+ ret = mtd_erase(mtd, &ei);
+
+ if (ret != 0) {
+ put_mtd_device(mtd);
+ kfree(bak);
+ return ret;
+ }
+
+ ret = mtd_write(mtd, 0, mtd->erasesize, &wrlen, bak);
+
+
+
+ put_mtd_device(mtd);
+ kfree(bak);
+ return ret;
+}
+EXPORT_SYMBOL(mt_mtd_write_nm_wifi);
+
+
+int mt_mtd_read_nm_wifi(char *name, loff_t from, size_t len, u_char *buf)
+{
+ int ret;
+ size_t rdlen;
+ struct mtd_info *mtd;
+
+ mtd = get_mtd_device_nm(name);
+ if (IS_ERR(mtd))
+ return -1;
+
+ ret = mtd_read(mtd, from, len, &rdlen, buf);
+
+ if (rdlen != len)
+ printk("warning: ra_mtd_read_nm: rdlen is not equal to len\n");
+
+ put_mtd_device(mtd);
+
+ return ret;
+}
+EXPORT_SYMBOL(mt_mtd_read_nm_wifi);
diff -urN a/mt_wifi_ap/Makefile b/mt_wifi_ap/Makefile
--- a/mt_wifi_ap/Makefile 2018-04-30 15:57:57.000000000 +0800
+++ b/mt_wifi_ap/Makefile 2019-04-20 21:16:22.510780934 +0800
@@ -678,7 +678,8 @@
os_objs := $(SRC_DIR)/os/linux/rt_proc.o\
$(SRC_DIR)/os/linux/rt_linux.o\
$(SRC_DIR)/os/linux/rt_profile.o\
- $(SRC_DIR)/os/linux/rt_main_dev.o
+ $(SRC_DIR)/os/linux/rt_main_dev.o\
+ $(SRC_DIR)/os/linux/mt_wifi_mtd.o
ifeq ($(CONFIG_WLAN_HOOK),y)
EXTRA_CFLAGS +=-DRTMP_WLAN_HOOK_SUPPORT

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,51 @@
[v5.0.2.0]
- Support MT7622D and MT7615A chip
- Support Passpoint R2
- Support MBO
- Fix background scan fail
- Fix for False Cmd timeout
- Fix ACS busytime issue after boot up
- Fix memory leakage after interface down/up repeatedly
- Fix dead lock issue when hw_ctrl task is busy.
[v5.0.1.1]
- Support WPS1 feature on OpenWRT OS
- Fix DFS issue of selecting NOP channel after interface down/up
- Avoid DFS resetting NOP list after interface is down and up
- Fix driver and wifi_forward sync structure not sync
- Fix MT7622 + MT7615 iPA RXSELFTEST fail (Disable RMAC before performing RXSELFTEST)
- Fix for Aplci connection and channel setting is AP interface is down
[v5.0.1.0]
- AC4300 (MT7622 + MT7615 + MT7615) AP and Repeater support
- MT7622 2.4g 4T4R ePA/eLNA support
- OpenWRT AC2600 support
- MT7622 and MT7615 pre-calibration on flash mode
- Fine tune rx delay interrupt threshold to reduce cpu loading
- Wifi boot time improvement
- Rate algorithm refine
- Thermal compensation improvement
- Fix Eapol retry for 1st connection with broadcom AP
- 11R: Direct Intra-AP roaming Fix for Single Chip DBDC scenario
- Fix when MACRepeaterOuiMode is 2. The OUI parsing logic is incorrect
- Fix audio play issue on iPA mode
[v5.0.0.0]
- AC2600 (MT7622 + MT7615) AP and Repeater support
- MT7622 2.4g 4T4R 802.11n iPA/iLNA support
- MT7615 5g 4T4R 802.11ac support
- MT7622 Wi-Fi Warp Accelerator support for MT7615
- Max clients for MT7622:125, MT7615:125
- Max MBSS for MT7622:16, MT7615:16
- Security (OPEN/WEP/WPA/WPA2/PMF)
- 256 QAM support on 2.4g n mode
- 802.11 k/v/r
- UAPSD
- WDS
- WPS2.0
- TxBF support
- MU-MIMO (5G)
- AirTime/bandwidth Fairness (ATM/VoW) support
- Auto channel selection
- Green AP

View File

@ -0,0 +1,624 @@
#if defined(COMPOS_TESTMODE_WIN)
#include "config.h"
#else
#include "rt_config.h"
#endif
#if defined(RTMP_USB_SUPPORT) || defined(RTMP_PCI_SUPPORT) || defined(MTK_UART_SUPPORT)
INT32 ATECheckFWROMWiFiSysOn(RTMP_ADAPTER *pAd)
{
INT32 ntStatus = STATUS_SUCCESS;
UINT32 loop = 0;
UINT32 value = 0;
/* Step 1 polling 0x81021250 to 0 */
/* poll SW_SYN0 == 0 */
loop = 0;
do {
value = MtAsicGetFwSyncValue(pAd);
if (value == 0x0)
break;
os_msec_delay(1);
loop++;
} while (loop <= 500);
if (loop > 500) {
MTWF_LOG(DBG_CAT_FW, DBG_SUBCAT_ALL, DBG_LVL_ERROR, ("%s: 2. SW_SYN0 is not at init. state (SW_SYN0 = %d)\n", __func__, value));
ntStatus = STATUS_UNSUCCESSFUL;
}
/* power on WiFi SYS*/
MTWF_LOG(DBG_CAT_FW, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s: 2. power on WiFi SYS\n", __func__));
ntStatus = MtCmdPowerOnWiFiSys(pAd);
if (ntStatus)
ntStatus = STATUS_UNSUCCESSFUL;
/* poll SW_SYN0 == 1*/
loop = 0;
do {
value = MtAsicGetFwSyncValue(pAd);
if (value == 0x1)
break;
os_msec_delay(1);
loop++;
} while (loop <= 500);
if (loop > 500) {
MTWF_LOG(DBG_CAT_FW, DBG_SUBCAT_ALL, DBG_LVL_ERROR, ("%s: SW_SYN0 is not at init. state (SW_SYN0 = %d)\n", __func__, value));
ntStatus = STATUS_UNSUCCESSFUL;
}
return ntStatus;
}
#endif
INT32 CheckFWROMWiFiSysOn(IN RTMP_ADAPTER *pAd)
{
INT32 ntStatus = STATUS_SUCCESS;
#if defined(RTMP_USB_SUPPORT) || defined(RTMP_PCI_SUPPORT) || defined(MTK_UART_SUPPORT)
ntStatus = ATECheckFWROMWiFiSysOn(pAd);
#endif
return ntStatus;
}
INT32 FWSwitchToROM(
IN RTMP_ADAPTER *pAd
)
{
INT32 ntStatus = STATUS_SUCCESS;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s\n", __func__));
#ifdef COMPOS_TESTMODE_WIN /* Linux ready in FWRAM */
if (pAd->FWMode == FWROM)
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_ERROR, ("%s: FWMode is already ROM\n", __func__));
else if (pAd->FWMode == FWRAM)
#endif
{
/* Step 1 set firmware to ROM mode */
/* ntStatus = FirmwareCommnadRestartDownloadFW(pAd); */
/* if(ntStatus != STATUS_SUCCESS) */
/* { */
/* MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_ERROR,("%s, RestartDownloadFW cmd failed\n",__FUNCTION__)); */
/* } */
NICRestartFirmware(pAd);
ntStatus = CheckFWROMWiFiSysOn(pAd);
if (ntStatus != STATUS_SUCCESS)
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_ERROR, ("%s, CheckFWROMWiFiSysOn failed\n", __func__));
}
return ntStatus;
}
void LoopBack_Start(RTMP_ADAPTER *pAd, struct _LOOPBACK_SETTING *pSetting)
{
NTSTATUS ntStatus = STATUS_SUCCESS;
/* UINT16 BreakCount = 0; */
#ifdef COMPOS_TESTMODE_WIN /* TODO::Fix the strcture */
#endif
/* UINT32 Length = 0; */
/* UINT32 RepeatIdx = 0; */
UINT32 RxQ = 1;
/* RtlCopyMemory(&pAd->LoopBackSetting, pSetting,sizeof(struct _LOOPBACK_SETTING)); */
os_move_mem(&pAd->LbCtrl.LoopBackSetting, pSetting, sizeof(struct _LOOPBACK_SETTING));
/* RtlZeroMemory(&pAd->LoopBackTxRaw, LOOPBACK_SIZE); */
os_zero_mem(&pAd->LbCtrl.LoopBackTxRaw, LOOPBACK_SIZE);
/* RtlZeroMemory(&pAd->LoopBackRxRaw, LOOPBACK_SIZE); */
os_zero_mem(&pAd->LbCtrl.LoopBackRxRaw, LOOPBACK_SIZE);
/* RtlZeroMemory(&pAd->LoopBackResult, sizeof(struct _LOOPBACK_RESULT)); */
os_zero_mem(&pAd->LbCtrl.LoopBackResult, sizeof(struct _LOOPBACK_RESULT));
if (pSetting->StartLen < sizeof(TMAC_TXD_L)) {
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_WARN, ("%s startLength(0x%x) is shorter than sizeof(TMAC_TXD_L) (0x%lx)\n", __func__, pSetting->StartLen, (ULONG)sizeof(TMAC_TXD_L)));
return;
}
OS_SPIN_LOCK(&pAd->LbCtrl.LoopBackLock);
pAd->LbCtrl.LoopBackWaitRx = FALSE;
OS_SPIN_UNLOCK(&pAd->LbCtrl.LoopBackLock);
pAd->LbCtrl.LoopBackRunning = TRUE;
pAd->LbCtrl.LoopBackResult.Status = RUNNING;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s\n", __func__));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("IsDefaultPattern %d\n", pSetting->IsDefaultPattern));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("RepeatTimes %u, %u\n", pSetting->RepeatTimes, pAd->LbCtrl.LoopBackSetting.RepeatTimes));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("StartLen %d\n", pSetting->StartLen));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("StopLen %d\n", pSetting->StopLen));
pAd->LbCtrl.LoopBackDefaultPattern = (BOOLEAN)pSetting->IsDefaultPattern;
if (pAd->LbCtrl.DebugMode) {
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("In LoopBack Debug Mode\n"));
goto ATE_LPBK_DEBUG;
}
if (!pAd->LbCtrl.LoopBackUDMA) {
ntStatus = FWSwitchToROM(pAd);
if (ntStatus != STATUS_SUCCESS)
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_ERROR, ("%s, Switch to ROM failed (0x%x)\n", __func__, ntStatus));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s FWSwitchToROM\n", __func__));
}
if (!pAd->LbCtrl.LoopBackUDMA)
MtCmdHIFLoopBackTest(pAd, 1, (UINT8)RxQ);
ATE_LPBK_DEBUG:
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("***************************************%s @#@# Rx[%d]***************************************\n", __func__, RxQ));
/* pAd->LbCtrl.LoopBackTxThread = NULL; */
/*
* ntStatus = PsCreateSystemThread(&pAd->LbCtrl.LoopBackTxTask.hThread,
* (ACCESS_MASK) 0L,
* NULL,
* NULL,
* NULL,
* LoopBack_TxThread,
* pAd);
*/
ntStatus = RtmpOSTaskAttach(&pAd->LbCtrl.LoopBackTxTask, LoopBack_TxThread, (ULONG)&pAd->LbCtrl.LoopBackTxTask);
if (ntStatus != STATUS_SUCCESS)
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_ERROR, ("%s, thread create fail\n", __func__));
}
void LoopBack_Stop(RTMP_ADAPTER *pAd)
{
UINT32 BreakCount = 0;
while (pAd->LbCtrl.LoopBackWaitRx == TRUE) {
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, @#@#BreakCount = %d\n", __func__, BreakCount));
if (BreakCount > 100)
break;
#ifdef COMPOS_TESTMODE_WIN
RTMPusecDelay(300);
#else
RtmpusecDelay(300);
#endif
BreakCount++;
}
if (RtmpOSTaskKill(&pAd->LbCtrl.LoopBackTxTask) == NDIS_STATUS_FAILURE)
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_ERROR, ("kill LoopBackTxTask task failed!\n"));
if (pAd->LbCtrl.LoopBackResult.Status == RUNNING) {
pAd->LbCtrl.LoopBackResult.Status = PASS;
pAd->LbCtrl.LoopBackResult.FailReason = NO_ERROR;
}
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("***************************************%s @#@#***************************************\n", __func__));
pAd->LbCtrl.LoopBackRunning = FALSE;
if (pAd->LbCtrl.DebugMode)
goto ATE_LB_DEBUG_STOP;
if (!pAd->LbCtrl.LoopBackUDMA)
MtCmdHIFLoopBackTest(pAd, 0, 0);
ATE_LB_DEBUG_STOP:
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s,\n", __func__));
}
void LoopBack_Status(RTMP_ADAPTER *pAd, struct _LOOPBACK_RESULT *pResult)
{
os_move_mem(pResult, &pAd->LbCtrl.LoopBackResult, sizeof(struct _LOOPBACK_RESULT));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s\n", __func__));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, Status: %d\n", __func__, pAd->LbCtrl.LoopBackResult.Status));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, FailReason: %d\n", __func__, pAd->LbCtrl.LoopBackResult.FailReason));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, RxByteCount: %d\n", __func__, pAd->LbCtrl.LoopBackResult.RxByteCount));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, RxPktCount: %d\n", __func__, pAd->LbCtrl.LoopBackResult.RxPktCount));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, TxByteCount: %d\n", __func__, pAd->LbCtrl.LoopBackResult.TxByteCount));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, TxPktCount: %d\n", __func__, pAd->LbCtrl.LoopBackResult.TxPktCount));
}
void LoopBack_RawData(RTMP_ADAPTER *pAd, UINT32 *pLength, BOOLEAN IsTx, UCHAR *RawData)
{
if (*pLength > LOOPBACK_SIZE) {
*pLength = LOOPBACK_SIZE;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, max length is %d\n", __func__, LOOPBACK_SIZE));
}
if (IsTx) {
*pLength = pAd->LbCtrl.LoopBackTxRawLen;
/* RtlCopyMemory(RawData, &pAd->LoopBackTxRaw,*pLength); */
os_move_mem(RawData, &pAd->LbCtrl.LoopBackTxRaw, *pLength);
} else {
*pLength = pAd->LbCtrl.LoopBackRxRawLen;
/* RtlCopyMemory(RawData, &pAd->LoopBackRxRaw,*pLength); */
os_move_mem(RawData, &pAd->LbCtrl.LoopBackRxRaw, *pLength);
}
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, Length = 0x%x\n", __func__, *pLength));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, LoopBackRxRawLen = 0x%x\n", __func__, pAd->LbCtrl.LoopBackRxRawLen));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, LoopBackTxRawLen = 0x%x\n", __func__, pAd->LbCtrl.LoopBackTxRawLen));
}
void LoopBack_ExpectRx(RTMP_ADAPTER *pAd, UINT32 Length, UINT8 *pRawData)
{
PULONG ptr;
UINT8 i = 0;
if (Length > LOOPBACK_SIZE) {
Length = LOOPBACK_SIZE;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, max length is %d\n", __func__, LOOPBACK_SIZE));
}
/* (&pAd->LbCtrl.LoopBackExpectRx, pRawData, Length); */
os_move_mem(&pAd->LbCtrl.LoopBackExpectRx, pRawData, Length);
ptr = (PULONG)(&pAd->LbCtrl.LoopBackExpectRx);
/* Length = ptr[0] & 0xffff; */
pAd->LbCtrl.LoopBackExpectRxLen = Length;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, Length = %d\n", __func__, Length));
for (i = 0; i < 20; i++)
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("TXD(TXWI) %d 0x%08lX\n", i, *(ptr + i)));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s,\n", __func__));
}
void LoopBack_ExpectTx(RTMP_ADAPTER *pAd, UINT32 Length, UINT8 *pRawData)
{
PULONG ptr;
UINT8 i = 0;
if (Length > LOOPBACK_SIZE) {
Length = LOOPBACK_SIZE;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, max length is %d\n", __func__, LOOPBACK_SIZE));
}
/* RtlCopyMemory(&pAd->LoopBackExpectTx, pRawData, Length); */
os_move_mem(&pAd->LbCtrl.LoopBackExpectTx, pRawData, Length);
ptr = (PULONG)(&pAd->LbCtrl.LoopBackExpectTx);
/* Length = ptr[0] & 0xffff; */
pAd->LbCtrl.LoopBackExpectTxLen = Length;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, Length = %d\n", __func__, Length));
for (i = 0; i < 20; i++)
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("TXD(TXWI) %d 0x%08lX\n", i, *(ptr + i)));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s,\n", __func__));
}
void LoopBack_Run(RTMP_ADAPTER *pAd, struct _LOOPBACK_SETTING *pSetting, UINT32 Length)
{
if (Length > LOOPBACK_SIZE) {
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, LOOPBACK length too long\n", __func__));
return;
}
#ifdef _RTMP_PCI_SUPPORT
PCILoopBack_Run(pAd, pSetting, Length);
#endif
}
void LoopBack_BitTrueCheck(RTMP_ADAPTER *pAd)
{
if (!pAd->LbCtrl.LoopBackDefaultPattern) { /* Rx compare expect Rx */
if (pAd->LbCtrl.LoopBackExpectRxLen != pAd->LbCtrl.LoopBackRxRawLen) {
LoopBack_Fail(pAd, BIT_TRUE_FAIL);
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, ####################### TX/RX Length not equal ####################\n", __func__));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, ExpectRxLen = %d, RxRawLen = %d\n", __func__, pAd->LbCtrl.LoopBackExpectRxLen, pAd->LbCtrl.LoopBackRxRawLen));
} else if (RTMPEqualMemory((PVOID)&pAd->LbCtrl.LoopBackExpectRx, (PVOID)&pAd->LbCtrl.LoopBackRxRaw, pAd->LbCtrl.LoopBackRxRawLen) == 0) {
if (pAd->LbCtrl.DebugMode) {
UINT32 j = 0;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_OFF, ("RxExpect Dump(%u): ", pAd->LbCtrl.LoopBackRxRawLen));
for (j = 0; j < pAd->LbCtrl.LoopBackRxRawLen; j++)
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_OFF, ("%02x", pAd->LbCtrl.LoopBackExpectRx[j]));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_OFF, ("\n"));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_OFF, ("RxBackRaw Dump: "));
for (j = 0; j < pAd->LbCtrl.LoopBackRxRawLen; j++)
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_OFF, ("%02x", pAd->LbCtrl.LoopBackRxRaw[j]));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_OFF, ("\n"));
}
LoopBack_Fail(pAd, BIT_TRUE_FAIL);
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, ####################### BIT_TRUE_FAIL ####################\n", __func__));
} else
pAd->LbCtrl.LoopBackResult.FailReason = NO_ERROR;
} else { /* Rx compare Tx */
if (pAd->LbCtrl.LoopBackTxRawLen != pAd->LbCtrl.LoopBackRxRawLen) {
LoopBack_Fail(pAd, BIT_TRUE_FAIL);
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, ####################### TX/RX Length not equal ####################\n", __func__));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, TxRawLen = %d, RxRawLen = %d\n", __func__, pAd->LbCtrl.LoopBackTxRawLen, pAd->LbCtrl.LoopBackRxRawLen));
} else if (RTMPEqualMemory((PVOID)&pAd->LbCtrl.LoopBackTxRaw, (PVOID)&pAd->LbCtrl.LoopBackRxRaw, pAd->LbCtrl.LoopBackTxRawLen) == 0) {
if (pAd->LbCtrl.DebugMode) {
UINT32 j = 0;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("TxExpect Dump(%u): ", pAd->LbCtrl.LoopBackTxRawLen));
for (j = 0; j < pAd->LbCtrl.LoopBackRxRawLen; j++)
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%02x", pAd->LbCtrl.LoopBackTxRaw[j]));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("\n"));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("RxBackRaw Dump: "));
for (j = 0; j < pAd->LbCtrl.LoopBackRxRawLen; j++)
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%02x", pAd->LbCtrl.LoopBackRxRaw[j]));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("\n"));
}
LoopBack_Fail(pAd, BIT_TRUE_FAIL);
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, ####################### BIT_TRUE_FAIL ####################\n", __func__));
} else {
pAd->LbCtrl.LoopBackResult.FailReason = NO_ERROR;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, ####################### BIT_TRUE OK ####################\n", __func__));
}
}
}
void LoopBack_Fail(RTMP_ADAPTER *pAd, enum _LOOPBACK_FAIL FailNum)
{
if (pAd->LbCtrl.LoopBackResult.Status == RUNNING) {
pAd->LbCtrl.LoopBackResult.FailReason = FailNum;
pAd->LbCtrl.LoopBackResult.Status = FAIL;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, FailReason = %d\n", __func__, FailNum));
}
}
#ifdef COMPOS_TESTMODE_WIN
INT LoopBack_TxThread(IN OUT PVOID Context)
#else
INT LoopBack_TxThread(ULONG Context)
#endif
{
#ifdef COMPOS_TESTMODE_WIN
RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)Context;
#else
RTMP_OS_TASK *pTask = (RTMP_OS_TASK *)Context;
RTMP_ADAPTER *pAd = (PRTMP_ADAPTER)RTMP_OS_TASK_DATA_GET(pTask);
#endif
struct _LOOPBACK_SETTING *pSetting = &pAd->LbCtrl.LoopBackSetting;
UINT32 RepeatIdx = 0;
UINT32 Length = 0;
UINT32 BreakCount = 0;
UINT32 DbgCount = 0;
/* KIRQL Irql; */
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, Repeat:%u\n", __func__, pSetting->RepeatTimes));
if (pSetting->RepeatTimes == 0)
pSetting->RepeatTimes = 0xffffffff;
for (RepeatIdx = 0; RepeatIdx < pSetting->RepeatTimes ; RepeatIdx++) {
if (pSetting->RepeatTimes == 0xffffffff)
RepeatIdx = 0;
for (Length = pSetting->StartLen; Length <= pSetting->StopLen; Length++) {
while (pAd->LbCtrl.LoopBackWaitRx) {
BreakCount++;
#ifdef COMPOS_TESTMODE_WIN
RTMPusecDelay(50);
#else
RtmpusecDelay(50);
#endif
if (BreakCount > 2000) {
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_ERROR, ("%s, no Rx come back Stop1!!!\n", __func__));
break;
}
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_ERROR, ("%s, no Rx BreakCount = %d\n", __func__, BreakCount));
}
if (BreakCount > 2000) {
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_ERROR, ("%s, no Rx come back Stop2!!!\n", __func__));
LoopBack_Fail(pAd, RX_TIMEOUT);
break;
}
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_ERROR, ("%s, Length = %d\n", __func__, Length));
BreakCount = 0;
if (pAd->LbCtrl.LoopBackRunning == FALSE || pAd->LbCtrl.LoopBackResult.Status != RUNNING)
break;
if (!pSetting->IsDefaultPattern)
Length = pAd->LbCtrl.LoopBackExpectTxLen;
if (pAd->LbCtrl.LoopBackResult.Status == RUNNING) {
/* KeAcquireSpinLock(&pAd->LoopBackLock, &Irql); */
OS_SPIN_LOCK(&pAd->LbCtrl.LoopBackLock);
pAd->LbCtrl.LoopBackWaitRx = TRUE;
/* KeReleaseSpinLock(&pAd->LoopBackLock, Irql); */
OS_SPIN_UNLOCK(&pAd->LbCtrl.LoopBackLock);
LoopBack_Run(pAd, pSetting, Length);
if (pAd->LbCtrl.LoopBackRunning == FALSE || pAd->LbCtrl.LoopBackResult.Status != RUNNING)
break;
}
#ifdef COMPOS_TESTMODE_WIN
RTMPusecDelay(200);
#else
RtmpusecDelay(200);
#endif
DbgCount++;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_ERROR, ("%s, DbgCount = %d\n", __func__, DbgCount));
if (!pSetting->IsDefaultPattern) {
/* use script file does not need to auto increase length */
break;
}
}
if (pAd->LbCtrl.LoopBackRunning == FALSE || pAd->LbCtrl.LoopBackResult.Status != RUNNING)
break;
}
if (pAd->LbCtrl.LoopBackRunning)
LoopBack_Stop(pAd);
/* pAd->LbCtrl.LoopBackTxThread = NULL; */
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_INFO, ("+ + + + Control Thread Terminated + + + +\n"));
/* DecrementIoCount(pAd); */
/* PsTerminateSystemThread(STATUS_SUCCESS); */
RtmpOSTaskNotifyToExit(&pAd->LbCtrl.LoopBackTxTask);
return 0;
}
VOID LoopBack_Rx(RTMP_ADAPTER *pAd, UINT32 pktlen, UINT8 *pData)
{
if (!pAd->LbCtrl.LoopBackRunning && !pAd->LbCtrl.LoopBackWaitRx)
return;
{
UINT32 LPLength = 0;
INT32 TotalLength = (INT32)pktlen;
UINT8 *ptr = pData;
EVENT_RXD EvnRxD;
/* FwCMDRspTxD_STRUC FwCMDRspTxD; */
if (pAd->LbCtrl.DebugMode) {
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, Debug Mode, Total Len:%d\n", __func__, TotalLength));
LPLength = pktlen;
} else {
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("Driver Rx LoopBackRunning\n"));
/* os_move_mem(&FwCMDRspTxD,ptr,sizeof(FwCMDRspTxD)); */
os_move_mem(&EvnRxD, ptr, sizeof(EvnRxD));
/* LPLength = FwCMDRspTxD.FwEventTxD.u2RxByteCount; */
LPLength = EvnRxD.fw_rxd_0.field.length;
if (LPLength > LOOPBACK_SIZE) {
LPLength = LOOPBACK_SIZE;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, max length is %d\n", __func__, LOOPBACK_SIZE));
}
}
{
#ifdef COMPOS_TESTMODE_WIN /* Windows First -4 for padding bits and then add back here,Linux(?) */
if (!pAd->LbCtrl.LoopBackSetting.IsDefaultPattern)
LPLength = TotalLength + 4;
#endif
/* RtlCopyMemory(&FwCMDRspTxD,ptr,sizeof(FwCMDRspTxD)); */
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, Total Length = %d, LPLength is %d, bytecount = %d\n",
__func__, TotalLength, LPLength, EvnRxD.fw_rxd_0.field.length));
/* LPLength = FwCMDRspTxD.FwEventTxD.u2RxByteCount; */
pAd->LbCtrl.LoopBackResult.RxByteCount += LPLength;
pAd->LbCtrl.LoopBackResult.RxPktCount++;
os_move_mem(&pAd->LbCtrl.LoopBackRxRaw, ptr, LPLength);
pAd->LbCtrl.LoopBackRxRawLen = LPLength;
}
if (pAd->LbCtrl.LoopBackUDMA == FALSE)
LoopBack_BitTrueCheck(pAd);
/* KeAcquireSpinLock(&pAdapter->LoopBackLock, &Irql); */
OS_SPIN_LOCK(&pAd->LbCtrl.LoopBackLock);
pAd->LbCtrl.LoopBackWaitRx = FALSE;
/* KeReleaseSpinLock(&pAdapter->LoopBackLock, Irql); */
OS_SPIN_UNLOCK(&pAd->LbCtrl.LoopBackLock);
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, RxPktCount = %d\n", __func__, pAd->LbCtrl.LoopBackResult.RxPktCount));
}
}
/* currently not implement PCIE loopback */
#ifdef _RTMP_PCI_SUPPORT
void PCILoopBack_Run(RTMP_ADAPTER *pAd, struct _LOOPBACK_SETTING *pSetting, UINT32 length)
{
UINT32 count = 0;
TMAC_TXD_L TxD;
PUCHAR ptr;
UINT8 alignment = 0;
/* UINT32 TimeOut1Second = 100; */
UCHAR *TxDataBuffer = NULL;
UINT32 *TxDataBufferLength;
UINT32 BUF_SIZE = 0;
#ifdef COMPOS_TESTMODE_WIN
TxDataBuffer = pAd->TxDataBuffer;
BUF_SIZE = BUFFER_SIZE;
TxDataBufferLength = &pAd->TxDataBufferLength;
#else
struct _ATE_CTRL *ate_ctrl = &(pAd->ATECtrl);
TxDataBuffer = pAd->ATECtrl.pate_pkt;
BUF_SIZE = ATE_TESTPKT_LEN;
TxDataBufferLength = &pAd->ATECtrl.TxLength;
#endif
/* length = 1024; */
if (pSetting->IsDefaultPattern) {
os_zero_mem(TxDataBuffer, BUF_SIZE);
os_zero_mem(&TxD, sizeof(TxD));
ptr = TxDataBuffer + sizeof(TxD);
for (count = 0; count < length - sizeof(TxD); count++)
ptr[count] = count % 16;
/* set pkt content */
TxD.TxD0.TxByteCount = length;
#ifndef MT7615
TxD.TxD0.PIdx = 1;
TxD.TxD0.QIdx = 0;
TxD.TxD1.TxDFmt = 1;
TxD.TxD1.HdrFmt = 1;
#endif
os_move_mem(TxDataBuffer, &TxD, sizeof(TxD));
os_move_mem(&pAd->LbCtrl.LoopBackTxRaw, TxDataBuffer, LOOPBACK_SIZE);
pAd->LbCtrl.LoopBackTxRawLen = length;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, length = %d\n", __func__, length));
if (length > 32) {
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("===buffer===\n"));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("0x%x 0x%x 0x%x 0x%x\n", TxDataBuffer[3], TxDataBuffer[2], TxDataBuffer[1], TxDataBuffer[0]));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("0x%x 0x%x 0x%x 0x%x\n", TxDataBuffer[7], TxDataBuffer[6], TxDataBuffer[5], TxDataBuffer[4]));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("0x%x 0x%x 0x%x 0x%x\n", TxDataBuffer[11], TxDataBuffer[10], TxDataBuffer[9], TxDataBuffer[8]));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("0x%x 0x%x 0x%x 0x%x\n", TxDataBuffer[15], TxDataBuffer[14], TxDataBuffer[13], TxDataBuffer[12]));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("0x%x 0x%x 0x%x 0x%x\n", TxDataBuffer[19], TxDataBuffer[18], TxDataBuffer[17], TxDataBuffer[16]));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("0x%x 0x%x 0x%x 0x%x\n", TxDataBuffer[23], TxDataBuffer[22], TxDataBuffer[21], TxDataBuffer[20]));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("0x%x 0x%x 0x%x 0x%x\n", TxDataBuffer[27], TxDataBuffer[26], TxDataBuffer[25], TxDataBuffer[24]));
}
if (length % 4 != 0)
alignment = 4 - (length % 4);
if (pAd->LbCtrl.DebugMode) {
int j = 0;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("Tx Dump: "));
for (j = 0; j < length; j++)
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%02x", TxDataBuffer[j]));
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("\n"));
}
/* pAd->TxDataBufferLength = length + alignment + 4 ; */
*TxDataBufferLength = length + alignment + 4;
} else {
os_move_mem(TxDataBuffer, &pAd->LbCtrl.LoopBackExpectTx, pAd->LbCtrl.LoopBackExpectTxLen);
os_zero_mem(TxDataBuffer + length, pAd->LbCtrl.LoopBackExpectTxLen - length);
os_move_mem(&pAd->LbCtrl.LoopBackTxRaw, TxDataBuffer, length);
pAd->LbCtrl.LoopBackTxRawLen = pAd->LbCtrl.LoopBackExpectTxLen;
/* pAd->LoopBackExpectRxLen = length; */
}
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, LP length = %d, alignment = %d\n", __func__, length, alignment));
pAd->LbCtrl.LoopBackResult.TxByteCount += length;
pAd->LbCtrl.LoopBackResult.TxPktCount++;
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, RxPktCount = %d\n", __func__, pAd->LbCtrl.LoopBackResult.RxPktCount));
#ifdef COMPOS_TESTMODE_WIN
StartTx(pAd, 1, 0);
#else
ate_ctrl->TxLength = length;
MT_ATETxPkt(pAd, TESTMODE_BAND0);
#endif
/* cannot pass UINT32 TimeOut1Second = 100; to wait_event, it will not wait.. workaround use 0 (1second instead of TimeOut1Second) */
if (!pAd->LbCtrl.DebugMode)
if (RTMP_OS_WAIT_FOR_COMPLETION_TIMEOUT(&pAd->LbCtrl.LoopBackPCITxEvent, 0) != STATUS_SUCCESS) {
LoopBack_Fail(pAd, TX_TIMEOUT);
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE, ("%s, ####################### TX_TIMEOUT ####################3\n", __func__));
}
}
#endif

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,99 @@
#ifndef _LOOPBACK_H_
#define _LOOPBACK_H_
#define LOOPBACK_SIZE (10240*6)
enum _LOOPBACK_STATUS {
RUNNING = 0,
PASS,
FAIL
};
enum _LOOPBACK_FAIL {
NO_ERROR = 0,
TX_TIMEOUT,
RX_TIMEOUT,
BIT_TRUE_FAIL
};
struct _LOOPBACK_SETTING {
UINT32 StartLen;
UINT32 StopLen;
UINT32 RepeatTimes; /* 0 = infinite */
UINT32 IsDefaultPattern;
/* #ifdef RTMP_USB_SUPPORT */
UINT32 BulkOutNumber;
UINT32 BulkInNumber;
UINT32 TxAggNumber;
UINT32 RxAggPktLmt;/* pkt numbers */
UINT32 RxAggLmt;/* pkt size */
UINT32 RxAggTO;/* timeout (us) */
UINT32 RxAggEnable;
/* #endif */
};
/* TODO:Unify */
#if !defined(COMPOS_TESTMODE_WIN)
#define MAX_TX_BULK_PIPE_NUM 6
#define MAX_RX_BULK_PIPE_NUM 2
#endif
struct _LOOPBACK_RESULT {
UINT32 Status; /* 0 running, 1 pass , 2 fail */
UINT32 FailReason; /* 0 no error, 1 TX timeout, 2 RX timeout, 3 bit true fail */
UINT32 TxPktCount;
UINT32 RxPktCount;
UINT32 TxByteCount; /* 0 = infinite */
UINT32 RxByteCount;
/* #ifdef RTMP_USB_SUPPORT */
UINT32 LastBulkOut;
/* #endif */
};
struct _LOOPBACK_CTRL {
BOOLEAN DebugMode;
BOOLEAN LoopBackRunning;
BOOLEAN LoopBackWaitRx;
struct _LOOPBACK_RESULT LoopBackResult;
struct _LOOPBACK_SETTING LoopBackSetting;
UINT8 LoopBackBulkoutNumber;
UCHAR LoopBackTxRaw[LOOPBACK_SIZE];
UCHAR LoopBackRxRaw[LOOPBACK_SIZE];
UINT32 LoopBackTxRawLen;
UINT32 LoopBackRxRawLen;
UINT32 LoopBackExpectTxLen;
UINT32 LoopBackExpectRxLen;
UCHAR LoopBackExpectTx[LOOPBACK_SIZE];
UCHAR LoopBackExpectRx[LOOPBACK_SIZE];
NDIS_SPIN_LOCK LoopBackLock;
BOOLEAN LoopBackDefaultPattern;
RTMP_OS_TASK LoopBackTxTask;
RTMP_OS_COMPLETION LoopBackEvent;
BOOLEAN LoopBackUDMA;
#ifdef RTMP_PCI_SUPPORT
RTMP_OS_COMPLETION LoopBackPCITxEvent;
#endif
};
INT32 CheckFWROMWiFiSysOn(struct _RTMP_ADAPTER *pAd);
void LoopBack_Start(struct _RTMP_ADAPTER *pAd, struct _LOOPBACK_SETTING *pSetting);
void LoopBack_Stop(struct _RTMP_ADAPTER *pAd);
void LoopBack_Status(struct _RTMP_ADAPTER *pAd, struct _LOOPBACK_RESULT *pResult);
void LoopBack_RawData(struct _RTMP_ADAPTER *pAd, UINT32 *pLength, BOOLEAN IsTx, UINT8 *pRawData);
void LoopBack_ExpectRx(struct _RTMP_ADAPTER *pAd, UINT32 Length, UINT8 *pRawData);
void LoopBack_ExpectTx(struct _RTMP_ADAPTER *pAd, UINT32 Length, UINT8 *pRawData);
void LoopBack_Run(struct _RTMP_ADAPTER *pAd, struct _LOOPBACK_SETTING *pSetting, UINT32 length);
void LoopBack_BitTrueCheck(struct _RTMP_ADAPTER *pAd);
void LoopBack_Fail(struct _RTMP_ADAPTER *pAd, enum _LOOPBACK_FAIL FailNum);
#ifdef COMPOS_TESTMODE_WIN /* TODO::Unify thread parameter */
INT LoopBack_TxThread(IN OUT PVOID Context);
#else
INT LoopBack_TxThread(ULONG Context);
#endif
void LoopBack_Rx(struct _RTMP_ADAPTER *pAd, UINT32 pktlen, UINT8 *pData);
#ifdef RTMP_PCI_SUPPORT
void PCILoopBack_Run(struct _RTMP_ADAPTER *pAd, struct _LOOPBACK_SETTING *pSetting, UINT32 length);
INT32 ATECheckFWROMWiFiSysOn(struct _RTMP_ADAPTER *pAd);
#endif
#endif /* _LOOPBACK_H_ */

View File

@ -0,0 +1,678 @@
/*
***************************************************************************
* MediaTek Inc.
*
* All rights reserved. source code is an unpublished work and the
* use of a copyright notice does not imply otherwise. This source code
* contains confidential trade secret material of MediaTek. Any attemp
* or participation in deciphering, decoding, reverse engineering or in any
* way altering the source code is stricitly prohibited, unless the prior
* written consent of MediaTek, Inc. is obtained.
***************************************************************************
Module Name:
ate.h
*/
#ifndef __ATE_H__
#define __ATE_H__
#include "LoopBack.h"
#ifdef MT7615
#define ARBITRARY_CCK_OFDM_TX 1
#endif
#ifndef COMPOS_TESTMODE_WIN
/* #define LOGDUMP_TO_FILE 1 */
#define ATE_TXTHREAD 1
#endif
#define IOCTLBUFF 2048
#define ATE_ON(_p) ((((_p)->ATECtrl.Mode) & ATE_START) == ATE_START)
INT32 ATEInit(struct _RTMP_ADAPTER *pAd);
INT32 ATEExit(struct _RTMP_ADAPTER *pAd);
#define FREQ_OFFSET_MANUAL_ENABLE 0x81021238
#define FREQ_OFFSET_MANUAL_VALUE 0x81021234
/* For CA53 GPIO CR remap usage */
#define CA53_GPIO_REMAP_SIZE 0x10
#ifdef ARBITRARY_CCK_OFDM_TX
/* MCU PTA CR */
#define ANT_SWITCH_CON2 0x810600CC
#define ANT_SWITCH_CON3 0x810600D0
#define ANT_SWITCH_CON4 0x810600D4
#define ANT_SWITCH_CON6 0x810600DC
#define ANT_SWITCH_CON7 0x810600E0
#define ANT_SWITCH_CON8 0x810600E4
#endif
/*
* Use bitmap to allow coexist of ATE_TXFRAME
* and ATE_RXFRAME(i.e.,to support LoopBack mode).
*/
#define fATE_IDLE (1 << 0)
#define fATE_TX_ENABLE (1 << 1)
#define fATE_RX_ENABLE (1 << 2)
#define fATE_TXCONT_ENABLE (1 << 3)
#define fATE_TXCARR_ENABLE (1 << 4)
#define fATE_TXCARRSUPP_ENABLE (1 << 5)
#define fATE_MPS (1 << 6)
#define fATE_FFT_ENABLE (1 << 7)
#define fATE_EXIT (1 << 8)
#define fATE_IN_RFTEST (1 << 9)
#define fATE_IN_BF (1 << 10)
#define fATE_IN_ICAPOVERLAP (1 << 11)
/* Stop Transmission */
#define ATE_TXSTOP ((~(fATE_TX_ENABLE))&(~(fATE_TXCONT_ENABLE))&(~(fATE_TXCARR_ENABLE))&(~(fATE_TXCARRSUPP_ENABLE))&(~(fATE_MPS)))
/* Stop Receiving Frames */
#define ATE_RXSTOP (~(fATE_RX_ENABLE))
/* Enter/Reset ATE */
#define ATE_START (fATE_IDLE)
/* Stop/Exit ATE */
#define ATE_STOP (fATE_EXIT)
/* Continuous Transmit Frames (without time gap) */
#define ATE_TXCONT ((fATE_TX_ENABLE)|(fATE_TXCONT_ENABLE))
/* Transmit Carrier */
#define ATE_TXCARR ((fATE_TX_ENABLE)|(fATE_TXCARR_ENABLE))
/* Transmit Carrier Suppression (information without carrier) */
#define ATE_TXCARRSUPP ((fATE_TX_ENABLE)|(fATE_TXCARRSUPP_ENABLE))
/* Transmit Frames */
#define ATE_TXFRAME (fATE_TX_ENABLE)
/* Receive Frames */
#define ATE_RXFRAME (fATE_RX_ENABLE)
/* MPS */
#define ATE_MPS ((fATE_TX_ENABLE)|(fATE_MPS))
#define ATE_FFT ((fATE_FFT_ENABLE)|(fATE_IN_RFTEST))
#define BULK_OUT_LOCK(pLock, IrqFlags) \
RTMP_IRQ_LOCK((pLock), IrqFlags)
#define BULK_OUT_UNLOCK(pLock, IrqFlags) \
RTMP_IRQ_UNLOCK((pLock), IrqFlags)
/* WiFi PHY mode capability */
#define PHYMODE_CAP_24G (WMODE_B | WMODE_G | WMODE_GN)
#define PHYMODE_CAP_5G (WMODE_A | WMODE_AN | WMODE_AC)
#define PHYMODE_CAP_DUAL_BAND (PHYMODE_CAP_24G | PHYMODE_CAP_5G)
/* ContiTxTone */
#define WF0_TX_ONE_TONE_5M 0x0
#define WF0_TX_TWO_TONE_5M 0x1
#define WF1_TX_ONE_TONE_5M 0x2
#define WF1_TX_TWO_TONE_5M 0x3
#define WF0_TX_ONE_TONE_10M 0x4
#define WF1_TX_ONE_TONE_10M 0x5
#define WF0_TX_ONE_TONE_DC 0x6
#define WF1_TX_ONE_TONE_DC 0x7
#define MAX_TEST_PKT_LEN 1496
#define MIN_TEST_PKT_LEN 25
#define MAX_TEST_BKCR_NUM 30
/* For packet tx time, in unit of byte */
#define MAX_HT_AMPDU_LEN 65000
#define MAX_VHT_MPDU_LEN 6700 /* 11454 */
#define DEFAULT_MPDU_LEN 4096
#define MAX_MSDU_LEN 2304
#define MIN_MSDU_LEN 22
#define DEFAULT_MAC_HDR_LEN 24
#define QOS_MAC_HDR_LEN 26
/* For ipg and duty cycle, in unit of us */
#define SIG_EXTENSION 6
#define DEFAULT_SLOT_TIME 9
#define DEFAULT_SIFS_TIME 10
#define MAX_SIFS_TIME 127 /* ICR has 7-bit only */ /* For the ATCR/TRCR limitation 8-bit/9-bit only*/
#define MAX_AIFSN 0xF
#define MIN_AIFSN 0x1
#define MAX_CW 0x10
#define MIN_CW 0x0
#define NORMAL_CLOCK_TIME 50 /* in uint of ns */
#define BBP_PROCESSING_TIME 1500 /* in uint of ns */
/* The expected enqueue packet number in one time RX event trigger */
#define ATE_ENQUEUE_PACKET_NUM 100
#if defined(MT7615) || defined(MT7622)
#define ATE_TESTPKT_LEN 13311 /* Setting max packet length to 13311 on MT7615 */
#else
#define ATE_TESTPKT_LEN 4095 /* AMPDU delimiter 12 bit, maximum 4095 */
#endif
#define ATE_MAX_PATTERN_SIZE 128
#define TESTMODE_BAND0 0
#define TESTMODE_BAND1 1
#define ATE_BF_WCID 1
#define ATE_BFMU_NUM 4
struct _RTMP_ADAPTER;
struct _RX_BLK;
#ifdef DBDC_MODE
#define IS_ATE_DBDC(_pAd) _pAd->CommonCfg.dbdc_mode
#define TESTMODE_BAND_NUM 2
#else
#define IS_ATE_DBDC(_pAd) FALSE
#define TESTMODE_BAND_NUM 1
#endif
/* Antenna mode */
#define ANT_MODE_DEFAULT 0
#define ANT_MODE_SPE_IDX 1
#if !defined(COMPOS_TESTMODE_WIN)
/* Allow Sleep */
#define TESTMODE_SEM struct semaphore
#define TESTMODE_SEM_INIT(_psem, _val) sema_init(_psem, _val)
#define TESTMODE_SEM_DOWN(_psem) down(_psem)
#define TESTMODE_SEM_DOWN_INTERRUPTIBLE(_psem) down_interruptible(_psem)
#define TESTMODE_SEM_DOWN_TRYLOCK(_psem) down_trylock(_psem)
#define TESTMODE_SEM_UP(_psem) up(_psem)
#endif
enum _TESTMODE_MODE {
HQA_VERIFY,
ATE_LOOPBACK,
MODE_NUM
};
enum _MPS_PARAM_TYPE {
MPS_SEQDATA,
MPS_PHYMODE,
MPS_PATH,
MPS_RATE,
MPS_PAYLOAD_LEN,
MPS_TX_COUNT,
MPS_PWR_GAIN,
MPS_PARAM_NUM,
MPS_NSS,
MPS_PKT_BW,
};
struct _ATE_OPERATION {
INT32 (*ATEStart)(struct _RTMP_ADAPTER *pAd);
INT32 (*ATEStop)(struct _RTMP_ADAPTER *pAd);
INT32 (*StartTx)(struct _RTMP_ADAPTER *pAd);
INT32 (*StartRx)(struct _RTMP_ADAPTER *pAd);
INT32 (*StopTx)(struct _RTMP_ADAPTER *pAd);
INT32 (*StopRx)(struct _RTMP_ADAPTER *pAd);
INT32 (*SetTxPath)(struct _RTMP_ADAPTER *pAd);
INT32 (*SetRxPath)(struct _RTMP_ADAPTER *pAd);
INT32 (*SetTxPower0)(struct _RTMP_ADAPTER *pAd, struct _ATE_TXPOWER TxPower);
INT32 (*SetTxPower1)(struct _RTMP_ADAPTER *pAd, struct _ATE_TXPOWER TxPower);
INT32 (*SetTxPower2)(struct _RTMP_ADAPTER *pAd, struct _ATE_TXPOWER TxPower);
INT32 (*SetTxPower3)(struct _RTMP_ADAPTER *pAd, struct _ATE_TXPOWER TxPower);
INT32 (*SetTxForceTxPower)(struct _RTMP_ADAPTER *pAd, INT8 cTxPower, UINT8 ucPhyMode, UINT8 ucTxRate, UINT8 ucBW);
INT32 (*SetTxPowerX)(struct _RTMP_ADAPTER *pAd, struct _ATE_TXPOWER TxPower);
INT32 (*SetTxAntenna)(struct _RTMP_ADAPTER *pAd, UINT32 Ant);
INT32 (*SetRxAntenna)(struct _RTMP_ADAPTER *pAd, UINT32 Ant);
INT32 (*SetTxFreqOffset)(struct _RTMP_ADAPTER *pAd, UINT32 FreqOffset);
INT32 (*GetTxFreqOffset)(struct _RTMP_ADAPTER *pAd, UINT32 *FreqOffset);
INT32 (*SetChannel)(struct _RTMP_ADAPTER *pAd, INT16 Value, UINT32 pri_sel, UINT32 reason, UINT32 Ch_Band);
INT32 (*SetBW)(struct _RTMP_ADAPTER *pAd, UINT16 system_bw, UINT16 per_pkt_bw);
INT32 (*SetDutyCycle)(struct _RTMP_ADAPTER *pAd, UINT32 value);
INT32 (*SetPktTxTime)(struct _RTMP_ADAPTER *pAd, UINT32 value);
INT32 (*SampleRssi)(struct _RTMP_ADAPTER *pAd, struct _RX_BLK *pRxBlk);
INT32 (*SetIPG)(struct _RTMP_ADAPTER *pAd);
INT32 (*SetSlotTime)(struct _RTMP_ADAPTER *pAd, UINT32 SlotTime, UINT32 SifsTime);
INT32 (*SetAIFS)(struct _RTMP_ADAPTER *pAd, CHAR Value);
INT32 (*SetPowerDropLevel)(struct _RTMP_ADAPTER *pAd, UINT32 PowerDropLevel);
INT32 (*SetTSSI)(struct _RTMP_ADAPTER *pAd, CHAR WFSel, CHAR Setting);
INT32 (*LowPower)(struct _RTMP_ADAPTER *pAd, UINT32 Control);
INT32 (*SetDPD)(struct _RTMP_ADAPTER *pAd, CHAR WFSel, CHAR Setting);
INT32 (*StartTxTone)(struct _RTMP_ADAPTER *pAd, UINT32 Mode);
INT32 (*SetTxTonePower)(struct _RTMP_ADAPTER *pAd, INT32 pwr1, INT pwr2);
INT32 (*SetDBDCTxTonePower)(struct _RTMP_ADAPTER *pAd, INT32 pwr1, INT pwr2, UINT32 AntIdx);
INT32 (*StopTxTone)(struct _RTMP_ADAPTER *pAd);
INT32 (*StartContinousTx)(struct _RTMP_ADAPTER *pAd, CHAR WFSel, UINT32 TxfdMode);
INT32 (*StopContinousTx)(struct _RTMP_ADAPTER *pAd, UINT32 TxfdMode);
INT32 (*EfuseGetFreeBlock)(struct _RTMP_ADAPTER *pAd, UINT32 GetFreeBlock, UINT32 *Value);
INT32 (*EfuseAccessCheck)(struct _RTMP_ADAPTER *pAd, UINT32 offset, PUCHAR pData);
INT32 (*RfRegWrite)(struct _RTMP_ADAPTER *pAd, UINT32 WFSel, UINT32 Offset, UINT32 Value);
INT32 (*RfRegRead)(struct _RTMP_ADAPTER *pAd, UINT32 WFSel, UINT32 Offset, UINT32 *Value);
INT32 (*GetFWInfo)(struct _RTMP_ADAPTER *pAd, UCHAR *FWInfo);
#ifdef PRE_CAL_MT7622_SUPPORT
INT32 (*TxDPDTest7622)(struct _RTMP_ADAPTER *pAd, RTMP_STRING * arg);
#endif /*PRE_CAL_MT7622_SUPPORT*/
#ifdef PRE_CAL_TRX_SET1_SUPPORT
INT32 (*RxSelfTest)(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
INT32 (*TxDPDTest)(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
#endif /* PRE_CAL_TRX_SET1_SUPPORT */
#ifdef PRE_CAL_TRX_SET2_SUPPORT
INT32 (*PreCalTest)(struct _RTMP_ADAPTER *pAd, UINT8 CalId, UINT32 ChGrpId);
#endif /* PRE_CAL_TRX_SET2_SUPPORT */
#if defined(TXBF_SUPPORT) && defined(MT_MAC)
INT32 (*SetATETxSoundingProc)(struct _RTMP_ADAPTER *pAd, UCHAR SoundingMode);
INT32 (*StartTxSKB)(struct _RTMP_ADAPTER *pAd);
#endif /* TXBF_SUPPORT && MT_MAC */
INT32 (*MPSSetParm)(struct _RTMP_ADAPTER *pAd, enum _MPS_PARAM_TYPE data_type, INT32 items, UINT32 *data);
INT32 (*MPSTxStart)(struct _RTMP_ADAPTER *pAd);
INT32 (*MPSTxStop)(struct _RTMP_ADAPTER *pAd);
INT32 (*SetAutoResp)(struct _RTMP_ADAPTER *pAd, UCHAR *mac, UCHAR mode);
INT32 (*SetFFTMode)(struct _RTMP_ADAPTER *pAd, UINT32 mode);
INT32 (*onOffRDD)(struct _RTMP_ADAPTER *pAd, UINT32 rdd_num, UINT32 rdd_in_sel, UINT32 is_start);
INT32 (*SetCfgOnOff)(struct _RTMP_ADAPTER *pAd, UINT32 Type, UINT32 Enable);
INT32 (*GetCfgOnOff)(struct _RTMP_ADAPTER *pAd, UINT32 Type, UINT32 *Result);
INT32 (*SetRXFilterPktLen)(struct _RTMP_ADAPTER *pAd, UINT32 Enable, UINT32 RxPktLen);
#ifdef TXPWRMANUAL
INT32 (*SetTxPwrManual)(struct _RTMP_ADAPTER *pAd, BOOLEAN fgPwrManCtrl, UINT8 u1TxPwrModeManual, UINT8 u1TxPwrBwManual, UINT8 u1TxPwrRateManual, INT8 i1TxPwrValueManual, UCHAR Band);
#endif
INT32 (*DBDCTxTone)(struct _RTMP_ADAPTER *pAd, UINT32 Control, UINT32 AntIndex, UINT32 ToneType, UINT32 ToneFreq, INT32 DcOffset_I, INT32 DcOffset_Q, UINT32 Band);
INT32 (*TxCWTone)(struct _RTMP_ADAPTER *pAd, UINT32 Control);
INT32 (*GetTxPower)(struct _RTMP_ADAPTER *pAd, UINT32 Enable, UINT32 Ch_Band, UINT32 *EfuseAddr, UINT32 *Power);
INT32 (*BssInfoUpdate)(struct _RTMP_ADAPTER *pAd, UINT32 OwnMacIdx, UINT32 BssIdx, UCHAR *Bssid);
INT32 (*DevInfoUpdate)(struct _RTMP_ADAPTER *pAd, UINT32 OwnMacIdx, UCHAR *Bssid);
INT32 (*LogOnOff)(struct _RTMP_ADAPTER *pAd, UINT32 type, UINT32 on_off, UINT32 num_log);
INT32 (*SetICapStart)(struct _RTMP_ADAPTER *pAd, BOOLEAN Trigger, BOOLEAN RingCapEn, UINT32 Event, UINT32 Node, UINT32 Len, UINT32 StopCycle, UINT32 BW, UINT32 MACTriggerEvent, UINT32 SourceAddrLSB, UINT32 SourceAddrMSB, UINT32 Band);
INT32 (*GetICapStatus)(struct _RTMP_ADAPTER *pAd);
INT32 (*GetICapIQData)(struct _RTMP_ADAPTER *pAd, PINT32 pData, PINT32 pDataLen, UINT32 IQ_Type, UINT32 WF_Num);
INT32 (*SetAntennaPort)(struct _RTMP_ADAPTER *pAd, UINT32 RfModeMask, UINT32 RfPortMask, UINT32 AntPortMask);
INT32 (*ClockSwitchDisable)(struct _RTMP_ADAPTER *pAd, UINT8 isDisable);
};
struct _ATE_IF_OPERATION {
INT32 (*init)(struct _RTMP_ADAPTER *pAd);
INT32 (*clean_trx_q)(struct _RTMP_ADAPTER *pAd);
INT32 (*setup_frame)(struct _RTMP_ADAPTER *pAd, UINT32 q_idx);
INT32 (*test_frame_tx)(struct _RTMP_ADAPTER *pAd);
INT32 (*test_frame_rx)(struct _RTMP_ADAPTER *pAd);
INT32 (*ate_leave)(struct _RTMP_ADAPTER *pAd);
};
struct _HQA_MPS_SETTING {
UINT32 phy;
UINT32 pkt_len;
UINT32 pkt_cnt;
UINT32 pwr;
UINT32 nss;
UINT32 pkt_bw;
};
enum _TEST_BK_CR_TYPE {
TEST_EMPTY_BKCR = 0,
TEST_MAC_BKCR,
TEST_HIF_BKCR,
TEST_PHY_BKCR,
TEST_HW_BKCR,
TEST_MCU_BKCR,
TEST_BKCR_TYPE_NUM,
};
struct _TESTMODE_BK_CR {
ULONG offset;
UINT32 val;
enum _TEST_BK_CR_TYPE type;
};
struct _ATE_RXV_LOG {
RX_VECTOR1_1ST_CYCLE rxv1_1st;
RX_VECTOR1_2ND_CYCLE rxv1_2nd;
RX_VECTOR1_3TH_CYCLE rxv1_3rd;
RX_VECTOR1_4TH_CYCLE rxv1_4th;
RX_VECTOR1_5TH_CYCLE rxv1_5th;
RX_VECTOR1_6TH_CYCLE rxv1_6th;
RX_VECTOR2_1ST_CYCLE rxv2_1st;
RX_VECTOR2_2ND_CYCLE rxv2_2nd;
RX_VECTOR2_3TH_CYCLE rxv2_3rd;
};
#define ATE_RDD_LOG_SIZE 8 /* Pulse size * num of pulse = 8 * 32 for one event*/
struct _ATE_RDD_LOG {
UINT32 u4Prefix;
UINT32 u4Count;
UINT8 byPass;
UINT8 aucBuffer[ATE_RDD_LOG_SIZE];
};
#define ATE_RECAL_LOG_SIZE (CAL_ALL_LEN >> 3)
struct _ATE_LOG_RECAL {
UINT32 cal_idx;
UINT32 cal_type;
UINT32 cr_addr;
UINT32 cr_val;
};
enum {
ATE_LOG_RXV = 1,
ATE_LOG_RDD,
ATE_LOG_RE_CAL,
ATE_LOG_TYPE_NUM,
ATE_LOG_RXINFO,
ATE_LOG_TXDUMP,
ATE_LOG_TEST,
};
enum {
ATE_LOG_OFF,
ATE_LOG_ON,
ATE_LOG_DUMP,
ATE_LOG_CTRL_NUM,
};
#define fATE_LOG_RXV (1 << ATE_LOG_RXV)
#define fATE_LOG_RDD (1 << ATE_LOG_RDD)
#define fATE_LOG_RE_CAL (1 << ATE_LOG_RE_CAL)
#define fATE_LOG_RXINFO (1 << ATE_LOG_RXINFO)
#define fATE_LOG_TXDUMP (1 << ATE_LOG_TXDUMP)
#define fATE_LOG_TEST (1 << ATE_LOG_TEST)
struct _ATE_LOG_DUMP_ENTRY {
UINT32 log_type;
UINT8 un_dumped;
union {
struct _ATE_RXV_LOG rxv;
struct _ATE_RDD_LOG rdd;
struct _ATE_LOG_RECAL re_cal;
} log;
};
struct _ATE_LOG_DUMP_CB {
NDIS_SPIN_LOCK lock;
UINT8 overwritable;
UINT8 is_dumping;
UINT8 is_overwritten;
INT32 idx;
INT32 len;
UINT32 recal_curr_type;
#ifdef LOGDUMP_TO_FILE
INT32 file_idx;
RTMP_OS_FD_EXT fd;
#endif
struct _ATE_LOG_DUMP_ENTRY *entry;
};
#define ATE_MPS_ITEM_RUNNING (1<<0)
struct _HQA_MPS_CB {
NDIS_SPIN_LOCK lock;
UINT32 mps_cnt;
UINT32 band_idx;
UINT32 stat;
BOOLEAN setting_inuse;
UINT32 ref_idx;
struct _HQA_MPS_SETTING *mps_setting;
};
struct _ATE_PFMU_INFO {
UCHAR wcid;
UCHAR bss_idx;
UCHAR up;
UCHAR addr[MAC_ADDR_LEN];
};
#define ATE_RXV_SIZE 9
#define ATE_ANT_NUM 4
struct _ATE_RX_STATISTIC {
INT32 FreqOffsetFromRx;
UINT32 RxTotalCnt[TESTMODE_BAND_NUM];
UINT32 NumOfAvgRssiSample;
UINT32 RxMacFCSErrCount;
UINT32 RxMacMdrdyCount;
UINT32 RxMacFCSErrCount_band1;
UINT32 RxMacMdrdyCount_band1;
CHAR LastSNR[ATE_ANT_NUM]; /* last received SNR */
CHAR LastRssi[ATE_ANT_NUM]; /* last received RSSI */
CHAR AvgRssi[ATE_ANT_NUM]; /* last 8 frames' average RSSI */
CHAR MaxRssi[ATE_ANT_NUM];
CHAR MinRssi[ATE_ANT_NUM];
SHORT AvgRssiX8[ATE_ANT_NUM]; /* sum of last 8 frames' RSSI */
UINT32 RSSI[ATE_ANT_NUM];
UINT32 SNR[ATE_ANT_NUM];
UINT32 RCPI[ATE_ANT_NUM];
UINT32 FAGC_RSSI_IB[ATE_ANT_NUM];
UINT32 FAGC_RSSI_WB[ATE_ANT_NUM];
#ifdef CFG_SUPPORT_MU_MIMO
UINT32 RxMacMuPktCount;
#endif
UINT32 SIG_MCS;
UINT32 SINR;
UINT32 RXVRSSI;
};
struct _ATE_TX_TIME_PARAM {
BOOLEAN pkt_tx_time_en; /* The packet transmission time feature enable or disable */
UINT32 pkt_tx_time; /* The target packet transmission time */
UINT32 pkt_tx_len;
UINT32 pkt_msdu_len;
UINT32 pkt_hdr_len;
UINT32 pkt_ampdu_cnt;
UINT8 pkt_need_qos;
UINT8 pkt_need_amsdu;
UINT8 pkt_need_ampdu;
};
struct _ATE_IPG_PARAM {
UINT32 ipg; /* The target idle time */
UINT8 sig_ext; /* Only OFDM/HT/VHT need to consider sig_ext */
UINT16 slot_time;
UINT16 sifs_time;
UINT8 ac_num; /* 0: AC_BK, 1: AC_BE, 2: AC_VI, 3: AC_VO */
UINT8 aifsn;
UINT16 cw;
UINT16 txop;
};
#ifdef DBDC_MODE
struct _BAND_INFO {
UCHAR *pate_pkt; /* Buffer for TestPkt */
PNDIS_PACKET pkt_skb;
UINT32 is_alloc_skb;
RTMP_OS_COMPLETION tx_wait;
UCHAR TxStatus; /* TxStatus : 0 --> task is idle, 1 --> task is running */
UINT32 Mode;
UINT32 TxAntennaSel;
UINT32 RxAntennaSel;
UCHAR backup_channel;
UCHAR backup_phymode;
UCHAR wdev_idx;
UCHAR wmm_idx;
USHORT QID;
UCHAR Channel;
UCHAR Ch_Band;
UCHAR ControlChl;
UCHAR PriSel;
UINT32 OutBandFreq;
UCHAR Nss;
UCHAR BW;
UCHAR PerPktBW;
UCHAR PrimaryBWSel;
UCHAR PhyMode;
UCHAR Stbc;
UCHAR Ldpc; /* 0:BCC 1:LDPC */
UCHAR Sgi;
UCHAR Mcs;
UCHAR Preamble;
UINT32 FixedPayload; /* Normal:0,Repeat:1,Random:2 */
UINT32 TxLength;
UINT32 TxCount;
UINT32 TxDoneCount; /* Tx DMA Done */
UINT32 TxedCount;
UINT32 RFFreqOffset;
UINT32 thermal_val;
UINT32 duty_cycle;
struct _ATE_TX_TIME_PARAM tx_time_param;
struct _ATE_IPG_PARAM ipg_param;
#ifdef TXBF_SUPPORT
UCHAR eTxBf;
UCHAR iTxBf;
#endif
#ifdef DOT11_VHT_AC
UCHAR Channel_2nd;
#endif
UCHAR FAGC_Path;
/* Tx frame */
UCHAR TemplateFrame[32];
UCHAR Addr1[MAC_ADDR_LEN];
UCHAR Addr2[MAC_ADDR_LEN];
UCHAR Addr3[MAC_ADDR_LEN];
UCHAR payload[ATE_MAX_PATTERN_SIZE];
UINT32 pl_len;
USHORT HLen; /* Header Length */
USHORT seq;
struct _HQA_MPS_CB mps_cb;
BOOLEAN fgTxPowerSKUEn; /* SKU On/Off status */
BOOLEAN fgTxPowerPercentageEn; /* Power Percentage On/Off status */
BOOLEAN fgTxPowerBFBackoffEn; /* BF Backoff On/Off status */
UINT32 PercentageLevel; /* TxPower Percentage Level */
INT32 RF_Power;
INT32 Digital_Power;
INT32 DcOffset_I;
INT32 DcOffset_Q;
};
#endif
#ifdef ATE_TXTHREAD
#define ATE_THREAD_NUM 1
struct _ATE_TXTHREAD_CB {
BOOLEAN is_init;
RTMP_OS_TASK task;
NDIS_SPIN_LOCK lock;
UINT32 tx_cnt;
UINT32 txed_cnt;
UCHAR service_stat;
};
#endif
struct _ATE_CTRL {
struct _ATE_OPERATION *ATEOp;
struct _ATE_IF_OPERATION *ATEIfOps;
enum _TESTMODE_MODE verify_mode;
struct _HQA_MPS_CB mps_cb;
UINT32 en_log;
#ifdef ATE_TXTHREAD
struct _ATE_TXTHREAD_CB tx_thread[1];
UINT32 current_init_thread;
INT32 deq_cnt;
#endif
#ifdef DBDC_MODE
struct _BAND_INFO band_ext[1];
#endif
UCHAR *pate_pkt; /* Buffer for TestPkt */
PNDIS_PACKET pkt_skb;
UINT32 is_alloc_skb;
UINT32 Mode;
CHAR TxPower0;
CHAR TxPower1;
CHAR TxPower2;
CHAR TxPower3;
UINT32 TxAntennaSel; /* band0 => TX0/TX1 , band1 => TX2/TX3 */
UINT32 RxAntennaSel;
UCHAR backup_channel; /* Backup normal driver's channel for recovering */
UCHAR backup_phymode; /* Backup normal driver's phymode for recovering */
UCHAR wdev_idx;
UCHAR wmm_idx;
USHORT QID;
UCHAR Channel;
UCHAR Ch_Band;
UCHAR ControlChl;
UCHAR PriSel;
UINT32 OutBandFreq;
UCHAR Nss;
UCHAR BW;
UCHAR PerPktBW;
UCHAR PrimaryBWSel;
UCHAR PhyMode;
UCHAR Stbc;
UCHAR Ldpc; /* 0:BCC 1:LDPC */
UCHAR Sgi;
UCHAR Mcs;
UCHAR Preamble;
UCHAR Payload; /* Payload pattern */
UINT32 FixedPayload;
UINT32 TxLength;
UINT32 TxCount;
UINT32 TxDoneCount; /* Tx DMA Done */
UINT32 TxedCount;
UINT32 RFFreqOffset;
UINT32 thermal_val;
UINT32 duty_cycle;
struct _ATE_TX_TIME_PARAM tx_time_param;
struct _ATE_IPG_PARAM ipg_param;
#ifdef TXBF_SUPPORT
BOOLEAN fgEBfEverEnabled;
BOOLEAN fgBw160;
UCHAR eTxBf;
UCHAR iTxBf;
UCHAR *txbf_info;
UINT32 txbf_info_len;
UCHAR iBFCalStatus;
#endif
#ifdef INTERNAL_CAPTURE_SUPPORT
EXT_EVENT_RBIST_ADDR_T icap_info;
#endif /* INTERNAL_CAPTURE_SUPPORT */
#ifdef DOT11_VHT_AC
UCHAR Channel_2nd;
#endif
/* Common part */
UCHAR control_band_idx; /* The band_idx which user wants to control currently */
/* Tx frame */
UCHAR *TemplateFrame;
UCHAR Addr1[MAC_ADDR_LEN];
UCHAR Addr2[MAC_ADDR_LEN];
UCHAR Addr3[MAC_ADDR_LEN];
UCHAR payload[ATE_MAX_PATTERN_SIZE];
UINT32 pl_len;
USHORT HLen; /* Header Length */
USHORT seq;
/* MU Related */
BOOLEAN mu_enable;
UINT32 mu_usrs;
UINT8 wcid_ref;
struct _ATE_PFMU_INFO pfmu_info[ATE_BFMU_NUM];
/* counters */
UINT32 num_rxv;
UINT32 num_rxdata;
UINT32 num_rxv_fcs;
UINT32 num_rxdata_fcs;
struct _ATE_RX_STATISTIC rx_stat;
struct _ATE_LOG_DUMP_CB log_dump[ATE_LOG_TYPE_NUM];
UCHAR FAGC_Path;
/* Flag */
BOOLEAN txs_enable;
BOOLEAN bQAEnabled; /* QA is used. */
BOOLEAN bQATxStart; /* Have compiled QA in and use it to ATE tx. */
BOOLEAN bQARxStart; /* Have compiled QA in and use it to ATE rx. */
BOOLEAN need_set_pwr; /* For MPS switch power in right context */
UCHAR TxStatus; /* TxStatus : 0 --> task is idle, 1 --> task is running */
UCHAR did_tx;
UCHAR did_rx;
UCHAR en_man_set_freq;
/* Restore CR */
struct _TESTMODE_BK_CR bk_cr[MAX_TEST_BKCR_NUM];
/* OS related */
RTMP_OS_COMPLETION tx_wait;
RTMP_OS_COMPLETION cmd_done;
ULONG cmd_expire;
#if !defined(COMPOS_TESTMODE_WIN)
RALINK_TIMER_STRUCT PeriodicTimer;
ULONG OneSecPeriodicRound;
ULONG PeriodicRound;
OS_NDIS_SPIN_LOCK TssiSemLock;
#endif
BOOLEAN fgTxPowerSKUEn; /* SKU On/Off status */
BOOLEAN fgTxPowerPercentageEn; /* Power Percentage On/Off status */
BOOLEAN fgTxPowerBFBackoffEn; /* BF Backoff On/Off status */
UINT32 PercentageLevel; /* TxPower Percentage Level */
INT32 RF_Power;
INT32 Digital_Power;
INT32 DcOffset_I;
INT32 DcOffset_Q;
};
#if !defined(COMPOS_TESTMODE_WIN)
VOID RtmpDmaEnable(RTMP_ADAPTER *pAd, INT Enable);
VOID ATE_RTUSBBulkOutDataPacket(
IN PRTMP_ADAPTER pAd,
IN UCHAR BulkOutPipeId);
VOID ATE_RTUSBCancelPendingBulkInIRP(
IN PRTMP_ADAPTER pAd);
#endif
INT MtATESetMacTxRx(struct _RTMP_ADAPTER *pAd, INT32 TxRx, BOOLEAN Enable, UCHAR BandIdx);
#if defined(TXBF_SUPPORT) && defined(MT_MAC)
INT SetATEApplyStaToMacTblEntry(RTMP_ADAPTER *pAd);
INT SetATEApplyStaToAsic(RTMP_ADAPTER *pAd);
#endif
#endif /* __ATE_H__ */

View File

@ -0,0 +1,161 @@
/*
***************************************************************************
* MediaTek Inc.
*
* All rights reserved. source code is an unpublished work and the
* use of a copyright notice does not imply otherwise. This source code
* contains confidential trade secret material of MediaTek. Any attemp
* or participation in deciphering, decoding, reverse engineering or in any
* way altering the source code is stricitly prohibited, unless the prior
* written consent of MediaTek, Inc. is obtained.
***************************************************************************
Module Name:
ate_agent.h
*/
#ifndef __ATE_AGENT_H__
#define __ATE_AGENT_H__
struct _RTMP_ADAPTER;
INT32 SetTxStop(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetRxStop(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
#ifdef DBG
VOID ATE_QA_Statistics(struct _RTMP_ADAPTER *pAd, RXWI_STRUC *pRxWI, RXINFO_STRUC *pRxInfo, PHEADER_802_11 pHeader);
#ifdef CONFIG_QA
INT32 RtmpDoAte(struct _RTMP_ADAPTER *pAd, RTMP_IOCTL_INPUT_STRUCT *wrq, RTMP_STRING *wrq_name);
#endif
#ifdef WCX_SUPPORT
INT32 do_meta_cmd(int ioctl_cmd, PRTMP_ADAPTER pAd, RTMP_IOCTL_INPUT_STRUCT *WRQ, RTMP_STRING *wrq_name);
#endif
INT32 SetEERead(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetEEWrite(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetBBPRead(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetBBPWrite(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetRFWrite(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
#endif /* DBG */
VOID rt_ee_read_all(struct _RTMP_ADAPTER *pAd, UINT16 *Data);
VOID rt_ee_write_all(struct _RTMP_ADAPTER pAd, UINT16 *Data);
VOID rt_ee_write_bulk(struct _RTMP_ADAPTER pAd, UINT16 *Data, UINT16 offset, UINT16 length);
INT32 SetATEQid(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEDeqCnt(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEMPSDump(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
INT32 SetATEMPSPhyMode(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
INT32 SetATEMPSRate(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
INT32 SetATEMPSPath(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
INT32 SetATEMPSPayloadLen(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
INT32 SetATEMPSPktCnt(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
INT32 SetATEMPSPwr(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
INT32 SetATEMPSNss(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
INT32 SetATEMPSPktBw(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
INT32 SetATEMPSStart(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
INT32 SetATELOGEnable(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATELOGDump(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxSEnable(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATERxFilter(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATERxStream(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxStream(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEMACTRx(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATELOGDisable(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEDa(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATESa(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEBssid(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEInitChan(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetADCDump(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxPower0(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxPower1(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxPower2(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxPower3(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEForceTxPower(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxPowerEvaluation(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxAntenna(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATERxAntenna(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATERFPower(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEDigitalPower(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEDCOffset_I(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEDCOffset_Q(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 Default_Set_ATE_TX_FREQ_OFFSET_Proc(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxFreqOffset(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 Default_Set_ATE_TX_BW_Proc(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxLength(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxCount(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxMcs(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEVhtNss(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxLdpc(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxStbc(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxMode(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxGi(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATERxFer(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEReadRF(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATELoadE2p(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
#ifdef RTMP_EFUSE_SUPPORT
INT32 SetATELoadE2pFromBuf(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
#endif /* RTMP_EFUSE_SUPPORT */
INT32 SetATEReadE2p(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEAutoAlc(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxGi(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETempSensor(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEIpg(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEPayload(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEFixedPayload(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEAssocProc(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
#if defined(TXBF_SUPPORT) && defined(MT_MAC)
INT32 SetATETxBfDutInitProc(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxBfGdInitProc(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxPacketWithBf(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxBfChanProfileUpdate(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxBfProfileRead(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETXBFProc(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxSoundingProc(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEIBfGdCal(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEIBfInstCal(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEIBfProfileUpdate(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEEBfProfileConfig(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEIBfPhaseComp(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEIBfPhaseVerify(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxBfLnaGain(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxBfPhaseE2pUpdate(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEConTxETxBfGdProc(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEConTxETxBfInitProc(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATESpeIdx(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEEBfTx(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEEBFCE(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEEBFCEInfo(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEEBFCEHelp(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 MT_ATEGenPkt(struct _RTMP_ADAPTER *pAd, UCHAR *buf, UINT32 band_idx);
#endif /* TXBF_SUPPORT && MT_MAC */
INT32 SetATETtr(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEShow(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEHelp(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 ATESampleRssi(struct _RTMP_ADAPTER *pAd, RXWI_STRUC *pRxWI);
VOID ATEPeriodicExec(PVOID SystemSpecific1, PVOID FunctionContext, PVOID SystemSpecific2, PVOID SystemSpecific3);
INT32 SetATE(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEChannel(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 set_ate_duty_cycle(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 set_ate_pkt_tx_time(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 set_ate_control_band_idx(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
#ifdef MT7615
INT32 set_ate_channel_ext(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
INT32 set_ate_start_tx_ext(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
#endif /* MT7615 */
INT32 SetATETxBw(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 MT_ATEInit(struct _RTMP_ADAPTER *pAd);
INT32 MT_ATEExit(struct _RTMP_ADAPTER *pAd);
PNDIS_PACKET ATEPayloadInit(struct _RTMP_ADAPTER *pAd, UINT32 TxIdx);
INT32 ATEPayloadAlloc(struct _RTMP_ADAPTER *pAd, UINT32 Index);
VOID EEReadAll(struct _RTMP_ADAPTER *pAd, UINT16 *Data, UINT16 size);
VOID rtmp_ate_init(struct _RTMP_ADAPTER *pAd);
VOID RTMPCfgTssiGainFromEEPROM(struct _RTMP_ADAPTER *pAd);
#ifdef SINGLE_SKU_V2
INT32 SetATESingleSKUEn(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
#endif /* SINGLE_SKU_V2 */
INT32 SetATEBFBackoffMode(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETempCompEn(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEPowerPercentEn(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEPowerPercentCtrl(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATEBFBackoffEn(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETSSIEn(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
INT32 SetATETxPowerCtrlEn(struct _RTMP_ADAPTER *pAd, RTMP_STRING *Arg);
#endif

View File

@ -0,0 +1,93 @@
/*
***************************************************************************
* MediaTek Inc.
*
* All rights reserved. source code is an unpublished work and the
* use of a copyright notice does not imply otherwise. This source code
* contains confidential trade secret material of MediaTek. Any attemp
* or participation in deciphering, decoding, reverse engineering or in any
* way altering the source code is stricitly prohibited, unless the prior
* written consent of MediaTek, Inc. is obtained.
***************************************************************************
Module Name:
qa_agent.h
*/
#ifndef __META_AGENT_H__
#define __META_AGENT_H__
extern CH_FREQ_MAP CH_HZ_ID_MAP[];
extern int CH_HZ_ID_MAP_NUM;
/*
* struct for command formats
*/
struct GNU_PACKED _META_CMD_HDR {
UINT32 oid;
UINT32 len_in; /* For set */
UINT32 len_out; /* For query */
UCHAR data[2048];
};
struct GNU_PACKED _PARAM_MTK_WIFI_TEST {
UINT32 idx;
UINT32 data;
};
struct GNU_PACKED _PARAM_CUSTOM_EFUSE_RW {
UINT32 offset;
UINT32 data;
};
struct GNU_PACKED _PARAM_CUSTOM_EEPROM_RW {
UINT8 method;
UINT8 idx;
UINT8 reserved;
UINT16 data;
};
struct GNU_PACKED _PARAM_CUSTOM_MCR_RW {
UINT32 offset;
UINT32 data;
};
typedef INT32 (*META_CMD_HANDLER)(int ioctl_cmd, struct _RTMP_ADAPTER *pAd, RTMP_IOCTL_INPUT_STRUCT * wrq, META_CMD_HDR * cmd_hdr);
INT Set_Sdio_Bist_Write(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
INT Set_Sdio_Bist_Read(struct _RTMP_ADAPTER *pAd, RTMP_STRING *arg);
/*
* define for command oid
*/
#define MT_META_WIFI_TEST_TABLE_VER 0x01180000
#define OID_CUSTOM_IF_VER 0xFFA0C000
#define OID_CUSTOM_MCR_RW 0xFFA0C801
#define OID_CUSTOM_EEPROM_RW 0xFFA0C803
#define OID_CUSTOM_EFUSE_RW 0xFFA0C805
#define OID_CUSTOM_TEST_MODE 0xFFA0C901
#define OID_CUSTOM_ABORT_TEST_MODE 0xFFA0C906
#define OID_CUSTOM_MTK_WIFI_TEST 0xFFA0C911
/* NVRAM */
#define OID_CUSTOM_MTK_NVRAM_RW 0xFFA0C941
#define OID_CUSTOM_CFG_SRC_TYPE 0xFFA0C942
#define OID_CUSTOM_EEPROM_TYPE 0xFFA0C943
#define MT_META_WIFI_TEST_CMD_MASK 0x0000001F /* 32 cmd for 1 set, 0x1F=31*/
#define MT_META_WIFI_TEST_SET_MASK 0x0EFFFFFF /* 32 bits width, rest 27 bits*/
#define SLOT_TIME_SHORT 9
#define PARAM_EEPROM_READ_METHOD_READ 1
#define PARAM_EEPROM_READ_METHOD_GETSIZE 0
/*
* MACRO
*/
#define FUNC_IDX_GET_IDX(__idx, __func_idx) \
(__func_idx = __idx & 0x000000FF)
#define FUNC_IDX_GET_SUBFIELD(__idx, __sub) \
(__sub = ((__idx & 0xff000000)>>24)&0x000000ff)
/* TODO: Need to put into include/rt_os.h when merge the file */
#define MTPRIV_IOCTL_META_SET (SIOCIWFIRSTPRIV + 0x08)
#define MTPRIV_IOCTL_META_QUERY (SIOCIWFIRSTPRIV + 0x09)
#endif /* __META_AGENT_H__ */

View File

@ -0,0 +1,205 @@
#ifndef _MT_TESTMODE_H
#define _MT_TESTMODE_H
#include "mt_testmode_dmac.h"
#define TESTMODE_WCID_BAND0 2
#define TESTMODE_WCID_BAND1 3
#define ATE_SINGLE_BAND 1
#define ATE_DUAL_BAND 2
#define ATE_GBAND_TYPE 1
#define ATE_ABAND_TYPE 2
#define ATE_BAND_WIDTH_20 0
#define ATE_BAND_WIDTH_40 1
#define ATE_BAND_WIDTH_80 2
#define ATE_BAND_WIDTH_10 3
#define ATE_BAND_WIDTH_5 4
#define ATE_BAND_WIDTH_160 5
#define ATE_BAND_WIDTH_8080 6
enum {
ATE_USER_PAYLOAD,
ATE_FIXED_PAYLOAD,
ATE_RANDOM_PAYLOAD,
};
struct _ATE_DATA_RATE_MAP {
UCHAR mcs; /* MCS index */
UINT32 tx_data_rate; /* Data rate in K Bit */
};
struct _ATE_ANT_MAP {
UINT32 ant_sel;
UINT32 spe_idx;
};
struct _ATE_TXPWR_GROUP_MAP {
UINT32 start;
UINT32 end;
UINT32 group[4];
};
struct _ATE_CH_KHZ_MAP {
UINT32 Channel;
UINT32 Freq;
};
#if defined(COMPOS_TESTMODE_WIN)/* for MT_testmode.c */
#define INC_RING_INDEX(_idx, _RingSize) \
do {\
(_idx)++; \
if ((_idx) >= (_RingSize)) \
_idx = 0; \
} while (0)
#define BAND_WIDTH_20 0
#define BAND_WIDTH_40 1
#define BAND_WIDTH_80 2
#define BAND_WIDTH_160 3
#define BAND_WIDTH_10 4 /* 802.11j has 10MHz. This definition is for internal usage. doesn't fill in the IE or other field. */
#define BAND_WIDTH_BOTH 5 /* BW20 + BW40 */
#define BAND_WIDTH_5 6
#define BAND_WIDTH_8080 7
#define TX1_G_BAND_TARGET_PWR 0x5E
#define TX0_G_BAND_TARGET_PWR 0x58
enum {
PDMA_TX,
PDMA_RX,
PDMA_TX_RX,
};
#define TESTMODE_GET_PADDR(_pstruct, _band, _member) (&_pstruct->_member)
#define TESTMODE_GET_PARAM(_pstruct, _band, _member) (_pstruct->_member)
#define TESTMODE_SET_PARAM(_pstruct, _band, _member, _val) (_pstruct->_member = _val)
#ifndef COMPOS_TESTMODE_WIN/* NDIS only */
#define MAC_ADDR_LEN 6
/* 2-byte Frame control field */
struct _QAFRAME_CONTROL {
UINT16 Ver : 2;
UINT16 Type : 2;
UINT16 SubType : 4;
UINT16 ToDs : 1;
UINT16 FrDs : 1;
UINT16 MoreFrag : 1;
UINT16 Retry : 1;
UINT16 PwrMgmt : 1;
UINT16 MoreData : 1;
UINT16 Wep : 1;
UINT16 Order : 1;
};
struct _QAHEADER_802_11 {
struct _QAFRAME_CONTROL FC;
UINT16 Duration;
UCHAR Addr1[MAC_ADDR_LEN];
UCHAR Addr2[MAC_ADDR_LEN];
UCHAR Addr3[MAC_ADDR_LEN];
UINT16 Frag: 4;
UINT16 Sequence: 12;
};
#endif /* NOT COMPOS_TESTMODE_WIN */
#else
#ifdef DBDC_MODE
#define TESTMODE_GET_PARAM(_pstruct, _band, _member) ((_band)?_pstruct->band_ext[_band-1]._member:_pstruct->_member)
#define TESTMODE_GET_PADDR(_pstruct, _band, _member) ((_band) ? &_pstruct->band_ext[_band-1]._member : &_pstruct->_member)
#define TESTMODE_SET_PARAM(_pstruct, _band, _member, _val) ({ \
UINT32 _ret = _val; \
if (_band) { \
struct _BAND_INFO *_info = &(_pstruct->band_ext[_band-1]); \
_info->_member = _val; \
} else \
_pstruct->_member = _val; \
_ret; \
})
#else
#define TESTMODE_GET_PADDR(_pstruct, _band, _member) (&_pstruct->_member)
#define TESTMODE_GET_PARAM(_pstruct, _band, _member) (_pstruct->_member)
#define TESTMODE_SET_PARAM(_pstruct, _band, _member, _val) ({ \
UINT32 _ret = _val; \
_pstruct->_member = _val; \
_ret; \
})
#endif /* DBDC_MODE */
#endif /* defined(COMPOS_TESTMODE_WIN) */
enum _TESTMODE_STAT_TYPE {
TESTMODE_RXV,
TESTMODE_PER_PKT,
TESTMODE_RESET_CNT,
TESTMODE_COUNTER_802_11,
TESTMODE_STAT_TYPE_NUM,
};
struct _RATE_TO_BE_FIX {
UINT32 TXRate: 6;
UINT32 TXMode: 3;
UINT32 Nsts: 2;
UINT32 STBC: 1;
UINT32 Reserved: 20;
};
struct rssi_offset_eeprom {
UINT32 **rssi_eeprom_band_offset;
UINT32 *n_band_offset;
UINT32 n_band;
};
INT32 MT_ATERFTestCB(struct _RTMP_ADAPTER *pAd, UINT8 *Data, UINT32 Length);
INT32 MT_SetATEMPSDump(struct _RTMP_ADAPTER *pAd, UINT32 band_idx);
INT32 MtTestModeInit(struct _RTMP_ADAPTER *pAd);
INT32 MtTestModeExit(struct _RTMP_ADAPTER *pAd);
INT MtTestModeBkCr(struct _RTMP_ADAPTER *pAd, ULONG offset, enum _TEST_BK_CR_TYPE type);
INT MtTestModeRestoreCr(struct _RTMP_ADAPTER *pAd, ULONG offset);
INT32 MT_ATETxControl(struct _RTMP_ADAPTER *pAd, UINT32 band_idx, PNDIS_PACKET pkt);
VOID MT_ATEUpdateRxStatistic(struct _RTMP_ADAPTER *pAd, enum _TESTMODE_STAT_TYPE type, VOID *data);
INT Mt_TestModeInsertPeer(struct _RTMP_ADAPTER *pAd, UINT32 band_ext, CHAR *da, CHAR *sa, CHAR *bss);
INT32 MT_ATETxPkt(struct _RTMP_ADAPTER *pAd, UINT32 band_idx); /* Export for Loopback */
INT MtATESetMacTxRx(struct _RTMP_ADAPTER *pAd, INT32 TxRx, BOOLEAN Enable, UCHAR BandIdx);
INT MtATESetTxStream(struct _RTMP_ADAPTER *pAd, UINT32 StreamNums, UCHAR BandIdx);
INT MtATESetRxPath(struct _RTMP_ADAPTER *pAd, UINT32 RxPathSel, UCHAR BandIdx);
INT MtATESetRxFilter(struct _RTMP_ADAPTER *pAd, MT_RX_FILTER_CTRL_T filter);
INT MtATESetCleanPerStaTxQueue(struct _RTMP_ADAPTER *pAd, BOOLEAN sta_pause_enable);
INT32 MT_ATEDumpLog(struct _RTMP_ADAPTER *pAd, struct _ATE_LOG_DUMP_CB *log_cb, UINT32 log_type);
VOID MtCmdATETestResp(struct cmd_msg *msg, char *data, UINT16 len);
INT32 MtATECh2Freq(UINT32 Channel, UINT32 band_idx);
INT32 MtATEGetTxPwrGroup(UINT32 Channel, UINT32 band_idx, UINT32 Ant_idx);
INT32 MT_ATEInsertLog(struct _RTMP_ADAPTER *pAd, UCHAR *log, UINT32 log_type, UINT32 len);
#if !defined(COMPOS_TESTMODE_WIN)/* for MT_testmode.c */
INT MT_ATERxDoneHandle(struct _RTMP_ADAPTER *pAd, RX_BLK *pRxBlk);
#endif
INT32 MtATERSSIOffset(struct _RTMP_ADAPTER *pAd, INT32 RSSI_org, UINT32 RSSI_idx, INT32 Ch_Band);
INT32 MtATETssiTrainingProc(struct _RTMP_ADAPTER *pAd, UCHAR ucBW, UCHAR ucBandIdx);
#ifdef PRE_CAL_MT7622_SUPPORT
INT MtATE_DPD_Cal_Store_Proc_7622(RTMP_ADAPTER *pAd, RTMP_STRING *arg);
#endif /*PRE_CAL_MT7622_SUPPORT*/
#ifdef PRE_CAL_TRX_SET1_SUPPORT
INT MtATE_DPD_Cal_Store_Proc(RTMP_ADAPTER *pAd, RTMP_STRING *arg);
INT MtATE_DCOC_Cal_Store_Proc(RTMP_ADAPTER *pAd, RTMP_STRING *arg);
#endif /* PRE_CAL_TRX_SET1_SUPPORT */
#ifdef PRE_CAL_TRX_SET2_SUPPORT
INT MtATE_Pre_Cal_Proc(RTMP_ADAPTER *pAd, UINT8 CalId, UINT32 ChGrpId);
#endif /* PRE_CAL_TRX_SET2_SUPPORT */
INT32 mt_ate_tx(RTMP_ADAPTER *pAd, struct wifi_dev *wdev, struct _TX_BLK *tx_blk);
INT TxPowerManualCtrl(PRTMP_ADAPTER pAd, BOOLEAN fgPwrManCtrl, UINT8 u1TxPwrModeManual, UINT8 u1TxPwrBwManual, UINT8 u1TxPwrRateManual, INT8 i1TxPwrValueManual, UCHAR ucBandIdx);
#if defined(COMPOS_TESTMODE_WIN)
#endif
#define MT_ATEInit(_pAd) ({ \
UINT32 _ret; \
_ret = MtTestModeInit(_pAd); \
_ret; \
})
#define MT_ATEExit(_pAd) ({ \
UINT32 _ret; \
_ret = MtTestModeExit(_pAd); \
_ret; \
})
#endif /* _MT_TESTMODE_H */

View File

@ -0,0 +1,27 @@
/*
***************************************************************************
* MediaTek Inc.
*
* All rights reserved. source code is an unpublished work and the
* use of a copyright notice does not imply otherwise. This source code
* contains confidential trade secret material of MediaTek. Any attemp
* or participation in deciphering, decoding, reverse engineering or in any
* way altering the source code is stricitly prohibited, unless the prior
* written consent of MediaTek, Inc. is obtained.
***************************************************************************
Module Name:
mt_testmode_dmac.h
*/
#ifndef __MT_TESTMODE_DMAC_H__
#define __MT_TESTMODE_DMAC_H__
INT mt_ate_mac_cr_restore(struct _RTMP_ADAPTER *pAd);
INT mt_ate_mac_cr_backup_and_set(struct _RTMP_ADAPTER *pAd);
INT mt_ate_ampdu_ba_limit(struct _RTMP_ADAPTER *pAd, UINT32 band_idx, UINT8 agg_limit);
INT mt_ate_set_sta_pause_cr(struct _RTMP_ADAPTER *pAd, UINT32 band_idx);
#endif /* __MT_TESTMODE_DMAC_H__ */

View File

@ -0,0 +1,25 @@
/*
***************************************************************************
* MediaTek Inc.
*
* All rights reserved. source code is an unpublished work and the
* use of a copyright notice does not imply otherwise. This source code
* contains confidential trade secret material of MediaTek. Any attemp
* or participation in deciphering, decoding, reverse engineering or in any
* way altering the source code is stricitly prohibited, unless the prior
* written consent of MediaTek, Inc. is obtained.
***************************************************************************
Module Name:
mt_testmode_smac.h
*/
#ifndef __MT_TESTMODE_SMAC_H__
#define __MT_TESTMODE_SMAC_H__
INT mt_ate_mac_cr_restore(struct _RTMP_ADAPTER *pAd);
INT mt_ate_mac_cr_backup_and_set(struct _RTMP_ADAPTER *pAd);
#endif /* __MT_TESTMODE_SMAC_H__ */

View File

@ -0,0 +1,83 @@
/*
***************************************************************************
* MediaTek Inc.
*
* All rights reserved. source code is an unpublished work and the
* use of a copyright notice does not imply otherwise. This source code
* contains confidential trade secret material of MediaTek. Any attemp
* or participation in deciphering, decoding, reverse engineering or in any
* way altering the source code is stricitly prohibited, unless the prior
* written consent of MediaTek, Inc. is obtained.
***************************************************************************
Module Name:
qa_agent.h
*/
#ifndef __QA_AGENT_H__
#define __QA_AGENT_H__
#define HQA_CMD_MAGIC_NO 0x18142880
/* RX STAT */
#define HQA_RX_STAT_MACFCSERRCNT 0x1
#define HQA_RX_STAT_MAC_MDRDYCNT 0x2
#define HQA_RX_STAT_PHY_MDRDYCNT 0x3
#define HQA_RX_STAT_PHY_FCSERRCNT 0x4
#define HQA_RX_STAT_PD 0x5
#define HQA_RX_STAT_CCK_SIG_SFD 0x6
#define HQA_RX_STAT_OFDM_SIG_TAG 0x7
#define HQA_RX_STAT_RSSI 0x8
#define HQA_RX_RESET_PHY_COUNT 0x9
#define HQA_RX_RESET_MAC_COUNT 0xa
/* FW Event Callback */
VOID HQA_GetThermalValue_CB(struct cmd_msg *msg, char *Data, UINT16 Len);
struct GNU_PACKED _HQA_CMD_FRAME {
UINT32 MagicNo;
UINT16 Type;
UINT16 Id;
UINT16 Length;
UINT16 Sequence;
UCHAR Data[2048];
};
typedef INT32(*HQA_CMD_HANDLER)(
struct _RTMP_ADAPTER *pAd,
RTMP_IOCTL_INPUT_STRUCT * wrq,
struct GNU_PACKED _HQA_CMD_FRAME * HqaCmdFrame);
struct _HQA_CMD_TABLE {
HQA_CMD_HANDLER *CmdSet;
UINT32 CmdSetSize;
UINT32 CmdOffset;
};
struct GNU_PACKED _HQA_RX_STAT {
UINT32 mac_rx_fcs_err_cnt;
UINT32 mac_rx_mdrdy_cnt;
UINT32 phy_rx_fcs_err_cnt_cck;
UINT32 phy_rx_fcs_err_cnt_ofdm;
UINT32 phy_rx_pd_cck;
UINT32 phy_rx_pd_ofdm;
UINT32 phy_rx_sig_err_cck;
UINT32 phy_rx_sfd_err_cck;
UINT32 phy_rx_sig_err_ofdm;
UINT32 phy_rx_tag_err_ofdm;
UINT32 WB_RSSSI0;
UINT32 IB_RSSSI0;
UINT32 WB_RSSSI1;
UINT32 IB_RSSSI1;
UINT32 phy_rx_mdrdy_cnt_cck;
UINT32 phy_rx_mdrdy_cnt_ofdm;
UINT32 DriverRxCount;
UINT32 RCPI0;
UINT32 RCPI1;
UINT32 FreqOffsetFromRX;
UINT32 RSSI0;
UINT32 RSSI1;
};
#endif /* __QA_AGENT_H__ */

View File

@ -0,0 +1,47 @@
#ifndef _TESTMODE_COMMON_H
#define _TESTMODE_COMMON_H
#ifndef COMPOS_TESTMODE_WIN
enum _EPQID {
EP4QID = 0,
EP5QID,
EP6QID,
EP7QID,
EP8QID = 8,
EP9QID,
EPALLQID
};
#endif
/*test mode common*/
/* */
/* Scheduler Register 4 (offset: 0x0594, default: 0x0000_0000) */
/* Note: */
/* 1. DW : double word */
/* */
union _SCHEDULER_REGISTER4 {
struct {
/* DW0 */
ULONG ForceQid : 4;
ULONG ForceMode : 1;
ULONG BypassMode : 1;
ULONG HybridMode : 1;
ULONG RgPredictNoMask : 1;
ULONG RgResetScheduler : 1;
ULONG RgDoneClearHeader : 1;
ULONG SwMode : 1;
ULONG Reserves0 : 5;
ULONG RgRateMap : 14;
ULONG Reserves1 : 2;
} Default;
ULONG word;
};
/* MT7637 for Band display */
#define MT7367_RO_AGC_DEBUG_2 (WF_PHY_BASE + 0x0584)
#define CR_ACI_HIT (WF_PHY_BASE + 0x0594)
/* MT7637 for Band display end */
/*~test mode common*/
#endif /* _TESTMODE_COMMON_H */

View File

@ -0,0 +1,524 @@
#ifndef _TESTMODE_IOCTL_H
#define _TESTMODE_IOCTL_H
#define TM_STATUS_NOTSUPPORT 0x01
#if defined(COMPOS_TESTMODE_WIN)
#define PKTL_TRAN_TO_NET(_Val) _Val
#define PKTL_TRAN_TO_HOST(_Val) _Val
#define PKTS_TRAN_TO_NET(_Val) _Val
#define PKTS_TRAN_TO_HOST(_Val) _Val
#define PKTLA_TRAN_TO_HOST(_len, _byte_array) _byte_array
#define PKTLA_TRAN_TO_NET(_len, _byte_array) _byte_array
#define PKTLA_DUMP(_lvl, _len, _byte_arrary) _byte_array
#define PKTUC_DUMP(_lvl, _len, _byte_arrary) _byte_array
#else
#define PKTL_TRAN_TO_NET(_Val) OS_HTONL(_Val)
#define PKTL_TRAN_TO_HOST(_Val) OS_NTOHL(_Val)
#define PKTS_TRAN_TO_NET(_Val) OS_HTONS(_Val)
#define PKTS_TRAN_TO_HOST(_Val) OS_NTOHS(_Val)
#define PKTLA_TRAN_TO_HOST(_len, _byte_array) ({ \
INT _cnt = 0; \
UINT32 *_arr = (UINT32 *)_byte_array; \
for (_cnt = 0; _cnt < _len; _cnt++) \
_arr[_cnt] = OS_NTOHL(_arr[_cnt]); \
_byte_array; \
});
#define PKTLA_TRAN_TO_NET(_len, _byte_array) ({ \
INT _cnt = 0; \
UINT32 *_arr = (UINT32 *)_byte_array; \
for (_cnt = 0; _cnt < _len; _cnt++) \
_arr[_cnt] = OS_HTONL(_arr[_cnt]); \
_byte_array; \
});
#define PKTLA_DUMP(_lvl, _len, _byte_array)({ \
INT _cnt = 0; \
UINT32 *_arr = (UINT32 *)_byte_array; \
for (_cnt = 0; _cnt < _len; _cnt++) \
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, _lvl, ("DWORD%d:%08x\n", _cnt, _arr[_cnt])); \
_len; \
});
#define PKTUC_DUMP(_lvl, _len, _byte_array)({ \
INT _cnt = 0; \
UCHAR *_arr = (UCHAR *)_byte_array; \
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, _lvl, ("PKTUC_DUMP(%x): ", _len)); \
for (_cnt = 0; _cnt < _len; _cnt++) \
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, _lvl, ("%02x", _arr[_cnt])); \
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, _lvl, ("\n")); \
_len; \
});
#endif
#if defined(COMPOS_TESTMODE_WIN)
/***********************************************************************************
* IOCTL related definitions and data structures.
**********************************************************************************/
typedef struct __RTMP_IOCTL_INPUT_STRUCT {
UINT32 InBufLen;
PVOID InBuf;
UINT32 OutBufLen;
PVOID OutBuf;
UINT32 *BytesRet;
} RTMP_IOCTL_INPUT_STRUCT;
BOOLEAN mt_mac_cr_range_mapping(struct _RTMP_ADAPTER *pAd, UINT32 *mac_addr);
UINT32 mt_physical_addr_map(UINT32 addr);
#define RTMP_IO_EFAULT 30002
#define EFAULT (-RTMP_IO_EFAULT)
#endif /* TODO: Add lack of structure for Linux temporarily, fix during merge */
VOID HQA_GetThermalValue_CB(struct cmd_msg *msg, char *Data, UINT16 Len);
#ifdef TXBF_SUPPORT
VOID HQA_BF_INFO_CB(RTMP_ADAPTER *pAd, unsigned char *data, UINT32 len);
#endif
/*
* #if defined(COMPOS_TESTMODE_WIN)
* #define OS_ENDIANSWAP(_Val) _Val;
* #else
* //#define OS_ENDIANSWAP(_Val) PKTL_TRAN_TO_HOST(_Val);
* #endif
*/
/* Common Part, TODO: Only common part after merge */
/* Structure for TxBF*/
#define HQA_BF_STR_SIZE 512
#pragma pack(1)
struct GNU_PACKED _HQA_HIFTestParam {
UINT32 start_len;
UINT32 stop_len;
UINT32 repeat_time;
UINT32 is_def_pattern;
UINT32 bulkout_num;
UINT32 bulkin_num;
UINT32 txagg_num;
UINT32 rxagg_limit;
UINT32 rxagg_lm;
UINT32 rxagg_to;
UINT32 enable_rxagg;
};
#ifdef TXBF_SUPPORT
struct GNU_PACKED _HQA_BF_TAG_ALLOC {
UINT32 col_idx0;
UINT32 row_idx0;
UINT32 col_idx1;
UINT32 row_idx1;
UINT32 col_idx2;
UINT32 row_idx2;
UINT32 col_idx3;
UINT32 row_idx3;
};
struct GNU_PACKED _HQA_BF_TAG_MATRIX {
UINT32 nrow;
UINT32 ncol;
UINT32 ngroup;
UINT32 LM;
UINT32 code_book;
UINT32 htc_exist;
};
struct GNU_PACKED _HQA_BF_TAG_SNR {
UINT32 snr_sts0;
UINT32 snr_sts1;
UINT32 snr_sts2;
UINT32 snr_sts3;
};
struct GNU_PACKED _HQA_BF_TAG_MCS_THRD {
UINT32 mcs_lss0;
UINT32 mcs_sss0;
UINT32 mcs_lss1;
UINT32 mcs_sss1;
UINT32 mcs_lss2;
UINT32 mcs_sss2;
};
struct GNU_PACKED _HQA_BF_TAG_INFO {
/* Tag 1 */
UINT32 profile; /* [6:0] : 0 ~ 63 */
UINT32 tx_bf; /* [7] : 0: iBF, 1: eBF */
UINT32 dbw; /* [9:8] : 0/1/2/3: DW20/40/80/160NC */
UINT32 su_mu; /* [10] : 0:SU, 1: MU */
UINT32 invalid; /* [11] : 0:default, 1: This profile number is invalid by SW */
UINT32 rmsd; /* [14:12] : RMSD value from CE */
UINT32 addr1_col_idx; /* [17 : 15] : column index : 0 ~ 5 */
UINT32 addr1_row_idx; /* [23 : 18] : row index : 0 ~ 63 */
UINT32 addr2_col_idx; /* [26 : 24] : column index : 0 ~ 5 */
UINT32 addr2_row_idx; /* [31 : 27] : row index : 0 ~ 63, [32]: MSB of row index */
UINT32 addr3_col_idx; /* [35 : 33] : column index : 0 ~ 5 */
UINT32 addr3_row_idx; /* [41 : 36] : row index : 0 ~ 63 */
UINT32 addr4_col_idx; /* [44 : 42] : column index : 0 ~ 5 */
UINT32 addr4_row_idx; /* [50 : 45] : row index : 0 ~ 63 */
UINT32 reserved1; /* [51] : Reserved */
UINT32 nrow; /* [53 : 52] : Nrow */
UINT32 ncol; /* [55 : 54] : Ncol */
UINT32 ngroup; /* [57 : 56] : Ngroup */
UINT32 LM; /* [59 : 58] : 0/1/2 */
UINT32 code_book; /* [61:60] : Code book */
UINT32 htc_exist; /* [62] : HtcExist */
UINT32 reserved2; /* [63] : Reserved */
UINT32 snr_sts0; /* [71:64] : SNR_STS0 */
UINT32 snr_sts1; /* [79:72] : SNR_STS1 */
UINT32 snr_sts2; /* [87:80] : SNR_STS2 */
UINT32 snr_sts3; /* [95:88] : SNR_STS3 */
UINT32 ibf_lanidx; /* [103:96] : iBF LNA index */
/* Tag 2 */
UINT32 smt_ant; /* [11:0] : Smart Ant config */
UINT32 reserved3; /* [14:12] : Reserved */
UINT32 se_idx; /* [19:15] : SE index */
UINT32 rmsd_thrd; /* [22:20] : RMSD Threshold */
UINT32 reserved4; /* [23] : Reserved */
UINT32 mcs_thrd_l1ss; /* [27:24] : MCS TH long 1SS */
UINT32 mcs_thrd_s1ss; /* [31:28] : MCS TH short 1SS */
UINT32 mcs_thrd_l2ss; /* [35:32] : MCS TH long 2SS */
UINT32 mcs_thrd_s2ss; /* [39:36] : MCS TH short 2SS */
UINT32 mcs_thrd_l3ss; /* [43:40] : MCS TH long 3SS */
UINT32 mcs_thrd_s3ss; /* [47:44] : MCS TH short 3SS */
UINT32 bf_tout; /* [55:48] : iBF timeout limit */
UINT32 reserved5; /* [63:56] : Reserved */
UINT32 reserved6; /* [71:64] : Reserved */
UINT32 reserved7; /* [79:72] : Reserved */
UINT32 ibf_dbw; /* [81:80] : iBF desired DBW 0/1/2/3 : BW20/40/80/160NC */
UINT32 ibf_ncol; /* [83:82] : iBF desired Ncol = 1 ~ 3 */
UINT32 ibf_nrow; /* [85:84] : iBF desired Nrow = 1 ~ 4 */
UINT32 reserved8; /* [95:86] : Reserved */
};
struct GNU_PACKED _HQA_BF_STA_CMM_REC {
UINT32 wlan_idx;
UINT32 bss_idx;
UINT32 aid;
UCHAR mac[MAC_ADDR_LEN];
};
enum _HQA_BF_CMD_ID {
ATE_TXBF_INIT = 1,
ATE_CHANNEL,
ATE_TX_MCS,
ATE_TX_POW0,
ATE_TX_ANT,
ATE_RX_FRAME,
ATE_RX_ANT,
ATE_TXBF_LNA_GAIN,
ATE_IBF_PHASE_COMP,
ATE_IBF_TX,
ATE_IBF_PROF_UPDATE,
ATE_EBF_PROF_UPDATE,
ATE_IBF_INST_CAL,
ATE_IBF_INST_VERIFY,
ATE_TXBF_GD_INIT,
ATE_IBF_PHASE_E2P_UPDATE
};
struct GNU_PACKED _HQA_BF_STA_REC {
UINT32 wlan_idx;
UINT32 bss_idx;
UINT32 PfmuId;
UINT32 su_mu;
UINT32 etxbf_cap;
UINT32 ndpa_rate;
UINT32 ndp_rate;
UINT32 report_poll_rate;
UINT32 tx_mode;
UINT32 nc;
UINT32 nr;
UINT32 cbw;
UINT32 spe_idx;
UINT32 tot_mem_req;
UINT32 mem_req_20m;
UINT32 mem_row0;
UINT32 mem_col0;
UINT32 mem_row1;
UINT32 mem_col1;
UINT32 mem_row2;
UINT32 mem_col2;
UINT32 mem_row3;
UINT32 mem_col3;
};
struct GNU_PACKED _HQA_BF_STA_PROFILE {
UINT32 pfmuid;
UINT32 subcarrier;
UINT32 phi11;
UINT32 psi21;
UINT32 phi21;
UINT32 psi31;
UINT32 phi31;
UINT32 psi41;
UINT32 phi22;
UINT32 psi32;
UINT32 phi32;
UINT32 psi42;
UINT32 phi33;
UINT32 psi43;
UINT32 snr00;
UINT32 snr01;
UINT32 snr02;
UINT32 snr03;
};
struct GNU_PACKED _HQA_BF_SOUNDING {
UINT32 su_mu;
UINT32 mu_num;
UINT32 snd_interval;
UINT32 wlan_id0;
UINT32 wlan_id1;
UINT32 wlan_id2;
UINT32 wlan_id3;
UINT32 band_idx;
};
struct GNU_PACKED _HQA_BF_MANUAL_CONN {
UCHAR mac[MAC_ADDR_LEN];
UINT32 type;
UINT32 wtbl_idx;
UINT32 ownmac_idx;
UINT32 phymode;
UINT32 bw;
UINT32 pfmuid;
UINT32 marate_mode;
UINT32 marate_mcs;
UINT32 nss;
UINT32 spe_idx;
UINT32 rca2;
UINT32 rv;
UINT32 aid;
};
struct GNU_PACKED _HQA_PWR_MANUAL {
UINT32 u4PwrManCtrl;
UINT32 u4TxPwrModeManual;
UINT32 u4TxPwrBwManual;
UINT32 u4TxPwrRateManual;
UINT32 i4TxPwrValueManual;
UINT32 u4Band;
};
#ifdef CFG_SUPPORT_MU_MIMO
/* Structure for MU-MIMO */
struct _HQA_MU_STA_PARAM {
UINT32 gid[2];
UINT32 up[4];
};
struct _HQA_MU_TBL {
UINT32 su_mu;
UCHAR tbl[0];
};
struct GNU_PACKED _HQA_MU_USR_INIT_MCS {
UINT32 user0;
UINT32 user1;
UINT32 user2;
UINT32 user3;
};
struct GNU_PACKED _HQA_MU_USR_LQ {
UINT32 usr0_bpsk;
UINT32 usr0_qpsk;
UINT32 usr0_16qam;
UINT32 usr0_64qam;
UINT32 usr0_256qam;
UINT32 usr1_bpsk;
UINT32 usr1_qpsk;
UINT32 usr1_16qam;
UINT32 usr1_64qam;
UINT32 usr1_256qam;
UINT32 usr2_bpsk;
UINT32 usr2_qpsk;
UINT32 usr2_16qam;
UINT32 usr2_64qam;
UINT32 usr2_256qam;
UINT32 usr3_bpsk;
UINT32 usr3_qpsk;
UINT32 usr3_16qam;
UINT32 usr3_64qam;
UINT32 usr3_256qam;
};
struct GNU_PACKED _HQA_MU_GRP_INFO {
UINT32 grp_idx;
UINT32 num_usr;
UINT32 usr0_ldpc;
UINT32 usr1_ldpc;
UINT32 usr2_ldpc;
UINT32 usr3_ldpc;
UINT32 usr0_nss;
UINT32 usr1_nss;
UINT32 usr2_nss;
UINT32 usr3_nss;
UINT32 gid;
UINT32 usr0_up;
UINT32 usr1_up;
UINT32 usr2_up;
UINT32 usr3_up;
UINT32 usr0_pfmu_id;
UINT32 usr1_pfmu_id;
UINT32 usr2_pfmu_id;
UINT32 usr3_pfmu_id;
UINT32 initMCS0;
UINT32 initMCS1;
UINT32 initMCS2;
UINT32 initMCS3;
UCHAR usr0_mac[MAC_ADDR_LEN];
UCHAR usr1_mac[MAC_ADDR_LEN];
UCHAR usr2_mac[MAC_ADDR_LEN];
UCHAR usr3_mac[MAC_ADDR_LEN];
};
#endif/* CFG_SUPPORT_MU_MIMO */
#endif /* TXBF_SUPPORT */
#pragma pack()
/* DBDC Tx Ext */
#pragma pack(1)
struct GNU_PACKED _HQA_EXT_SET_CH {
UINT32 ext_id;
UINT32 num_param;
UINT32 band_idx;
UINT32 central_ch0;
UINT32 central_ch1;
UINT32 sys_bw;
UINT32 perpkt_bw;
UINT32 pri_sel;
UINT32 reason;
UINT32 ch_band;
UINT32 out_band_freq;
};
struct GNU_PACKED _HQA_EXT_TX_CONTENT {
UINT32 ext_id;
UINT32 num_param;
UINT32 band_idx;
UINT32 FC;
UINT32 dur;
UINT32 seq;
UINT32 gen_payload_rule; /* Normal:0,Repeat:1,Random:2 */
UINT32 txlen;
UINT32 payload_len;
UCHAR addr1[MAC_ADDR_LEN];
UCHAR addr2[MAC_ADDR_LEN];
UCHAR addr3[MAC_ADDR_LEN];
UCHAR payload[0];
};
struct GNU_PACKED _HQA_EXT_TXV {
UINT32 ext_id;
UINT32 num_param;
UINT32 band_idx;
UINT32 pkt_cnt;
UINT32 phymode;
UINT32 rate;
UINT32 pwr;
UINT32 stbc;
UINT32 ldpc;
UINT32 ibf;
UINT32 ebf;
UINT32 wlan_id;
UINT32 aifs;
UINT32 gi;
UINT32 tx_path;
UINT32 nss;
};
struct GNU_PACKED _HQA_CMD_FRAME {
UINT32 MagicNo;
UINT16 Type;
UINT16 Id;
UINT16 Length;
UINT16 Sequence;
UINT8 Data[IOCTLBUFF];
};
#pragma pack()
typedef INT32(*HQA_CMD_HANDLER)(
struct _RTMP_ADAPTER *pAd,
struct __RTMP_IOCTL_INPUT_STRUCT *wrq,
struct _HQA_CMD_FRAME *HqaCmdFrame);
struct _HQA_CMD_TABLE {
HQA_CMD_HANDLER *CmdSet;
UINT32 CmdSetSize;
UINT32 CmdOffset;
};
struct GNU_PACKED _HQA_RX_STAT {
UINT32 mac_rx_fcs_err_cnt;
UINT32 mac_rx_mdrdy_cnt;
UINT32 phy_rx_fcs_err_cnt_cck;
UINT32 phy_rx_fcs_err_cnt_ofdm;
UINT32 phy_rx_pd_cck;
UINT32 phy_rx_pd_ofdm;
UINT32 phy_rx_sig_err_cck;
UINT32 phy_rx_sfd_err_cck;
UINT32 phy_rx_sig_err_ofdm;
UINT32 phy_rx_tag_err_ofdm;
UINT32 WB_RSSSI0;
UINT32 IB_RSSSI0;
UINT32 WB_RSSSI1;
UINT32 IB_RSSSI1;
UINT32 phy_rx_mdrdy_cnt_cck;
UINT32 phy_rx_mdrdy_cnt_ofdm;
UINT32 DriverRxCount;
UINT32 RCPI0;
UINT32 RCPI1;
INT32 FreqOffsetFromRX;
UINT32 RSSI0;
UINT32 RSSI1;
UINT32 rx_fifo_full;
/* #ifdef MT7615 */
UINT32 mac_rx_len_mismatch;
UINT32 mac_rx_fcs_err_cnt_band1;
UINT32 mac_rx_mdrdy_cnt_band1;
UINT32 FAGC_IB_RSSSI[4];
UINT32 FAGC_WB_RSSSI[4];
UINT32 Inst_IB_RSSSI[4];
UINT32 Inst_WB_RSSSI[4];
UINT32 ACIHitLow;
UINT32 ACIHitHigh;
UINT32 DriverRxCount1;
UINT32 RCPI2;
UINT32 RCPI3;
UINT32 RSSI2;
UINT32 RSSI3;
UINT32 SNR0;
UINT32 SNR1;
UINT32 SNR2;
UINT32 SNR3;
UINT32 rx_fifo_full_band1;
UINT32 mac_rx_len_mismatch_band1;
UINT32 phy_rx_pd_cck_band1;
UINT32 phy_rx_pd_ofdm_band1;
UINT32 phy_rx_sig_err_cck_band1;
UINT32 phy_rx_sfd_err_cck_band1;
UINT32 phy_rx_sig_err_ofdm_band1;
UINT32 phy_rx_tag_err_ofdm_band1;
UINT32 phy_rx_mdrdy_cnt_cck_band1;
UINT32 phy_rx_mdrdy_cnt_ofdm_band1;
UINT32 phy_rx_fcs_err_cnt_cck_band1;
UINT32 phy_rx_fcs_err_cnt_ofdm_band1;
UINT32 MuPktCount;
UINT32 SIG_MCS;
UINT32 SINR;
UINT32 RXVRSSI;
/* #endif */
UINT32 mac_rx_fcs_ok_cnt; /* MT7622 only */
};
UINT32 HQA_CMDHandler(struct _RTMP_ADAPTER *pAd, struct __RTMP_IOCTL_INPUT_STRUCT *Wrq, struct _HQA_CMD_FRAME *HqaCmdFrame);
#define TM_CMDREQ 0x0008
#define TM_CMDRSP 0x8008
#define HQA_CMD_MAGIC_NO 0x18142880
#define HQA_CMD_REQ 0x0005
#define HQA_CMD_RSP 0x8005
#define TMR_HW_VER_100 100
#define TMR_HW_VER_150 150
#define TMR_HW_VER_200 200
#define HQA_CMD_MAGIC_NO 0x18142880
#define EFUSE_ADDR_FREQUENCY_OFFSET_MT7637 0xF4/* MT7637 */
#endif /* _TESTMODE_IOCTL_H */

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,214 @@
/*
***************************************************************************
* MediaTek Inc.
*
* All rights reserved. source code is an unpublished work and the
* use of a copyright notice does not imply otherwise. This source code
* contains confidential trade secret material of MediaTek. Any attemp
* or participation in deciphering, decoding, reverse engineering or in any
* way altering the source code is stricitly prohibited, unless the prior
* written consent of MediaTek, Inc. is obtained.
***************************************************************************
Module Name:
mt_testmode_dmac.c
*/
#ifdef COMPOS_TESTMODE_WIN
#include "config.h"
#else
#include "rt_config.h"
#endif
INT mt_ate_mac_cr_restore(RTMP_ADAPTER *pAd)
{
#if defined(MT7615) || defined(MT7622)
if (IS_MT7615(pAd) || IS_MT7622(pAd)) {
/* Data frame protection CR recover */
MtTestModeRestoreCr(pAd, AGG_PCR);
/* RTS threshold CR recover */
MtTestModeRestoreCr(pAd, AGG_PCR1);
#ifdef DBDC_MODE
if (IS_ATE_DBDC(pAd)) {
MtTestModeRestoreCr(pAd, AGG_PCR2);
}
#endif /* DBDC_MODE */
/* BA related CR recover */
MtTestModeRestoreCr(pAd, AGG_AALCR0);
MtTestModeRestoreCr(pAd, AGG_AALCR1);
MtTestModeRestoreCr(pAd, AGG_AALCR2);
MtTestModeRestoreCr(pAd, AGG_AALCR3);
MtTestModeRestoreCr(pAd, AGG_AWSCR0);
MtTestModeRestoreCr(pAd, AGG_AWSCR1);
/* Station pause CR recover */
MtTestModeRestoreCr(pAd, STATION_PAUSE0);
MtTestModeRestoreCr(pAd, STATION_PAUSE1);
MtTestModeRestoreCr(pAd, STATION_PAUSE2);
MtTestModeRestoreCr(pAd, STATION_PAUSE3);
/* Enable HW BAR feature */
MtTestModeRestoreCr(pAd, AGG_MRCR);
/* IPG related CR recover */
MtTestModeRestoreCr(pAd, TMAC_TRCR0);
MtTestModeRestoreCr(pAd, TMAC_ICR_BAND_0);
MtTestModeRestoreCr(pAd, ARB_DRNGR0);
MtTestModeRestoreCr(pAd, ARB_DRNGR1);
MtTestModeRestoreCr(pAd, ARB_WMMAC01);
MtTestModeRestoreCr(pAd, ARB_WMMAC11);
MtTestModeRestoreCr(pAd, ARB_WMMAC21);
MtTestModeRestoreCr(pAd, ARB_WMMAC31);
MtTestModeRestoreCr(pAd, ARB_WMMALTX0);
#ifdef DBDC_MODE
if (IS_ATE_DBDC(pAd)) {
MtTestModeRestoreCr(pAd, TMAC_TRCR1);
MtTestModeRestoreCr(pAd, TMAC_ICR_BAND_1);
MtTestModeRestoreCr(pAd, ARB_WMMALTX1);
}
#endif /* DBDC_MODE */
}
#endif /* defined(MT7615) || defined(MT7622) */
return 0;
}
INT mt_ate_mac_cr_backup_and_set(RTMP_ADAPTER *pAd)
{
struct _ATE_CTRL *ATECtrl = &pAd->ATECtrl;
NdisZeroMemory(&ATECtrl->bk_cr, sizeof(struct _TESTMODE_BK_CR)*MAX_TEST_BKCR_NUM);
#if defined(MT7615) || defined(MT7622)
/* TODO: check if following operation also need to do for other chips */
if (IS_MT7615(pAd) || IS_MT7622(pAd)) {
UINT32 val = 0;
/* Enable data frame protection for test mode */
MtTestModeBkCr(pAd, AGG_PCR, TEST_MAC_BKCR);
MAC_IO_READ32(pAd, AGG_PCR, &val);
val = 0x80008;
MAC_IO_WRITE32(pAd, AGG_PCR, val);
/* RTS threshold need to change to 1 for test mode */
MtTestModeBkCr(pAd, AGG_PCR1, TEST_MAC_BKCR);
MAC_IO_READ32(pAd, AGG_PCR1, &val);
/* val &= 0x0FFFFFFF; */
/* val |= 0x10000000; */
/* Setting RTS threshold to max value to aviod send RTS in test mode */
val = 0xFE0FFFFF;
MAC_IO_WRITE32(pAd, AGG_PCR1, val);
#ifdef DBDC_MODE
/* RTS threshold disable for band1 */
if (IS_ATE_DBDC(pAd)) {
MtTestModeBkCr(pAd, AGG_PCR2, TEST_MAC_BKCR);
MAC_IO_READ32(pAd, AGG_PCR2, &val);
val = 0xFE0FFFFF;
MAC_IO_WRITE32(pAd, AGG_PCR2, val);
}
#endif /* DBDC_MODE */
/* BA related CR backup */
MtTestModeBkCr(pAd, AGG_AALCR0, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, AGG_AALCR1, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, AGG_AALCR2, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, AGG_AALCR3, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, AGG_AWSCR0, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, AGG_AWSCR1, TEST_MAC_BKCR);
/* Station pause CR backup for TX after reset WTBL */
MtTestModeBkCr(pAd, STATION_PAUSE0, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, STATION_PAUSE1, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, STATION_PAUSE2, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, STATION_PAUSE3, TEST_MAC_BKCR);
/* HW BAR feature */
MtTestModeBkCr(pAd, AGG_MRCR, TEST_MAC_BKCR);
MAC_IO_READ32(pAd, AGG_MRCR, &val);
val &= ~BAR_TX_CNT_LIMIT_MASK;
val |= BAR_TX_CNT_LIMIT(0);
MAC_IO_WRITE32(pAd, AGG_MRCR, val);
/* IPG related CR back up */
MtTestModeBkCr(pAd, TMAC_TRCR0, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, TMAC_ICR_BAND_0, TEST_MAC_BKCR); /* IFS CR, for SIFS/SLOT time control */
MtTestModeBkCr(pAd, ARB_DRNGR0, TEST_MAC_BKCR); /* For fixing backoff random number */
MtTestModeBkCr(pAd, ARB_DRNGR1, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, ARB_WMMAC01, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, ARB_WMMAC11, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, ARB_WMMAC21, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, ARB_WMMAC31, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, ARB_WMMALTX0, TEST_MAC_BKCR);
#ifdef DBDC_MODE
if (IS_ATE_DBDC(pAd)) {
MtTestModeBkCr(pAd, TMAC_TRCR1, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, TMAC_ICR_BAND_1, TEST_MAC_BKCR);
MtTestModeBkCr(pAd, ARB_WMMALTX1, TEST_MAC_BKCR);
}
#endif /* DBDC_MODE */
}
#endif /* defined(MT7615) || defined(MT7622) */
return 0;
}
UINT32 agg_cnt_array[] = {AGG_AALCR0, AGG_AALCR1, AGG_AALCR2, AGG_AALCR3};
INT mt_ate_ampdu_ba_limit(RTMP_ADAPTER *pAd, UINT32 band_idx, UINT8 agg_limit)
{
struct _ATE_CTRL *ATECtrl = &pAd->ATECtrl;
UINT32 value;
INT wdev_idx = 0;
UCHAR WmmIdx = 0xFF;
#if !defined(COMPOS_TESTMODE_WIN)
struct wifi_dev *pWdev = NULL;
wdev_idx = TESTMODE_GET_PARAM(ATECtrl, band_idx, wdev_idx);
pWdev = pAd->wdev_list[wdev_idx];
if (pWdev) {
WmmIdx = TESTMODE_GET_PARAM(ATECtrl, band_idx, wmm_idx);
if (WmmIdx > 3) {
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_ERROR,
("%s: wdev_idx=%d, invalid WmmIdx=%d, reset to 0!\n",
__func__, wdev_idx, WmmIdx));
WmmIdx = 0xFF;
}
} else {
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_ERROR,
("%s: invalid WDEV, reset WmmIdx to 0!\n", __func__));
WmmIdx = 0xFF;
}
#endif
MTWF_LOG(DBG_CAT_TEST, DBG_SUBCAT_ALL, DBG_LVL_TRACE,
("%s: wdev_idx=%d, WmmIdx=%d\n",
__func__, wdev_idx, WmmIdx));
value = ((agg_limit & 0x3F) << 24)
| ((agg_limit & 0x3F) << 16)
| ((agg_limit & 0x3F) << 8)
| ((agg_limit & 0x3F) << 0);
if (WmmIdx <= 3)
MAC_IO_WRITE32(pAd, agg_cnt_array[WmmIdx], value);
else {
MAC_IO_WRITE32(pAd, AGG_AALCR0, value);
MAC_IO_WRITE32(pAd, AGG_AALCR1, value);
MAC_IO_WRITE32(pAd, AGG_AALCR2, value);
MAC_IO_WRITE32(pAd, AGG_AALCR3, value);
}
value = 0x0;
MAC_IO_WRITE32(pAd, AGG_AWSCR0, value);
return 0;
}
INT mt_ate_set_sta_pause_cr(RTMP_ADAPTER *pAd, UINT32 band_idx)
{
INT32 ret = 0;
UINT32 value;
/* Set station pause CRs to 0 for TX after reset WTBL */
/* The CR meaning in normal mode is that stop to TX packet when STA disconnect */
value = 0x0;
MAC_IO_WRITE32(pAd, STATION_PAUSE0, value);
MAC_IO_WRITE32(pAd, STATION_PAUSE1, value);
MAC_IO_WRITE32(pAd, STATION_PAUSE2, value);
MAC_IO_WRITE32(pAd, STATION_PAUSE3, value);
return ret;
}

View File

@ -0,0 +1,56 @@
/*
***************************************************************************
* MediaTek Inc.
*
* All rights reserved. source code is an unpublished work and the
* use of a copyright notice does not imply otherwise. This source code
* contains confidential trade secret material of MediaTek. Any attemp
* or participation in deciphering, decoding, reverse engineering or in any
* way altering the source code is stricitly prohibited, unless the prior
* written consent of MediaTek, Inc. is obtained.
***************************************************************************
Module Name:
mt_testmode_smac.c
*/
#ifdef COMPOS_TESTMODE_WIN
#include "config.h"
#else
#include "rt_config.h"
#endif
INT mt_ate_mac_cr_restore(RTMP_ADAPTER *pAd)
{
/* Data frame protection CR recover */
MtTestModeRestoreCr(pAd, AGG_PCR);
/* RTS threshold CR recover */
MtTestModeRestoreCr(pAd, AGG_PCR1);
return 0;
}
INT mt_ate_mac_cr_backup_and_set(RTMP_ADAPTER *pAd)
{
struct _ATE_CTRL *ATECtrl = &pAd->ATECtrl;
UINT32 val = 0;
NdisZeroMemory(&ATECtrl->bk_cr, sizeof(struct _TESTMODE_BK_CR)*MAX_TEST_BKCR_NUM);
/* Enable data frame protection for test mode */
MtTestModeBkCr(pAd, AGG_PCR, TEST_MAC_BKCR);
MAC_IO_READ32(pAd, AGG_PCR, &val);
val = 0x80008;
MAC_IO_WRITE32(pAd, AGG_PCR, val);
/* RTS threshold need to change to 1 for test mode */
MtTestModeBkCr(pAd, AGG_PCR1, TEST_MAC_BKCR);
MAC_IO_READ32(pAd, AGG_PCR1, &val);
/* val &= 0x0FFFFFFF; */
/* val |= 0x10000000; */
/* Setting RTS threshold to max value to aviod send RTS in test mode */
val = 0xFE0FFFFF;
MAC_IO_WRITE32(pAd, AGG_PCR1, val);
return 0;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More