iw 命令常用操作 (nl80211)
iw 是专门针对无线网卡(Wi-Fi)底层硬件的工具。在进行板卡无线模块 Bring-up 或排查射频问题时非常有用。
(注意:iw 本身只能直接连接无密码(Open)或仅使用 WEP 的网络。对于 WPA2/WPA3 加密的网络,iw 主要用于硬件控制和状态监控,实际的密码协商需要配合 wpa_supplicant 或 iwd。)
1. 硬件能力与设备信息
| 需求 |
命令 |
说明 |
| 查看物理层特性 |
iw phy |
打印无线芯片支持的所有特性(支持的频段、信道、加密方式、是否支持 AP 模式等),硬件调试必备。 |
| 查看无线接口名称 |
iw dev |
列出系统中所有的无线逻辑接口(如 wlan0, p2p0)。 |
2. 链路状态与信号质量
| 需求 |
命令 |
说明 |
| 查看当前连接状态 |
iw dev wlan0 link |
如果已连接,会显示 SSID、当前工作频率、连接速率 (RX/TX bitrate) 和信号强度 (Signal dBm)。 |
| 实时监控无线事件 |
iw event -t |
监听内核发出的无线事件(如关联、断开、漫游等),带时间戳,适合抓取不稳定的断网现象。 |
3. 扫描周围网络
| 需求 |
命令 |
说明 |
| 触发全局扫描 |
iw dev wlan0 scan |
扫描周围所有的 AP,输出信息极其详细(包含每个 BSS 的信息元素 IE)。 |
| 提取关键扫描信息 |
iw dev wlan0 scan | egrep "SSID | signal" |
由于 scan 输出太长,通常配合 grep 过滤出 SSID 和信号强度。 |
| 连接无密码网络 |
iw dev wlan0 connect <SSID> |
仅限无加密的开放网络测试。 |
4. 高级模式切换 (工作模式控制)
在硬件开发测试中,经常需要改变无线网卡的工作模式(需要网卡和驱动支持)。
| 需求 |
命令 |
说明 |
| 添加新的虚拟接口 |
iw phy phy0 interface add mon0 type monitor |
在物理层 phy0 上增加一个名为 mon0 的监听模式接口。 |
| 删除虚拟接口 |
iw dev mon0 del |
移除刚才创建的接口。 |
| 修改接口模式 |
iw dev wlan0 set type managed
|
|
iw dev wlan0 set type __ap |
切换为普通客户端模式 (managed) 或 热点模式 (ap)。切换前需先 ip link set wlan0 down。 |
|
|
| |
手动设置信道 |
iw dev wlan0 set channel 6 |
在某些特定测试下锁定网卡工作信道。 |
留下评论