Technical Documentation: coolsnowwolf/lede
ℹ️ Provenance: Multi-Tier Ingestion · CodeWiki Reference
Overview (README.md)
欢迎来到 Lean 的 LEDE 源码仓库
为国产龙芯 LOONGSON SoC loongarch64 / 飞腾 Phytium 腾锐 D2000 系列架构添加支持
官方讨论群
如有技术问题需要讨论或者交流,欢迎加入以下群:
瑞莎网络计算 - 轻松打造你的网络边缘计算系统
瑞莎网络计算系列覆盖从入门到高性能的边缘网关场景,从千兆到 2.5G,从四核到六核,全系列基于瑞芯微高可靠处理器,低功耗、稳定运行,适合 7×24 小时网络服务。
| 产品型号 | E20C | E24C | E25 | E52C | E54C |
|---|---|---|---|---|---|
| 处理器 | 瑞芯微RK3528A(四核) | 瑞芯微 RK3528A(四核) | 瑞芯微 RK3568(四核) | 瑞芯微 RK3582(六核) | 瑞芯微 RK3582(六核) |
| 以太网 | 2x 千兆以太网 | 4x 千兆以太网 | 2x 2.5G 以太网 | 2x 2.5G 以太网 | 4x 千兆以太网 |
| 适用场景 | 入门级软路由 / 家用网关 | 多口家庭路由 / IoT 网关 | 高速 2.5G 家庭 / 小型企业软路由 | 高性能 2.5G 路由 / 边缘计算 / VPN | 多口网络控制器 / 企业网关 |
- 多网口设计,为网络计算而生
- 提供 2 / 4 网口、千兆 / 2.5G 多种组合,灵活适配家用、宿舍、小型企业与 IoT 网络。
- 一板多用,系统自由切换
- 支持 OpenWrt、Debian、Armbian 等多种系统,可应用于网关、轻量服务器或开发板等领域。
- 稳定可靠,适合全天候运行
- 优秀的金属外壳散热设计 + 瑞芯微平台的低功耗特性,确保长时间满载仍能保持稳定。
- 开发生态完善,轻松扩展功能
- 提供配套文档、源码与社区支持,方便开发者进行二次开发、插件扩展与自定义功能。
了解更多
注意
- 不要用 root 用户进行编译
- 国内用户编译前最好准备好梯子
- 默认登陆IP 192.168.1.1 密码 password
编译命令
首先装好 Linux 系统,推荐 Debian 或 Ubuntu LTS 22/24
安装编译依赖
bashsudo apt update -y sudo apt full-upgrade -y sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \ bzip2 ccache clang cmake cpio curl device-tree-compiler flex gawk gcc-multilib g++-multilib gettext \ genisoimage git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev \ libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev \ libreadline-dev libssl-dev libtool llvm lrzsz libnsl-dev ninja-build p7zip p7zip-full patch pkgconf \ python3 python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion \ swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd xz-utils zlib1g-dev下载源代码,更新 feeds 并选择配置
bashgit clone https://github.com/coolsnowwolf/lede cd lede ./scripts/feeds update -a ./scripts/feeds install -a make menuconfig下载 dl 库,编译固件
(-j 后面是线程数,第一次编译推荐用单线程)bashmake download -j8 make V=s -j1
本套代码保证肯定可以编译成功。里面包括了 R24 所有源代码,包括 IPK 的。
你可以自由使用,但源码编译二次发布请注明我的 GitHub 仓库链接。谢谢合作!
二次编译:
cd lede
git pull
./scripts/feeds update -a
./scripts/feeds install -a
make defconfig
make download -j8
make V=s -j$(nproc)如果需要重新配置:
rm -rf .config
make menuconfig
make V=s -j$(nproc)编译完成后输出路径:bin/targets
使用 WSL/WSL2 进行编译
由于 WSL 的 PATH 中包含带有空格的 Windows 路径,有可能会导致编译失败,请在 make 前面加上:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin由于默认情况下,装载到 WSL 发行版的 NTFS 格式的驱动器将不区分大小写,因此大概率在 WSL/WSL2 的编译检查中会返回以下错误:
Build dependency: OpenWrt can only be built on a case-sensitive filesystem一个比较简洁的解决方法是,在 git clone 前先创建 Repository 目录,并为其启用大小写敏感:
# 以管理员身份打开终端
PS > fsutil.exe file setCaseSensitiveInfo <your_local_lede_path> enable
# 将本项目 git clone 到开启了大小写敏感的目录 <your_local_lede_path> 中
PS > git clone https://github.com/coolsnowwolf/lede <your_local_lede_path>对已经
git clone完成的项目目录执行fsutil.exe命令无法生效,大小写敏感只对新增的文件变更有效。
macOS 原生系统进行编译
安装 macOS Command Line Tools(无需安装完整 Xcode):
bashxcode-select --install如果系统已安装 Xcode,可跳过此步骤。
安装 Homebrew:
bash/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"使用 Homebrew 安装工具链、依赖与基础软件包:
bashbrew unlink awk brew install coreutils diffutils findutils gawk gnu-getopt gnu-tar grep make ncurses pkg-config wget quilt xz brew install gcc@11然后输入以下命令,添加到系统环境变量中:
- intel 芯片的 mac
bashecho 'export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"' >> ~/.bashrc echo 'export PATH="/usr/local/opt/findutils/libexec/gnubin:$PATH"' >> ~/.bashrc echo 'export PATH="/usr/local/opt/gnu-getopt/bin:$PATH"' >> ~/.bashrc echo 'export PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH"' >> ~/.bashrc echo 'export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"' >> ~/.bashrc echo 'export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"' >> ~/.bashrc echo 'export PATH="/usr/local/opt/make/libexec/gnubin:$PATH"' >> ~/.bashrc- apple 芯片的 mac
zshecho 'export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH"' >> ~/.bashrc echo 'export PATH="/opt/homebrew/opt/findutils/libexec/gnubin:$PATH"' >> ~/.bashrc echo 'export PATH="/opt/homebrew/opt/gnu-getopt/bin:$PATH"' >> ~/.bashrc echo 'export PATH="/opt/homebrew/opt/gnu-tar/libexec/gnubin:$PATH"' >> ~/.bashrc echo 'export PATH="/opt/homebrew/opt/grep/libexec/gnubin:$PATH"' >> ~/.bashrc echo 'export PATH="/opt/homebrew/opt/gnu-sed/libexec/gnubin:$PATH"' >> ~/.bashrc echo 'export PATH="/opt/homebrew/opt/make/libexec/gnubin:$PATH"' >> ~/.bashrc重新加载一下 shell 启动文件
source ~/.bashrc,然后输入bash进入 bash shell,就可以和 Linux 一样正常编译了
特别提示
源代码中绝不含任何后门和可以监控或者劫持你的 HTTPS 的闭源软件, SSL 安全是互联网最后的壁垒,安全干净才是固件应该做到的。
想学习 OpenWrt 开发,但是摸不着门道?自学没毅力?基础太差?怕太难学不会?跟着佐大学 OpenWrt 开发入门培训班助你能学有所成
报名地址:点击报名QCA IPQ60xx 开源仓库地址:https://github.com/coolsnowwolf/openwrt-gl-ax1800
捐贈
如果你觉得此项目对你有帮助,可以捐助我们,以鼓励项目能持续发展,更加完善
Package Lean Mt Drivers Mt7603e Src Mt7603 Wifi Doc History (`package/lean/mt/drivers/mt7603e/src/mt7603_wifi/doc/History.txt`)
Release Note:
[V4.0.0.7]
Host Driver:
- Bug fixed for TGn 4.2.12 PMK caching and 4.2.11 pre-authentication issue.
- Bug fixed for 802.1x issue of WEP encryption.
- Add UAPSD support.
- Add APCLI_AUTO_CONNECT_SUPPORT function.
- Fix MCU INT CR read/write issue.
- modify rate retry rule.
- Fix QA tool: check the writing length to write all to flash.
- Fix memory leak issue when command TxPwr send fail.
- Fix MT7603E load fw fail issue that need to adjust PCIe LDO setting to 1.2V.
- Fix the WSC config status( in beacon & probe resp ) is wrong when we key the wrong DUT's enrolee PIN.
- ATE tool:
a. fix txpower can not be set at ATE mode issue.
b. Add code for TxTone Power HQADLL command and iwpriv. - Fix Makefile/Kconfig:
a. we should use CONFIG_SINGLE_SKU_V2, not CONFIG_SINGLE_SKU.
b. Remove RTMP_TEMPERATURE_TX_ALC because this driver flag is not valid. (controlled by FW)
F/W:
- Add EDCA and Slot time set command.
- Enable and update CCK_MRC fix.
- Enable TX PA dynamic GC
- Support negative TMAC PWR
- Set CR_TSSI_PA_OFFSET_HPA
- Lower WF0/WF1 TSSI ON TH to 0dBm
[V4.0.0.6 ]
Host Driver:
1.Add tx power percentage function for iPA
2. Modify AP PS, use CR replace AP PS CMD
3.fix apcli vs DIR655 IOT can't set ba size to 21
4.Set MSSID *7, iPhone5 connect then ping overnight, still ping fail (?�爾PSE Redirection bit被�?�? STA ping fail)
for ps retrieve function, rename "token_enq_fail" to "token_enq_all_fail" to let it more clear.
5. MT7603 auto rate update
6. Fix [AP][TGn]:4.2.47 Power Save, fail on step 8,each PS poll the station sends to the APUT, the APUT is expected to send only one directed data packet in response.
7. Fix TGn 4.2.11 & 4.2.12 PMK cache is delete in Auth. Req.
8. add PSE logical reset when detect pse abonormal condition
9. add sw based PDMA watchdog to detect & recovery PDMA TX/RX hang
F/W:
Fix PCIE FW download fail when sw reboot, reset HIF then trigger WDT.
- Add DMA scheduler workaround.
- Add Admission control.
- Add TX power % support.
[MT7603E_DPA_LinuxAP_4.0.0.5_20140511]
- Fixed Cal Free IC eeprom endian issue.
- Fixed IOT issue with Linksys WUSB6300.
- AP-client repeater: fixed icv error when authmode/encryptype update.
- Fixed crash issue that tasklet for processing pci dma done for mcu cmd sometimes will execute after event tasklet.
- Update auto fall back config and algorithm.
- Update firmware to fixed FW re-download fail issue.
- Do 802.11 header endian swap for ps retrieve packet.
- Fixed LED command big endian issue.
- Fixed MlmeHardTransmitTxRing cache flush issue that will cause memory for dma and cache non sync at big endian platform.
- Modify check en/disable RTS/CTS conditions.
- Fixed radio on/off cmd parameters to correct value.
- Update patch for flash mode.
- Fixed LED RadioOff issue.
- ATE:
a. fixed Tx/Rx antenna switch resulting wrong Tx power level work around.
b. patch PCIE ASPM write efuse Add PCIe Compile flag.
c. add iwpriv TXCONT
d. add iwpriv for carrier suppression test TXCARR
e. Initialize Tx power with EEPROM array when ATESTART
f. Fix CONFIG_QA blocking setting power when only CONFIG_ATE is chosen
[MT7603E_DPA_LinuxAP_4.0.0.4_20140411]
- Support IGMP Snooping function.
- Fix NewRateAdapt Error in STA mode.
- Fixed apcli ICV error issue to decrypt Broadcast packet from AP.
- Fixed BAR issues:
a. Change SW BAR rate to CCK 1M.
b. Send SW BAR for ap power saving to refresh peer sta side reordering buffer (Intel IOT).
c. Add SW BAR mechanism which SN will control by wtbl per tid.
d. Considering the BAR data rate in both 2.4G & 5G
e. SendRefreshBar when recv. CmdPsClearRsp, this modify will make sure the 1st. packet in PSE is BAR after PS. - Update new firmware for BBP issue.
- Upload E1/E2 default EEPROM bin file.
- Fixed ATE bugs for Tx power setting, BW40 channel control, and Rx issue.
- Change MAX_NUMBER_OF_MAC definition to support 32 association STAs.
- Correct ApCli entry setting to fix throughput issue.
- Fix sometimes software tx will stuck since Intel STA in ps mode is very frequently.
- Fine tune TXOP settings.
- Fixed the bug when spatial extension on/off.
- Fixed AP client TKIP/WEP connection issue with Broadcom AP.
[MT7603E_DPA_LinuxAP_4.0.0.4_20140401]
- Init AP Driver version
Package Lean Mt Drivers Mt7603e Src Mt7603 Wifi Doc Ate Iwpriv Usage (`package/lean/mt/drivers/mt7603e/src/mt7603_wifi/doc/ate_iwpriv_usage.txt`)
===================================================================================================
ATE Test Command Format for station driver
****** IMPORTANT ******
If you are not familiar with hardware, it is recommanded not to modify hardware default value.
It may damage hardware.
===================================================================================================
Usage:
iwpriv ra0 [act] [parameters]=[val]
where
[act] [parameters] [val] constraints explaination
=====================================
- Set ATE actions.
Value:
ATESTART - Stop AP & ATE function.
ATESTOP - Start AP function.
TXCONT - Start AP continuous TX, for power mask.
TXCARR - Start AP carrier test, for frequency calibration.
TXFRAME - Transmit frame, for EVM.
RXFRAME - Continuous RX, for PER/FER.
1.1 ATEDA
Set ATE frame header destination address.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.2 ATESA
Set ATE frame header source addr.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.3 ATEBSSID
Set ATE frame header BSSID.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.4 ATECHANNEL
Set ATE Channel, deimal.
Value:
802.11b/g: 1 ~ 14 depends on CountryRegion setting
1.5 ATETXPOW0
Set ATE Tx power for Antenna 1.
Value:
0 ~ 31 ; 2.4GHz, deimal
-7 ~15 ; 5.5GHz, deimal
1.6 ATETXPOW1
Set ATE Tx power for Antenna 2.
Value:
0 ~ 31 ; 2.4GHz, decimal
-7 ~15 ; 5.5GHz, deimal
1.7 ATETXFREQOFFSET
Set ATE RF frequency offset.
Value:
0 ~ 63 ; unit: 2KHz, decimal
1.8 ATETXLEN
Set ATE frame length.
Value:
24 ~ 2312 ; decimal
1.9 ATETXCNT
Set ATE frame Tx count.
Value:
1 ~ ; 32-bit, decimal
1.10 ATETXMODE (Refer to TxMode)
Set ATE Tx Mode.
Value:
0: CCK 802.11b
1: OFDM 802.11g
2: HT_MIX 802.11b/g/n
3: Green Field 802.11n
1.11 ATETXBW (Refer to TxMode)
Set ATE Tx and Rx Bandwidth.
Value:
0: 20MHz
1: 40MHz
1.12 ATETXGI (Refer to TxMode)
Set ATE Tx Guard Interval.
Value:
0: Long
1: Short
1.13 ATETXMCS (Refer to TxMode)
Set ATE Tx MCS type.
Value:
0 ~ 15
1.14 ATETXANT
Set ATE TX antenna.
Value:
0: All
1: Antenna one
2: Antenna two
1.15 ATERXANT
Set ATE RX antenna.
Value:
0: All
1: Antenna one
2: Antenna two
3: Antenna three
1.16 ATERXFER
Set ATE to periodically reset and show up RxCount (per-second) and RxTotalCount.
Value:
0: Disable counter visability
1: Enable counter visability
1.17 ATESHOW
Show all parameters of ATE.
Value:
1
1.18 ATEHELP
List all commands of ATE.
Value:
1
1.19 ResetCounter
Reset statistic counter.
Value:
1
1.20 ATERRF
Read all of the RF registers.
Value:
1
1.21 ATEWRF1
Write the RF register 1.
Value:
xxxxxxxx ;32-bit, hex
1.22 ATEWRF2
Write the RF register 2.
Value:
xxxxxxxx ;32-bit, hex
1.23 ATEWRF3
Write the RF register 3.
Value:
xxxxxxxx ;32-bit, hex
1.24 ATEWRF4
Write the RF register 4.
Value:
xxxxxxxx ;32-bit, hex
1.25 ATELDE2P
Overwrite all EEPROM contents from "/etc/Wireless/RT2860/(70)AP(/STA)/e2p.bin".
Value:
1
E.g.
iwpriv ra0 set ATELDE2P=1
1.26 ATERE2P
Display all EEPROM content.
Value:
1
E.g.
iwpriv ra0 set ATERE2P=1
===================================================================================================
2. Examples:
=========
2.1 Check EVM & Power
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATEDA=00:11:22:33:44:55
iwpriv ra0 set ATESA=00:aa:bb:cc:dd:ee
iwpriv ra0 set ATEBSSID=00:11:22:33:44:55
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXGI=0 ; set Long GI.
iwpriv ra0 set ATETXLEN=1024 ; set packet length.
iwpriv ra0 set ATETXPOW0=18
iwpriv ra0 set ATETXPOW1=18
iwpriv ra0 set ATETXCNT=100000
iwpriv ra0 set ATE=TXFRAME
�K
iwpriv ra0 set ATETXPOW0=19
�K
iwpriv ra0 set ATETXPOW0=20
�K
iwpriv ra0 set ATE=ATESTART
2.2 Check Carrier
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame(inform BBP to change, modulation mode)
iwpriv ra0 set ATE=TXCARR ; Start Tx carrier, Measure carrier with instrument
iwpriv ra0 set ATETXPOW0=05
iwpriv ra0 set ATETXPOW1=05
iwpriv ra0 set ATETXFREQOFFSET=19
iwpriv ra0 set ATE=ATESTART
2.3 Check specturm mask
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame(inform BBP to change, modulation mode)
iwpriv ra0 set ATE=TXCONT ; Start continuous TX, Measure specturm mask with instrument
iwpriv ra0 set ATETXPOW0=5
iwpriv ra0 set ATETXPOW1=5
iwpriv ra0 set ATE=ATESTART
2.4 Frequency offset tuning
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATETXFREQOFFSET=0 ; Set frequency offset 0(decimal)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame
iwpriv ra0 set ATE=TXCARR ; Start Tx carrier, Measure carrier frequency with instrument
iwpriv ra0 set ATETXFREQOFFSET=10 ; Dynamic turning frequency offset, 10(decimal)
iwpriv ra0 set ATETXFREQOFFSET=20 ; Dynamic turning frequency offset, 20(decimal)
iwpriv ra0 set ATE=ATESTART ; Stop, Store the tuning result to EEPROM
2.5 Rx
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ResetCounter=1 ; Reset statistic counter
iwpriv ra0 set ATETXFREQOFFSET=value ;To use the ��value��(decimal) you got in tx calibration
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATE=RXFRAME ; Start Rx,
iwpriv ra0 set ATERXFER=1 ; show RxCnt and RSSI/per-antenna, Transmit test packets
iwpriv ra0 set ATE=ATESTART ; Stop
iwpriv ra0 stat ; get statistics counter
iwpriv ra0 set ATERXFER=1
iwpriv ra0 set ATERXANT=1
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATERXANT=0
iwpriv ra0 set ATE=RXFRAME2.6 Show all ate parameters
iwpriv ra0 set ATESHOW=1
Mode=4
TxPower0=0
TxPower1=0
TxAntennaSel=0
RxAntennaSel=0
BBPCurrentBW=0
GI=0
MCS=7
TxMode=1
Addr1=00:11:22:aa:bb:cc
Addr2=00:11:22:aa:bb:cc
Addr3=00:11:22:aa:bb:cc
Channel=1
TxLength=1024
TxCount=40000
TxRate=11
RFFreqOffset=02.7 Online help
iwpriv ra0 set ATEHELP=1
ATE=ATESTART, ATESTOP, TXCONT, TXCARR, TXFRAME, RXFRAME
ATEDA
ATESA
ATEBSSID
ATECHANNEL, range:0~14(unless A band !).
ATETXPOW0, set power level of antenna 1.
ATETXPOW1, set power level of antenna 2.
ATETXANT, set TX antenna. 0: all, 1: antenna one, 2: antenna two.
ATERXANT, set RX antenna.0: all, 1: antenna one, 2: antenna two, 3: antenna three.
ATETXFREQOFFSET, set frequency offset, range 0~63.
ATETXBW, set BandWidth, 0:20MHz, 1:40MHz.
ATETXLEN, set Frame length, range 24~2312.
ATETXCNT, set how many frame going to transmit.
ATETXMCS, set MCS, reference to rate table.
ATETXMODE, set Mode 0: CCK, 1: OFDM, 2: HT-Mix, 3: GreenField, reference to rate table.
ATETXGI, set GI interval, 0: Long, 1: Short.
ATERXFER, 0: disable Rx Frame error rate. 1: enable Rx Frame error rate.
ATERRF, show all RF registers.
ATEWRF1, set RF1 register.
ATEWRF2, set RF2 register.
ATEWRF3, set RF3 register.
ATEWRF4, set RF4 register.
ATELDE2P, load EEPROM from .bin file.
ATERE2P, display all EEPROM content.
ATESHOW, display all parameters of ATE.
ATEHELP, online help.2.8 Display Rx Packet Count and RSSI
iwpriv ra0 set ATERXANT=0 ==> Enable All Three Rx Antennas
iwpriv ra0 set ATERXFER=1 ==> Enable Rx Frame Error Rate: RxCnt/RxTotal
iwpriv ra0 set ATE=RXFRAME ==> Start Rx
MlmePeriodicExec: Rx packet cnt = 2/4
MlmePeriodicExec: Rx AvgRssi0=-88, AvgRssi1=-80, AvgRssi2=-91
MlmePeriodicExec: Rx packet cnt = 2/6
MlmePeriodicExec: Rx AvgRssi0=-86, AvgRssi1=-77, AvgRssi2=-89�K
�K
iwpriv ra0 set ATERXANT=1 ==> Enable Three Rx Antenna-1
iwpriv ra0 set ATERXFER=1 ==> Enable Rx Frame Error Rate: RxCnt/RxTotal
iwpriv ra0 set ATE=RXFRAME ==> Start Rx
MlmePeriodicExec: Rx packet cnt = 0/7
MlmePeriodicExec: Rx AvgRssi=-87
MlmePeriodicExec: Rx packet cnt = 7/14
MlmePeriodicExec: Rx AvgRssi=-90
�K
�K===================================================================================================
3. Hardware Access
==================
=====================================
3.1 iwpriv ra0 bbp [parameters]=[Value]
Read/Write BBP registers by ID number.
BBPID
3.1.1 Read BBP register, BBPID only, no ��=�� symbol.
BBPID:
0 ~ xx ; decimal, 8-bit
BBPID=Value
3.1.2 Write BBP register.
BBPID:
0 ~ xx ; decimal, 8-bit
Value:
00 ~FF ; hexdecimal, 8-bit
=====================================
3.2 iwpriv ra0 mac [parameters]=[val]
Read/Write MAC registers by offset.
MAC_OFFSET
3.2.1 Read MAC register, MAC_OFFSET only, no ��=�� symbol.
MAC_OFFSET:
0000 ~ FFFF ; hexdecimal, 16-bit
MAC_OFFSET=Value
3.2.2 Write MAC register.
MAC_OFFSET:
0000 ~ FFFF ; hexdecimal, 16-bit
Value:
0000 ~FFFF ; hexdecimal, 32-bit
=====================================
3.3 iwpriv ra0 e2p [parameters]=[val]
Read/Write EEPROM content by address.
EEP_ADDR
3.3.1 Read EEPROM content, EEP_ADDR only, no ��=�� symbol.
EEP_ADDR:
00 ~ FF ; hexdecimal, 16-bit alignment (0, 2, 4, 6, 8, A, C, �K)
EEP_ADDR=Value
3.3.2 Write EEPROM content.
EEP_ADDR:
00 ~ FF ; hexdecimal, 16-bit alignment (0, 2, 4, 6, 8, A, C, �K)
Value:
0000 ~FFFF ; hexdecimal, 16-bit
=====================================
3.4 Example
3.4.1 Hardware access
iwpriv ra0 bbp 0 # read BBP register 0
iwpriv ra0 bbp 0=12 # write BBP register 0 as 0x12
iwpriv ra0 mac 0 # read MAC register 0
iwpriv ra0 mac 0=1234abcd # write MAC register 0 as 0x1234abcd
iwpriv ra0 e2p 0 # read E2PROM 0
iwpriv ra0 e2p c=12ab # write E2PROM 0xc as 0x12ab
3.4.2 Statistic counter operation
iwpriv ra0 stat # read statistic counter
iwpriv ra0 set ResetCounter=0 # reset statistic counter
Suggestion:
1. To turn on ATE functionality, you have to add compile flag "CONFIG_ATE" to Makefile
2. Before doing ATE testing, please stop AP function
3. If you want to test another ATE action, prefer to stop AP & ATE function
4. All ATE function settings will lose efficacy after reboot.
5. Before hardware register access, please reference hardware spec.
Note.
In ATE mode, the channel must set via "ATECHANNEL"===================================================================================================
4. ated
=======
4.1 Introduction
The ated is an optional user space component for RT28xx Linux driver.
When Windows GUI starts, AP enters ATE mode (i.e.,ATESTART) immediately.
It behaves as a proxy between Windows GUI and RT28xx Linux driver when ATE process proceeds.
The ated will be killed automatically when Windows GUI is closed.
You can kill it manually, too(for example, type '$killall ated').
RT28xx linux driver will leave ATE mode either ated is killed or Windows GUI is closed.
4.2 Environment setup
- Connect the platform you want to test directly with a Windows host by ether network line.
- In the Windows host, run WinPcap_4_0.exe for the QA GUI or ./RT2880_ATE/RaUI.exe(please unrar "RT2880_ATE.rar" to get it).
4.3 How to use ated for ATE purpose
0. First you should set both "HAS_ATE=y" and "HAS_QA_SUPPORT=y" in the file ~/Module/os/linux/config.mk and compile the driver.
- Modify the Makefile according to our target "PLATFORM".
- Change the path of "CROSS_COMPILE" if needed.
- Then type 'make' command to compile the source code of the daemon.
- After the driver interface has started up, attach both of the wireless interface and the ethernet interface to the bridge interface.
- If you have no bridge interface, please give an IP address to the ethernet interface.
(for example : '$ated -beth0') - After the interfaces have entered forwarding states, manually start ated, type '$ated -bbrX -iraX'.
- If your WLAN interface and Bridge interface is "ra0" and "br0" respectively, just type $ated.
(For further usage of options, type $ated -h) - In the Windows host, run RT28xxQA_ATE.exe or ./RT2880_ATE/RaUI.exe.
- Select the wired network adapter, then press OK and wait for a moment.
10.If the Windows host cannot tolerate such a broadcast storm from ated,
please run ated with option -u.(for example : '$ated -ira1 -u')
11.If your target platform concerns its network security, please run RT28xxQA_unicast.exe instead of RT28xxQA_ATE.exe.
Note :
a. The names of WLAN interface(default is "ra0") and Bridge interface(default is "br0") must be specified manually(for example : '$ated -bbr1 -ira2') if your WLAN interface or Bridge interface is not "ra0" or "br0" respectively !
b. Please make sure no other RaUI is running before you excute ./RT2880_ATE/RaUI.exe.
Package Lean Mt Drivers Mt7603e Src Mt7603 Wifi Doc Brftph Usage (`package/lean/mt/drivers/mt7603e/src/mt7603_wifi/doc/brftph_usage.txt`)
/****************************************************************************
- Ralink Tech Inc.
- 4F, No. 2 Technology 5th Rd.
- Science-based Industrial Park
- Hsin-chu, Taiwan, R.O.C.
- (c) Copyright 2002, Ralink Technology, Inc.
- All rights reserved. Ralink's 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 Ralink Tech. 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 Ralink Technology, Inc. is obtained.
****************************************************************************/
The steps for bridge fast path function in wireless driver:
- Change HAS_BGFP_SUPPORT=y and HAS_BGFP_OPEN_SUPPORT=y
Note1: When you just only want to enable fast path in WLAN module, you can
only enable HAS_BGFP_SUPPORT.
Note2: When you want to enable fast path in WLAN and Ethernet module, you
need to enable HAS_BGFP_SUPPORT and HAS_BGFP_OPEN_SUPPORT.
The steps for bridge fast path function in ethernet driver:
- Find the function you pass received packets to upper layer.
- Path code to the function.
Note: If the ethernet driver is a library type, i.e. ***.ko, you must insert
the ethernet driver to the Linux kernel before RALINK WLAN driver.
For examples:
Declare a symbol and a function prototype.
UINT32 (*RALINK_FP_Handle)(PNDIS_PACKET pPacket);
EXPORT_SYMBOL(RALINK_FP_Handle);Support your received handler, called packet_forward()
In Linux, find the keyword, netif_rx(), such as
packet_forward()
{
......
// pass the packet to upper layer
skb->protocol = eth_type_trans(skb, skb->dev);
netif_rx(skb);
}Change the code segment to
packet_forward()
{
UINT32 HandRst = 1;
......
if (RALINK_FP_Handle != NULL)
HandRst = RALINK_FP_Handle(skb);
if (HandRst != 0)
{
// pass the packet to upper layer
// printk("pass to upper layer!\n");
skb->protocol = eth_type_trans(skb, skb->dev);
netif_rx(skb);
}
}
Package Lean Mt Drivers Mt7603e Src Mt7603 Wifi Doc Iwpriv Usage (`package/lean/mt/drivers/mt7603e/src/mt7603_wifi/doc/iwpriv_usage.txt`)
iwpriv
This is detailed explanation of each parameters for iwpriv.
Before reading this document, make sure you already read README.
USAGE:
iwpriv ra0 commands val
NOTE:
Wireless Extension Private Handlers
where
[commands] [val]
{range}
wsc_conf_mode {0, 1, 2}
::Set WPS conf mode
0: WPS Disabled
1: Enrollee
2: Registrar
wsc_mode {1, 2}
::PIN or PBC
1: PIN
2: PBC
wsc_pin {00000000 ~ 99999999}
::Set Enrollee's PIN Code
wsc_ssid {0z, 132 ascii characters}
::Set WPS AP SSID
wsc_start NULL
::Trigger RT2860 STA driver to do WPS process
wsc_stop NULL
::Stop WPS process
wsc_gen_pincode NULL
::Generate new PIN code
wsc_cred_count {1 ~ 8}
::Set count of WPS credential
wsc_cred_ssid {"idx ssid_str"}
::Set SSID into credtentail[idx]
idx: 0 ~ 7
ssid_str: 0z, 132 ascii characters
wsc_cred_auth {"idx auth_str"}
::Set AuthMode into credtentail[idx]
idx: 0 ~ 7
auth_str: OPEN, WPAPSK, WPA2PSK, SHARED, WPA, WPA2
wsc_cred_encr {"idx encr_str"}
::Set EncrypType into credtentail[idx]
idx: 0 ~ 7
encr_str: NONE, WEP, TKIP, AES
wsc_cred_keyIdx {"idx key_index"}
::Set Key Index into credtentail[idx]
idx: 0 ~ 7
key_index: 1 ~ 4
wsc_cred_key {"idx key"}
::Set Key into credtentail[idx]
idx: 0 ~ 7
key: ASCII string (wep_key_len(=5,13), passphrase_len(=8~63))
OR
Hex string (wep_key_len(=10,26), passphrase_len(=64))
wsc_cred_mac {"idx mac_str"}
::Set AP's MAC into credtentail[idx]
idx: 0 ~ 7
mac_str: xx:xx:xx:xx:xx:xx
wsc_conn_by_idx {0 ~ 7}
::Connect AP by credential index
wsc_auto_conn {0, 1}
::Set driver to re-connecting to AP or not after registration.
0: Disabled, driver won't re-connect to AP with new configurations.
1: Enabled, driver will re-connect to AP with new configurations.
wsc_ap_band {0, 1, 2}
::Set prefer band to do WPS with dual band WPS AP
0 : prefer 2.4G
1 : prefer 5G
2 : auto
Default value is auto (2)
USAGE:
iwpriv ra0 set [parameters]=[val]
NOTE:
Execute one iwpriv/set command simultaneously.
where
[parameters] [val]
{range}
CountryRegion {0~7}
::Set country region
0: 1 ~ 11 ch
1: 1 ~ 13 ch
2: 10, 11 ch
3: 10 ~ 13 ch
4: 14 ch
5: 1 ~ 14 ch
6: 3 ~ 9 ch
7: 5 ~ 13 ch
31: 1 ~ 14 ch (ch1-11:active scan, ch12-14 passive scan)
CountryRegionABand {0~11}
::Set country region for A band
0: 36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, 165 ch
1: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140 ch
2: 36, 40, 44, 48, 52, 56, 60, 64 ch
3: 52, 56, 60, 64, 149, 153, 157, 161 ch
4: 149, 153, 157, 161, 165 ch
5: 149, 153, 157, 161 ch
6: 36, 40, 44, 48 ch
7: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 153, 157, 161, 165 ch
8: 52, 56, 60, 64 ch
9: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 132, 136, 140, 149, 153, 157, 161, 165 ch
10: 36, 40, 44, 48, 149, 153, 157, 161, 165 ch
11: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 149, 153, 157, 161 ch
SSID {0z, 132 ascii characters}
::Set AP SSID
WirelessMode {0~10}
::Set Wireless Mode
0: legacy 11b/g mixed
1: legacy 11B only
2: legacy 11A only
3: legacy 11a/b/g mixed
4: legacy 11G only
5: 11ABGN mixed
6: 11N only
7: 11GN mixed
8: 11AN mixed
9: 11BGN mixed
10: 11AGN mixed
Channel depends on CountryRegion or CountryRegionForABand
::Set Channel
BGProtection {0~2}
::Set 11B/11G Protection
0:Auto,
1:Always on,
2:Always off
TxPreamble {0~2}
::Set TxPreamble
0:Preamble Long,
1:Preamble Short,
2:Auto
RTSThreshold {1~2347}
::Set RTS Threshold
FragThreshold {256~2346}
::Set Fragment Threshold
TxBurst {0,1}
::Set TxBurst Enable or Disable
0:Disable,
1:Enable
NetworkType {Infra,Adhoc}
::Set Network type
AuthMode {OPEN,SHARED,WEPAUTO,WPAPSK,WPA2PSK,WPANONE}
::Set Authentication Mode
EncrypType {NONE,WEP,TKIP,AES}
::Set Encryption Type
DefaultKeyID {1~4}
::Set Default Key ID
Key1 {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
::Set Key1 String
Key2 {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
::Set Key2 String
Key3 {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
::Set Key3 String
Key4 {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
::Set Key4 String
WPAPSK {8~63 ascii or 64 hex characters}
::WPA Pre-Shared Key
WmmCapable {0,1}
::Set WMM Capable
0:Disable WMM,
1:Enable WMM
PSMode {CAM, MAX_PSP, FAST_PSP}
::Set Power Saving Mode
HtBw {0,1}
::Set BandWidth
0: 20Hz
1: 40Hz
HtMcs {0 ~ 15, 33}
::Set MCS
33: Auto Rate
HtGi {0,1}
::Set Guard Interval(GI)
0: long GI
1: short GI
HtOpMode {0,1}
::Set HT Operation Mode
0: HT mixed format
1: HT greenfield format
HtExtcha {0,1}
::Set Extended Channel Switch Announcement
0: Below
1: Above
HtMpduDensity {0 ~ 7}
::Set The Minimum Time Between MPDUs within an AMPDU
HtBaWinSize {1 ~ 64}
::Set BA WinSize
HtRdg {0,1}
::Set RDG Capable
0: Disabled
1: Enabled
HtAmsdu {0,1}
::Set AMSDU Capable
0: Disabled
1: Enabled
HtAutoBa {0,1}
::Set Auto BA Capable
0: Disabled
1: Enabled
HtBaDecline {0,1}
::Reject BA request from AP
0: Disabled
1: Enabled
HtProtect {0,1}
::Set HT Protect Capable
0: Disabled
1: Enabled
FixedTxMode {CCK, OFDM}
:: Set Fixed Tx Mode for fixed rate setting
Mode = CCK
MCS = 0 => 1Mbps
= 1 => 2Mbps
= 2 => 5.5 Mbps
= 3 => 11 Mbps
Mode = OFDM
MCS = 0 => 6Mbps
= 1 => 9Mbps
= 2 => 12Mbps
= 3 => 18Mbps
= 4 => 24Mbps
= 5 => 36Mbps
= 6 => 48Mbps
= 7 => 54Mbps
==> Build Ethernet Convert function. Please set 'HAS_ETH_CONVERT_SUPPORT=y' in os/linux/config.mk
EthConvertMode {dongle, clone, hybrid}
::Set Ethernet Convert Mode
EthCloneMac {xx:xx:xx:xx:xx:xx}
:: Set Clone MAC
LongRetry {0,255}
:: Set Tx Long Retry Limit
ShortRetry {0,255}
:: Set Tx Short Retry Limit
MeshId {Length 1~32 ascii characters}
:: Set Mesh ID
MeshHostName {Length 1~32 ascii characters}
:: Set Mesh Host Name
MeshAutoLink {1,0}
:: Set Mesh Auto Link Capable
0: Disabled
1: Enabled
MeshAddLink {xx:xx:xx:xx:xx:xx}
:: Add Mesh Link
MeshDelLink {xx:xx:xx:xx:xx:xx}
:: Delete Mesh Link
MeshMultiCastAgeOut {20 ~ 65535 seconds}
:: Set AgeOut time for Mesh MultiCast
MeshAuthMode {OPEN, WPANONE}
:: Set Mesh Authentication Mode
MeshEncrypType {NONE, WEP, TKIP, AES}
:: Set Mesh Encryption Type
MeshDefaultkey {1 ~ 4}
:: Set Mesh Default Key ID
MeshWEPKEY {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
:: Set Mesh WEP Key String
MeshWPAKEY {8~63 ascii or 64 hex characters}
:: Set Mesh WPA Pre-Shared Key
Examples
a> Config STA to link with AP which is OPEN/NONE(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=OPEN
3. iwpriv ra0 set EncrypType=NONE
4. iwpriv ra0 set SSID="AP's SSID"
b> Config STA to link with AP which is SHARED/WEP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=SHARED
3. iwpriv ra0 set EncrypType=WEP
4. iwpriv ra0 set DefaultKeyID=1
5. iwpriv ra0 set Key1="AP's wep key"
6. iwpriv ra0 set SSID="AP's SSID"
c> Config STA to link with AP which is WPAPSK/TKIP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=WPAPSK
3. iwpriv ra0 set EncrypType=TKIP
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
6. iwpriv ra0 set SSID="AP's SSID"
d> Config STA to link with AP which is WPAPSK/AES(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=WPAPSK
3. iwpriv ra0 set EncrypType=AES
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
6. iwpriv ra0 set SSID="AP's SSID"
e> Config STA to link with AP which is WPA2PSK/TKIP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=WPA2PSK
3. iwpriv ra0 set EncrypType=TKIP
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK=12345678
6. iwpriv ra0 set SSID="AP's SSID"
f> Config STA to create/link as adhoc mode, which is OPEN/NONE(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Adhoc
2. iwpriv ra0 set AuthMode=OPEN
3. iwpriv ra0 set EncrypType=NONE
4. iwpriv ra0 set SSID="Adhoc's SSID"
g> Config STA to create/link as adhoc mode, which is WPANONE/TKIP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Adhoc
2. iwpriv ra0 set AuthMode=WPANONE
3. iwpriv ra0 set EncrypType=TKIP
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK=12345678
6. iwpriv ra0 set SSID="AP's SSID"
h> Get site survey
usage: iwpriv ra0 get_site_survey
i> Get Statistics
usage: iwpriv ra0 stat ; read statistic counter
iwpriv ra0 set ResetCounter=0 ; reset statistic counter
j> Link with an AP which is the largest strength ; set ANY SSID (ssidLen=0)
usage: iwconfig ra0 essid ""
or
usage: iwpriv ra0 set SSID=""
k> Config STA to link as dongle mode with STA own MAC
usage: iwpriv ra0 set EthConvertMode=dongle
l> Config STA to link as clone mode
usage: iwpriv ra0 set EthConvertMode=clone
iwpriv ra0 set EthCloneMac="Desired MAC" ;; 00:00:00:00:00:00 means using STA own MAC
;; FF:FF:FF:FF:FF:FF means using source MAC of first packet coming from wired device
m> Config STA to link as hybrid(dongle+clone) mode
usage: iwpriv ra0 set EthConvertMode=hybrid
iwpriv ra0 set EthCloneMac="Desired MAC" ;; 00:00:00:00:00:00 means using STA own MAC
;; FF:FF:FF:FF:FF:FF means using source MAC of first packet coming from wired device
===================================================================
iwlist
This is detailed explanation of each parameters for iwlist.
iwlist ra0 scanning ; list the results after scanning(manual rescan)
=======================================================================================================
iwconfig
The following are our support in standard configuration - iwconfig
iwconfig ra0 essid {NN|on|off} ; set essid
iwconfig ra0 mode {managed|ad-hoc|...} ; set wireless mode
rt2860sta driver support monitor mode with linux kernel > 2.4.20.
Note: For using monitor mode => if mesh interface is ON, please down the mesh interface first.
iwconfig ra0 freq N.NNNN[k|M|G]] ; set frequency
iwconfig ra0 channel N ; set channel
iwconfig ra0 ap {N|off|auto} ; set AP address
iwconfig ra0 nick N ; set nickname
iwconfig ra0 rate {N|auto|fixed} ; set rate (only support legacy rate setting)
iwconfig ra0 rts {N|auto|fixed|off} ; set RTS threshold
iwconfig ra0 frag {N|auto|fixed|off} ; set Fragment threshold
iwconfig ra0 enc {NNNN-NNNN|off} ; set encryption type
iwconfig ra0 power {period N|timeout N} ; set power management modes
*** Wireless extension usage please refer to man page of 'iwconfig', 'iwlist' and 'iwpriv'. ***
Package Lean Mt Drivers Mt7603e Src Mt7603 Wifi Doc Sta Ate Iwpriv Usage (`package/lean/mt/drivers/mt7603e/src/mt7603_wifi/doc/sta_ate_iwpriv_usage.txt`)
===================================================================================================
ATE Test Command Format for station driver
****** IMPORTANT ******
If you are not familiar with hardware, it is recommanded not to modify hardware default value.
It may damage hardware.
===================================================================================================
Usage:
iwpriv ra0 [act] [parameters]=[val]
where
[act] [parameters] [val] constraints explaination
=====================================
- Set ATE actions.
Value:
ATESTART - Start ATE function and stop station function.
ATESTOP - Stop ATE function and start station function.
TXCONT - Start continuous TX, for power mask.
TXCARR - Start carrier test, for frequency calibration.
TXFRAME - Transmit frame, for EVM.
RXFRAME - Continuous RX, for PER/FER.
1.1 ATEDA
Set ATE frame header destination address.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.2 ATESA
Set ATE frame header source addr.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.3 ATEBSSID
Set ATE frame header BSSID.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.4 ATECHANNEL
Set ATE Channel, deimal.
Value:
802.11b/g: 1 ~ 14 depends on CountryRegion setting
1.5 ATETXPOW0
Set ATE Tx power for Antenna 1.
Value:
0 ~ 31 ; 2.4GHz, deimal
-7 ~15 ; 5.5GHz, deimal
1.6 ATETXPOW1
Set ATE Tx power for Antenna 2.
Value:
0 ~ 31 ; 2.4GHz, decimal
-7 ~15 ; 5.5GHz, deimal
1.7 ATETXFREQOFFSET
Set ATE RF frequency offset.
Value:
0 ~ 63 ; unit: 2KHz, decimal
1.8 ATETXLEN
Set ATE frame length.
Value:
24 ~ 2312 ; decimal
1.9 ATETXCNT
Set ATE frame Tx count.
Value:
1 ~ ; 32-bit, decimal
1.10 ATETXMODE (Refer to TxMode)
Set ATE Tx Mode.
Value:
0: CCK 802.11b
1: OFDM 802.11g
2: HT_MIX 802.11b/g/n
3: Green Field 802.11n
1.11 ATETXBW (Refer to TxMode)
Set ATE Tx and Rx Bandwidth.
Value:
0: 20MHz
1: 40MHz
1.12 ATETXGI (Refer to TxMode)
Set ATE Tx Guard Interval.
Value:
0: Long
1: Short
1.13 ATETXMCS (Refer to TxMode)
Set ATE Tx MCS type.
Value:
0 ~ 15
1.14 ATETXANT
Set ATE TX antenna.
Value:
0: All
1: Antenna one
2: Antenna two
1.15 ATERXANT
Set ATE RX antenna.
Value:
0: All
1: Antenna one
2: Antenna two
3: Antenna three
1.16 ATERXFER
Set ATE to periodically reset and show up RxCount (per-second) and RxTotalCount.
Value:
0: Disable counter visability
1: Enable counter visability
1.17 ATESHOW
Show all parameters of ATE.
Value:
1
1.18 ATEHELP
List all commands of ATE.
Value:
1
1.19 ResetCounter
Reset statistic counter.
Value:
1
1.20 ATERRF
Read all of the RF registers.
Value:
1
1.21 ATEWRF1
Write the RF register 1.
Value:
xxxxxxxx ;32-bit, hex
1.22 ATEWRF2
Write the RF register 2.
Value:
xxxxxxxx ;32-bit, hex
1.23 ATEWRF3
Write the RF register 3.
Value:
xxxxxxxx ;32-bit, hex
1.24 ATEWRF4
Write the RF register 4.
Value:
xxxxxxxx ;32-bit, hex
1.25 ATELDE2P
Overwrite all EEPROM contents
Value:
1
E.g.
iwpriv ra0 set ATELDE2P=1
1.26 ATERE2P
Display all EEPROM content.
Value:
1
E.g.
iwpriv ra0 set ATERE2P=1
===================================================================================================
2. Examples:
=========
2.1 Check EVM & Power
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATEDA=00:11:22:33:44:55
iwpriv ra0 set ATESA=00:aa:bb:cc:dd:ee
iwpriv ra0 set ATEBSSID=00:11:22:33:44:55
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXGI=0 ; set Long GI.
iwpriv ra0 set ATETXLEN=1024 ; set packet length.
iwpriv ra0 set ATETXPOW0=18
iwpriv ra0 set ATETXPOW1=18
iwpriv ra0 set ATETXCNT=100000
iwpriv ra0 set ATE=TXFRAME
�K
iwpriv ra0 set ATETXPOW0=19
�K
iwpriv ra0 set ATETXPOW0=20
�K
iwpriv ra0 set ATE=ATESTART
2.2 Check Carrier
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame(inform BBP to change, modulation mode)
iwpriv ra0 set ATE=TXCARR ; Start Tx carrier, Measure carrier with instrument
iwpriv ra0 set ATETXPOW0=05
iwpriv ra0 set ATETXPOW1=05
iwpriv ra0 set ATETXFREQOFFSET=19
iwpriv ra0 set ATE=ATESTART
2.3 Check specturm mask
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame(inform BBP to change, modulation mode)
iwpriv ra0 set ATE=TXCONT ; Start continuous TX, Measure specturm mask with instrument
iwpriv ra0 set ATETXPOW0=5
iwpriv ra0 set ATETXPOW1=5
iwpriv ra0 set ATE=ATESTART
2.4 Frequency offset tuning
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATETXFREQOFFSET=0 ; Set frequency offset 0(decimal)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame
iwpriv ra0 set ATE=TXCARR ; Start Tx carrier, Measure carrier frequency with instrument
iwpriv ra0 set ATETXFREQOFFSET=10 ; Dynamic turning frequency offset, 10(decimal)
iwpriv ra0 set ATETXFREQOFFSET=20 ; Dynamic turning frequency offset, 20(decimal)
iwpriv ra0 set ATE=ATESTART ; Stop, Store the tuning result to EEPROM
2.5 Rx
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ResetCounter=1 ; Reset statistic counter
iwpriv ra0 set ATETXFREQOFFSET=value ;To use the ��value��(decimal) you got in tx calibration
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATE=RXFRAME ; Start Rx,
iwpriv ra0 set ATERXFER=1 ; show RxCnt and RSSI/per-antenna, Transmit test packets
iwpriv ra0 set ATE=ATESTART ; Stop
iwpriv ra0 stat ; get statistics counter
iwpriv ra0 set ATERXFER=1
iwpriv ra0 set ATERXANT=1
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATERXANT=0
iwpriv ra0 set ATE=RXFRAME2.6 Show all ate parameters
iwpriv ra0 set ATESHOW=1
Mode=4
TxPower0=0
TxPower1=0
TxAntennaSel=0
RxAntennaSel=0
BBPCurrentBW=0
GI=0
MCS=7
TxMode=1
Addr1=00:11:22:aa:bb:cc
Addr2=00:11:22:aa:bb:cc
Addr3=00:11:22:aa:bb:cc
Channel=1
TxLength=1024
TxCount=40000
TxRate=11
RFFreqOffset=02.7 Online help
iwpriv ra0 set ATEHELP=1
ATE=ATESTART, ATESTOP, TXCONT, TXCARR, TXFRAME, RXFRAME
ATEDA
ATESA
ATEBSSID
ATECHANNEL, range:0~14(unless A band !).
ATETXPOW0, set power level of antenna 1.
ATETXPOW1, set power level of antenna 2.
ATETXANT, set TX antenna. 0: all, 1: antenna one, 2: antenna two.
ATERXANT, set RX antenna.0: all, 1: antenna one, 2: antenna two, 3: antenna three.
ATETXFREQOFFSET, set frequency offset, range 0~63.
ATETXBW, set BandWidth, 0:20MHz, 1:40MHz.
ATETXLEN, set Frame length, range 24~2312.
ATETXCNT, set how many frame going to transmit.
ATETXMCS, set MCS, reference to rate table.
ATETXMODE, set Mode 0: CCK, 1: OFDM, 2: HT-Mix, 3: GreenField, reference to rate table.
ATETXGI, set GI interval, 0: Long, 1: Short.
ATERXFER, 0: disable Rx Frame error rate. 1: enable Rx Frame error rate.
ATERRF, show all RF registers.
ATEWRF1, set RF1 register.
ATEWRF2, set RF2 register.
ATEWRF3, set RF3 register.
ATEWRF4, set RF4 register.
ATELDE2P, load EEPROM from .bin file.
ATERE2P, display all EEPROM content.
ATESHOW, display all parameters of ATE.
ATEHELP, online help.2.8 Display Rx Packet Count and RSSI
iwpriv ra0 set ATERXANT=0 ==> Enable All Three Rx Antennas
iwpriv ra0 set ATERXFER=1 ==> Enable Rx Frame Error Rate: RxCnt/RxTotal
iwpriv ra0 set ATE=RXFRAME ==> Start Rx
MlmePeriodicExec: Rx packet cnt = 2/4
MlmePeriodicExec: Rx AvgRssi0=-88, AvgRssi1=-80, AvgRssi2=-91
MlmePeriodicExec: Rx packet cnt = 2/6
MlmePeriodicExec: Rx AvgRssi0=-86, AvgRssi1=-77, AvgRssi2=-89�K
�K
iwpriv ra0 set ATERXANT=1 ==> Enable Three Rx Antenna-1
iwpriv ra0 set ATERXFER=1 ==> Enable Rx Frame Error Rate: RxCnt/RxTotal
iwpriv ra0 set ATE=RXFRAME ==> Start Rx
MlmePeriodicExec: Rx packet cnt = 0/7
MlmePeriodicExec: Rx AvgRssi=-87
MlmePeriodicExec: Rx packet cnt = 7/14
MlmePeriodicExec: Rx AvgRssi=-90
�K
�K===================================================================================================
3. Hardware Access
==================
=====================================
3.1 iwpriv ra0 bbp [parameters]=[Value]
Read/Write BBP registers by ID number.
BBPID
3.1.1 Read BBP register, BBPID only, no ��=�� symbol.
BBPID:
0 ~ xx ; decimal, 8-bit
BBPID=Value
3.1.2 Write BBP register.
BBPID:
0 ~ xx ; decimal, 8-bit
Value:
00 ~FF ; hexdecimal, 8-bit
=====================================
3.2 iwpriv ra0 mac [parameters]=[val]
Read/Write MAC registers by offset.
MAC_OFFSET
3.2.1 Read MAC register, MAC_OFFSET only, no ��=�� symbol.
MAC_OFFSET:
0000 ~ FFFF ; hexdecimal, 16-bit
MAC_OFFSET=Value
3.2.2 Write MAC register.
MAC_OFFSET:
0000 ~ FFFF ; hexdecimal, 16-bit
Value:
0000 ~FFFF ; hexdecimal, 32-bit
=====================================
3.3 iwpriv ra0 e2p [parameters]=[val]
Read/Write EEPROM content by address.
EEP_ADDR
3.3.1 Read EEPROM content, EEP_ADDR only, no ��=�� symbol.
EEP_ADDR:
00 ~ FF ; hexdecimal, 16-bit alignment (0, 2, 4, 6, 8, A, C, �K)
EEP_ADDR=Value
3.3.2 Write EEPROM content.
EEP_ADDR:
00 ~ FF ; hexdecimal, 16-bit alignment (0, 2, 4, 6, 8, A, C, �K)
Value:
0000 ~FFFF ; hexdecimal, 16-bit
=====================================
3.4 Example
3.4.1 Hardware access
iwpriv ra0 bbp 0 # read BBP register 0
iwpriv ra0 bbp 0=12 # write BBP register 0 as 0x12
iwpriv ra0 mac 0 # read MAC register 0
iwpriv ra0 mac 0=1234abcd # write MAC register 0 as 0x1234abcd
iwpriv ra0 e2p 0 # read E2PROM 0
iwpriv ra0 e2p c=12ab # write E2PROM 0xc as 0x12ab
3.4.2 Statistic counter operation
iwpriv ra0 stat # read statistic counter
iwpriv ra0 set ResetCounter=0 # reset statistic counter
Suggestion:
1. To turn on ATE functionality, you have to add compile flag "CONFIG_ATE" to Makefile
2. Before doing ATE testing, please stop AP function
3. If you want to test another ATE action, prefer to stop AP & ATE function
4. All ATE function settings will lose efficacy after reboot.
5. Before hardware register access, please reference hardware spec.
Note.
In ATE mode, the channel must set via "ATECHANNEL"===================================================================================================
4. ated
=======
4.1 Introduction
The ated is an optional user space component for RT28xx Linux driver.
When Windows GUI starts, AP enters ATE mode (i.e.,ATESTART) immediately.
It behaves as a proxy between Windows GUI and RT28xx Linux driver when ATE process proceeds.
The ated will be killed automatically when Windows GUI is closed.
You can kill it manually, too(for example, type '$killall ated').
RT28xx linux driver will leave ATE mode either ated is killed or Windows GUI is closed.
4.2 Environment setup
- Connect the platform you want to test directly with a Windows host by ether network line.
- In the Windows host, run WinPcap_4_0.exe for the QA GUI or ./RT2880_ATE/RaUI.exe(please unrar "RT2880_ATE.rar" to get it).
4.3 How to use ated for ATE purpose
0. First you should set both "HAS_ATE=y" and "HAS_QA_SUPPORT=y" in the file ~/Module/os/linux/config.mk and compile the driver.
- Modify the Makefile according to our target "PLATFORM".
- Change the path of "CROSS_COMPILE" if needed.
- Then type 'make' command to compile the source code of the daemon.
- After the driver interface has started up, attach both of the wireless interface and the ethernet interface to the bridge interface.
- If you have no bridge interface, please give an IP address to the ethernet interface.
(for example : '$ated -beth0') - After the interfaces have entered forwarding states, manually start ated, type '$ated -bbrX -iraX'.
- If your WLAN interface and Bridge interface is "ra0" and "br0" respectively, just type $ated.
(For further usage of options, type $ated -h) - In the Windows host, run RT28xxQA_ATE.exe or ./RT2880_ATE/RaUI.exe.
- Select the wired network adapter, then press OK and wait for a moment.
10.If the Windows host cannot tolerate such a broadcast storm from ated,
please run ated with option -u.(for example : '$ated -ira1 -u')
11.If your target platform concerns its network security, please run RT28xxQA_unicast.exe instead of RT28xxQA_ATE.exe.
Note :
a. The names of WLAN interface(default is "ra0") and Bridge interface(default is "br0") must be specified manually(for example : '$ated -bbr1 -ira2') if your WLAN interface or Bridge interface is not "ra0" or "br0" respectively !
b. Please make sure no other RaUI is running before you excute ./RT2880_ATE/RaUI.exe.
Package Lean Mt Drivers Mt7603e Src Mt7603 Wifi Doc Wps Iwpriv Usage (`package/lean/mt/drivers/mt7603e/src/mt7603_wifi/doc/wps_iwpriv_usage.txt`)
/*
- README: WPS STA as an Enrollee or Registrar
*/
Build WPS function. Please set 'HAS_WSC=y'.
Enrollee Mode
1.1) PIN mode:
Running Scenarios (case 'a' and 'b')
--------------------------------------------------------
a. Adding an Enrollee to AP+Registrar (EAP)
[AP+Registrar]<----EAP--->[Enrollee Client]
--------------------------------------------------------
b. Adding an Enrollee with external Registrar (UPnP/EAP)
[External Registrar]<----UPnP--->[AP_Proxy]<---EAP--->[Enrollee Client]
--------------------------------------------------------
Note: 'EAP' indicates to use wireless medium and 'UPnP' indicates to use
wired or wireless medium.
(i) [Registrar] or [AP+Registrar]
Enter the Enrollee PinCode on the Registrar and start WPS on the Registrar.
Note: How to get the Enrollee PinCode? Use 'iwpriv ra0 stat' on the Enrollee.
(ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 1 ;; Enrollee
iwpriv ra0 wsc_mode 1 ;; PIN
iwpriv ra0 wsc_ap_band 0 (or 1) ;; 0: prefer 2.4G, 1: prefer 5G
iwpriv ra0 wsc_ssid "AP's SSID"
iwpriv ra0 wsc_start
{iii) If the registration is successful, the Enrollee will be re-configured
with the new parameters, and will connect to the AP with these new parameters.
1.2) PBC mode:
Running Scenarios (case 'a' only)
--------------------------------------------------------
a. Adding an Enrollee to AP+Registrar (EAP)
[AP+Registrar]<----EAP--->[Client]
--------------------------------------------------------
(i) [AP+Registrar]
Start PBC on the Registrar.
{ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 1 ;; Enrollee
iwpriv ra0 wsc_mode 2 ;; PBC
iwpriv ra0 wsc_ap_band 0 (or 1) ;; 0: prefer 2.4G, 1: prefer 5G
iwpriv ra0 wsc_start
{iii) If the registration is successful, the Enrollee will be re-configured
with the new parameters, and will connect to the AP with these new parameters.
- Registrar Mode
2.1) PIN mode:
Running Scenarios (case 'a' and 'b')
--------------------------------------------------------
a. Configure the un-configured AP
[Unconfigured AP]<----EAP--->[Registrar]
--------------------------------------------------------
b. Configure the configured AP
[Configured AP]<----EAP--->[Registrar]
--------------------------------------------------------
(i) [AP]
Start PIN on the Enrollee WPS AP.
(ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 2 ;; Registrar
iwpriv ra0 wsc_mode 1 ;; PIN
iwpriv ra0 wsc_pin xxxxxxxx ;; AP's PIN Code
iwpriv ra0 wsc_ap_band 0 (or 1) ;; 0: prefer 2.4G, 1: prefer 5G
iwpriv ra0 wsc_ssid "AP's SSID"
iwpriv ra0 wsc_start
{iii) If the registration is successful;
in case 'a':
The Registrar will be re-configured with the new parameters,
and will connect to the AP with these new parameters;
in case 'b':
The Registrar will be re-configured with AP's configurations,
and will connect to the AP with these new parameters.
2.2) PBC mode:
same scenarios as PIN mod
(i) [AP]
Start PBC on the Enrollee WPS AP.
(ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 2 ;; Registrar
iwpriv ra0 wsc_mode 2 ;; PBC
iwpriv ra0 wsc_ap_band 0 (or 1) ;; 0: prefer 2.4, 1: prefer 5G
iwpriv ra0 wsc_start
{iii) If the registration is successful;
in case 'a':
The Registrar will be re-configured with the new parameters,
and will connect to the AP with these new parameters;
in case 'b':
The Registrar will be re-configured with AP's configurations,
and will connect to the AP with these new parameters.
Others
iwpriv ra0 wsc_cred_count 1 ;; Set count of credentials, Only support one credential for M8 in Registrar mode.
integer: 1 ~ 8iwpriv ra0 wsc_cred_ssid "idx ssid_str" ;; Set SSID into credtentail[idx]
string:
idx: 0 ~ 7
ssid_str: SSID for AP
example:
iwpriv ra0 wsc_cred_ssid "0 wps_ap1"iwpriv ra0 wsc_cred_auth "idx auth_str" ;; Set AuthMode into credtentail[idx]
string:
idx: 0 ~ 7
auth_str: OPEN, WPAPSK, WPA2PSK, SHARED, WPA, WPA2
example:
iwpriv ra0 wsc_cred_auth "0 WPAPSK"iwpriv ra0 wsc_cred_encr "idx encr_str" ;; Set EncrypType into credtentail[idx]
string:
idx: 0 ~ 7
encr_str: NONE, WEP, TKIP, AES
example:
iwpriv ra0 wsc_cred_encr "0 TKIP"iwpriv ra0 wsc_cred_keyIdx "idx key_index" ;; Set Key Index into credtentail[idx]
string:
idx: 0 ~ 7
key_index: 1 ~ 4
example:
iwpriv ra0 wsc_cred_keyIdx "0 1"iwpriv ra0 wsc_cred_key "idx key" ;; Set Key into credtentail[idx]
string:
idx: 0 ~ 7
key: ASCII string (wep_key_len(=5,13), passphrase_len(=8~63))
OR
Hex string (wep_key_len(=10,26), passphrase_len(=64))
example:
iwpriv ra0 wsc_cred_key "0 12345678" ;; Passphrase
iwpriv ra0 wsc_cred_key "0 abcd" ;; WEP Keyiwpriv ra0 wsc_cred_mac "idx mac_str" ;; Set AP's MAC into credtentail[idx]
string:
idx: 0 ~ 7
mac_str: xx:xx:xx:xx:xx:xx
example:
iwpriv ra0 wsc_cred_mac "0 00:11:22:33:44:55"iwpriv ra0 wsc_conn_by_idx 0 ;; Connect AP by credential index.
integer: 0 ~ 7iwpriv ra0 wsc_auto_conn 0 ;; If the registration is successful, driver will re-connect to AP or not.
integer: 0 ;; Disabled, driver won't re-connect to AP with new configurations.
1 ;; Enabled, driver will re-connect to AP with new configurations.
Note. Default value is 1.iwpriv ra0 wsc_stop ;; Stop WSC work and don't wait upon two-minute timeout
iwpriv ra0 wsc_ap_band val
val: 0 ;; prefer 2.4G AP
1 ;; prefer 5G AP
2 ;; Auto
iwpriv ra0 stat ;; Read statistics counter and WPS status.
Package Lean Mt Drivers Mt7612e Src Mt76x2 Doc Ate Iwpriv Usage (`package/lean/mt/drivers/mt7612e/src/mt76x2/doc/ate_iwpriv_usage.txt`)
===================================================================================================
ATE Test Command Format for station driver
****** IMPORTANT ******
If you are not familiar with hardware, it is recommanded not to modify hardware default value.
It may damage hardware.
===================================================================================================
Usage:
iwpriv ra0 [act] [parameters]=[val]
where
[act] [parameters] [val] constraints explaination
=====================================
- Set ATE actions.
Value:
ATESTART - Stop AP & ATE function.
ATESTOP - Start AP function.
TXCONT - Start AP continuous TX, for power mask.
TXCARR - Start AP carrier test, for frequency calibration.
TXFRAME - Transmit frame, for EVM.
RXFRAME - Continuous RX, for PER/FER.
1.1 ATEDA
Set ATE frame header destination address.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.2 ATESA
Set ATE frame header source addr.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.3 ATEBSSID
Set ATE frame header BSSID.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.4 ATECHANNEL
Set ATE Channel, deimal.
Value:
802.11b/g: 1 ~ 14 depends on CountryRegion setting
1.5 ATETXPOW0
Set ATE Tx power for Antenna 1.
Value:
0 ~ 31 ; 2.4GHz, deimal
-7 ~15 ; 5.5GHz, deimal
1.6 ATETXPOW1
Set ATE Tx power for Antenna 2.
Value:
0 ~ 31 ; 2.4GHz, decimal
-7 ~15 ; 5.5GHz, deimal
1.7 ATETXFREQOFFSET
Set ATE RF frequency offset.
Value:
0 ~ 63 ; unit: 2KHz, decimal
1.8 ATETXLEN
Set ATE frame length.
Value:
24 ~ 2312 ; decimal
1.9 ATETXCNT
Set ATE frame Tx count.
Value:
1 ~ ; 32-bit, decimal
1.10 ATETXMODE (Refer to TxMode)
Set ATE Tx Mode.
Value:
0: CCK 802.11b
1: OFDM 802.11g
2: HT_MIX 802.11b/g/n
3: Green Field 802.11n
1.11 ATETXBW (Refer to TxMode)
Set ATE Tx and Rx Bandwidth.
Value:
0: 20MHz
1: 40MHz
1.12 ATETXGI (Refer to TxMode)
Set ATE Tx Guard Interval.
Value:
0: Long
1: Short
1.13 ATETXMCS (Refer to TxMode)
Set ATE Tx MCS type.
Value:
0 ~ 15
1.14 ATETXANT
Set ATE TX antenna.
Value:
0: All
1: Antenna one
2: Antenna two
1.15 ATERXANT
Set ATE RX antenna.
Value:
0: All
1: Antenna one
2: Antenna two
3: Antenna three
1.16 ATERXFER
Set ATE to periodically reset and show up RxCount (per-second) and RxTotalCount.
Value:
0: Disable counter visability
1: Enable counter visability
1.17 ATESHOW
Show all parameters of ATE.
Value:
1
1.18 ATEHELP
List all commands of ATE.
Value:
1
1.19 ResetCounter
Reset statistic counter.
Value:
1
1.20 ATERRF
Read all of the RF registers.
Value:
1
1.21 ATEWRF1
Write the RF register 1.
Value:
xxxxxxxx ;32-bit, hex
1.22 ATEWRF2
Write the RF register 2.
Value:
xxxxxxxx ;32-bit, hex
1.23 ATEWRF3
Write the RF register 3.
Value:
xxxxxxxx ;32-bit, hex
1.24 ATEWRF4
Write the RF register 4.
Value:
xxxxxxxx ;32-bit, hex
1.25 ATELDE2P
Overwrite all EEPROM contents from "/etc/Wireless/RT2860/(70)AP(/STA)/e2p.bin".
Value:
1
E.g.
iwpriv ra0 set ATELDE2P=1
1.26 ATERE2P
Display all EEPROM content.
Value:
1
E.g.
iwpriv ra0 set ATERE2P=1
===================================================================================================
2. Examples:
=========
2.1 Check EVM & Power
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATEDA=00:11:22:33:44:55
iwpriv ra0 set ATESA=00:aa:bb:cc:dd:ee
iwpriv ra0 set ATEBSSID=00:11:22:33:44:55
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXGI=0 ; set Long GI.
iwpriv ra0 set ATETXLEN=1024 ; set packet length.
iwpriv ra0 set ATETXPOW0=18
iwpriv ra0 set ATETXPOW1=18
iwpriv ra0 set ATETXCNT=100000
iwpriv ra0 set ATE=TXFRAME
�K
iwpriv ra0 set ATETXPOW0=19
�K
iwpriv ra0 set ATETXPOW0=20
�K
iwpriv ra0 set ATE=ATESTART
2.2 Check Carrier
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame(inform BBP to change, modulation mode)
iwpriv ra0 set ATE=TXCARR ; Start Tx carrier, Measure carrier with instrument
iwpriv ra0 set ATETXPOW0=05
iwpriv ra0 set ATETXPOW1=05
iwpriv ra0 set ATETXFREQOFFSET=19
iwpriv ra0 set ATE=ATESTART
2.3 Check specturm mask
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame(inform BBP to change, modulation mode)
iwpriv ra0 set ATE=TXCONT ; Start continuous TX, Measure specturm mask with instrument
iwpriv ra0 set ATETXPOW0=5
iwpriv ra0 set ATETXPOW1=5
iwpriv ra0 set ATE=ATESTART
2.4 Frequency offset tuning
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATETXFREQOFFSET=0 ; Set frequency offset 0(decimal)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame
iwpriv ra0 set ATE=TXCARR ; Start Tx carrier, Measure carrier frequency with instrument
iwpriv ra0 set ATETXFREQOFFSET=10 ; Dynamic turning frequency offset, 10(decimal)
iwpriv ra0 set ATETXFREQOFFSET=20 ; Dynamic turning frequency offset, 20(decimal)
iwpriv ra0 set ATE=ATESTART ; Stop, Store the tuning result to EEPROM
2.5 Rx
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ResetCounter=1 ; Reset statistic counter
iwpriv ra0 set ATETXFREQOFFSET=value ;To use the ��value��(decimal) you got in tx calibration
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATE=RXFRAME ; Start Rx,
iwpriv ra0 set ATERXFER=1 ; show RxCnt and RSSI/per-antenna, Transmit test packets
iwpriv ra0 set ATE=ATESTART ; Stop
iwpriv ra0 stat ; get statistics counter
iwpriv ra0 set ATERXFER=1
iwpriv ra0 set ATERXANT=1
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATERXANT=0
iwpriv ra0 set ATE=RXFRAME2.6 Show all ate parameters
iwpriv ra0 set ATESHOW=1
Mode=4
TxPower0=0
TxPower1=0
TxAntennaSel=0
RxAntennaSel=0
BBPCurrentBW=0
GI=0
MCS=7
TxMode=1
Addr1=00:11:22:aa:bb:cc
Addr2=00:11:22:aa:bb:cc
Addr3=00:11:22:aa:bb:cc
Channel=1
TxLength=1024
TxCount=40000
TxRate=11
RFFreqOffset=02.7 Online help
iwpriv ra0 set ATEHELP=1
ATE=ATESTART, ATESTOP, TXCONT, TXCARR, TXFRAME, RXFRAME
ATEDA
ATESA
ATEBSSID
ATECHANNEL, range:0~14(unless A band !).
ATETXPOW0, set power level of antenna 1.
ATETXPOW1, set power level of antenna 2.
ATETXANT, set TX antenna. 0: all, 1: antenna one, 2: antenna two.
ATERXANT, set RX antenna.0: all, 1: antenna one, 2: antenna two, 3: antenna three.
ATETXFREQOFFSET, set frequency offset, range 0~63.
ATETXBW, set BandWidth, 0:20MHz, 1:40MHz.
ATETXLEN, set Frame length, range 24~2312.
ATETXCNT, set how many frame going to transmit.
ATETXMCS, set MCS, reference to rate table.
ATETXMODE, set Mode 0: CCK, 1: OFDM, 2: HT-Mix, 3: GreenField, reference to rate table.
ATETXGI, set GI interval, 0: Long, 1: Short.
ATERXFER, 0: disable Rx Frame error rate. 1: enable Rx Frame error rate.
ATERRF, show all RF registers.
ATEWRF1, set RF1 register.
ATEWRF2, set RF2 register.
ATEWRF3, set RF3 register.
ATEWRF4, set RF4 register.
ATELDE2P, load EEPROM from .bin file.
ATERE2P, display all EEPROM content.
ATESHOW, display all parameters of ATE.
ATEHELP, online help.2.8 Display Rx Packet Count and RSSI
iwpriv ra0 set ATERXANT=0 ==> Enable All Three Rx Antennas
iwpriv ra0 set ATERXFER=1 ==> Enable Rx Frame Error Rate: RxCnt/RxTotal
iwpriv ra0 set ATE=RXFRAME ==> Start Rx
MlmePeriodicExec: Rx packet cnt = 2/4
MlmePeriodicExec: Rx AvgRssi0=-88, AvgRssi1=-80, AvgRssi2=-91
MlmePeriodicExec: Rx packet cnt = 2/6
MlmePeriodicExec: Rx AvgRssi0=-86, AvgRssi1=-77, AvgRssi2=-89�K
�K
iwpriv ra0 set ATERXANT=1 ==> Enable Three Rx Antenna-1
iwpriv ra0 set ATERXFER=1 ==> Enable Rx Frame Error Rate: RxCnt/RxTotal
iwpriv ra0 set ATE=RXFRAME ==> Start Rx
MlmePeriodicExec: Rx packet cnt = 0/7
MlmePeriodicExec: Rx AvgRssi=-87
MlmePeriodicExec: Rx packet cnt = 7/14
MlmePeriodicExec: Rx AvgRssi=-90
�K
�K===================================================================================================
3. Hardware Access
==================
=====================================
3.1 iwpriv ra0 bbp [parameters]=[Value]
Read/Write BBP registers by ID number.
BBPID
3.1.1 Read BBP register, BBPID only, no ��=�� symbol.
BBPID:
0 ~ xx ; decimal, 8-bit
BBPID=Value
3.1.2 Write BBP register.
BBPID:
0 ~ xx ; decimal, 8-bit
Value:
00 ~FF ; hexdecimal, 8-bit
=====================================
3.2 iwpriv ra0 mac [parameters]=[val]
Read/Write MAC registers by offset.
MAC_OFFSET
3.2.1 Read MAC register, MAC_OFFSET only, no ��=�� symbol.
MAC_OFFSET:
0000 ~ FFFF ; hexdecimal, 16-bit
MAC_OFFSET=Value
3.2.2 Write MAC register.
MAC_OFFSET:
0000 ~ FFFF ; hexdecimal, 16-bit
Value:
0000 ~FFFF ; hexdecimal, 32-bit
=====================================
3.3 iwpriv ra0 e2p [parameters]=[val]
Read/Write EEPROM content by address.
EEP_ADDR
3.3.1 Read EEPROM content, EEP_ADDR only, no ��=�� symbol.
EEP_ADDR:
00 ~ FF ; hexdecimal, 16-bit alignment (0, 2, 4, 6, 8, A, C, �K)
EEP_ADDR=Value
3.3.2 Write EEPROM content.
EEP_ADDR:
00 ~ FF ; hexdecimal, 16-bit alignment (0, 2, 4, 6, 8, A, C, �K)
Value:
0000 ~FFFF ; hexdecimal, 16-bit
=====================================
3.4 Example
3.4.1 Hardware access
iwpriv ra0 bbp 0 # read BBP register 0
iwpriv ra0 bbp 0=12 # write BBP register 0 as 0x12
iwpriv ra0 mac 0 # read MAC register 0
iwpriv ra0 mac 0=1234abcd # write MAC register 0 as 0x1234abcd
iwpriv ra0 e2p 0 # read E2PROM 0
iwpriv ra0 e2p c=12ab # write E2PROM 0xc as 0x12ab
3.4.2 Statistic counter operation
iwpriv ra0 stat # read statistic counter
iwpriv ra0 set ResetCounter=0 # reset statistic counter
Suggestion:
1. To turn on ATE functionality, you have to add compile flag "RALINK_ATE" to Makefile
2. Before doing ATE testing, please stop AP function
3. If you want to test another ATE action, prefer to stop AP & ATE function
4. All ATE function settings will lose efficacy after reboot.
5. Before hardware register access, please reference hardware spec.
Note.
In ATE mode, the channel must set via "ATECHANNEL"===================================================================================================
4. ated
=======
4.1 Introduction
The ated is an optional user space component for RT28xx Linux driver.
When Windows GUI starts, AP enters ATE mode (i.e.,ATESTART) immediately.
It behaves as a proxy between Windows GUI and RT28xx Linux driver when ATE process proceeds.
The ated will be killed automatically when Windows GUI is closed.
You can kill it manually, too(for example, type '$killall ated').
RT28xx linux driver will leave ATE mode either ated is killed or Windows GUI is closed.
4.2 Environment setup
- Connect the platform you want to test directly with a Windows host by ether network line.
- In the Windows host, run WinPcap_4_0.exe for the QA GUI or ./RT2880_ATE/RaUI.exe(please unrar "RT2880_ATE.rar" to get it).
4.3 How to use ated for ATE purpose
0. First you should set both "HAS_ATE=y" and "HAS_QA_SUPPORT=y" in the file ~/Module/os/linux/config.mk and compile the driver.
- Modify the Makefile according to our target "PLATFORM".
- Change the path of "CROSS_COMPILE" if needed.
- Then type 'make' command to compile the source code of the daemon.
- After the driver interface has started up, attach both of the wireless interface and the ethernet interface to the bridge interface.
- If you have no bridge interface, please give an IP address to the ethernet interface.
(for example : '$ated -beth0') - After the interfaces have entered forwarding states, manually start ated, type '$ated -bbrX -iraX'.
- If your WLAN interface and Bridge interface is "ra0" and "br0" respectively, just type $ated.
(For further usage of options, type $ated -h) - In the Windows host, run RT28xxQA_ATE.exe or ./RT2880_ATE/RaUI.exe.
- Select the wired network adapter, then press OK and wait for a moment.
10.If the Windows host cannot tolerate such a broadcast storm from ated,
please run ated with option -u.(for example : '$ated -ira1 -u')
11.If your target platform concerns its network security, please run RT28xxQA_unicast.exe instead of RT28xxQA_ATE.exe.
Note :
a. The names of WLAN interface(default is "ra0") and Bridge interface(default is "br0") must be specified manually(for example : '$ated -bbr1 -ira2') if your WLAN interface or Bridge interface is not "ra0" or "br0" respectively !
b. Please make sure no other RaUI is running before you excute ./RT2880_ATE/RaUI.exe.
Package Lean Mt Drivers Mt7612e Src Mt76x2 Doc Brftph Usage (`package/lean/mt/drivers/mt7612e/src/mt76x2/doc/brftph_usage.txt`)
/****************************************************************************
- Ralink Tech Inc.
- 4F, No. 2 Technology 5th Rd.
- Science-based Industrial Park
- Hsin-chu, Taiwan, R.O.C.
- (c) Copyright 2002, Ralink Technology, Inc.
- All rights reserved. Ralink's 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 Ralink Tech. 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 Ralink Technology, Inc. is obtained.
****************************************************************************/
The steps for bridge fast path function in wireless driver:
- Change HAS_BGFP_SUPPORT=y and HAS_BGFP_OPEN_SUPPORT=y
Note1: When you just only want to enable fast path in WLAN module, you can
only enable HAS_BGFP_SUPPORT.
Note2: When you want to enable fast path in WLAN and Ethernet module, you
need to enable HAS_BGFP_SUPPORT and HAS_BGFP_OPEN_SUPPORT.
The steps for bridge fast path function in ethernet driver:
- Find the function you pass received packets to upper layer.
- Path code to the function.
Note: If the ethernet driver is a library type, i.e. ***.ko, you must insert
the ethernet driver to the Linux kernel before RALINK WLAN driver.
For examples:
Declare a symbol and a function prototype.
UINT32 (*RALINK_FP_Handle)(PNDIS_PACKET pPacket);
EXPORT_SYMBOL(RALINK_FP_Handle);Support your received handler, called packet_forward()
In Linux, find the keyword, netif_rx(), such as
packet_forward()
{
......
// pass the packet to upper layer
skb->protocol = eth_type_trans(skb, skb->dev);
netif_rx(skb);
}Change the code segment to
packet_forward()
{
UINT32 HandRst = 1;
......
if (RALINK_FP_Handle != NULL)
HandRst = RALINK_FP_Handle(skb);
if (HandRst != 0)
{
// pass the packet to upper layer
// printk("pass to upper layer!\n");
skb->protocol = eth_type_trans(skb, skb->dev);
netif_rx(skb);
}
}
Package Lean Mt Drivers Mt7612e Src Mt76x2 Doc Iwpriv Usage (`package/lean/mt/drivers/mt7612e/src/mt76x2/doc/iwpriv_usage.txt`)
iwpriv
This is detailed explanation of each parameters for iwpriv.
Before reading this document, make sure you already read README.
USAGE:
iwpriv ra0 commands val
NOTE:
Wireless Extension Private Handlers
where
[commands] [val]
{range}
wsc_conf_mode {0, 1, 2}
::Set WPS conf mode
0: WPS Disabled
1: Enrollee
2: Registrar
wsc_mode {1, 2}
::PIN or PBC
1: PIN
2: PBC
wsc_pin {00000000 ~ 99999999}
::Set Enrollee's PIN Code
wsc_ssid {0z, 132 ascii characters}
::Set WPS AP SSID
wsc_start NULL
::Trigger RT2860 STA driver to do WPS process
wsc_stop NULL
::Stop WPS process
wsc_gen_pincode NULL
::Generate new PIN code
wsc_cred_count {1 ~ 8}
::Set count of WPS credential
wsc_cred_ssid {"idx ssid_str"}
::Set SSID into credtentail[idx]
idx: 0 ~ 7
ssid_str: 0z, 132 ascii characters
wsc_cred_auth {"idx auth_str"}
::Set AuthMode into credtentail[idx]
idx: 0 ~ 7
auth_str: OPEN, WPAPSK, WPA2PSK, SHARED, WPA, WPA2
wsc_cred_encr {"idx encr_str"}
::Set EncrypType into credtentail[idx]
idx: 0 ~ 7
encr_str: NONE, WEP, TKIP, AES
wsc_cred_keyIdx {"idx key_index"}
::Set Key Index into credtentail[idx]
idx: 0 ~ 7
key_index: 1 ~ 4
wsc_cred_key {"idx key"}
::Set Key into credtentail[idx]
idx: 0 ~ 7
key: ASCII string (wep_key_len(=5,13), passphrase_len(=8~63))
OR
Hex string (wep_key_len(=10,26), passphrase_len(=64))
wsc_cred_mac {"idx mac_str"}
::Set AP's MAC into credtentail[idx]
idx: 0 ~ 7
mac_str: xx:xx:xx:xx:xx:xx
wsc_conn_by_idx {0 ~ 7}
::Connect AP by credential index
wsc_auto_conn {0, 1}
::Set driver to re-connecting to AP or not after registration.
0: Disabled, driver won't re-connect to AP with new configurations.
1: Enabled, driver will re-connect to AP with new configurations.
wsc_ap_band {0, 1, 2}
::Set prefer band to do WPS with dual band WPS AP
0 : prefer 2.4G
1 : prefer 5G
2 : auto
Default value is auto (2)
USAGE:
iwpriv ra0 set [parameters]=[val]
NOTE:
Execute one iwpriv/set command simultaneously.
where
[parameters] [val]
{range}
CountryRegion {0~7}
::Set country region
0: 1 ~ 11 ch
1: 1 ~ 13 ch
2: 10, 11 ch
3: 10 ~ 13 ch
4: 14 ch
5: 1 ~ 14 ch
6: 3 ~ 9 ch
7: 5 ~ 13 ch
31: 1 ~ 14 ch (ch1-11:active scan, ch12-14 passive scan)
CountryRegionABand {0~11}
::Set country region for A band
0: 36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, 165 ch
1: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140 ch
2: 36, 40, 44, 48, 52, 56, 60, 64 ch
3: 52, 56, 60, 64, 149, 153, 157, 161 ch
4: 149, 153, 157, 161, 165 ch
5: 149, 153, 157, 161 ch
6: 36, 40, 44, 48 ch
7: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 153, 157, 161, 165 ch
8: 52, 56, 60, 64 ch
9: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 132, 136, 140, 149, 153, 157, 161, 165 ch
10: 36, 40, 44, 48, 149, 153, 157, 161, 165 ch
11: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 149, 153, 157, 161 ch
SSID {0z, 132 ascii characters}
::Set AP SSID
WirelessMode {0~10}
::Set Wireless Mode
0: legacy 11b/g mixed
1: legacy 11B only
2: legacy 11A only
3: legacy 11a/b/g mixed
4: legacy 11G only
5: 11ABGN mixed
6: 11N only
7: 11GN mixed
8: 11AN mixed
9: 11BGN mixed
10: 11AGN mixed
Channel depends on CountryRegion or CountryRegionForABand
::Set Channel
BGProtection {0~2}
::Set 11B/11G Protection
0:Auto,
1:Always on,
2:Always off
TxPreamble {0~2}
::Set TxPreamble
0:Preamble Long,
1:Preamble Short,
2:Auto
RTSThreshold {1~2347}
::Set RTS Threshold
FragThreshold {256~2346}
::Set Fragment Threshold
TxBurst {0,1}
::Set TxBurst Enable or Disable
0:Disable,
1:Enable
NetworkType {Infra,Adhoc}
::Set Network type
AuthMode {OPEN,SHARED,WEPAUTO,WPAPSK,WPA2PSK,WPANONE}
::Set Authentication Mode
EncrypType {NONE,WEP,TKIP,AES}
::Set Encryption Type
DefaultKeyID {1~4}
::Set Default Key ID
Key1 {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
::Set Key1 String
Key2 {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
::Set Key2 String
Key3 {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
::Set Key3 String
Key4 {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
::Set Key4 String
WPAPSK {8~63 ascii or 64 hex characters}
::WPA Pre-Shared Key
WmmCapable {0,1}
::Set WMM Capable
0:Disable WMM,
1:Enable WMM
PSMode {CAM, MAX_PSP, FAST_PSP}
::Set Power Saving Mode
HtBw {0,1}
::Set BandWidth
0: 20Hz
1: 40Hz
HtMcs {0 ~ 15, 33}
::Set MCS
33: Auto Rate
HtGi {0,1}
::Set Guard Interval(GI)
0: long GI
1: short GI
HtOpMode {0,1}
::Set HT Operation Mode
0: HT mixed format
1: HT greenfield format
HtExtcha {0,1}
::Set Extended Channel Switch Announcement
0: Below
1: Above
HtMpduDensity {0 ~ 7}
::Set The Minimum Time Between MPDUs within an AMPDU
HtBaWinSize {1 ~ 64}
::Set BA WinSize
HtRdg {0,1}
::Set RDG Capable
0: Disabled
1: Enabled
HtAmsdu {0,1}
::Set AMSDU Capable
0: Disabled
1: Enabled
HtAutoBa {0,1}
::Set Auto BA Capable
0: Disabled
1: Enabled
HtBaDecline {0,1}
::Reject BA request from AP
0: Disabled
1: Enabled
HtProtect {0,1}
::Set HT Protect Capable
0: Disabled
1: Enabled
FixedTxMode {CCK, OFDM}
:: Set Fixed Tx Mode for fixed rate setting
Mode = CCK
MCS = 0 => 1Mbps
= 1 => 2Mbps
= 2 => 5.5 Mbps
= 3 => 11 Mbps
Mode = OFDM
MCS = 0 => 6Mbps
= 1 => 9Mbps
= 2 => 12Mbps
= 3 => 18Mbps
= 4 => 24Mbps
= 5 => 36Mbps
= 6 => 48Mbps
= 7 => 54Mbps
==> Build Ethernet Convert function. Please set 'HAS_ETH_CONVERT_SUPPORT=y' in os/linux/config.mk
EthConvertMode {dongle, clone, hybrid}
::Set Ethernet Convert Mode
EthCloneMac {xx:xx:xx:xx:xx:xx}
:: Set Clone MAC
LongRetry {0,255}
:: Set Tx Long Retry Limit
ShortRetry {0,255}
:: Set Tx Short Retry Limit
MeshId {Length 1~32 ascii characters}
:: Set Mesh ID
MeshHostName {Length 1~32 ascii characters}
:: Set Mesh Host Name
MeshAutoLink {1,0}
:: Set Mesh Auto Link Capable
0: Disabled
1: Enabled
MeshAddLink {xx:xx:xx:xx:xx:xx}
:: Add Mesh Link
MeshDelLink {xx:xx:xx:xx:xx:xx}
:: Delete Mesh Link
MeshMultiCastAgeOut {20 ~ 65535 seconds}
:: Set AgeOut time for Mesh MultiCast
MeshAuthMode {OPEN, WPANONE}
:: Set Mesh Authentication Mode
MeshEncrypType {NONE, WEP, TKIP, AES}
:: Set Mesh Encryption Type
MeshDefaultkey {1 ~ 4}
:: Set Mesh Default Key ID
MeshWEPKEY {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
:: Set Mesh WEP Key String
MeshWPAKEY {8~63 ascii or 64 hex characters}
:: Set Mesh WPA Pre-Shared Key
Examples
a> Config STA to link with AP which is OPEN/NONE(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=OPEN
3. iwpriv ra0 set EncrypType=NONE
4. iwpriv ra0 set SSID="AP's SSID"
b> Config STA to link with AP which is SHARED/WEP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=SHARED
3. iwpriv ra0 set EncrypType=WEP
4. iwpriv ra0 set DefaultKeyID=1
5. iwpriv ra0 set Key1="AP's wep key"
6. iwpriv ra0 set SSID="AP's SSID"
c> Config STA to link with AP which is WPAPSK/TKIP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=WPAPSK
3. iwpriv ra0 set EncrypType=TKIP
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
6. iwpriv ra0 set SSID="AP's SSID"
d> Config STA to link with AP which is WPAPSK/AES(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=WPAPSK
3. iwpriv ra0 set EncrypType=AES
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
6. iwpriv ra0 set SSID="AP's SSID"
e> Config STA to link with AP which is WPA2PSK/TKIP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=WPA2PSK
3. iwpriv ra0 set EncrypType=TKIP
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK=12345678
6. iwpriv ra0 set SSID="AP's SSID"
f> Config STA to create/link as adhoc mode, which is OPEN/NONE(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Adhoc
2. iwpriv ra0 set AuthMode=OPEN
3. iwpriv ra0 set EncrypType=NONE
4. iwpriv ra0 set SSID="Adhoc's SSID"
g> Config STA to create/link as adhoc mode, which is WPANONE/TKIP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Adhoc
2. iwpriv ra0 set AuthMode=WPANONE
3. iwpriv ra0 set EncrypType=TKIP
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK=12345678
6. iwpriv ra0 set SSID="AP's SSID"
h> Get site survey
usage: iwpriv ra0 get_site_survey
i> Get Statistics
usage: iwpriv ra0 stat ; read statistic counter
iwpriv ra0 set ResetCounter=0 ; reset statistic counter
j> Link with an AP which is the largest strength ; set ANY SSID (ssidLen=0)
usage: iwconfig ra0 essid ""
or
usage: iwpriv ra0 set SSID=""
k> Config STA to link as dongle mode with STA own MAC
usage: iwpriv ra0 set EthConvertMode=dongle
l> Config STA to link as clone mode
usage: iwpriv ra0 set EthConvertMode=clone
iwpriv ra0 set EthCloneMac="Desired MAC" ;; 00:00:00:00:00:00 means using STA own MAC
;; FF:FF:FF:FF:FF:FF means using source MAC of first packet coming from wired device
m> Config STA to link as hybrid(dongle+clone) mode
usage: iwpriv ra0 set EthConvertMode=hybrid
iwpriv ra0 set EthCloneMac="Desired MAC" ;; 00:00:00:00:00:00 means using STA own MAC
;; FF:FF:FF:FF:FF:FF means using source MAC of first packet coming from wired device
===================================================================
iwlist
This is detailed explanation of each parameters for iwlist.
iwlist ra0 scanning ; list the results after scanning(manual rescan)
=======================================================================================================
iwconfig
The following are our support in standard configuration - iwconfig
iwconfig ra0 essid {NN|on|off} ; set essid
iwconfig ra0 mode {managed|ad-hoc|...} ; set wireless mode
rt2860sta driver support monitor mode with linux kernel > 2.4.20.
Note: For using monitor mode => if mesh interface is ON, please down the mesh interface first.
iwconfig ra0 freq N.NNNN[k|M|G]] ; set frequency
iwconfig ra0 channel N ; set channel
iwconfig ra0 ap {N|off|auto} ; set AP address
iwconfig ra0 nick N ; set nickname
iwconfig ra0 rate {N|auto|fixed} ; set rate (only support legacy rate setting)
iwconfig ra0 rts {N|auto|fixed|off} ; set RTS threshold
iwconfig ra0 frag {N|auto|fixed|off} ; set Fragment threshold
iwconfig ra0 enc {NNNN-NNNN|off} ; set encryption type
iwconfig ra0 power {period N|timeout N} ; set power management modes
*** Wireless extension usage please refer to man page of 'iwconfig', 'iwlist' and 'iwpriv'. ***
Package Lean Mt Drivers Mt7612e Src Mt76x2 Doc Sta Ate Iwpriv Usage (`package/lean/mt/drivers/mt7612e/src/mt76x2/doc/sta_ate_iwpriv_usage.txt`)
===================================================================================================
ATE Test Command Format for station driver
****** IMPORTANT ******
If you are not familiar with hardware, it is recommanded not to modify hardware default value.
It may damage hardware.
===================================================================================================
Usage:
iwpriv ra0 [act] [parameters]=[val]
where
[act] [parameters] [val] constraints explaination
=====================================
- Set ATE actions.
Value:
ATESTART - Start ATE function and stop station function.
ATESTOP - Stop ATE function and start station function.
TXCONT - Start continuous TX, for power mask.
TXCARR - Start carrier test, for frequency calibration.
TXFRAME - Transmit frame, for EVM.
RXFRAME - Continuous RX, for PER/FER.
1.1 ATEDA
Set ATE frame header destination address.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.2 ATESA
Set ATE frame header source addr.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.3 ATEBSSID
Set ATE frame header BSSID.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.4 ATECHANNEL
Set ATE Channel, deimal.
Value:
802.11b/g: 1 ~ 14 depends on CountryRegion setting
1.5 ATETXPOW0
Set ATE Tx power for Antenna 1.
Value:
0 ~ 31 ; 2.4GHz, deimal
-7 ~15 ; 5.5GHz, deimal
1.6 ATETXPOW1
Set ATE Tx power for Antenna 2.
Value:
0 ~ 31 ; 2.4GHz, decimal
-7 ~15 ; 5.5GHz, deimal
1.7 ATETXFREQOFFSET
Set ATE RF frequency offset.
Value:
0 ~ 63 ; unit: 2KHz, decimal
1.8 ATETXLEN
Set ATE frame length.
Value:
24 ~ 2312 ; decimal
1.9 ATETXCNT
Set ATE frame Tx count.
Value:
1 ~ ; 32-bit, decimal
1.10 ATETXMODE (Refer to TxMode)
Set ATE Tx Mode.
Value:
0: CCK 802.11b
1: OFDM 802.11g
2: HT_MIX 802.11b/g/n
3: Green Field 802.11n
1.11 ATETXBW (Refer to TxMode)
Set ATE Tx and Rx Bandwidth.
Value:
0: 20MHz
1: 40MHz
1.12 ATETXGI (Refer to TxMode)
Set ATE Tx Guard Interval.
Value:
0: Long
1: Short
1.13 ATETXMCS (Refer to TxMode)
Set ATE Tx MCS type.
Value:
0 ~ 15
1.14 ATETXANT
Set ATE TX antenna.
Value:
0: All
1: Antenna one
2: Antenna two
1.15 ATERXANT
Set ATE RX antenna.
Value:
0: All
1: Antenna one
2: Antenna two
3: Antenna three
1.16 ATERXFER
Set ATE to periodically reset and show up RxCount (per-second) and RxTotalCount.
Value:
0: Disable counter visability
1: Enable counter visability
1.17 ATESHOW
Show all parameters of ATE.
Value:
1
1.18 ATEHELP
List all commands of ATE.
Value:
1
1.19 ResetCounter
Reset statistic counter.
Value:
1
1.20 ATERRF
Read all of the RF registers.
Value:
1
1.21 ATEWRF1
Write the RF register 1.
Value:
xxxxxxxx ;32-bit, hex
1.22 ATEWRF2
Write the RF register 2.
Value:
xxxxxxxx ;32-bit, hex
1.23 ATEWRF3
Write the RF register 3.
Value:
xxxxxxxx ;32-bit, hex
1.24 ATEWRF4
Write the RF register 4.
Value:
xxxxxxxx ;32-bit, hex
1.25 ATELDE2P
Overwrite all EEPROM contents
Value:
1
E.g.
iwpriv ra0 set ATELDE2P=1
1.26 ATERE2P
Display all EEPROM content.
Value:
1
E.g.
iwpriv ra0 set ATERE2P=1
===================================================================================================
2. Examples:
=========
2.1 Check EVM & Power
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATEDA=00:11:22:33:44:55
iwpriv ra0 set ATESA=00:aa:bb:cc:dd:ee
iwpriv ra0 set ATEBSSID=00:11:22:33:44:55
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXGI=0 ; set Long GI.
iwpriv ra0 set ATETXLEN=1024 ; set packet length.
iwpriv ra0 set ATETXPOW0=18
iwpriv ra0 set ATETXPOW1=18
iwpriv ra0 set ATETXCNT=100000
iwpriv ra0 set ATE=TXFRAME
�K
iwpriv ra0 set ATETXPOW0=19
�K
iwpriv ra0 set ATETXPOW0=20
�K
iwpriv ra0 set ATE=ATESTART
2.2 Check Carrier
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame(inform BBP to change, modulation mode)
iwpriv ra0 set ATE=TXCARR ; Start Tx carrier, Measure carrier with instrument
iwpriv ra0 set ATETXPOW0=05
iwpriv ra0 set ATETXPOW1=05
iwpriv ra0 set ATETXFREQOFFSET=19
iwpriv ra0 set ATE=ATESTART
2.3 Check specturm mask
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame(inform BBP to change, modulation mode)
iwpriv ra0 set ATE=TXCONT ; Start continuous TX, Measure specturm mask with instrument
iwpriv ra0 set ATETXPOW0=5
iwpriv ra0 set ATETXPOW1=5
iwpriv ra0 set ATE=ATESTART
2.4 Frequency offset tuning
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATETXFREQOFFSET=0 ; Set frequency offset 0(decimal)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame
iwpriv ra0 set ATE=TXCARR ; Start Tx carrier, Measure carrier frequency with instrument
iwpriv ra0 set ATETXFREQOFFSET=10 ; Dynamic turning frequency offset, 10(decimal)
iwpriv ra0 set ATETXFREQOFFSET=20 ; Dynamic turning frequency offset, 20(decimal)
iwpriv ra0 set ATE=ATESTART ; Stop, Store the tuning result to EEPROM
2.5 Rx
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ResetCounter=1 ; Reset statistic counter
iwpriv ra0 set ATETXFREQOFFSET=value ;To use the ��value��(decimal) you got in tx calibration
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATE=RXFRAME ; Start Rx,
iwpriv ra0 set ATERXFER=1 ; show RxCnt and RSSI/per-antenna, Transmit test packets
iwpriv ra0 set ATE=ATESTART ; Stop
iwpriv ra0 stat ; get statistics counter
iwpriv ra0 set ATERXFER=1
iwpriv ra0 set ATERXANT=1
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATERXANT=0
iwpriv ra0 set ATE=RXFRAME2.6 Show all ate parameters
iwpriv ra0 set ATESHOW=1
Mode=4
TxPower0=0
TxPower1=0
TxAntennaSel=0
RxAntennaSel=0
BBPCurrentBW=0
GI=0
MCS=7
TxMode=1
Addr1=00:11:22:aa:bb:cc
Addr2=00:11:22:aa:bb:cc
Addr3=00:11:22:aa:bb:cc
Channel=1
TxLength=1024
TxCount=40000
TxRate=11
RFFreqOffset=02.7 Online help
iwpriv ra0 set ATEHELP=1
ATE=ATESTART, ATESTOP, TXCONT, TXCARR, TXFRAME, RXFRAME
ATEDA
ATESA
ATEBSSID
ATECHANNEL, range:0~14(unless A band !).
ATETXPOW0, set power level of antenna 1.
ATETXPOW1, set power level of antenna 2.
ATETXANT, set TX antenna. 0: all, 1: antenna one, 2: antenna two.
ATERXANT, set RX antenna.0: all, 1: antenna one, 2: antenna two, 3: antenna three.
ATETXFREQOFFSET, set frequency offset, range 0~63.
ATETXBW, set BandWidth, 0:20MHz, 1:40MHz.
ATETXLEN, set Frame length, range 24~2312.
ATETXCNT, set how many frame going to transmit.
ATETXMCS, set MCS, reference to rate table.
ATETXMODE, set Mode 0: CCK, 1: OFDM, 2: HT-Mix, 3: GreenField, reference to rate table.
ATETXGI, set GI interval, 0: Long, 1: Short.
ATERXFER, 0: disable Rx Frame error rate. 1: enable Rx Frame error rate.
ATERRF, show all RF registers.
ATEWRF1, set RF1 register.
ATEWRF2, set RF2 register.
ATEWRF3, set RF3 register.
ATEWRF4, set RF4 register.
ATELDE2P, load EEPROM from .bin file.
ATERE2P, display all EEPROM content.
ATESHOW, display all parameters of ATE.
ATEHELP, online help.2.8 Display Rx Packet Count and RSSI
iwpriv ra0 set ATERXANT=0 ==> Enable All Three Rx Antennas
iwpriv ra0 set ATERXFER=1 ==> Enable Rx Frame Error Rate: RxCnt/RxTotal
iwpriv ra0 set ATE=RXFRAME ==> Start Rx
MlmePeriodicExec: Rx packet cnt = 2/4
MlmePeriodicExec: Rx AvgRssi0=-88, AvgRssi1=-80, AvgRssi2=-91
MlmePeriodicExec: Rx packet cnt = 2/6
MlmePeriodicExec: Rx AvgRssi0=-86, AvgRssi1=-77, AvgRssi2=-89�K
�K
iwpriv ra0 set ATERXANT=1 ==> Enable Three Rx Antenna-1
iwpriv ra0 set ATERXFER=1 ==> Enable Rx Frame Error Rate: RxCnt/RxTotal
iwpriv ra0 set ATE=RXFRAME ==> Start Rx
MlmePeriodicExec: Rx packet cnt = 0/7
MlmePeriodicExec: Rx AvgRssi=-87
MlmePeriodicExec: Rx packet cnt = 7/14
MlmePeriodicExec: Rx AvgRssi=-90
�K
�K===================================================================================================
3. Hardware Access
==================
=====================================
3.1 iwpriv ra0 bbp [parameters]=[Value]
Read/Write BBP registers by ID number.
BBPID
3.1.1 Read BBP register, BBPID only, no ��=�� symbol.
BBPID:
0 ~ xx ; decimal, 8-bit
BBPID=Value
3.1.2 Write BBP register.
BBPID:
0 ~ xx ; decimal, 8-bit
Value:
00 ~FF ; hexdecimal, 8-bit
=====================================
3.2 iwpriv ra0 mac [parameters]=[val]
Read/Write MAC registers by offset.
MAC_OFFSET
3.2.1 Read MAC register, MAC_OFFSET only, no ��=�� symbol.
MAC_OFFSET:
0000 ~ FFFF ; hexdecimal, 16-bit
MAC_OFFSET=Value
3.2.2 Write MAC register.
MAC_OFFSET:
0000 ~ FFFF ; hexdecimal, 16-bit
Value:
0000 ~FFFF ; hexdecimal, 32-bit
=====================================
3.3 iwpriv ra0 e2p [parameters]=[val]
Read/Write EEPROM content by address.
EEP_ADDR
3.3.1 Read EEPROM content, EEP_ADDR only, no ��=�� symbol.
EEP_ADDR:
00 ~ FF ; hexdecimal, 16-bit alignment (0, 2, 4, 6, 8, A, C, �K)
EEP_ADDR=Value
3.3.2 Write EEPROM content.
EEP_ADDR:
00 ~ FF ; hexdecimal, 16-bit alignment (0, 2, 4, 6, 8, A, C, �K)
Value:
0000 ~FFFF ; hexdecimal, 16-bit
=====================================
3.4 Example
3.4.1 Hardware access
iwpriv ra0 bbp 0 # read BBP register 0
iwpriv ra0 bbp 0=12 # write BBP register 0 as 0x12
iwpriv ra0 mac 0 # read MAC register 0
iwpriv ra0 mac 0=1234abcd # write MAC register 0 as 0x1234abcd
iwpriv ra0 e2p 0 # read E2PROM 0
iwpriv ra0 e2p c=12ab # write E2PROM 0xc as 0x12ab
3.4.2 Statistic counter operation
iwpriv ra0 stat # read statistic counter
iwpriv ra0 set ResetCounter=0 # reset statistic counter
Suggestion:
1. To turn on ATE functionality, you have to add compile flag "RALINK_ATE" to Makefile
2. Before doing ATE testing, please stop AP function
3. If you want to test another ATE action, prefer to stop AP & ATE function
4. All ATE function settings will lose efficacy after reboot.
5. Before hardware register access, please reference hardware spec.
Note.
In ATE mode, the channel must set via "ATECHANNEL"===================================================================================================
4. ated
=======
4.1 Introduction
The ated is an optional user space component for RT28xx Linux driver.
When Windows GUI starts, AP enters ATE mode (i.e.,ATESTART) immediately.
It behaves as a proxy between Windows GUI and RT28xx Linux driver when ATE process proceeds.
The ated will be killed automatically when Windows GUI is closed.
You can kill it manually, too(for example, type '$killall ated').
RT28xx linux driver will leave ATE mode either ated is killed or Windows GUI is closed.
4.2 Environment setup
- Connect the platform you want to test directly with a Windows host by ether network line.
- In the Windows host, run WinPcap_4_0.exe for the QA GUI or ./RT2880_ATE/RaUI.exe(please unrar "RT2880_ATE.rar" to get it).
4.3 How to use ated for ATE purpose
0. First you should set both "HAS_ATE=y" and "HAS_QA_SUPPORT=y" in the file ~/Module/os/linux/config.mk and compile the driver.
- Modify the Makefile according to our target "PLATFORM".
- Change the path of "CROSS_COMPILE" if needed.
- Then type 'make' command to compile the source code of the daemon.
- After the driver interface has started up, attach both of the wireless interface and the ethernet interface to the bridge interface.
- If you have no bridge interface, please give an IP address to the ethernet interface.
(for example : '$ated -beth0') - After the interfaces have entered forwarding states, manually start ated, type '$ated -bbrX -iraX'.
- If your WLAN interface and Bridge interface is "ra0" and "br0" respectively, just type $ated.
(For further usage of options, type $ated -h) - In the Windows host, run RT28xxQA_ATE.exe or ./RT2880_ATE/RaUI.exe.
- Select the wired network adapter, then press OK and wait for a moment.
10.If the Windows host cannot tolerate such a broadcast storm from ated,
please run ated with option -u.(for example : '$ated -ira1 -u')
11.If your target platform concerns its network security, please run RT28xxQA_unicast.exe instead of RT28xxQA_ATE.exe.
Note :
a. The names of WLAN interface(default is "ra0") and Bridge interface(default is "br0") must be specified manually(for example : '$ated -bbr1 -ira2') if your WLAN interface or Bridge interface is not "ra0" or "br0" respectively !
b. Please make sure no other RaUI is running before you excute ./RT2880_ATE/RaUI.exe.
Package Lean Mt Drivers Mt7612e Src Mt76x2 Doc Wps Iwpriv Usage (`package/lean/mt/drivers/mt7612e/src/mt76x2/doc/wps_iwpriv_usage.txt`)
/*
- README: WPS STA as an Enrollee or Registrar
*/
Build WPS function. Please set 'HAS_WSC=y'.
Enrollee Mode
1.1) PIN mode:
Running Scenarios (case 'a' and 'b')
--------------------------------------------------------
a. Adding an Enrollee to AP+Registrar (EAP)
[AP+Registrar]<----EAP--->[Enrollee Client]
--------------------------------------------------------
b. Adding an Enrollee with external Registrar (UPnP/EAP)
[External Registrar]<----UPnP--->[AP_Proxy]<---EAP--->[Enrollee Client]
--------------------------------------------------------
Note: 'EAP' indicates to use wireless medium and 'UPnP' indicates to use
wired or wireless medium.
(i) [Registrar] or [AP+Registrar]
Enter the Enrollee PinCode on the Registrar and start WPS on the Registrar.
Note: How to get the Enrollee PinCode? Use 'iwpriv ra0 stat' on the Enrollee.
(ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 1 ;; Enrollee
iwpriv ra0 wsc_mode 1 ;; PIN
iwpriv ra0 wsc_ap_band 0 (or 1) ;; 0: prefer 2.4G, 1: prefer 5G
iwpriv ra0 wsc_ssid "AP's SSID"
iwpriv ra0 wsc_start
{iii) If the registration is successful, the Enrollee will be re-configured
with the new parameters, and will connect to the AP with these new parameters.
1.2) PBC mode:
Running Scenarios (case 'a' only)
--------------------------------------------------------
a. Adding an Enrollee to AP+Registrar (EAP)
[AP+Registrar]<----EAP--->[Client]
--------------------------------------------------------
(i) [AP+Registrar]
Start PBC on the Registrar.
{ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 1 ;; Enrollee
iwpriv ra0 wsc_mode 2 ;; PBC
iwpriv ra0 wsc_ap_band 0 (or 1) ;; 0: prefer 2.4G, 1: prefer 5G
iwpriv ra0 wsc_start
{iii) If the registration is successful, the Enrollee will be re-configured
with the new parameters, and will connect to the AP with these new parameters.
- Registrar Mode
2.1) PIN mode:
Running Scenarios (case 'a' and 'b')
--------------------------------------------------------
a. Configure the un-configured AP
[Unconfigured AP]<----EAP--->[Registrar]
--------------------------------------------------------
b. Configure the configured AP
[Configured AP]<----EAP--->[Registrar]
--------------------------------------------------------
(i) [AP]
Start PIN on the Enrollee WPS AP.
(ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 2 ;; Registrar
iwpriv ra0 wsc_mode 1 ;; PIN
iwpriv ra0 wsc_pin xxxxxxxx ;; AP's PIN Code
iwpriv ra0 wsc_ap_band 0 (or 1) ;; 0: prefer 2.4G, 1: prefer 5G
iwpriv ra0 wsc_ssid "AP's SSID"
iwpriv ra0 wsc_start
{iii) If the registration is successful;
in case 'a':
The Registrar will be re-configured with the new parameters,
and will connect to the AP with these new parameters;
in case 'b':
The Registrar will be re-configured with AP's configurations,
and will connect to the AP with these new parameters.
2.2) PBC mode:
same scenarios as PIN mod
(i) [AP]
Start PBC on the Enrollee WPS AP.
(ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 2 ;; Registrar
iwpriv ra0 wsc_mode 2 ;; PBC
iwpriv ra0 wsc_ap_band 0 (or 1) ;; 0: prefer 2.4, 1: prefer 5G
iwpriv ra0 wsc_start
{iii) If the registration is successful;
in case 'a':
The Registrar will be re-configured with the new parameters,
and will connect to the AP with these new parameters;
in case 'b':
The Registrar will be re-configured with AP's configurations,
and will connect to the AP with these new parameters.
Others
iwpriv ra0 wsc_cred_count 1 ;; Set count of credentials, Only support one credential for M8 in Registrar mode.
integer: 1 ~ 8iwpriv ra0 wsc_cred_ssid "idx ssid_str" ;; Set SSID into credtentail[idx]
string:
idx: 0 ~ 7
ssid_str: SSID for AP
example:
iwpriv ra0 wsc_cred_ssid "0 wps_ap1"iwpriv ra0 wsc_cred_auth "idx auth_str" ;; Set AuthMode into credtentail[idx]
string:
idx: 0 ~ 7
auth_str: OPEN, WPAPSK, WPA2PSK, SHARED, WPA, WPA2
example:
iwpriv ra0 wsc_cred_auth "0 WPAPSK"iwpriv ra0 wsc_cred_encr "idx encr_str" ;; Set EncrypType into credtentail[idx]
string:
idx: 0 ~ 7
encr_str: NONE, WEP, TKIP, AES
example:
iwpriv ra0 wsc_cred_encr "0 TKIP"iwpriv ra0 wsc_cred_keyIdx "idx key_index" ;; Set Key Index into credtentail[idx]
string:
idx: 0 ~ 7
key_index: 1 ~ 4
example:
iwpriv ra0 wsc_cred_keyIdx "0 1"iwpriv ra0 wsc_cred_key "idx key" ;; Set Key into credtentail[idx]
string:
idx: 0 ~ 7
key: ASCII string (wep_key_len(=5,13), passphrase_len(=8~63))
OR
Hex string (wep_key_len(=10,26), passphrase_len(=64))
example:
iwpriv ra0 wsc_cred_key "0 12345678" ;; Passphrase
iwpriv ra0 wsc_cred_key "0 abcd" ;; WEP Keyiwpriv ra0 wsc_cred_mac "idx mac_str" ;; Set AP's MAC into credtentail[idx]
string:
idx: 0 ~ 7
mac_str: xx:xx:xx:xx:xx:xx
example:
iwpriv ra0 wsc_cred_mac "0 00:11:22:33:44:55"iwpriv ra0 wsc_conn_by_idx 0 ;; Connect AP by credential index.
integer: 0 ~ 7iwpriv ra0 wsc_auto_conn 0 ;; If the registration is successful, driver will re-connect to AP or not.
integer: 0 ;; Disabled, driver won't re-connect to AP with new configurations.
1 ;; Enabled, driver will re-connect to AP with new configurations.
Note. Default value is 1.iwpriv ra0 wsc_stop ;; Stop WSC work and don't wait upon two-minute timeout
iwpriv ra0 wsc_ap_band val
val: 0 ;; prefer 2.4G AP
1 ;; prefer 5G AP
2 ;; Auto
iwpriv ra0 stat ;; Read statistics counter and WPS status.
Package Lean Mt Drivers Mt7615d Src Mt Wifi Embedded Doc FirmwareHistory (`package/lean/mt/drivers/mt7615d/src/mt_wifi/embedded/doc/FirmwareHistory.txt`)
[rt2860.bin]
2006_11_30 Initial version V0.1 which supports LED mode, power saving.
2006_12_06 V0.2 which fixs LED issue.
2006_12_13 V0.3 which support signal LED mode.
2006_??_?? V0.4 which fix led polarity, but driver skip this version
2007_01_03 V0.5 which modify BBP access architecture.
2007_03_02 V0.6 which fix bug when radio on/off
2007_05_04 V0.7 which fix command 0x31 after 0x30, 0x31 may not work.
2007_08_20 V0.8 which support carrier detection
2008_02_15 V0.9 which support WPS LED mode on GPIO pin0
2008_03_25 V0.9-2 which support power save has whether turn on or off LNA/PA/PE choice
2008_04_29 V0.10 which support LED mode 7 and 8 (WPS)
2008_06_24 V0.11 which fix LED behavior if turn on power Consumption
2008_07_16 V0.12 which fix LED behavior cause by open drain design (RT3090)
2008_11_13 V0.13 which provides Low power consumption solution(RT3090)
2008_12_15 V0.14 which read AUX_CTRL and restores AUX_CTRL
2009_01_05 V0.15 which return erro code when MCU in sleep mode and driver still issue cmd .
2009_01_15 V0.16 which fix LED slow blink for 3090F .
2009_02_04 V0.16 Final. which solves two issue : ICH9 dumy interrupt issue & fast blink issue.
2009_02_12 V0.17 which fixes 3090F Led blink double frequency issue / Fine tune slow blink
2009_02_16 V0.18 which fixes LED Slow Blink spark issue, 35xx for current leakage issue in radio off mode
2009_03_17 V0.19 which fixes LED mode 11 issue, patches 3592 0x30 cmd; add LED mode 12 and 13
2009_03_18 V0.19 which fixes PLL disable issue
2009_04_14 V0.20 which fixes LED Mode 10, 3592 Power Saving RF State
2009_05_25 V0.21 which supports all LED mode for AutoInstall, 0x56 MCU cmd for GPIO, Store&Restore the value of 0x1328 for PSM
2009_07_08 v0.22 which rollback of 0x1328 PAEN/ LNAEN on power saving for 3572 , other using original control (pwrmgnt.c)
v0.23 (for BBP R/W failure issue) is not formal released
2009_09_04 v0.24 fixes TRSW_en setting bug on single antenna with PSM mode.
2009_09_05 v0.24B fixes TRSW for 3592
2009_10_08 v0.25 fixes led polarity bug, 3562 PSM, BT-CoExist 0x90 MCU Cmd, Auto-Install
2009_11_20 v0.26 fixed 3593 power saving scheme, power saving level for RT3090BC4 single crystal and
modify ChipVerld definition
[rt2870.bin]
2007_07_10 V0.4 Add WPS LED Mode & Site Survey LED Mode
2007_09_04 V0.5 Support carrier detection
2008_01_11 V0.6 Update LED Mode
2008_01_17 V0.7 Update LED Site Surbvey Mode for LED blinking time
2008_02_15 V0.8 Support WPS LED mode on GPIO pin0
2008_04_18 V0.9 Support LED mode 7 and 8 (WPS)
2008_06_18 V0.10 Support RT3070, antenna diversity, Slow LED blink
2008_06_23 V0.11 The ACT and RDYG LED are switched on RT3070
2008_07_17 V0.12 LED mode 9
2008_12_12 V0.13 LED mode 10
2009_02_17 V0.14 MCU Cmd 0x36, 0x51; Power sequence of RT3xxx modification
2009_03_17 V0.15 which fixes LED mode 11 issue, patches 3592 0x30 cmd; add LED mode 12 and 13
2009_03_18 V0.15 which fixes PLL disable issue
2009_04_14 V0.16 which fixes LED mode 10 issue
2009_05_25 V0.17 which supports all LED mode for AutoInstall, 0x56 MCU cmd for GPIO, Store&Restore the value of 0x1328 for PSM
2009_07_29 V0.19 For fixing BBP read/write fail issue.
2009_09_05 v0.20 fixes TRSW_en setting bug on single antenna with PSM mode.
2009_10_28 v0.21 fix led polarity bug issue, fix 3562 ping lost issue, BT Coexistence 0x90 command, and fix auto install function.
2009_11_11 V0.22 For fixing BT Hardkey makes GPIO0 floating issue.
Package Lean Mt Drivers Mt7615d Src Mt Wifi Embedded Doc History (`package/lean/mt/drivers/mt7615d/src/mt_wifi/embedded/doc/History.txt`)
[V2.x.x.x]
P4V. Test
[V2.6.0.1]
- Add WFD support
- Add WIDI 3.5 support & bug fix
- Add Switch Channel Offload support for RT5572
- Update ATE & chip related
- Apple Router TSN security fix
- Add wpa_supplicant support WPS in -Dwext
[V2.6.0.0]
Add modifications of Samsung TV Project
P2P Related Fix :
1). Fixed STA TGn 5.2.18 failed if p2p interface is also up
2). Reduce P2P Action frame response time
3). Add P2pTableSemLock
4). Fixed P2P GO cannot be found by Samsung G2 802.11 scan
5). Fixed P2P CLI sometimes would have beacon lost
6). Fixed P2P CLI memory leakage issue
7). Add P2P concurrent 20/40BW support
8). Modify InsertP2PSubelmtTlv() by cases
9). fix beacon lost the ra0 can't linkdown if p2p0 has traffic
10). Fix P2P GO will always in silent mode on DFS channel. when IEEE80211H is turned on
11). APCLI and P2P CLI don't need to do PIN attack checking.WPS Related Fix :
1). Registrars (both internal and external) shall add the AuthorizedMACs subelement,
this applies to all Configuration Methods, including PIN, PBC and NFC
2). Add modifications for preventing complained by Coverity
3). Fix WSC test plan 5.1.1 failed at step 10.P2P Related Ehancement :
1). Add Set_P2P_SecDevTypeList_Proc() to set 2nd device list
2). Change time period of sending probe request before send Provision Discovery Request or P2P GO Nego Request from 1s to 100ms in P2P GO mode.
3). Modify WscBuildAssocReqIE for P2P CLI to send ASSOC Req with WPS IE.Sync with latest register update.(RT5592_RT5592EP_RT5572_RF_BBP_MACregister_2012_0208.xls)
Enhance Date Rate checking mechanism
Enhance BBP/RF/MCU protection.
Fix sometimes scan table may always empty. (Check MAC Tx/Rx idle before change BBP_R4 value in MlmeScanReqAction())
Add frequency calibration for USB related chips
Fixed STA scanning issue (When table is full)
Add dynamic L2SD cmds
[V2.5.0.0]
1. Add mac80211 iw utility other commands support.
Rename crda.c to cfg80211.c, CRDA_SUPPORT to RT_CFG80211_SUPPORT.
2. Fix issue: No McuCmdLock initialization for RT3592/RT3390.
3. Fix issue: The start address of HeaderBuf must be aligned by 4 when
VENDOR_FEATURE1_SUPPORT is enabled.
4. WMM ACM: see history of acm_comm.c.
5. Fix issue: sometimes rt2860_interrupt() will be called before rt28xx_init()
in fedora core 7.
6. Add RT3592 PCIe chip ID.
7. Fix issue in 64bit CPU:
(1) WMM ACM: see history of acm_comm.c.
(2) Fix function RTMP_MapChannelID2KHZ().
8. CFG80211: Patch for Linux 2.6.32.
9. Add an ATE command for AUTOALC.
10. Add an ATE command for interpacket GAP.
11. Add an ATE command for ATE payload pattern.
12. Fix issue: UAPSD SP can not be closed correctly for mix-mode power save.
UAPSD + legacy PS.
13. [Bug fixed] The extended rate of probe-req is disappeared in AP-Client mode
14. Add RT3593 PCI/PCIe AP/STA.
15. Fix issue: kernel panic when we forward VLAN bc/mc packet to wireless LAN.
16. Fix issue: some reports from Prevent software analysis tool.
17. Fix issue: get wrong VLAN priority from VLAN tag in RTMPCheckEtherType().
18. Fix issue: no 11b basic rate in beacon when we change WirelessMode to 2.4G,
then 5G, then 2.4G
19. Fix issue: no 11b-only mode can be set in AP mode.
20. MBSS: add function to set different phy mode for different BSS.
21. Phy Mode: add check if the chip supports 5G band when WirelessMode is 5G band
for command WirelessMode and MBSSWirelessMode.
22. QLOAD: Fix issue for big endian.
Or value of QLOAD element in beacon will be wrong.
23. USB: Fix timer trigger fail after APStop and then APStartup.
Side effect1: Power save can not work in AP mode when you do channel
switch because channel switch will do APStop() and APStart().
Side effect2: After radion on/off, TIM will not be updated due to beacon
timer is not started.
24. Station: Add new rate switch algorithm (AGS) for 11, 22, 3*3.
25. AP: Fix power save problem when station is in power-save mode and send
(re)associate frame again we will think the station is still in PS mode,
but the station is in ACTIVE mode.
26. TX Block: Fix no packet can be sent when TX Fail count > a threshold for
non-WDS interface in RTMPDeQueuePacket().
27. Fix WPS issue: WPS process failed with some WPS Client that sends dis-assoc close to WSC_DONE.
28. Refine the stack size of all functions to be smaller than 300B.
29. Fix bugs when protocol field of packet & 0x8080 does not equal to 0.
Such as PPPOE.
30. Fix issue: Wrong MACRO use for RTMP_SET_PACKET_DHCP ~ RTMP_SET_PACKET_IPV4.
31. Fix ACM issue: Need also to unlock after calling ACMP_MsduClassify() in USB.
32. Fix IGMP bc/mc User Priority issue: Need also to get UP for bc/mc packets.
[V2.4.0.0]
1. AMSDU supports NO-ACK.
2. Added new channel list of A-Band Region 16
3. Basic Ethtool support. (i.e. GSO)
4. Fix issue: PCI command thread initialization in pci_main_dev.c
init_waitqueue_head(&pAd->cmdQTask.kthread_q); for KTHREAD_SUPPORT
5. WMM ACM: see history of acm_comm.c.
6. Fix issue: When PS-Poll is received in AP and STA is not WMM device and
no any queued packet, we will reply DATA NULL frame. We will double-lock.
7. AP QLOAD: Add compile option.
8. Add CRDA function in Linux 2.6.28 above.
9. Increase channel property. Property is only set in CRDA function currently.
10. RSSI feedback supported(only with Ralink client).
11. Fix issue: Wmm capable will be enabled from ABG mode to N mode but Wmm capable is
not recovered when from N mode to ABG mode.
12. Two iwpriv commands "ACLDelEntry" and "ACLShowAll" are added.
13. Support 802.11v draft 5.0 WNM - BSS transition Management and DMS.
14. Add OS abstract layer partition, util.ko, driver.ko, and netif.ko
15. Support ApClient WPS PBC.
[V2.3.0.0]
1. WMM ACM AP/STA support. (Pass WiFi Test Plan v0.30)
2. Add HAS_STATS_COUNT compile option.
3. Provide some 802.1x parameter support(Quiet-period, idle-timeout, NAD-ID).
4. Fix issue : The Tx date rate can't be fixed in B/G PHY mode.
5. QLOAD: Add status information display function. "qload show" & QloadClr.
6. QLOAD: Add channel busy alarm and a command thread in PCI/USB driver.
7. It supports the MAC assignment from configuration file(.dat).
8. Fix issue : No packet is delivered from AP when PsMode from PS to ACTIVE.
9. Fast Power Save : Use Null frame with PM=0 to get buffered packet, not PS-Poll in station mode.
10. miniupnpd supported.
11. AP-Client and WDS support fixed rate.
12. Support GreenAP.
13. Support Single SKU.
14. Fix issue : RT3062/RT3562 can't enable/disable Radio.
15. Discard IgmpSn enable setting per BSSID and change it to as global setting.
[V2.2.0.0]
1. New generation schema for multiple OS porting
2. New chip support for RT3572
3. New chip support for RT3062/RT3562
4. Restrict the encryption type in HT mode.
5. Support 802.1x reauthentication mechanism.
6. Limit the STA connection count per BSS.
7. Some variables support MBSS setting.
8. Support WDS entry life check function.
9. Support Mesh Air link time.
10. Support Mesh Link Metric report action.
11. Support Dot11K RRM for all testing cases of voice-enterprise testing event.
12. Performance Tune.
[V2.1.1.0]
1. fix eFuse bug on big-endian platform
2. fix WMM problem for RT3071/72
3. fix one bug for ATE TX power handling and ATE frequency offset bug.
4. fix mesh crash issue
5. fix RT307x AMPDU throughput bug after interface down/up
6. update RT307x new firmware.
[V2.1.0.0]
1. Support new chips RT3070/71/72, RT3090/91/92.
2. Fix bugs: fix WMM, Mesh, WDS, AP Client and DLS problems for Amazon SE platform
3. Fix bug: memory leakage problem when interface up/down.
4. Support eFuse.
[V2.0.0.0]
1. Added Global Country Domain supported.
2. Fix bug: suspend/resume error when ra0 down, rax up
3. Add new UAPSD SP counting mechanism.
4. Fix bug: Ikanos WDS, AP Client, Mesh interface get problem.
5. Add new WSC hardware push button function for PCI & USB.
6. Added a function allow user to specific Tx rate for Mcast packets.
7. Migrate Mesh supporting to Draft-2.0.
8. Support WAPI functionality
9. Modify the priority of BAR transmission to solve the connection issue with Intel 4965 11n STA.
10. Fix RT2870 USB suspend/resume.
[V1.9.0.0]
1. Replace iwpriv cmd "AccessControlList" by "ACLAddEntry" and "ACLClearAll"
2. Fixed the wrong usage of AtoH().
3. Support new Windows ATE GUI.
4. Add a command "iwpriv ra0 set ATERE2P=1" to display all EEPROM content.
5. Correct the limitation of the length of fragment.
6. Fix bug: Fail to transmit packets through AMPDU way except the case that AP to STA.
7. Wrong Hareware packet length calculation of Mesh packet if it been Fragmented.
8. Support SIGMA 8622/8624 platform.
9. Add WPS PBC Session Overlap Detecting.
10. Add WPS 4-PinCode Support.
11. Fixed WPS enable PSP can not associate AP when AP security set to WPA-PSK.
12. Fix "Suspend to Disk" problem for USB
[V1.8.0.0]
1. Show Tx/Rx statistics per MBSS.
2. 802.1x supports failover mechanism.
3. Add watchdog to prevent MAC/BBP into the deadlock condition.
4. Support pure 11n with 5G band.
5. Update Timer Functions
6. In multiple cards application, the interface name is changed to raxx_k, where xx means card ID (0 ~ 31) and
k means the BSS number (0 ~ 7)
7. Support individual MCS per BSS.
8. Add IKANOS Vx160 and Vx180.
9. Add station keep alive detection function in AP mode.
10. The SIFS of CCK is changed to 16 micro seconds to fix the connection problem with INTEL 2200bg cards.
11. QBSS Load Element is added to provide channel utilization information to all STAs.
12. Fix bug : After AP re-key, the ping connection from client to AP would be time-out within several seconds.
13. Support Mesh function.
14. Big-endian ATE supported.
[V1.7.0.0]
1. Support IDS notification mechanism
2. Change IRQ LOCK to SEM LOCK
3. Fix bug : When QoS(non-BE) and fragment packets are received, AP would calculate wrong MIC in TKIP mode.
4. Support Non-GPL MD5
5. Update Group rekey mechanism
6. Fix BA time-out issue for Intel wireless card 4965AGN with version 11.5.0.32.
7. Add command "iwpriv ra0 set ATELDE2P=1" to overwrite all EEPROM contents from "/etc/Wireless/RT2860(/70)AP(/STA)/e2p.bin".
8. Fix RTS threshold issue in 5G-band
9. Add DLS Function.
10. IPV6 MLDv2 support
11. Fix VLAN ID >= 256 can not be used.
12 Added PCIE MSI supporting for RT2890.
13 Added new channel list builder that create channel list according to country-code and channel Geography(in/out door).
[V1.6.0.0]
1. Fix bug : Before AP shutdown, AP doesn't noify those associated STA through dis-association.
2. Fix bug : The Atheros wireless STA card built in MacBook can't work normally when HT mode and the encryption is WEP or TKIP.
3. The support region in A band synchronizes with EEPROM.
4. It supports to initialize current wireless MAC address from E2PROM or module parameter.
5. Support maximum 8 MBSS and each beacon maximum length is 512 bytes.
6. Support 5-GHz band ATE.
7. Send DisAssoc frame to timeout STA.
8. Workaround for Atheros STA on AES mode.
9. Tx RTS/CTS when AP setup BA.
10. Driver sends IAPP L2 frame instread of Daemon.
11. Correct some timeout values of WPS.
12. Fix bug : The 802.1x daemon(rt2860apd) has some problem for parsing multiple parameters in MBSS.
13. Fix bug : The AP site survey signal isn't correct.
14. Provide some 11n statistics variables.
15. Fix bug : RT2561 module can not be removed after RT2860 module is inserted.
16. Added DEO (100 ~ 140) channel list for Ganmany.
17. Support wds phy mode and security setting for each wds link.
18. Fix bug : The Atheros legacy USB STA card can't connect to our AP in WPA-TKIP.
19. Modify rate adaptation for fast ramp-up tuning.
20. Fix WPS IOT issue with Atheros externnal registrar. Need Sync the user space daemon "wscd" to version 0.1.0
21. Fix bug : The BlackBerry/HTC can't connect to our AP.
22. Correct the default values of those WMM EDCA parameters.
23. Fix low throughput issue in Intel certification test.
[V1.5.0.0]
1. Added McastPhyMode and McastMcs iwpriv commands let user to specifice the rate for Multicast packets transmition.
2. Added two configrations of McastPhyMode and McastMcs.
3. Re-organize the WPA state machine in order to the consistency between AP and AP-Client.
4. Added DFS support.
5. Added Carrier-Sense suppport.
6. Fixed a bug about dissection issue in profile.
7. Fixed CountryRegion and channel map, when profile's channel have not on channel list.
8. Fixed 802.1x Authentication problem with 1x-WEP/WPA(2)-Enterprise when WPS is enabled.
9. Fix bug : Once the radio is off and on, the beacon frames disappear.
[V1.4.0.0]
1. Wireless IGMP snooping support for multimedia steaming.
2. Access control list support
3. Re-organize the Rx data path.
4. AP client WPS support.
5. Fix the Auto-selecting channel issue.
6. Add CountryString ioctl command function.
7. Buf fix for Atheros WPS STA can not config WPS AP when Athros JumpStart STA is external Registrar.
8. Merge for WCN test modify to WPS functions.
9. Patch for 11n requirement, if HT mode is set and BW is 40MHz in A-band, the supported Channel number must be the multiple of 2.
10. Fix bug: If STA card operated with zero-config, the group rekey negotiation of WPA2(PSK)-AES always fails.
11. Add Tx & Rx Stream functionality.
12. Support QA user interface for ATE function.
[V1.3.0.0]
1. add vlan tag support for each BSS
2. add support for 32bit/64bit Linux
3. merge in plugfest code
4. Support Ap-Client function
5. Add new parameter "bWiFiTest" for WPA & WMM WiFi-Test.
6. Add the setting of Japan filter coefficients for ATE.
7. Fix bug for channel have not update when auto channel select was true.
[V1.2.1.0]
1. add protect for RTMP_IRQ_LOCK to avoid in spin_lock_irqsave call spin_lock_bh cause kernel waring messages.
2. tag one branch named V_1_2_1_0 (v1.2.1.0) in the CVS
[V1.2.0.0]
1. set BBP R66 to 0x38 in 20 MHz band
2. Disable one mechanism - change 40 to 20 MHz automatically when detecting other legacy APs with beacon.
3. Fix bug for counterMeasures in WiFi test
4. Write TXWI in ATE's way and disable any protection mechanism when ATE is running.
5. Asic only takes care of the sequence number of beacon frame.
6. disable ATE RSSI statistics when ATE is not running.
7. Set CW_MAX from 10 to 6 in AP mode.
8. Select DAC according to HT or Legacy mode.
9. Support WPA2 Pre-authemtication.
10. Fix WDS panic bug
11. Shift skb control block used by driver to offset 10 to avoid dirty cb[] from protocol stack
12. modify mac register "PBF_MAX_PCNT" from 0x1F3f7f9f to 0x1f3fbf9f
13. Fix issue - 802.1X daemon may cause throughput reduction.
14. Support Wireless event log mechanism.
15. Add a 200ms-timer to enqueue EAPoL-Start for WPAPSK, not RtmpusecDelay.
16. modify mac register "EXP_ACK_TIME" from 0x002400ca to 0x005400ca.
17. Auto-selecting channel check.
[V1.1.0.0]
1. Add fast rate switch from Windows code
2. tune BBP R66, R62, R63, R64, R86 by bandwidth and G/A band different value
3. Modify release to DPA and DPB
4. Modify fast rate switch timer form periodic to trigger by condition, same with Windows
5. Fix UAPSD bugs for null frame was drop
6. Fix management queue pass qos null frame ...
7. Code freeze for Wifi
8. fix 5vt packet set to 0 to clear cb[22]
9. merge code from Plugfest #6
10. add "iwpriv ra0 show driverinfo" to show the driver version
11. fix rt_config.h tag of Support station with tab
12. merge ATE code request by Gemtek
13. remove 5VT enhancement in RX path
[V1.0.0.0]
1.RT2860c emulation ping ok
Package Lean Mt Drivers Mt7615d Src Mt Wifi Embedded Doc History Sta Pci (`package/lean/mt/drivers/mt7615d/src/mt_wifi/embedded/doc/History_sta_pci.txt`)
[V2.X.X.X]
- Add RT3593 PCIe support.
- Add RT3593 STA.
[V2.4.0.0]
- Fix issue: No McuCmdLock initialization for RT3592/RT3390.
- Add RT3592 PCIe chip ID.
- Fix issue: error link list usage in 11r ric module in station mode.
- Add an ATE command for AUTOALC.
- Add an ATE command for interpacket GAP.
- Add an ATE command for ATE payload pattern.
- Fix issue: some reports from Prevent software analysis tool.
- Fix WPS issue: some PIN cannot set successfully.(ex. 89134498)
- Fix issue: STA send null frame with QoS field when STA connected to non-WMM AP.
- Suport RFKILL: DO NOT set HAS_RFKILL_HW_SUPPORT=y in config.mk if device doesn't have HW radio on/off button.
- Reduce data packets lost while doing scan if STA already connects to AP.
- Fix issue: If there are two APs with same SSID and security mode but have different WPAPSK,
STA may always connect to AP with different WPAPSK if the RSSI of that AP is better than the correct one. - Support TxRx ring PRE-ALLOC in probe stage: set RESOURCE_PRE_ALLOC=y in config.mk.
- Shorten the connection time when interface up.
- Fix Adhoc issue: If there are more than 2 peers exist, driver didn't delete peer from entry table unless all peers left.
- Update rt2860.bin: for fixing the 5G band RSSI loss in LED MODE 6/7/8/9/b/c.
- Fix issue: Correct RSSI, SNR, Noise calculations
- Fix issue: STA cannot connect to OPEN-WEP AP if WpaSupplicant set WEPAUTO(IW_AUTH_ALG_SHARED_KEY | IW_AUTH_ALG_OPEN_SYSTEM) to driver.
- Fixed Ad-hoc issue: STA didn't use legacy rate when STA is Ad-hoc creator and security is OPEN-WEP or WPAPSK-TKIP.
[2.3.0.0]
- Support PSP XLINK in ad-hoc mode.
- Add CFG80211 iw utility other commands support (supports Linux 2.6.32).
- Fix issue: The start address of HeaderBuf must be aligned by 4 when
VENDOR_FEATURE1_SUPPORT is enabled. - Fix issue: sometimes rt2860_interrupt() will be called before rt28xx_init()
in fedora core 7. - WMM ACM: see history of acm_comm.c.
- Fix issue in 64bit CPU:
(1) WMM ACM: see history of acm_comm.c.
(2) Fix function RTMP_MapChannelID2KHZ(). - Support WpaSupplicant(v0.6.9) WPS
- Fix WPS issue: Check SelectRegistrar is TRUE or FALSE
- Fix WPS issue: Some AP (ex. Buffalo WZR-AG300NH) would change SSID to another SSID after push WPS PBC button.
After WPS process finish, change SSID to original SSID.
Driver needs to wait AP to re-generate Beacon; otherwise, driver will update this PBC SSID to MlmeAux. - Fix statistics issue: It happened in big-endian platform, tx count would be zero.
- Support WiFi Draft_3.0 11n test items.
- Support Linux Kernel 2.6.31/2.6.32.
- Support Ad-hoc WPS2PSK/AES (DPO doesn't support this item)
- For GPL issue: Separate three kernel modules - util module, driver module, netif module. util module and netif module could license GPL.
Driver module couldn't license GPL.
[V2.2.0.0]
- Fixed issue of showing wrong statistics value.
- Fixed problem of showing wrong SNR in wireless extension scan list.
- Fixed WPA2PSK failed with some AP if key length is not zero in pairwise_msg_2 and pairwise_msg_4.
- Add HAS_STATS_COUNT compile option.
- Support TDLS.
- Support Client WDS.
- Support WMM ACM (Pass WiFi Test Plan v0.30).
- Support the MAC assignment from configuration file(.dat).
- Support Ethernet Convert in Ad-hoc mode.
- Fixed STA cannot do WPS with AP when auth mode of STA is shared.
- Support SKU.
[V2.1.2.0]
DPA/DPB/DPC/DPD
- Short GI sampling improvement.
- Support Linux Kernel 2.6.29
- Fixed driver would send zero IWEVASSOCREQIE to Native WpaSupplicant.
- Fixed driver would send non-zero BSSID to Navtive WpaSupplicant when STA disconnecting to AP.
- Check Addr1, Addr2 and Addr3 of de-auth packet from AP (driver only checked Addr2 of de-auth packet before).
[V2.1.2.0]
DPO
- Short GI sampling improvement.
- Check Addr1, Addr2 and Addr3 of de-auth packet from AP (driver only checked Addr2 of de-auth packet before).
[V2.1.1.0]
Only DPO project has this version
- Fixed driver would send zero IWEVASSOCREQIE to Native WpaSupplicant.
- Fixed driver would send non-zero BSSID to Navtive WpaSupplicant when STA disconnecting to AP.
- Support 2.6.29
[V2.1.0.0]
- New generation schema for multiple OS porting
- New chip support for RT3562/RT3062/RT3592
- Fixed Ad-hoc ping failed in noisy environment. (Probe Response has too many retry packet then cause "not enough space in MgmtRing")
- Fixed WPA(2)PSK issue when group cipher of AP is WEP40 or WEP104.
- Modified iwpriv ra0 get_site_survey:
In scan list result: Security shows "NONE" when AP is OPEN/NONE,
shows "WEP" when AP is OPEN/WEP or SHARED/WEP,
shows "WPAPSK(WPA2PSK)/TKIP(AES)" when AP is WPAPSK(WPA2PSK)/TKIP(AES)
shows "WPA(WPA2)/TKIP(AES)" when AP is WPA(WPA2)/TKIP(AES) - Fixed WPS failed with D-Link DIR-628 in 5GHz.
- When cipher is WEP or TKIP, STA would connect to 11N AP with legacy rate.
"iwpriv ra0 set HtDisallowTKIP=val": Enable/Disable N rate with 11N ap when cipher is WEP or TKIP.
val:
0 : FALSE
1 : TRUE
Default setting is disable. - Add "iwpriv ra0 wsc_ap_band val" command for setting prefer band to do WPS with dual band WPS AP.
val:
0 : prefer 2.4G
1 : prefer 5G
2 : auto
Default value is auto (2) - Add "iwpriv ra0 set BeaconLostTime=val" command for user to change Beacon Lost Time.
val:
1 ~ 60 seconds
Default value is 4 seconds - Change FastRoaming in DAT file to AutoRoaming.
Add "iwpriv ra0 set AutoRoaming=val" command for user to enable/disable auto roaming mechanism.
0 : disable
1 : enable
Default setting is disable. - Support kthread.
- Add "iwpriv ra0 set SiteSurvey=val" command for user to scan with specific SSID after Link Up.
val:
0z, 132 ascii characters - Add New A band channel list region 15 contains the whole channels in the A band region 4 and the new CE channel 167,169,171,173.
- New IEEE802.11r functionality.
- Fixed WPA2-Enterprise failed when AP reboot or turn off then turn on.
- Fixed STA cannot connect to 11B only AP when the setting of is PHY_11GN.
- Support Linux Kernel 2.6.28 & 2.6.29 (only 3062 V2.1.0.0 supports this item)
[V2.0.1.0]
- fix eFuse bug on big-endian platform
- fix WMM problem for RT3091/92
- fix one bug for ATE TX power handling and ATE frequency offset bug.
- fix mesh crash issue
- fix RT309x AMPDU throughput bug after interface down/up
- fix RT309x PCI-E compatibility issue.
- fix RT309x difficult to enter power save mode issue.
- fix a bug that is hard to connect with hidden-SSID AP.
[V2.0.0.0]
- Support new chips RT3090/91/92.
- Lots of patch and bug fix from last release.
- Support eFuse.
- Support Antenna Diversity for RT3070.
[1.8.0.0]
- Fixed compile error when CARRIER_DETECTION_SUPPORT is enabled.
- Add "iwpriv ra0 set CarrierDetect=0(or 1)"
- Add new WSC hardware push button function
- Add Ad-Hoc to support N rate.
- Migrate Mesh supporting to Draft-2.0.
- Support WAPI functionality
- Fixed suspend/resume error when ra0 down, ra0 up.
- Support Linux Kernel 2.6.27
- Fixed WPS failed when AP is not in scan table or AP's channel changing after user sets "iwpriv ra0 wsc_start"
- Fixed DLS A-MPDU established failed.
[1.7.0.0]
- Support SIOCSIWGENIE, SIOCGIWGENIE, SIOCSIWMLME, SIOCGIWENCODEEXT, and SIOCSIWPMKSA.
- Support IWEVGENIE in iwlist ra0 scan.
- Support DLS
- Fixed connection failed with Range Maximizer - 515 AP (Marvell Chip) when security is WPAPSK/TKIP.
- Fixed length error of RSN/SSN IE for WpaSupplicant.
- Fixed WPAPSK rekey problem when A-MSDU is enabled.
- Fixed NetworkManager cannot detect ra0 when ra0 is not up.
- Add IEEE802.11d Client Mode: None, Flexible, Strcit.
- Add Station N only mode. (Only connects to N-AP)
- Add Global country domain(ch1-11:active scan, ch12-14 passive scan)
- Enhance PCIe advance power saving
- Modified iwpriv ra0 get_site_survey: When security of AP is OPEN/WEP or SHARED/WEP, show UNKNOW/WEP in scan list.
- When the secondary channel of AP exceeds the country region's range, station will auto fallback to 20MHz. i.e. need both control and secondary channel are both
in country region's channel list. - Fixed crash in LinkDown when there are >64 APs exists.
[V1.6.2.0]
Only DPO project has this version
- Enhance PCIe advance power saving.
- Update rt2860.bin for PCIe advance power saving.
- Fixed length error of RSN/SSN IE for WpaSupplicant.
- Add vendor ID and device ID for EEEPC(VEN_AWT_PCIe_DEVICE_ID 0x1059, VEN_AWT_PCI_VENDOR_ID 0x1A3B)
[V1.6.1.1]
Only DPO project has this version
- Fixed connection failed with Range Maximizer - 515 AP (Marvell Chip) when security is WPAPSK/TKIP
[V1.6.1.0]
- Init MAC register 0x1204 to 0x3
[V1.6.0.0]
- Fixed issue of Radar Channel flag building with HAS_EXT_BUILD_CHANNEL_LIST=n.
- Fixed issue of Adhoc-STA would create in radar channel.
- Support Mesh
- Support Linux Kernel 2.6.24
- Support SNMP
- Support Debug Diagnose
- Add Makefile.NonLoadableModule for non-loadable module
- Add two ioctl commands to change tx long/short retry limit.
- Fixed WPS STA is hard to do WPS process with Broadcom WPS AP Proxy and Marvell WPS External Registrar.
[V1.5.0.0]
- New code base - RT28xx.
- Add BaSmartHardTransmit mechanism.
- Support Linux Kernel 2.6 suspend and resume.
- Support extened channel list.
- Add "iwconfig rate" setting for legacy rate.
- Add make install/uninstall to Makfile.
- Fixed issue of showing SNR1 information.
- ATE: Add command "iwpriv ra0 set ATELDE2P=1" to overwrite all EEPROM contents from a .bin file.
- Change IRQ LOCK to SEM LOCK
- Support Non-GPL MD5
[V1.4.0.0]
- Fixed Legacy Wi-Fi WMM S06 fail.
- Fixed WPAPSK failed when 2860 STA Aggregation is enabled and connects with 2860 N/Aggregation AP.
- Fixed "iwconfig ra0 essid"
- Send DIS-ASSOC request to AP when ra0 down.
- Support 5-GHz band ATE.
- Fixed fixed rate issue in N mode and fixed rate ioctl.
- Add Legacy Power Saving Mode.
- Fixed W52 with Activity scan issue in ABG_MIXED and ABGN_MIXED mode.
- Fixed ping failed with Broadcom N AP when AP is GF enabled and STA is auto rate.
- Support custom wireless event.
- Modify rate adaptation for fast ramp-up tuning.
[V1.3.0.0]
- Support Monitor Mode with WireShark.(Usage: iwconfig ra0 mode monitor)
- Update Rate Adaptation Algorithm.
- Add ATE function(also QA supported).
- Support IPv6 Ethernet Convert Mechanism.
- Support NetworkManager, wpa_supplicant by using wext.
- Fixed Auto Rate Select issue.(When RT2860 Linux STA links up with N-AP then chaged to link up with legacy-AP)
- Fixed Fast-Roaming Fail Issue.
[V1.2.1.0]
- Fixed segmentation fault when size of iwpriv ra0 get_site_survey result exceeded 4096.
- Add MAT related iwpriv commands.
- Add AP's wireless mode info to iwpriv ra0 get_site_survey.
- Modify bitrate info in iwlist ra0 scan.
[V1.2.0.0]
- Update NicConfig2 default value.
- Modify STA to retrieve the MCS of AP(from Beacon) and save to StaActive structure.
- Add WPS re-generate PIN command: iwpriv ra0 wsc_gen_pincode.
- Do NOT re-build M-messages in WPS state machine timeout timer function.
- Fixed compile error in non-DBG mode.
[V1.1.0.0]
- Fixed WI-FI test item 5.2.2.9 #S7, STA will fail to authenticate when AP set fragmentation to 500.
- Fxied iwpriv security setting issue.
- Re-organize the Rx data path.
- Update Tx Power mechanism.
- Support WPS In-band(EAP) & Out-Of-band(UPnP) Enrollee mode and In-band(EAP) Registrar mode.
- Add WPS related iwpriv commands
- Support Dongle/Clone/Dongle+Clone mechanism
- Support Big-Endian.
[V1.0.0.0]
- Chariot Throughput ok
- Driver security support: Open/Shared WEP, WPA-PSK, WPA2-PSK, WPA-NONE.
- Support 32/64-bit OS
- Support A-MPDU and A-MSDU
Package Lean Mt Drivers Mt7615d Src Mt Wifi Embedded Doc History Sta Usb (`package/lean/mt/drivers/mt7615d/src/mt_wifi/embedded/doc/History_sta_usb.txt`)
[V2.5.0.1]
- Fix P2P CLIENT use PBC to connect P2P GO as negotiate by KEYPAD / DISPLAY.
- Fix P2P CLIENT difficult connect on P2P GO need scan times with wrong BSSID.
- Fix P2P CLIENT not use N-rate transmit data to GO.
- Fix P2P concurrent mode as INFRA + P2P_CLIENT with different HT_BW.
- Fix P2P Link Down not turn back to Listen Channel cause can��t be found.
[V2.5.0.0]
- Support WIFI Direct(WIFI P2P).
- supporting Linux Kernel 2.6.35.
- Fixed Ad-hoc issue: STA didn't use legacy rate when STA is Ad-hoc creator and security is OPEN-WEP or WPAPSK-TKIP.
- Fixed WPS issue: Beacon lost when STA tries to do WPS with WPS AP or STA connects to hidden AP.
- Fixed WPS issue: WPS procedure is taking much longer than before.
- Corrected WPS behavior: According to the response from WFA: while doing PBC, STA shall stop if STA finds more than one AP avaliable.
- Fixed issue: WPS failed with Ralink WpaSupplicant when STA's privacy is different from AP's privacy. (for example: AP is WPA2PSK but STA is OPEN)
- Fixed Ralink WpaSupplicant issue - Scan table didn't include RSSI.
- Fixed issue: STA had problem to show 32-bytes SSID when user uses "iwpriv ra0 show SSID" or "iwpriv ra0 stat" to check SSID of WSC profile.
- Fixed issue: If there are two APs have same SSID, AuthMode and EncrypType but different WPAPSK key,
driver will only try the AP with better RSSI.
If that AP with better RSSI has the different WPAPSK with STA,
driver still keeps trying to connect that AP with better RSSI. - Refine the stack size of all functions to be smaller than 1024B.
- Fixed WPS issue: When session overlap detect, the WPS LED will not turn off for WPS LED mode 9 after 2 minutes timeout.
- Fixed issue: Use wrong rate index in send_monitor_packets().
- Improve scan mechanism.
- Fixed issue: STA supports the WPA authentication which group cipher is WEP.
- Support to generate random WSC 4-digits PIN.
- Support Intel WIDI (only DPAW has Intel WIDI)
- Fixed issue: Single SKU Bandedge Delta value decrease all channels transmit power on FCC, it should work on Channel 1 / 11.
[2.4.0.2]
- Fix issue: cannot read new efuse data.
[V2.4.0.0]
- Rename crda.c to cfg80211.c, CRDA_SUPPORT to RT_CFG80211_SUPPORT.
- Fix issue in 64bit CPU:
(1) WMM ACM: see history of acm_comm.c.
(2) Fix function RTMP_MapChannelID2KHZ(). - Fix issue: error link list usage in 11r ric module in station mode.
- Add an ATE command for AUTOALC.
- Add an ATE command for interpacket GAP.
- Add an ATE command for ATE payload pattern.
- Fix issue: some reports from Prevent software analysis tool.
- Fix WPS issue: some PIN cannot set successfully.(ex. 89134498)
- Fix issue: STA send null frame with QoS field when STA connected to non-WMM AP.
- Suport RFKILL: DO NOT set HAS_RFKILL_HW_SUPPORT=y in config.mk if device doesn't have HW radio on/off button.
- Reduce data packet lost while doing scan if STA already connects to AP.
- Fix issue: If there are two APs with same SSID and security mode but have different WPAPSK,
STA may always connect to AP with different WPAPSK if the RSSI of that AP is better than the correct one. - Support TxRx ring PRE-ALLOC in probe stage: set RESOURCE_PRE_ALLOC=y in config.mk.
- Shorten the connection time: set FastConnect=1 in DAT file.
- Update rt2870.bin: for fixing the 5G band RSSI loss in LED MODE 6/7/8/9/b/c.
- Fix Adhoc issue: If there are more than 2 peers exist, driver didn't delete peer from entry table unless all peers left.
- Fix issue: Correct RSSI, SNR, Noise calculations
- Fix issue: STA cannot connect to OPEN-WEP AP if WpaSupplicant set WEPAUTO(IW_AUTH_ALG_SHARED_KEY | IW_AUTH_ALG_OPEN_SYSTEM) to driver.
[2.3.1.0]
- CFG80211: Patch for Linux 2.6.32.
[2.3.0.0]
- Support PSP XLINK in ad-hoc mode.
- Add mac80211 iw utility other commands support.
- Fix issue: The start address of HeaderBuf must be aligned by 4 when
VENDOR_FEATURE1_SUPPORT is enabled. - WMM ACM: see history of acm_comm.c.
- Support WpaSupplicant(v0.6.9) WPS
- Fix WPS issue: Check SelectRegistrar is TRUE or FALSE
- Fix WPS issue: Some AP (ex. Buffalo WZR-AG300NH) would change SSID to another SSID after push WPS PBC button.
After WPS process finish, change SSID to original SSID.
Driver needs to wait AP to re-generate Beacon; otherwise, driver will update this PBC SSID to MlmeAux. - Shorten the waiting time when unplug the device.
- Fix mgmt ring full issue: It happened only in big-endian platform and quickly switch the network type between Infra and Adhoc mode.
- Fix statistics issue: It happened in big-endian platform, tx count would be zero.
- Support WiFi Draft_3.0 11n test items.
- Support Linux Kernel 2.6.31
- Support Ad-hoc WPS2PSK/AES (DPO doesn't support this item)
- Support Samsung Auto Provision (only for Samsung Project)
- For GPL issue: Separate three kernel modules - util module, driver module, netif module. util module and netif module could license GPL.
Driver module couldn't license GPL.
[V2.2.0.0]
- Fixed issue of showing wrong statistics value.
- Fixed problem of showing wrong SNR in wireless extension scan list.
- Fixed WPA2PSK failed with some AP if key length is not zero in pairwise_msg_2 and pairwise_msg_4.
- Add HAS_STATS_COUNT compile option.
- Support TDLS.
- Support Client WDS.
- Support WMM ACM (Pass WiFi Test Plan v0.30).
- Support the MAC assignment from configuration file(.dat).
- Support Ethernet Convert in Ad-hoc mode.
- Support SKU.
[V2.1.2.0]
DPA/DPB/DPC/DPD
- Short GI sampling improvement.
- Support Linux Kernel 2.6.29
- Fixed driver would send zero IWEVASSOCREQIE to Native WpaSupplicant.
- Fixed driver would send non-zero BSSID to Navtive WpaSupplicant when STA disconnecting to AP.
- Check Addr1, Addr2 and Addr3 of de-auth packet from AP (driver only checked Addr2 of de-auth packet before).
[V2.1.2.0]
DPO
- Short GI sampling improvement.
- Check Addr1, Addr2 and Addr3 of de-auth packet from AP (driver only checked Addr2 of de-auth packet before).
[V2.1.1.0]
Only DPO project has this version
- Fixed that Enqueue command to command thread would fail when HAS_KTHREAD_SUPPORT=n in config.mk.
- Fixed driver would send zero IWEVASSOCREQIE to Native WpaSupplicant.
- Fixed driver would send non-zero BSSID to Navtive WpaSupplicant when STA disconnecting to AP.
- Support 2.6.29
[V2.1.0.0]
New generation schema for multiple OS porting
New chip support for RT3572
Fixed Ad-hoc ping failed in noisy environment. (Probe Response has too many retry packet then cause "not enough space in MgmtRing")
Modified iwpriv ra0 get_site_survey:
In scan list result: Security shows "NONE" when AP is OPEN/NONE,
shows "WEP" when AP is OPEN/WEP or SHARED/WEP,
shows "WPAPSK(WPA2PSK)/TKIP(AES)" when AP is WPAPSK(WPA2PSK)/TKIP(AES)
shows "WPA(WPA2)/TKIP(AES)" when AP is WPA(WPA2)/TKIP(AES)Fixed WPS failed with D-Link DIR-628 in 5GHz.
When cipher is WEP or TKIP, STA would connect to 11N AP with legacy rate.
"iwpriv ra0 set HtDisallowTKIP=val": Enable/Disable N rate with 11N ap when cipher is WEP or TKIP.
val:
0 : FALSE
1 : TRUE
Default setting is disable.Add "iwpriv ra0 wsc_ap_band val" command for setting prefer band to do WPS with dual band WPS AP.
val:
0 : prefer 2.4G
1 : prefer 5G
2 : auto
Default value is auto (2)Add "iwpriv ra0 set BeaconLostTime=val" command for user to change Beacon Lost Time.
val:
1 ~ 60 seconds
Default value is 4 secondsChange FastRoaming in DAT file to AutoRoaming.
Add "iwpriv ra0 set AutoRoaming=val" command for user to enable/disable auto roaming mechanism.
0 : disable
1 : enable
Default setting is disable.Support kthread.
Add "iwpriv ra0 set SiteSurvey=val" command for user to scan with specific SSID after Link Up.
val:
0z, 132 ascii charactersAdd New A band channel list region 15 contains the whole channels in the A band region 4 and the new CE channel 167,169,171,173.
New IEEE802.11r functionality.
New eFuse function and eFuse buffer mode.
fix mesh bugs.
fix mesh connection problem after setting WAPI security mode.
bug fixes.
[V2.0.1.0]
0. Finished verifying RT3071 STA support.
- fix eFuse bug on big-endian platform
- fix WMM problem for RT3071/72
- fix one bug for ATE TX power handling and ATE frequency offset bug.
- fix mesh crash issue
- fix RT307x AMPDU throughput bug after interface down/up
- fix RT307x difficult to enter power save mode issue.
- fix a bug that is hard to connect with hidden-SSID AP.
- update RT307x new firmware.
[V2.0.0.0]
- Support new chips RT3070/71/72.
- Lots of patch and bug fix from last release.
- Support eFuse.
- Support Antenna Diversity for RT3070.
[V1.4.0.0]
- Add IWEVGENIE in iwlist ra0 scan.
- Add new WSC hardware push button function
- Add Ad-Hoc to support N rate.
- Add "iwpriv ra0 set CarrierDetect=0(or 1)"
- Add Station N only mode in Infra mode. (Only connects to N-AP)
- Add Global country domain(ch1-11:active scan, ch12-14 passive scan)
- Fixed connection failed with Range Maximizer - 515 AP (Marvell Chip) when security is WPAPSK/TKIP.
- Fixed crash in LinkDown when there are >64 APs exists.
- Fixed compile error when CARRIER_DETECTION_SUPPORT is enabled.
- Fixed suspend/resume error when ra0 down, ra0 up
- Modified iwpriv ra0 get_site_survey: When security of AP is OPEN/WEP or SHARED/WEP, show UNKNOW/WEP in scan list.
- When the secondary channel of AP exceeds the country region's range, station will auto fallback to 20MHz. i.e. need both control and secondary channel are both
in country region's channel list. - Migrate Mesh supporting to Draft-2.0.
- Support DLS
- Support WAPI functionality
- Support Linux Kernel 2.6.27
- Fixed WPS failed when AP is not in scan table or AP's channel changing after user sets "iwpriv ra0 wsc_start"
- Add WPS Wireless Event strings.
- Fixed WPA(2)PSK issue when group cipher of AP is WEP40 or WEP104.
[V1.3.1.0]
- Fixed compile error on Linux Kernel 2.6.26
- Fixed length error of RSN/SSN IE for WpaSupplicant.
[V1.3.0.0]
- Fixed issue of Radar Channel flag building with HAS_EXT_BUILD_CHANNEL_LIST=n.
- Fixed issue of Adhoc-STA would create in radar channel.
- Fixed LED issue of "ifconfig ra0 down".
- Support Mesh (DPO doesn't have Mesh mechanism.)
- Support Linux Kernel 2.6.24
- Support SNMP
- Support Debug Diagnose
- Add IEEE802.11d Client Mode: None, Flexible, Strcit.
- Add two ioctl commands to change tx long/short retry limit.
- Fixed WPS STA is hard to do WPS process with Broadcom WPS AP Proxy and Marvell WPS External Registrar.
- Fixed WPS STA didn't send dis-assoc to AP after WPS processing.
- Fixed WPAPSK rekey problem when A-MSDU is enabled.
[V1.2.2.0]
- Fixed TX Bulk-Out Failed issue.
- Fixed "iwlist ra0 scan" to show wpa_ie and rsn_ie when AP is WPAPSKWPA2PSK.
- Support extened channel list.
[V1.2.1.0]
- Fixed rate issue on Adhoc mode.
- Fixed other Adhoc STA re-join failed with security.
- Add "iwconfig rate" setting for legacy rate.
- ATE: Add command "iwpriv ra0 set ATELDE2P=1" to overwrite all EEPROM contents from a .bin file.
- Fixed issue of showing SNR1 information.
- Add make install/uninstall to Makfile.
[V1.2.0.0]
- New code base - RT28xx
- Add Legacy Power Saving Mode.
- Add BaSmartHardTransmit mechanism.
- Modify rate adaptation for fast ramp-up tuning.
- Support custom wireless event.
- Support Ethernet Convert Mechanism.
- Support Linux Kernel 2.6 suspend and resume.
- Fixed W52 with Activity scan issue in ABG_MIXED and ABGN_MIXED mode.
- Fixed fixed rate issue in N mode and fixed rate ioctl.
[V 1.1.0.0]
- WPS support.
- Modified Link Status related information for Ralink WebUI.
- Support WPA/WPA2-Enterprise and 802.11X WEP by using WPA_SUPPLICANT.
- Fixed Ralink WebUI scan fault bug.
- Fixed 1x authentication issue that STA will fail to authenticate when AP set fragmentation to 500.
- Fixed WPS failed with Marvell external registrar.
- Fixed mlme thread didn't de-queue when mlme queue full happened.
- Fixed Adhoc WPANONE failed by setting from Ralink WebUI.
- Fixed WPA(2)PSK failed when encryption type of AP is TKIP+AES.
- Fixed Linux Kernel would dump warning messages when do RTUSB_VendorRequest in irq lock.
[V 1.0.0.0]
Create RT2870STA
Supported:
- Security Mode : OPEN/NONE, OPEN/WEP, SHARED/WEP, WPA(2)PSK/TKIP, WPA(2)PSK/AES, WPANONE/TKIP, WPANONE/AES.
- WMM capable.
- HT MPDU Aggregation.
- Little endian, x86 platform.
- Ralink WebUI
Package Lean Mt Drivers Mt7615d Src Mt Wifi Embedded Doc Ate Iwpriv Usage (`package/lean/mt/drivers/mt7615d/src/mt_wifi/embedded/doc/ate_iwpriv_usage.txt`)
===================================================================================================
ATE Test Command Format for station driver
****** IMPORTANT ******
If you are not familiar with hardware, it is recommanded not to modify hardware default value.
It may damage hardware.
===================================================================================================
Usage:
iwpriv ra0 [act] [parameters]=[val]
where
[act] [parameters] [val] constraints explaination
=====================================
- Set ATE actions.
Value:
ATESTART - Stop AP & ATE function.
ATESTOP - Start AP function.
TXCONT - Start AP continuous TX, for power mask.
TXCARR - Start AP carrier test, for frequency calibration.
TXFRAME - Transmit frame, for EVM.
RXFRAME - Continuous RX, for PER/FER.
1.1 ATEDA
Set ATE frame header destination address.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.2 ATESA
Set ATE frame header source addr.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.3 ATEBSSID
Set ATE frame header BSSID.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.4 ATECHANNEL
Set ATE Channel, deimal.
Value:
802.11b/g: 1 ~ 14 depends on CountryRegion setting
1.5 ATETXPOW0
Set ATE Tx power for Antenna 1.
Value:
0 ~ 31 ; 2.4GHz, deimal
-7 ~15 ; 5.5GHz, deimal
1.6 ATETXPOW1
Set ATE Tx power for Antenna 2.
Value:
0 ~ 31 ; 2.4GHz, decimal
-7 ~15 ; 5.5GHz, deimal
1.7 ATETXFREQOFFSET
Set ATE RF frequency offset.
Value:
0 ~ 63 ; unit: 2KHz, decimal
1.8 ATETXLEN
Set ATE frame length.
Value:
24 ~ 2312 ; decimal
1.9 ATETXCNT
Set ATE frame Tx count.
Value:
1 ~ ; 32-bit, decimal
1.10 ATETXMODE (Refer to TxMode)
Set ATE Tx Mode.
Value:
0: CCK 802.11b
1: OFDM 802.11g
2: HT_MIX 802.11b/g/n
3: Green Field 802.11n
1.11 ATETXBW (Refer to TxMode)
Set ATE Tx and Rx Bandwidth.
Value:
0: 20MHz
1: 40MHz
1.12 ATETXGI (Refer to TxMode)
Set ATE Tx Guard Interval.
Value:
0: Long
1: Short
1.13 ATETXMCS (Refer to TxMode)
Set ATE Tx MCS type.
Value:
0 ~ 15
1.14 ATETXANT
Set ATE TX antenna.
Value:
0: All
1: Antenna one
2: Antenna two
1.15 ATERXANT
Set ATE RX antenna.
Value:
0: All
1: Antenna one
2: Antenna two
3: Antenna three
1.16 ATERXFER
Set ATE to periodically reset and show up RxCount (per-second) and RxTotalCount.
Value:
0: Disable counter visability
1: Enable counter visability
1.17 ATESHOW
Show all parameters of ATE.
Value:
1
1.18 ATEHELP
List all commands of ATE.
Value:
1
1.19 ResetCounter
Reset statistic counter.
Value:
1
1.20 ATERRF
Read all of the RF registers.
Value:
1
1.21 ATEWRF1
Write the RF register 1.
Value:
xxxxxxxx ;32-bit, hex
1.22 ATEWRF2
Write the RF register 2.
Value:
xxxxxxxx ;32-bit, hex
1.23 ATEWRF3
Write the RF register 3.
Value:
xxxxxxxx ;32-bit, hex
1.24 ATEWRF4
Write the RF register 4.
Value:
xxxxxxxx ;32-bit, hex
1.25 ATELDE2P
Overwrite all EEPROM contents from "/etc/Wireless/RT2860/(70)AP(/STA)/e2p.bin".
Value:
1
E.g.
iwpriv ra0 set ATELDE2P=1
1.26 ATERE2P
Display all EEPROM content.
Value:
1
E.g.
iwpriv ra0 set ATERE2P=1
===================================================================================================
2. Examples:
=========
2.1 Check EVM & Power
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATEDA=00:11:22:33:44:55
iwpriv ra0 set ATESA=00:aa:bb:cc:dd:ee
iwpriv ra0 set ATEBSSID=00:11:22:33:44:55
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXGI=0 ; set Long GI.
iwpriv ra0 set ATETXLEN=1024 ; set packet length.
iwpriv ra0 set ATETXPOW0=18
iwpriv ra0 set ATETXPOW1=18
iwpriv ra0 set ATETXCNT=100000
iwpriv ra0 set ATE=TXFRAME
�K
iwpriv ra0 set ATETXPOW0=19
�K
iwpriv ra0 set ATETXPOW0=20
�K
iwpriv ra0 set ATE=ATESTART
2.2 Check Carrier
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame(inform BBP to change, modulation mode)
iwpriv ra0 set ATE=TXCARR ; Start Tx carrier, Measure carrier with instrument
iwpriv ra0 set ATETXPOW0=05
iwpriv ra0 set ATETXPOW1=05
iwpriv ra0 set ATETXFREQOFFSET=19
iwpriv ra0 set ATE=ATESTART
2.3 Check specturm mask
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame(inform BBP to change, modulation mode)
iwpriv ra0 set ATE=TXCONT ; Start continuous TX, Measure specturm mask with instrument
iwpriv ra0 set ATETXPOW0=5
iwpriv ra0 set ATETXPOW1=5
iwpriv ra0 set ATE=ATESTART
2.4 Frequency offset tuning
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATETXFREQOFFSET=0 ; Set frequency offset 0(decimal)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame
iwpriv ra0 set ATE=TXCARR ; Start Tx carrier, Measure carrier frequency with instrument
iwpriv ra0 set ATETXFREQOFFSET=10 ; Dynamic turning frequency offset, 10(decimal)
iwpriv ra0 set ATETXFREQOFFSET=20 ; Dynamic turning frequency offset, 20(decimal)
iwpriv ra0 set ATE=ATESTART ; Stop, Store the tuning result to EEPROM
2.5 Rx
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ResetCounter=1 ; Reset statistic counter
iwpriv ra0 set ATETXFREQOFFSET=value ;To use the ��value��(decimal) you got in tx calibration
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATE=RXFRAME ; Start Rx,
iwpriv ra0 set ATERXFER=1 ; show RxCnt and RSSI/per-antenna, Transmit test packets
iwpriv ra0 set ATE=ATESTART ; Stop
iwpriv ra0 stat ; get statistics counter
iwpriv ra0 set ATERXFER=1
iwpriv ra0 set ATERXANT=1
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATERXANT=0
iwpriv ra0 set ATE=RXFRAME2.6 Show all ate parameters
iwpriv ra0 set ATESHOW=1
Mode=4
TxPower0=0
TxPower1=0
TxAntennaSel=0
RxAntennaSel=0
BBPCurrentBW=0
GI=0
MCS=7
TxMode=1
Addr1=00:11:22:aa:bb:cc
Addr2=00:11:22:aa:bb:cc
Addr3=00:11:22:aa:bb:cc
Channel=1
TxLength=1024
TxCount=40000
TxRate=11
RFFreqOffset=02.7 Online help
iwpriv ra0 set ATEHELP=1
ATE=ATESTART, ATESTOP, TXCONT, TXCARR, TXFRAME, RXFRAME
ATEDA
ATESA
ATEBSSID
ATECHANNEL, range:0~14(unless A band !).
ATETXPOW0, set power level of antenna 1.
ATETXPOW1, set power level of antenna 2.
ATETXANT, set TX antenna. 0: all, 1: antenna one, 2: antenna two.
ATERXANT, set RX antenna.0: all, 1: antenna one, 2: antenna two, 3: antenna three.
ATETXFREQOFFSET, set frequency offset, range 0~63.
ATETXBW, set BandWidth, 0:20MHz, 1:40MHz.
ATETXLEN, set Frame length, range 24~2312.
ATETXCNT, set how many frame going to transmit.
ATETXMCS, set MCS, reference to rate table.
ATETXMODE, set Mode 0: CCK, 1: OFDM, 2: HT-Mix, 3: GreenField, reference to rate table.
ATETXGI, set GI interval, 0: Long, 1: Short.
ATERXFER, 0: disable Rx Frame error rate. 1: enable Rx Frame error rate.
ATERRF, show all RF registers.
ATEWRF1, set RF1 register.
ATEWRF2, set RF2 register.
ATEWRF3, set RF3 register.
ATEWRF4, set RF4 register.
ATELDE2P, load EEPROM from .bin file.
ATERE2P, display all EEPROM content.
ATESHOW, display all parameters of ATE.
ATEHELP, online help.2.8 Display Rx Packet Count and RSSI
iwpriv ra0 set ATERXANT=0 ==> Enable All Three Rx Antennas
iwpriv ra0 set ATERXFER=1 ==> Enable Rx Frame Error Rate: RxCnt/RxTotal
iwpriv ra0 set ATE=RXFRAME ==> Start Rx
MlmePeriodicExec: Rx packet cnt = 2/4
MlmePeriodicExec: Rx AvgRssi0=-88, AvgRssi1=-80, AvgRssi2=-91
MlmePeriodicExec: Rx packet cnt = 2/6
MlmePeriodicExec: Rx AvgRssi0=-86, AvgRssi1=-77, AvgRssi2=-89�K
�K
iwpriv ra0 set ATERXANT=1 ==> Enable Three Rx Antenna-1
iwpriv ra0 set ATERXFER=1 ==> Enable Rx Frame Error Rate: RxCnt/RxTotal
iwpriv ra0 set ATE=RXFRAME ==> Start Rx
MlmePeriodicExec: Rx packet cnt = 0/7
MlmePeriodicExec: Rx AvgRssi=-87
MlmePeriodicExec: Rx packet cnt = 7/14
MlmePeriodicExec: Rx AvgRssi=-90
�K
�K===================================================================================================
3. Hardware Access
==================
=====================================
3.1 iwpriv ra0 bbp [parameters]=[Value]
Read/Write BBP registers by ID number.
BBPID
3.1.1 Read BBP register, BBPID only, no ��=�� symbol.
BBPID:
0 ~ xx ; decimal, 8-bit
BBPID=Value
3.1.2 Write BBP register.
BBPID:
0 ~ xx ; decimal, 8-bit
Value:
00 ~FF ; hexdecimal, 8-bit
=====================================
3.2 iwpriv ra0 mac [parameters]=[val]
Read/Write MAC registers by offset.
MAC_OFFSET
3.2.1 Read MAC register, MAC_OFFSET only, no ��=�� symbol.
MAC_OFFSET:
0000 ~ FFFF ; hexdecimal, 16-bit
MAC_OFFSET=Value
3.2.2 Write MAC register.
MAC_OFFSET:
0000 ~ FFFF ; hexdecimal, 16-bit
Value:
0000 ~FFFF ; hexdecimal, 32-bit
=====================================
3.3 iwpriv ra0 e2p [parameters]=[val]
Read/Write EEPROM content by address.
EEP_ADDR
3.3.1 Read EEPROM content, EEP_ADDR only, no ��=�� symbol.
EEP_ADDR:
00 ~ FF ; hexdecimal, 16-bit alignment (0, 2, 4, 6, 8, A, C, �K)
EEP_ADDR=Value
3.3.2 Write EEPROM content.
EEP_ADDR:
00 ~ FF ; hexdecimal, 16-bit alignment (0, 2, 4, 6, 8, A, C, �K)
Value:
0000 ~FFFF ; hexdecimal, 16-bit
=====================================
3.4 Example
3.4.1 Hardware access
iwpriv ra0 bbp 0 # read BBP register 0
iwpriv ra0 bbp 0=12 # write BBP register 0 as 0x12
iwpriv ra0 mac 0 # read MAC register 0
iwpriv ra0 mac 0=1234abcd # write MAC register 0 as 0x1234abcd
iwpriv ra0 e2p 0 # read E2PROM 0
iwpriv ra0 e2p c=12ab # write E2PROM 0xc as 0x12ab
3.4.2 Statistic counter operation
iwpriv ra0 stat # read statistic counter
iwpriv ra0 set ResetCounter=0 # reset statistic counter
Suggestion:
1. To turn on ATE functionality, you have to add compile flag "CONFIG_ATE" to Makefile
2. Before doing ATE testing, please stop AP function
3. If you want to test another ATE action, prefer to stop AP & ATE function
4. All ATE function settings will lose efficacy after reboot.
5. Before hardware register access, please reference hardware spec.
Note.
In ATE mode, the channel must set via "ATECHANNEL"===================================================================================================
4. ated
=======
4.1 Introduction
The ated is an optional user space component for RT28xx Linux driver.
When Windows GUI starts, AP enters ATE mode (i.e.,ATESTART) immediately.
It behaves as a proxy between Windows GUI and RT28xx Linux driver when ATE process proceeds.
The ated will be killed automatically when Windows GUI is closed.
You can kill it manually, too(for example, type '$killall ated').
RT28xx linux driver will leave ATE mode either ated is killed or Windows GUI is closed.
4.2 Environment setup
- Connect the platform you want to test directly with a Windows host by ether network line.
- In the Windows host, run WinPcap_4_0.exe for the QA GUI or ./RT2880_ATE/RaUI.exe(please unrar "RT2880_ATE.rar" to get it).
4.3 How to use ated for ATE purpose
0. First you should set both "HAS_ATE=y" and "HAS_QA_SUPPORT=y" in the file ~/Module/os/linux/config.mk and compile the driver.
- Modify the Makefile according to our target "PLATFORM".
- Change the path of "CROSS_COMPILE" if needed.
- Then type 'make' command to compile the source code of the daemon.
- After the driver interface has started up, attach both of the wireless interface and the ethernet interface to the bridge interface.
- If you have no bridge interface, please give an IP address to the ethernet interface.
(for example : '$ated -beth0') - After the interfaces have entered forwarding states, manually start ated, type '$ated -bbrX -iraX'.
- If your WLAN interface and Bridge interface is "ra0" and "br0" respectively, just type $ated.
(For further usage of options, type $ated -h) - In the Windows host, run RT28xxQA_ATE.exe or ./RT2880_ATE/RaUI.exe.
- Select the wired network adapter, then press OK and wait for a moment.
10.If the Windows host cannot tolerate such a broadcast storm from ated,
please run ated with option -u.(for example : '$ated -ira1 -u')
11.If your target platform concerns its network security, please run RT28xxQA_unicast.exe instead of RT28xxQA_ATE.exe.
Note :
a. The names of WLAN interface(default is "ra0") and Bridge interface(default is "br0") must be specified manually(for example : '$ated -bbr1 -ira2') if your WLAN interface or Bridge interface is not "ra0" or "br0" respectively !
b. Please make sure no other RaUI is running before you excute ./RT2880_ATE/RaUI.exe.
Package Lean Mt Drivers Mt7615d Src Mt Wifi Embedded Doc Brftph Usage (`package/lean/mt/drivers/mt7615d/src/mt_wifi/embedded/doc/brftph_usage.txt`)
/****************************************************************************
- Ralink Tech Inc.
- 4F, No. 2 Technology 5th Rd.
- Science-based Industrial Park
- Hsin-chu, Taiwan, R.O.C.
- (c) Copyright 2002, Ralink Technology, Inc.
- All rights reserved. Ralink's 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 Ralink Tech. 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 Ralink Technology, Inc. is obtained.
****************************************************************************/
The steps for bridge fast path function in wireless driver:
- Change HAS_BGFP_SUPPORT=y and HAS_BGFP_OPEN_SUPPORT=y
Note1: When you just only want to enable fast path in WLAN module, you can
only enable HAS_BGFP_SUPPORT.
Note2: When you want to enable fast path in WLAN and Ethernet module, you
need to enable HAS_BGFP_SUPPORT and HAS_BGFP_OPEN_SUPPORT.
The steps for bridge fast path function in ethernet driver:
- Find the function you pass received packets to upper layer.
- Path code to the function.
Note: If the ethernet driver is a library type, i.e. ***.ko, you must insert
the ethernet driver to the Linux kernel before RALINK WLAN driver.
For examples:
Declare a symbol and a function prototype.
UINT32 (*RALINK_FP_Handle)(PNDIS_PACKET pPacket);
EXPORT_SYMBOL(RALINK_FP_Handle);Support your received handler, called packet_forward()
In Linux, find the keyword, netif_rx(), such as
packet_forward()
{
......
// pass the packet to upper layer
skb->protocol = eth_type_trans(skb, skb->dev);
netif_rx(skb);
}Change the code segment to
packet_forward()
{
UINT32 HandRst = 1;
......
if (RALINK_FP_Handle != NULL)
HandRst = RALINK_FP_Handle(skb);
if (HandRst != 0)
{
// pass the packet to upper layer
// printk("pass to upper layer!\n");
skb->protocol = eth_type_trans(skb, skb->dev);
netif_rx(skb);
}
}
Package Lean Mt Drivers Mt7615d Src Mt Wifi Embedded Doc Header Translation (`package/lean/mt/drivers/mt7615d/src/mt_wifi/embedded/doc/header_translation.txt`)
Tx Feature:
-AMPDU
-QoS Data
-Non Qos Data
-WDS Data(Not Mesh)
-IBSS Data
-Packet Sequence Number Maintain
-HTC insertion(RDG)
-HTC insertion
-(TXBF Sounding Frame)
-IPX(8137)
-AppleTalk(80F3)
-LLC Tunnel(AAAA03000000/ AAAA030000F8)
-VLAN Remove (per pkt control)
TXD
-HF (00: non-802.11 data frame) (pTxBlk->NeedTrans)
-ETYPE (1: indicate that this frame is an Ehternet-II frame which type/len >= 1536(0x600)) (RTMP_GET_PACKET_PROTOCOL(pkt) need check if already 802.3 packet in )
-VLAN (0: no VLAN field, 1: exist VLAN field) (RTMP_GET_PACKET_VLAN(pkt))
-RMVL (0: keep VLAN field, 1: remove VLAN field) (dat setting, current setting use 1 that remove vlan)
-MRD (More Data: TX_BLK_TEST_FLAG(pTxBlk, fTX_bMoreData))
-EOSP (End of service period: TX_BLK_TEST_FLAG(pTxBlk, fTX_bWMM_UAPSD_EOSP))
-PF (pTxBlk->CipherAlg)
-HE (must be 0)
-DAS
-OM[5:0]
-NA
-Header Padding (padding the dummy bytes in the head of header)
WTBL
-PA
-QoS (will be set when peer side has HT capability)
-TD (According to mac_entry->EntryType and )
-FD (According to entry type)
Tx Translation rule
Frame Control Field[15:0]
-Protocol version (fixed value: 0x00)
-Type[1:0] =2'b10 (Data SW guarantee)
-SubType[3:0]=4'b0000 (non-QoS) or 4'b1000(QoS) = WTBL.QoS bit
-ToDS = WTBL.TD
-FromDS = WTBL.FD
-MoreFrag = 1'b0 (fragment packet should be 802.11 format)
-Retry - HW generate
-PwrMgt
-MoreData = TxD.MRD
-ProtectFrame = TxD.PF
-Order = TxD.HE (must be 0)
Duration/ID[15:0] = 16'h0 (TMAC will replace this)
A1-A4
DA = (TxD.DAS = 0, DA in MSDU) or (TxD.DAS = 1, PA in WTBL) (use TMI_DAS_FROM_MPDU for TxD.DAS)
SA = SA in MSDU (DMA read it from header buffer)
BSSID = select by TxD.OM[5:0] for multiple BSSID
RA = PA in WTBL
TA = select by TxD.OM[5:0]
Sequence Control field[15:0] = HW prepare
QoS Control [15:0]
TID[3:0] = TxD.TID (pTxBlk->UserPriority)
EOSP(bit 4) = TxD.EOSP
Ack Policy[1:0]
= 2'b01 if TxD.NA == 1
= 2'b00 if TxD.NA == 0 and not PSMP queue (AC6)
= 2'b10 if PSMA queue (AC6), TxD.NA must be 0
A-MSDU = 1'b0
QoS Control [15:8] = 8'h0 (Not support Mesh-TX header translation)
Driver Tx path:
1.not need to touch skb->data packet
2.Only build txd header and fill related information for ethernet-ii or 802.3 packet
Rx Feature:
-Translation Enable/Disable (DCR.RX_HDR_TRANS_EN / DCR.RX_HDR_TRANS_CHK_BSSID)
-Translation Enable/Disable per Peer (WTBL.DIS_RHTR)
-QoS Data
-Non-QoS Data
-MPDU carry a MSDU
-MPDU carry a AMSDU
-No Error packet convert
-Fragment data convert
Package Lean Mt Drivers Mt7615d Src Mt Wifi Embedded Doc Iwpriv Usage (`package/lean/mt/drivers/mt7615d/src/mt_wifi/embedded/doc/iwpriv_usage.txt`)
iwpriv
This is detailed explanation of each parameters for iwpriv.
Before reading this document, make sure you already read README.
USAGE:
iwpriv ra0 commands val
NOTE:
Wireless Extension Private Handlers
where
[commands] [val]
{range}
wsc_conf_mode {0, 1, 2}
::Set WPS conf mode
0: WPS Disabled
1: Enrollee
2: Registrar
wsc_mode {1, 2}
::PIN or PBC
1: PIN
2: PBC
wsc_pin {00000000 ~ 99999999}
::Set Enrollee's PIN Code
wsc_ssid {0z, 132 ascii characters}
::Set WPS AP SSID
wsc_start NULL
::Trigger RT2860 STA driver to do WPS process
wsc_stop NULL
::Stop WPS process
wsc_gen_pincode NULL
::Generate new PIN code
wsc_cred_count {1 ~ 8}
::Set count of WPS credential
wsc_cred_ssid {"idx ssid_str"}
::Set SSID into credtentail[idx]
idx: 0 ~ 7
ssid_str: 0z, 132 ascii characters
wsc_cred_auth {"idx auth_str"}
::Set AuthMode into credtentail[idx]
idx: 0 ~ 7
auth_str: OPEN, WPAPSK, WPA2PSK, SHARED, WPA, WPA2
wsc_cred_encr {"idx encr_str"}
::Set EncrypType into credtentail[idx]
idx: 0 ~ 7
encr_str: NONE, WEP, TKIP, AES
wsc_cred_keyIdx {"idx key_index"}
::Set Key Index into credtentail[idx]
idx: 0 ~ 7
key_index: 1 ~ 4
wsc_cred_key {"idx key"}
::Set Key into credtentail[idx]
idx: 0 ~ 7
key: ASCII string (wep_key_len(=5,13), passphrase_len(=8~63))
OR
Hex string (wep_key_len(=10,26), passphrase_len(=64))
wsc_cred_mac {"idx mac_str"}
::Set AP's MAC into credtentail[idx]
idx: 0 ~ 7
mac_str: xx:xx:xx:xx:xx:xx
wsc_conn_by_idx {0 ~ 7}
::Connect AP by credential index
wsc_auto_conn {0, 1}
::Set driver to re-connecting to AP or not after registration.
0: Disabled, driver won't re-connect to AP with new configurations.
1: Enabled, driver will re-connect to AP with new configurations.
wsc_ap_band {0, 1, 2}
::Set prefer band to do WPS with dual band WPS AP
0 : prefer 2.4G
1 : prefer 5G
2 : auto
Default value is auto (2)
USAGE:
iwpriv ra0 set [parameters]=[val]
NOTE:
Execute one iwpriv/set command simultaneously.
where
[parameters] [val]
{range}
CountryRegion {0~7}
::Set country region
0: 1 ~ 11 ch
1: 1 ~ 13 ch
2: 10, 11 ch
3: 10 ~ 13 ch
4: 14 ch
5: 1 ~ 14 ch
6: 3 ~ 9 ch
7: 5 ~ 13 ch
31: 1 ~ 14 ch (ch1-11:active scan, ch12-14 passive scan)
CountryRegionABand {0~11}
::Set country region for A band
0: 36, 40, 44, 48, 52, 56, 60, 64, 149, 153, 157, 161, 165 ch
1: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140 ch
2: 36, 40, 44, 48, 52, 56, 60, 64 ch
3: 52, 56, 60, 64, 149, 153, 157, 161 ch
4: 149, 153, 157, 161, 165 ch
5: 149, 153, 157, 161 ch
6: 36, 40, 44, 48 ch
7: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 149, 153, 157, 161, 165 ch
8: 52, 56, 60, 64 ch
9: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 132, 136, 140, 149, 153, 157, 161, 165 ch
10: 36, 40, 44, 48, 149, 153, 157, 161, 165 ch
11: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 149, 153, 157, 161 ch
SSID {0z, 132 ascii characters}
::Set AP SSID
WirelessMode {0~10}
::Set Wireless Mode
0: legacy 11b/g mixed
1: legacy 11B only
2: legacy 11A only
3: legacy 11a/b/g mixed
4: legacy 11G only
5: 11ABGN mixed
6: 11N only
7: 11GN mixed
8: 11AN mixed
9: 11BGN mixed
10: 11AGN mixed
Channel depends on CountryRegion or CountryRegionForABand
::Set Channel
BGProtection {0~2}
::Set 11B/11G Protection
0:Auto,
1:Always on,
2:Always off
TxPreamble {0~2}
::Set TxPreamble
0:Preamble Long,
1:Preamble Short,
2:Auto
RTSThreshold {1~2347}
::Set RTS Threshold
FragThreshold {256~2346}
::Set Fragment Threshold
TxBurst {0,1}
::Set TxBurst Enable or Disable
0:Disable,
1:Enable
NetworkType {Infra,Adhoc}
::Set Network type
AuthMode {OPEN,SHARED,WEPAUTO,WPAPSK,WPA2PSK,WPANONE}
::Set Authentication Mode
EncrypType {NONE,WEP,TKIP,AES}
::Set Encryption Type
DefaultKeyID {1~4}
::Set Default Key ID
Key1 {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
::Set Key1 String
Key2 {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
::Set Key2 String
Key3 {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
::Set Key3 String
Key4 {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
::Set Key4 String
WPAPSK {8~63 ascii or 64 hex characters}
::WPA Pre-Shared Key
WmmCapable {0,1}
::Set WMM Capable
0:Disable WMM,
1:Enable WMM
PSMode {CAM, MAX_PSP, FAST_PSP}
::Set Power Saving Mode
HtBw {0,1}
::Set BandWidth
0: 20Hz
1: 40Hz
HtMcs {0 ~ 15, 33}
::Set MCS
33: Auto Rate
HtGi {0,1}
::Set Guard Interval(GI)
0: long GI
1: short GI
HtOpMode {0,1}
::Set HT Operation Mode
0: HT mixed format
1: HT greenfield format
HtExtcha {0,1}
::Set Extended Channel Switch Announcement
0: Below
1: Above
HtMpduDensity {0 ~ 7}
::Set The Minimum Time Between MPDUs within an AMPDU
HtBaWinSize {1 ~ 64}
::Set BA WinSize
HtRdg {0,1}
::Set RDG Capable
0: Disabled
1: Enabled
HtAmsdu {0,1}
::Set AMSDU Capable
0: Disabled
1: Enabled
HtAutoBa {0,1}
::Set Auto BA Capable
0: Disabled
1: Enabled
HtBaDecline {0,1}
::Reject BA request from AP
0: Disabled
1: Enabled
HtProtect {0,1}
::Set HT Protect Capable
0: Disabled
1: Enabled
FixedTxMode {CCK, OFDM}
:: Set Fixed Tx Mode for fixed rate setting
Mode = CCK
MCS = 0 => 1Mbps
= 1 => 2Mbps
= 2 => 5.5 Mbps
= 3 => 11 Mbps
Mode = OFDM
MCS = 0 => 6Mbps
= 1 => 9Mbps
= 2 => 12Mbps
= 3 => 18Mbps
= 4 => 24Mbps
= 5 => 36Mbps
= 6 => 48Mbps
= 7 => 54Mbps
==> Build Ethernet Convert function. Please set 'HAS_ETH_CONVERT_SUPPORT=y' in os/linux/config.mk
EthConvertMode {dongle, clone, hybrid}
::Set Ethernet Convert Mode
EthCloneMac {xx:xx:xx:xx:xx:xx}
:: Set Clone MAC
LongRetry {0,255}
:: Set Tx Long Retry Limit
ShortRetry {0,255}
:: Set Tx Short Retry Limit
MeshId {Length 1~32 ascii characters}
:: Set Mesh ID
MeshHostName {Length 1~32 ascii characters}
:: Set Mesh Host Name
MeshAutoLink {1,0}
:: Set Mesh Auto Link Capable
0: Disabled
1: Enabled
MeshAddLink {xx:xx:xx:xx:xx:xx}
:: Add Mesh Link
MeshDelLink {xx:xx:xx:xx:xx:xx}
:: Delete Mesh Link
MeshMultiCastAgeOut {20 ~ 65535 seconds}
:: Set AgeOut time for Mesh MultiCast
MeshAuthMode {OPEN, WPANONE}
:: Set Mesh Authentication Mode
MeshEncrypType {NONE, WEP, TKIP, AES}
:: Set Mesh Encryption Type
MeshDefaultkey {1 ~ 4}
:: Set Mesh Default Key ID
MeshWEPKEY {5 ascii characters or 10 hex number or
13 ascii characters or 26 hex numbers}
:: Set Mesh WEP Key String
MeshWPAKEY {8~63 ascii or 64 hex characters}
:: Set Mesh WPA Pre-Shared Key
Examples
a> Config STA to link with AP which is OPEN/NONE(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=OPEN
3. iwpriv ra0 set EncrypType=NONE
4. iwpriv ra0 set SSID="AP's SSID"
b> Config STA to link with AP which is SHARED/WEP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=SHARED
3. iwpriv ra0 set EncrypType=WEP
4. iwpriv ra0 set DefaultKeyID=1
5. iwpriv ra0 set Key1="AP's wep key"
6. iwpriv ra0 set SSID="AP's SSID"
c> Config STA to link with AP which is WPAPSK/TKIP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=WPAPSK
3. iwpriv ra0 set EncrypType=TKIP
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
6. iwpriv ra0 set SSID="AP's SSID"
d> Config STA to link with AP which is WPAPSK/AES(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=WPAPSK
3. iwpriv ra0 set EncrypType=AES
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK="AP's wpa-preshared key"
6. iwpriv ra0 set SSID="AP's SSID"
e> Config STA to link with AP which is WPA2PSK/TKIP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Infra
2. iwpriv ra0 set AuthMode=WPA2PSK
3. iwpriv ra0 set EncrypType=TKIP
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK=12345678
6. iwpriv ra0 set SSID="AP's SSID"
f> Config STA to create/link as adhoc mode, which is OPEN/NONE(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Adhoc
2. iwpriv ra0 set AuthMode=OPEN
3. iwpriv ra0 set EncrypType=NONE
4. iwpriv ra0 set SSID="Adhoc's SSID"
g> Config STA to create/link as adhoc mode, which is WPANONE/TKIP(Authentication/Encryption)
1. iwpriv ra0 set NetworkType=Adhoc
2. iwpriv ra0 set AuthMode=WPANONE
3. iwpriv ra0 set EncrypType=TKIP
4. iwpriv ra0 set SSID="AP's SSID"
5. iwpriv ra0 set WPAPSK=12345678
6. iwpriv ra0 set SSID="AP's SSID"
h> Get site survey
usage: iwpriv ra0 get_site_survey
i> Get Statistics
usage: iwpriv ra0 stat ; read statistic counter
iwpriv ra0 set ResetCounter=0 ; reset statistic counter
j> Link with an AP which is the largest strength ; set ANY SSID (ssidLen=0)
usage: iwconfig ra0 essid ""
or
usage: iwpriv ra0 set SSID=""
k> Config STA to link as dongle mode with STA own MAC
usage: iwpriv ra0 set EthConvertMode=dongle
l> Config STA to link as clone mode
usage: iwpriv ra0 set EthConvertMode=clone
iwpriv ra0 set EthCloneMac="Desired MAC" ;; 00:00:00:00:00:00 means using STA own MAC
;; FF:FF:FF:FF:FF:FF means using source MAC of first packet coming from wired device
m> Config STA to link as hybrid(dongle+clone) mode
usage: iwpriv ra0 set EthConvertMode=hybrid
iwpriv ra0 set EthCloneMac="Desired MAC" ;; 00:00:00:00:00:00 means using STA own MAC
;; FF:FF:FF:FF:FF:FF means using source MAC of first packet coming from wired device
===================================================================
iwlist
This is detailed explanation of each parameters for iwlist.
iwlist ra0 scanning ; list the results after scanning(manual rescan)
=======================================================================================================
iwconfig
The following are our support in standard configuration - iwconfig
iwconfig ra0 essid {NN|on|off} ; set essid
iwconfig ra0 mode {managed|ad-hoc|...} ; set wireless mode
rt2860sta driver support monitor mode with linux kernel > 2.4.20.
Note: For using monitor mode => if mesh interface is ON, please down the mesh interface first.
iwconfig ra0 freq N.NNNN[k|M|G]] ; set frequency
iwconfig ra0 channel N ; set channel
iwconfig ra0 ap {N|off|auto} ; set AP address
iwconfig ra0 nick N ; set nickname
iwconfig ra0 rate {N|auto|fixed} ; set rate (only support legacy rate setting)
iwconfig ra0 rts {N|auto|fixed|off} ; set RTS threshold
iwconfig ra0 frag {N|auto|fixed|off} ; set Fragment threshold
iwconfig ra0 enc {NNNN-NNNN|off} ; set encryption type
iwconfig ra0 power {period N|timeout N} ; set power management modes
*** Wireless extension usage please refer to man page of 'iwconfig', 'iwlist' and 'iwpriv'. ***
Package Lean Mt Drivers Mt7615d Src Mt Wifi Embedded Doc Sta Ate Iwpriv Usage (`package/lean/mt/drivers/mt7615d/src/mt_wifi/embedded/doc/sta_ate_iwpriv_usage.txt`)
===================================================================================================
ATE Test Command Format for station driver
****** IMPORTANT ******
If you are not familiar with hardware, it is recommanded not to modify hardware default value.
It may damage hardware.
===================================================================================================
Usage:
iwpriv ra0 [act] [parameters]=[val]
where
[act] [parameters] [val] constraints explaination
=====================================
- Set ATE actions.
Value:
ATESTART - Start ATE function and stop station function.
ATESTOP - Stop ATE function and start station function.
TXCONT - Start continuous TX, for power mask.
TXCARR - Start carrier test, for frequency calibration.
TXFRAME - Transmit frame, for EVM.
RXFRAME - Continuous RX, for PER/FER.
1.1 ATEDA
Set ATE frame header destination address.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.2 ATESA
Set ATE frame header source addr.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.3 ATEBSSID
Set ATE frame header BSSID.
Value:
xx:xx:xx:xx:xx:xx ; hex
1.4 ATECHANNEL
Set ATE Channel, deimal.
Value:
802.11b/g: 1 ~ 14 depends on CountryRegion setting
1.5 ATETXPOW0
Set ATE Tx power for Antenna 1.
Value:
0 ~ 31 ; 2.4GHz, deimal
-7 ~15 ; 5.5GHz, deimal
1.6 ATETXPOW1
Set ATE Tx power for Antenna 2.
Value:
0 ~ 31 ; 2.4GHz, decimal
-7 ~15 ; 5.5GHz, deimal
1.7 ATETXFREQOFFSET
Set ATE RF frequency offset.
Value:
0 ~ 63 ; unit: 2KHz, decimal
1.8 ATETXLEN
Set ATE frame length.
Value:
24 ~ 2312 ; decimal
1.9 ATETXCNT
Set ATE frame Tx count.
Value:
1 ~ ; 32-bit, decimal
1.10 ATETXMODE (Refer to TxMode)
Set ATE Tx Mode.
Value:
0: CCK 802.11b
1: OFDM 802.11g
2: HT_MIX 802.11b/g/n
3: Green Field 802.11n
1.11 ATETXBW (Refer to TxMode)
Set ATE Tx and Rx Bandwidth.
Value:
0: 20MHz
1: 40MHz
1.12 ATETXGI (Refer to TxMode)
Set ATE Tx Guard Interval.
Value:
0: Long
1: Short
1.13 ATETXMCS (Refer to TxMode)
Set ATE Tx MCS type.
Value:
0 ~ 15
1.14 ATETXANT
Set ATE TX antenna.
Value:
0: All
1: Antenna one
2: Antenna two
1.15 ATERXANT
Set ATE RX antenna.
Value:
0: All
1: Antenna one
2: Antenna two
3: Antenna three
1.16 ATERXFER
Set ATE to periodically reset and show up RxCount (per-second) and RxTotalCount.
Value:
0: Disable counter visability
1: Enable counter visability
1.17 ATESHOW
Show all parameters of ATE.
Value:
1
1.18 ATEHELP
List all commands of ATE.
Value:
1
1.19 ResetCounter
Reset statistic counter.
Value:
1
1.20 ATERRF
Read all of the RF registers.
Value:
1
1.21 ATEWRF1
Write the RF register 1.
Value:
xxxxxxxx ;32-bit, hex
1.22 ATEWRF2
Write the RF register 2.
Value:
xxxxxxxx ;32-bit, hex
1.23 ATEWRF3
Write the RF register 3.
Value:
xxxxxxxx ;32-bit, hex
1.24 ATEWRF4
Write the RF register 4.
Value:
xxxxxxxx ;32-bit, hex
1.25 ATELDE2P
Overwrite all EEPROM contents
Value:
1
E.g.
iwpriv ra0 set ATELDE2P=1
1.26 ATERE2P
Display all EEPROM content.
Value:
1
E.g.
iwpriv ra0 set ATERE2P=1
===================================================================================================
2. Examples:
=========
2.1 Check EVM & Power
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATEDA=00:11:22:33:44:55
iwpriv ra0 set ATESA=00:aa:bb:cc:dd:ee
iwpriv ra0 set ATEBSSID=00:11:22:33:44:55
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXGI=0 ; set Long GI.
iwpriv ra0 set ATETXLEN=1024 ; set packet length.
iwpriv ra0 set ATETXPOW0=18
iwpriv ra0 set ATETXPOW1=18
iwpriv ra0 set ATETXCNT=100000
iwpriv ra0 set ATE=TXFRAME
�K
iwpriv ra0 set ATETXPOW0=19
�K
iwpriv ra0 set ATETXPOW0=20
�K
iwpriv ra0 set ATE=ATESTART
2.2 Check Carrier
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame(inform BBP to change, modulation mode)
iwpriv ra0 set ATE=TXCARR ; Start Tx carrier, Measure carrier with instrument
iwpriv ra0 set ATETXPOW0=05
iwpriv ra0 set ATETXPOW1=05
iwpriv ra0 set ATETXFREQOFFSET=19
iwpriv ra0 set ATE=ATESTART
2.3 Check specturm mask
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame(inform BBP to change, modulation mode)
iwpriv ra0 set ATE=TXCONT ; Start continuous TX, Measure specturm mask with instrument
iwpriv ra0 set ATETXPOW0=5
iwpriv ra0 set ATETXPOW1=5
iwpriv ra0 set ATE=ATESTART
2.4 Frequency offset tuning
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXCNT=200 ; Tx frame count(decmial)
iwpriv ra0 set ATETXFREQOFFSET=0 ; Set frequency offset 0(decimal)
iwpriv ra0 set ATE=TXFRAME ; Start Tx Frame
iwpriv ra0 set ATE=TXCARR ; Start Tx carrier, Measure carrier frequency with instrument
iwpriv ra0 set ATETXFREQOFFSET=10 ; Dynamic turning frequency offset, 10(decimal)
iwpriv ra0 set ATETXFREQOFFSET=20 ; Dynamic turning frequency offset, 20(decimal)
iwpriv ra0 set ATE=ATESTART ; Stop, Store the tuning result to EEPROM
2.5 Rx
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATECHANNEL=1 ; set Channel
iwpriv ra0 set ResetCounter=1 ; Reset statistic counter
iwpriv ra0 set ATETXFREQOFFSET=value ;To use the ��value��(decimal) you got in tx calibration
iwpriv ra0 set ATETXMODE=1 ; set TX-Mode.
iwpriv ra0 set ATETXMCS=7 ; set MCS type.
iwpriv ra0 set ATETXBW=0 ; set Bandwidth
iwpriv ra0 set ATE=RXFRAME ; Start Rx,
iwpriv ra0 set ATERXFER=1 ; show RxCnt and RSSI/per-antenna, Transmit test packets
iwpriv ra0 set ATE=ATESTART ; Stop
iwpriv ra0 stat ; get statistics counter
iwpriv ra0 set ATERXFER=1
iwpriv ra0 set ATERXANT=1
iwpriv ra0 set ATE=ATESTART
iwpriv ra0 set ATERXANT=0
iwpriv ra0 set ATE=RXFRAME2.6 Show all ate parameters
iwpriv ra0 set ATESHOW=1
Mode=4
TxPower0=0
TxPower1=0
TxAntennaSel=0
RxAntennaSel=0
BBPCurrentBW=0
GI=0
MCS=7
TxMode=1
Addr1=00:11:22:aa:bb:cc
Addr2=00:11:22:aa:bb:cc
Addr3=00:11:22:aa:bb:cc
Channel=1
TxLength=1024
TxCount=40000
TxRate=11
RFFreqOffset=02.7 Online help
iwpriv ra0 set ATEHELP=1
ATE=ATESTART, ATESTOP, TXCONT, TXCARR, TXFRAME, RXFRAME
ATEDA
ATESA
ATEBSSID
ATECHANNEL, range:0~14(unless A band !).
ATETXPOW0, set power level of antenna 1.
ATETXPOW1, set power level of antenna 2.
ATETXANT, set TX antenna. 0: all, 1: antenna one, 2: antenna two.
ATERXANT, set RX antenna.0: all, 1: antenna one, 2: antenna two, 3: antenna three.
ATETXFREQOFFSET, set frequency offset, range 0~63.
ATETXBW, set BandWidth, 0:20MHz, 1:40MHz.
ATETXLEN, set Frame length, range 24~2312.
ATETXCNT, set how many frame going to transmit.
ATETXMCS, set MCS, reference to rate table.
ATETXMODE, set Mode 0: CCK, 1: OFDM, 2: HT-Mix, 3: GreenField, reference to rate table.
ATETXGI, set GI interval, 0: Long, 1: Short.
ATERXFER, 0: disable Rx Frame error rate. 1: enable Rx Frame error rate.
ATERRF, show all RF registers.
ATEWRF1, set RF1 register.
ATEWRF2, set RF2 register.
ATEWRF3, set RF3 register.
ATEWRF4, set RF4 register.
ATELDE2P, load EEPROM from .bin file.
ATERE2P, display all EEPROM content.
ATESHOW, display all parameters of ATE.
ATEHELP, online help.2.8 Display Rx Packet Count and RSSI
iwpriv ra0 set ATERXANT=0 ==> Enable All Three Rx Antennas
iwpriv ra0 set ATERXFER=1 ==> Enable Rx Frame Error Rate: RxCnt/RxTotal
iwpriv ra0 set ATE=RXFRAME ==> Start Rx
MlmePeriodicExec: Rx packet cnt = 2/4
MlmePeriodicExec: Rx AvgRssi0=-88, AvgRssi1=-80, AvgRssi2=-91
MlmePeriodicExec: Rx packet cnt = 2/6
MlmePeriodicExec: Rx AvgRssi0=-86, AvgRssi1=-77, AvgRssi2=-89�K
�K
iwpriv ra0 set ATERXANT=1 ==> Enable Three Rx Antenna-1
iwpriv ra0 set ATERXFER=1 ==> Enable Rx Frame Error Rate: RxCnt/RxTotal
iwpriv ra0 set ATE=RXFRAME ==> Start Rx
MlmePeriodicExec: Rx packet cnt = 0/7
MlmePeriodicExec: Rx AvgRssi=-87
MlmePeriodicExec: Rx packet cnt = 7/14
MlmePeriodicExec: Rx AvgRssi=-90
�K
�K===================================================================================================
3. Hardware Access
==================
=====================================
3.1 iwpriv ra0 bbp [parameters]=[Value]
Read/Write BBP registers by ID number.
BBPID
3.1.1 Read BBP register, BBPID only, no ��=�� symbol.
BBPID:
0 ~ xx ; decimal, 8-bit
BBPID=Value
3.1.2 Write BBP register.
BBPID:
0 ~ xx ; decimal, 8-bit
Value:
00 ~FF ; hexdecimal, 8-bit
=====================================
3.2 iwpriv ra0 mac [parameters]=[val]
Read/Write MAC registers by offset.
MAC_OFFSET
3.2.1 Read MAC register, MAC_OFFSET only, no ��=�� symbol.
MAC_OFFSET:
0000 ~ FFFF ; hexdecimal, 16-bit
MAC_OFFSET=Value
3.2.2 Write MAC register.
MAC_OFFSET:
0000 ~ FFFF ; hexdecimal, 16-bit
Value:
0000 ~FFFF ; hexdecimal, 32-bit
=====================================
3.3 iwpriv ra0 e2p [parameters]=[val]
Read/Write EEPROM content by address.
EEP_ADDR
3.3.1 Read EEPROM content, EEP_ADDR only, no ��=�� symbol.
EEP_ADDR:
00 ~ FF ; hexdecimal, 16-bit alignment (0, 2, 4, 6, 8, A, C, �K)
EEP_ADDR=Value
3.3.2 Write EEPROM content.
EEP_ADDR:
00 ~ FF ; hexdecimal, 16-bit alignment (0, 2, 4, 6, 8, A, C, �K)
Value:
0000 ~FFFF ; hexdecimal, 16-bit
=====================================
3.4 Example
3.4.1 Hardware access
iwpriv ra0 bbp 0 # read BBP register 0
iwpriv ra0 bbp 0=12 # write BBP register 0 as 0x12
iwpriv ra0 mac 0 # read MAC register 0
iwpriv ra0 mac 0=1234abcd # write MAC register 0 as 0x1234abcd
iwpriv ra0 e2p 0 # read E2PROM 0
iwpriv ra0 e2p c=12ab # write E2PROM 0xc as 0x12ab
3.4.2 Statistic counter operation
iwpriv ra0 stat # read statistic counter
iwpriv ra0 set ResetCounter=0 # reset statistic counter
Suggestion:
1. To turn on ATE functionality, you have to add compile flag "CONFIG_ATE" to Makefile
2. Before doing ATE testing, please stop AP function
3. If you want to test another ATE action, prefer to stop AP & ATE function
4. All ATE function settings will lose efficacy after reboot.
5. Before hardware register access, please reference hardware spec.
Note.
In ATE mode, the channel must set via "ATECHANNEL"===================================================================================================
4. ated
=======
4.1 Introduction
The ated is an optional user space component for RT28xx Linux driver.
When Windows GUI starts, AP enters ATE mode (i.e.,ATESTART) immediately.
It behaves as a proxy between Windows GUI and RT28xx Linux driver when ATE process proceeds.
The ated will be killed automatically when Windows GUI is closed.
You can kill it manually, too(for example, type '$killall ated').
RT28xx linux driver will leave ATE mode either ated is killed or Windows GUI is closed.
4.2 Environment setup
- Connect the platform you want to test directly with a Windows host by ether network line.
- In the Windows host, run WinPcap_4_0.exe for the QA GUI or ./RT2880_ATE/RaUI.exe(please unrar "RT2880_ATE.rar" to get it).
4.3 How to use ated for ATE purpose
0. First you should set both "HAS_ATE=y" and "HAS_QA_SUPPORT=y" in the file ~/Module/os/linux/config.mk and compile the driver.
- Modify the Makefile according to our target "PLATFORM".
- Change the path of "CROSS_COMPILE" if needed.
- Then type 'make' command to compile the source code of the daemon.
- After the driver interface has started up, attach both of the wireless interface and the ethernet interface to the bridge interface.
- If you have no bridge interface, please give an IP address to the ethernet interface.
(for example : '$ated -beth0') - After the interfaces have entered forwarding states, manually start ated, type '$ated -bbrX -iraX'.
- If your WLAN interface and Bridge interface is "ra0" and "br0" respectively, just type $ated.
(For further usage of options, type $ated -h) - In the Windows host, run RT28xxQA_ATE.exe or ./RT2880_ATE/RaUI.exe.
- Select the wired network adapter, then press OK and wait for a moment.
10.If the Windows host cannot tolerate such a broadcast storm from ated,
please run ated with option -u.(for example : '$ated -ira1 -u')
11.If your target platform concerns its network security, please run RT28xxQA_unicast.exe instead of RT28xxQA_ATE.exe.
Note :
a. The names of WLAN interface(default is "ra0") and Bridge interface(default is "br0") must be specified manually(for example : '$ated -bbr1 -ira2') if your WLAN interface or Bridge interface is not "ra0" or "br0" respectively !
b. Please make sure no other RaUI is running before you excute ./RT2880_ATE/RaUI.exe.
Package Lean Mt Drivers Mt7615d Src Mt Wifi Embedded Doc Wps Iwpriv Usage (`package/lean/mt/drivers/mt7615d/src/mt_wifi/embedded/doc/wps_iwpriv_usage.txt`)
/*
- README: WPS STA as an Enrollee or Registrar
*/
Build WPS function. Please set 'HAS_WSC=y'.
Enrollee Mode
1.1) PIN mode:
Running Scenarios (case 'a' and 'b')
--------------------------------------------------------
a. Adding an Enrollee to AP+Registrar (EAP)
[AP+Registrar]<----EAP--->[Enrollee Client]
--------------------------------------------------------
b. Adding an Enrollee with external Registrar (UPnP/EAP)
[External Registrar]<----UPnP--->[AP_Proxy]<---EAP--->[Enrollee Client]
--------------------------------------------------------
Note: 'EAP' indicates to use wireless medium and 'UPnP' indicates to use
wired or wireless medium.
(i) [Registrar] or [AP+Registrar]
Enter the Enrollee PinCode on the Registrar and start WPS on the Registrar.
Note: How to get the Enrollee PinCode? Use 'iwpriv ra0 stat' on the Enrollee.
(ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 1 ;; Enrollee
iwpriv ra0 wsc_mode 1 ;; PIN
iwpriv ra0 wsc_ap_band 0 (or 1) ;; 0: prefer 2.4G, 1: prefer 5G
iwpriv ra0 wsc_ssid "AP's SSID"
iwpriv ra0 wsc_start
{iii) If the registration is successful, the Enrollee will be re-configured
with the new parameters, and will connect to the AP with these new parameters.
1.2) PBC mode:
Running Scenarios (case 'a' only)
--------------------------------------------------------
a. Adding an Enrollee to AP+Registrar (EAP)
[AP+Registrar]<----EAP--->[Client]
--------------------------------------------------------
(i) [AP+Registrar]
Start PBC on the Registrar.
{ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 1 ;; Enrollee
iwpriv ra0 wsc_mode 2 ;; PBC
iwpriv ra0 wsc_ap_band 0 (or 1) ;; 0: prefer 2.4G, 1: prefer 5G
iwpriv ra0 wsc_start
{iii) If the registration is successful, the Enrollee will be re-configured
with the new parameters, and will connect to the AP with these new parameters.
- Registrar Mode
2.1) PIN mode:
Running Scenarios (case 'a' and 'b')
--------------------------------------------------------
a. Configure the un-configured AP
[Unconfigured AP]<----EAP--->[Registrar]
--------------------------------------------------------
b. Configure the configured AP
[Configured AP]<----EAP--->[Registrar]
--------------------------------------------------------
(i) [AP]
Start PIN on the Enrollee WPS AP.
(ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 2 ;; Registrar
iwpriv ra0 wsc_mode 1 ;; PIN
iwpriv ra0 wsc_pin xxxxxxxx ;; AP's PIN Code
iwpriv ra0 wsc_ap_band 0 (or 1) ;; 0: prefer 2.4G, 1: prefer 5G
iwpriv ra0 wsc_ssid "AP's SSID"
iwpriv ra0 wsc_start
{iii) If the registration is successful;
in case 'a':
The Registrar will be re-configured with the new parameters,
and will connect to the AP with these new parameters;
in case 'b':
The Registrar will be re-configured with AP's configurations,
and will connect to the AP with these new parameters.
2.2) PBC mode:
same scenarios as PIN mod
(i) [AP]
Start PBC on the Enrollee WPS AP.
(ii)[RT2860 Linux WPS STA]
iwpriv ra0 wsc_conf_mode 2 ;; Registrar
iwpriv ra0 wsc_mode 2 ;; PBC
iwpriv ra0 wsc_ap_band 0 (or 1) ;; 0: prefer 2.4, 1: prefer 5G
iwpriv ra0 wsc_start
{iii) If the registration is successful;
in case 'a':
The Registrar will be re-configured with the new parameters,
and will connect to the AP with these new parameters;
in case 'b':
The Registrar will be re-configured with AP's configurations,
and will connect to the AP with these new parameters.
Others
iwpriv ra0 wsc_cred_count 1 ;; Set count of credentials, Only support one credential for M8 in Registrar mode.
integer: 1 ~ 8iwpriv ra0 wsc_cred_ssid "idx ssid_str" ;; Set SSID into credtentail[idx]
string:
idx: 0 ~ 7
ssid_str: SSID for AP
example:
iwpriv ra0 wsc_cred_ssid "0 wps_ap1"iwpriv ra0 wsc_cred_auth "idx auth_str" ;; Set AuthMode into credtentail[idx]
string:
idx: 0 ~ 7
auth_str: OPEN, WPAPSK, WPA2PSK, SHARED, WPA, WPA2
example:
iwpriv ra0 wsc_cred_auth "0 WPAPSK"iwpriv ra0 wsc_cred_encr "idx encr_str" ;; Set EncrypType into credtentail[idx]
string:
idx: 0 ~ 7
encr_str: NONE, WEP, TKIP, AES
example:
iwpriv ra0 wsc_cred_encr "0 TKIP"iwpriv ra0 wsc_cred_keyIdx "idx key_index" ;; Set Key Index into credtentail[idx]
string:
idx: 0 ~ 7
key_index: 1 ~ 4
example:
iwpriv ra0 wsc_cred_keyIdx "0 1"iwpriv ra0 wsc_cred_key "idx key" ;; Set Key into credtentail[idx]
string:
idx: 0 ~ 7
key: ASCII string (wep_key_len(=5,13), passphrase_len(=8~63))
OR
Hex string (wep_key_len(=10,26), passphrase_len(=64))
example:
iwpriv ra0 wsc_cred_key "0 12345678" ;; Passphrase
iwpriv ra0 wsc_cred_key "0 abcd" ;; WEP Keyiwpriv ra0 wsc_cred_mac "idx mac_str" ;; Set AP's MAC into credtentail[idx]
string:
idx: 0 ~ 7
mac_str: xx:xx:xx:xx:xx:xx
example:
iwpriv ra0 wsc_cred_mac "0 00:11:22:33:44:55"iwpriv ra0 wsc_conn_by_idx 0 ;; Connect AP by credential index.
integer: 0 ~ 7iwpriv ra0 wsc_auto_conn 0 ;; If the registration is successful, driver will re-connect to AP or not.
integer: 0 ;; Disabled, driver won't re-connect to AP with new configurations.
1 ;; Enabled, driver will re-connect to AP with new configurations.
Note. Default value is 1.iwpriv ra0 wsc_stop ;; Stop WSC work and don't wait upon two-minute timeout
iwpriv ra0 wsc_ap_band val
val: 0 ;; prefer 2.4G AP
1 ;; prefer 5G AP
2 ;; Auto
iwpriv ra0 stat ;; Read statistics counter and WPS status.
--- METRICS ---
- Files Extracted: 22
- Estimated Token Budget: ~52660 tokens
- Canonical Reference: https://codewiki.google/github.com/coolsnowwolf/lede