1、前言
本文主要以MTK无线芯片MT7603为例,记录MTK无线驱动开发过程中常用命令以及常规无线问题的排查手段。

2、MTK Wifi芯片简介
2.1 单频WIFI芯片信息
| 对象 |
描述 |
|---|---|
| MT7603E | 高效能 802.11n,专为小型的 Wi-Fi 设备而设联发科技 MT7603E 是一款高度整合式 Wi-Fi 单芯片,支持 300 Mbps PHY 速率。它完全符合 IEEE 802.11n 及 IEEE 802.11 b/g 标准,提供高标准而功能丰富的无线连接,并可从更远的距离提供可靠稳定、具成本效益的处理能力。优化的射频架构及基频算法带来卓越的效能表现,以及可靠而低功耗的处理能力。它的智能型媒介访问控制 (MAC) 设计采用效率极高的直接内存访问 (DMA) 引擎,亦配备可减轻主处理器负荷的硬件信息处理加速器。MT7603E 的设计旨在提供符合安全性、服务品质及国际规范标准的功能,让终端用户在任何情况下也能随时享有较佳的效能表 |
| WiFi | IEEE 802.11:b/g/n Wi-Fi Frequency:2.4GHz Antenna:2T2R Data Throughput:300Mbit/s |
| Functions And Features | MAC:Yes RF:Yes ePA/eLNA:Yes BPP:Yes AP/Repeater:Linux AP/Repeater STA:Android,Linux Interface:PCI-Express 1.1 |
2.2 WiFi驱动版本
值:iwpriv ra0 show driverinfo && dmesg -c
| 对象 |
描述 |
|---|---|
| 无线芯片 | MT7603E |
| driver version | 4.0.1.0rev2.P1+ (Tue Apr 9 03:35:59 CST 2019 Tue Apr 9 03:35:59 CST 2019) |
| fw version | 0.0.00 build:4a |
| build time | FjXc |
3、MTK 无线驱动开发调试
3.1 常用命令行
值:iwpriv ra0/rai0 set [parameters]=[Value]
下文中以2.4G无线主接口ra0为例子。
3.1.1 设置WLAN驱动打印级别
值:iwpriv ra0 set Debug=3
日志级别:0~5
0:Debug Off1:Debug Error2:Debug Warning3:Debug Trace4:Debug Info5:Debug Loud
3.1.2 查看驱动版本
值:iwpriv ra0 show driverinfo && dmesg -c
3.1.3 设置国家区域
设置2.4G国家区域
值:iwpriv ra0 set CountryRegion=5
设置5G国家区域
值:iwpriv ra0 set CountryRegionABand=7
3.1.4 设置国家码
值:iwpriv ra0 set CountryCode=CN
2个字符,比如CN就表示中国,US表示美国。可忽略。
3.1.5 设置ACL表的访问策略
值:iwpriv ra0 set AccessPolicy=0
0: Disable this function
1: Allow all entries of ACL table to associate AP
2: Reject all entries of ACL table to associate AP
3.1.6 重置所有统计计数器
值:iwpriv ra0 set ResetCounter=1
3.1.7 触发邻区扫描
值:iwpriv ra0 set SiteSurvey=1
主动扫描:“iwpriv ra0 set SiteSurvey=”
被动扫描:“iwpriv ra0 set SiteSurvey=11ac-AP”
3.1.8 设置国家字符串
值:iwpriv ra0 set CountryString=CHINA
3.1.9 设置AP SSID
值:iwpriv ra0 set SSID=11n-AP
0~Z,1~32 ASCII字符串
3.1.10 设置WLAN模式
值:iwpriv ra0 set WirelessMode=5
0: legacy 11b/g mixed
1: legacy 11B only
2: legacy 11A only
3: legac 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
11: 11N only in 5G band only
14: 11A/AN/AC mixed 5G band only(Only 11AC chipset support)
15: 11 AN/AC mixed 5G band only(Only 11AC chipset support)
3.1.11 设置固定TX模式为CCK或者OFDM
值:iwpriv ra0 set FixedTxMode=CCK
CCK
OFDM
HT
3.1.12 设置OFDM基本速率
值:iwpriv ra0 set BasicRate=
0~4095
3.1.13 设置WIFI信道
值:iwpriv ra0 set Channel=6
802.11b/g: 1 ~ 14 (it must agree with the CountryRegion setting)
802.11a: 36~165 (it must agree with the CountryRegionABand setting)
3.1.14 设置自动信道选择算法
值:iwpriv ra0 set AutoChannelSel=2
0: Disable
1: Old Channel Selection Algorithm(AP Count)
2: New Channel Selection Algorithm(CCA)
3:Busytime
5: AP count and not switch the best channel
6:CCA and not switch the best channel
7:Busytime and not switch the best channel
alg1-3: 评估除较优信道,并切换到较优信道; alg5-7:只扫描出评分结果,不进行信道切换
3.1.15 设置自动信道选择定时检查时间
值:iwpriv ra0 set ACSCheckTime=3
单位:小时
0: Disable
3.1.16 设置自动信道忽略信道列表标志
值:iwpriv ra0 set AutoChannelSkipListFlag=1
单位:小时
0: Disable
1: Enable
3.1.17 设置自动信道忽略信道列
值:iwpriv ra0 set AutoChannelSkipList=<channel_list>
example:
=2;3;4;5;7;8;9;10;11;
3.1.18 设置Beacon周期
值:iwpriv ra0 set BeaconPeriod=100
20 ~ 1024 (unit is in milli-seconds)
3.1.19 设置Dtim周期
值:iwpriv ra0 set DtimPeriod=1
1~5
3.1.20 设置发射功率百分比
值:iwpriv ra0 set TxPower=100
0~100
Note:
91 ~ 100% & AUTO, treat as 100% in terms of mW
61 ~ 90%, treat as 75% in terms of mW -1dBm
31 ~ 60%, treat as 50% in terms of mW -3dBm
16 ~ 30%, treat as 25% in terms of mW -6dBm
10 ~ 15%, treat as 12.5% in terms of mW -9dBm
0 ~ 9 %, treat as MIN(~3%) in terms of mW -12dBm
3.1.21 设置11b 、11g保护
值:iwpriv ra0 set BGProtection=0
0: disable
1: Always on
2:Always off
3.1.22 设置启用或禁用OLBC
值:iwpriv ra0 set DisableOLBC=0
0: disable
1: enable
3.1.23 设置启用或禁用TxPreamble
值:iwpriv ra0 set TxPreamble=1
0: disable
1: enable
3.1.24 设置启用或禁用Tx Burst模式
值:iwpriv ra0 set TxBurst=0
0: disable
1: enable
Question 1: TX和RX性能始终不平衡
A: Wi-Fi性能测试中当遇到TX和RX性能不平衡问题时,请检查TxBurst选项处于关闭或打开状态。当TxBurst开启时,TX数据包的优先级将高于RX数据包。结果,WLAN-TX的性能将高于RX。这个问题经常出现在快速以太网+WLAN解决方案中。千兆位以太网+WLAN解决方案没有这样的问题。
Question 2: How to turn off TxBurst?
A:
By profile:
TxBurst=0
By iwpriv command:
iwpriv ra0 set TxBurst=0
Note: 当设置WMM时,关闭TxBurst
3.1.25 设置启用或禁用包聚合
值:iwpriv ra0 set PktAggregate=1
0: disable
1: enable
3.1.26 设置启用或禁用在相同BSSID内STA之间的包不转发
值:iwpriv ra0 set NoForwarding=0
0: disable
1: enable
该命令可以做到一般的无线隔离,对于需要隔离特殊包的需要在增加指定滤包条件。
3.1.27 设置启用或禁用在每个BSSID接口间不转发
值:iwpriv ra0 set NoForwardingBTNBSSID=1
0: disable
1: enable
3.1.28 设置启用或禁用在每个BSSID接口间不转发组播/广播包
值:iwpriv ra0 set NoForwardingMBCast=1
0: disable
1: enable
3.1.29 设置启用或禁用SSID隐藏
值:iwpriv ra0 set HideSSID=1
0: disable
1: enable
3.1.30 设置启用或禁用short slot time
值:iwpriv ra0 set ShortSlot=0
0: disable
1: enable
3.1.31 设置手动断开指定连接的STA
值:iwpriv ra0 set DisConnectSta=00:11:22:33:44:55
[MAC address]
3.1.32 设置手动断开所有连接的STA
值:iwpriv ra0 set DisConnectAllSta=1
1: disconnect all STAs
3.1.33 设置组播物理模式
值:iwpriv ra0 set McastPhyMode=0
0: Disable
1: CCK
2: OFDM
3: HTMIX
3.1.34 设置组播包的MCS
值:iwpriv ra0 set McastMcs=0
0~15
3.1.35 设置限制每个BSS关联客户端的最大数量
值:iwpriv ra0 set MaxStaNum=0
0: disable this function
1~32 (default:32)
3.1.36 设置启用或禁用自动回落速率控制功能
值:iwpriv ra0 set AutoFallBack=1
0: disable
1: enable
3.1.37 设置启用或禁用启用或禁用绿色AP功能
值:iwpriv ra0 set GreenAP=0
0: disable
1: enable
3.1.38 设置MBSS无线phy模式
值:iwpriv ra0 set MBSSWirelessMode=9
0: 802.11 B/G mixed
1: 802.11 B only
2: 802.11 A only
4: 802.11 G only
6: 802.11 N only
7: 802.11 G/N mixed
8: 802.11 A/N mixed
9: 802.11 B/G/N mixed
10: 802.11 A/G/N mixed
11: 802.11 N in 5G band only
3.1.39 设置启用或禁用启用或禁用硬件天线分集
值:iwpriv ra0 set HwAntDiv=0
0: disable
1: enable
Note: Only support in RT5350.
3.1.40 设置HT WLAN带宽
值:iwpriv ra0 set HtBw=1
0: 20 MHz
1: 20/40 MHz
3.1.41 设置启用或禁用11AC 80MHz带宽支持
值:iwpriv ra0 set VhtBw=1
0: disable
1: enable
Note: 11AC chipset only
3.1.42 设置启用或禁用11AC STBC支持
值:iwpriv ra0 set VhtStbc=1
0: disable
1: enable
Note: 11AC chipset only
3.1.43 设置启用或禁用11 AC 带宽信令
值:iwpriv ra0 set VhtBwSignal=1
0: disable
1: enable
Note: 11AC chipset only
3.1.44 设置启用或禁用拒绝非VHT STA连接
值:iwpriv ra0 set VhtDisallowNonVHT=1
0: disable
1: enable to reject non-VHT STA
Note: 11AC chipset only
3.1.45 设置HT调制编码方式MCS
值:iwpriv ra0 set HtMcs=33
0 ~15, 32: Fix MCS rate for HT rate.
33: Auto Rate Adaption, recommended
3.1.46 设置保护间隔Guard interval
值:iwpriv ra0 set HtGi=1
0: long guard interval
1: short guard interval
3.1.47 设置HT操作模式
值:iwpriv ra0 set HtOpMode=0
0: HT mixed mode
1: HT Greenfield mode
3.1.48 设置启用或禁用HT STBC支持
值:iwpriv ra0 set HtStbc=1
0: disable
1: enable
3.1.49 设置HtExtcha
值:iwpriv ra0 set HtExtcha=0
0: below 下面
1: Above 上面
3.1.50 设置1个A-MPDU中MPDU的最小分离
值:iwpriv ra0 set HtMpduDensity=4
0~7
0: no restriction 无限制
1: 1/4 µs
2: 1/2 µs
3: 1 µs
4: 2 µs
5: 4 µs
6: 8 µs
7: 16 µs
3.1.51 设置启用或禁用HT反向授权Reverse Direction Grant
值:iwpriv ra0 set HtRdg=1
0: disable
1: enable
3.1.52 设置启用或禁用AMSDU部分
值:iwpriv ra0 set HtAmsdu=0
0: disable
1: enable
3.1.53 设置HtAutoBa
值:iwpriv ra0 set HtAutoBa=1
0: disable
1: enable
3.1.54 设置BADeline
值:iwpriv ra0 set BADecline=0
0: disable
1: enable
3.1.55 设置Block Ack window size
值:iwpriv ra0 set HtBaWinSize=64
1~64
3.1.56 设置一个传输burst的AMPDU聚合大小的数量
值:iwpriv ra0 set HtTxBASize=64
1~64
3.1.57 设置手动添加一个BA条目到BA 表里
值:iwpriv ra0 set BASetup=00:0c:43:01:02:03-1
16进制MAC地址-10进制tid值
3.1.58 设置手动删除一个Originator BA条目
值:iwpriv ra0 set BAOriTearDown=00:0c:43:01:02:03-1
3.1.59 设置手动删除一个Recipient BA条目
值:iwpriv ra0 set BARecTearDown=00:0c:43:01:02:03-1
3.1.60 设置启用或禁用HT保护
值:iwpriv ra0 set HtProtect=0
0: disable
1: enable
3.1.61 设置启用或禁用HT MIMO Power saving mode
值:iwpriv ra0 set HtMimoPs=0
0: disable
1: enable
3.1.62 设置当密码为TKIP或WEP时,启用或禁用11N Rate
值:iwpriv ra0 set HtDisallowTKIP=0
0: disable
1: enable
3.1.63 设置触发 HT20/40 共存重新扫描
值:iwpriv ra0 set AP2040Rescan=1
1: trigger to rescan
3.1.64 设置启用或禁用HT BSS共存
值:iwpriv ra0 set HtBssCoex=0
0: disable
1: enable
3.1.65 设置传输的空间流的数量
值:iwpriv ra0 set HtTxStream=1 or 2 or 3 or 4
1~4: valid spatial streams
3.1.66 设置接收的空间流的数量
值:iwpriv ra0 set HtRxStream=1 or 2 or 3 or 4
1~4: valid spatial streams
3.1.67 设置启用或禁用11B/G packet aggregation
值:iwpriv ra0 set PktAggregate=1
0: disable
1: enable
3.1.68 设置RTS门限
值:iwpriv ra0 set RTSThreshold=2347
1~2347
3.1.69 设置Fragment门限
值:iwpriv ra0 set FragThreshold=2346
256~2346
3.1.70 设置AP踢出STA的最低限制
值:iwpriv ra0 set KickStaRssiLow=0
0: Disable
0 ~ -100
3.1.71 设置AssocReq RSSI阈值拒绝信号弱的STA
值:iwpriv ra0 set AssocReqRssiThres=0
0: Disable
0~ -100
3.1.72 显示WLAN统计计数器
值:iwpriv ra0 stat
获取每秒wlan统计计数器的结果:
while true;do iwpriv ra0 set ResetCounter=1;sleep 1;iwpriv ra0 stat;done
3.1.73 显示邻区扫描结果
值:iwpriv ra0 get_site_survey
需要先使用”iwpriv ra0 set SiteSurvey=”去进行邻区扫描,收集信息。
3.1.74 显示与AP关联的STA的MAC地址
值:iwpriv ra0 get_mac_table
3.1.75 显示块ACK表的原始数据信息
值:iwpriv ra0 get_ba_table
3.1.76 显示WPS配置文件详细信息
值:wpriv ra0 get_wsc_profile
3.1.77 读写e2p内容
值://Read
iwpriv ra0 e2p offset
//Write EEPROM
iwpriv ra0 e2p offset=value
offset = hex address
value= hex value
3.1.78 设置非关联sta的rssi测量
iwpriv ra0 set mnt_clr=1
iwpriv ra0 set mnt_sta0=00:00:00:00:00:00
iwpriv ra0 set mnt_en=1
iwpriv ra0 set mnt_rule=1:1:1
iwpriv ra0 set mnt_sta0=F8:9A:78:BC:12:98
3.1.79 显示当前信息
值:iwpriv ra0/rai0 show [parameters]
下文中以ra0为例子。
| 序号 | parameters | 说明 |
|---|---|---|
| 1 | driverinfo | 驱动版本信息 |
| 2 | sta | STA TX/RX等统计信息。 |
| 3 | stainfo | STA信息,MAC地址/RSSI/MCS/Rate等。 |
| 4 | stacountinfo | STA TX/RX个数信息。 |
| 5 | stasecinfo | STA认证加密信息。 |
| 6 | bainfo | BlockAck信息。 |
| 7 | connStatus | AP-Clinet连接状态。 |
| 8 | reptinfo | MAC Repeater信息。 |
| 9 | wdsinfo | WDS连接列表。 |
| 10 | igmpinfo | IGMP Snooping列表。 |
| 11 | mbss | MBSS PHY 模式信息。 |
| 12 | blockch | DFS blocked 信道列表。 |
| 13 | devinfo | AP Mode, 信道, 带宽。 |
| 14 | sysinfo | WDEV信息。 |
| 15 | trinfo | TX/RX Ring配置信息.。 |
| 16 | pwrinfo | 功率内部信息。 |
| 17 | txqinfo | TxQ信息。 |
| 18 | sta_tr | AP BSSID/wcid等。 |
| 19 | stat_reset | 统计清零。 |
3.2 常见问题定位排查方法
3.2.1 无线STA掉线问题
1、确认无线是否有无重启现象
2、确认无线是否做完校准
3、确认rssi大小,最宜:-30 > RSSI > -50
4、扫描周围无线信号,看是否存在名称相同的SSID以及相同MAC地址的无线
5、更换sta测试
一、2.4GHz 与 5GHz/6GHz 频段的工程取舍
无线局域网真正可稳定使用的 2.4GHz 信道只有 1、6、11 三条互不重叠信道——每条 802.11 信道占用约 22MHz 带宽,而 2.4GHz 总可用带宽仅 83.5MHz,相邻信道频域重叠会直接引发邻频干扰。办公、酒店、公寓等 AP 密集场景,手动把相邻 AP 错开到 1/6/11 比”自动信道”更能避免同频踩踏。5GHz 信道多、干扰少、速率高,但穿墙衰减大;6GHz(Wi-Fi 6E/7)进一步打开连续频谱,适合高密场馆。工程上低密度家用优先走 5GHz,高密度公共区域再用 2.4GHz 做覆盖补充。
二、干扰定位的实测方法
- 同频干扰:多个 AP 用同一信道,CSMA/CA 退避加剧,表现为 ping 抖动、吞吐腰斩。用 WiFi Analyzer、InSSIDer 或 AC 自带频谱图看同信道 AP 数量。
- 邻频干扰:信道 1 与 2、6 与 7 相邻重叠,必须严格按 1/6/11 规划。
- 非 Wi-Fi 干扰:蓝牙、Zigbee、无绳电话、微波炉、无线图传都可能污染空口。普通 Wi-Fi 嗅探看不到非 802.11 能量,需频谱仪或支持频谱扫描的 AP。
- 多径干扰:信号经墙体多次反射叠加引起深衰落,典型症状就是”信号满格却卡顿”,可通过调整 AP 位置、降低发射功率、启用波束成形缓解。
三、商用场景的信道与功率规划
酒店/宿舍按楼层错开信道组;仓库/车间用 5GHz 定向天线做回传;会议室投屏卡顿多为 2.4G 拥堵,建议给投屏终端单独开 5G SSID。AP 发射功率并非越大越好——过大会造成跨区同频、过小留覆盖空洞,需结合场强仿真(Ekahau、AirMagnet)做 AP 点位与功率联合优化。Wi-Fi 6 的 OFDMA、MU-MIMO、TWT 从调度层面提升多用户效率,但前提是物理层干扰已先控制住。
相关阅读
本文为转载作品。版权归原作者所有;本站仅作技术学习与方案参考,如涉侵权请联系我们删除。



评论 0
还没有评论,来抢沙发吧。