首先使用的无线芯片是支持b/g/n模式的,同样的硬件以前用普通linux版本,测速可以达到40Mbps,换到openwrt系统后,发现测速最高只能到20Mbps.
IEEE 802.11常见的技术标准
标准 | 工作频段 | 理想速率 | 信道带宽 |
802.11b | 2.4 GHz | 11Mbps | 20MHz |
802.11a | 5GHz | 54Mbps | 20MHz |
802.11g | 2.4 GHz | 54Mbps | 20MHz |
802.11n | 2.4 GHz或5 GHz | 72Mbps(1×1, 20MHz) 150Mbps(1×1, 40MHz) 288Mbps(4×4,20MHz) 600Mbps(4×4, 40MHz) | 20MHz/40MHz(信道绑定) |
802.11ac | 5 GHz | 433Mbps(1×1, 80MHz) 867Mbps(1×1,160MHz) 6.77Gbps(8×8,160MHz) | 40MHz/80MHz/160MHz |
发现问题:通过查阅资料,发现可能是openwrt默认将wifi频宽配置为20Mhz.
解决方法:最开始通过luci页面配置40Mhz,发现测速依然只有20Mbps,后来发现需在/etc/config/wireless文件中的wifi-device下增加option noscan '1’
补充:OpenWRT根据一个老的IEEE标准规定,即使设置了40M带宽,启用前先扫描无线环境,如果有重叠频道,20M带宽的老设备(我们使用的芯片确实很老了)就不会启用40M的模式。所以,修改 noscan=1 参数,就强制开启40M模式了.