问题描述

高通默认hostapd不支持强制40MHz频宽功能,设置之后总会自动协商到20MHz

解决方案

修改hostapd代码,增加ht2040_coex_disable字段

代码修改

修改apps_proc/src/external/wpa_supplicant_8/hostapd/config_file.c

在hostapd_config_fill函数添加配置选项参数的传递

     bss->wds_sta = atoi(pos);} else if (os_strcmp(buf, "start_disabled") == 0) {bss->start_disabled = atoi(pos);
+  } else if (os_strcmp(buf, "ht2040_coex_disable") == 0) { //add force 40MHz bandwidth
+      conf->ht2040_coex_disable = atoi(pos);
+} else if (os_strcmp(buf, "ap_isolate") == 0) {bss->isolate = atoi(pos);} else if (os_strcmp(buf, "ap_max_inactivity") == 0) {

修改apps_proc/src/external/wpa_supplicant_8/src/ap/ap_config.c

在hostapd_config_defaults函数中增加初始化

         return NULL;}conf->bss[0] = bss;
-
+  conf->ht2040_coex_disable = 0;  //force 40MHz bss->radius = os_zalloc(sizeof(*bss->radius));if (bss->radius == NULL) {os_free(conf->bss);

修改apps_proc/src/external/wpa_supplicant_8/src/ap/ap_config.h

hostapd_config结构体增加ht_2040_coex_disable

     int fragm_threshold;u8 op_class;u8 channel;
+  int ht2040_coex_disable; //force to 40MHzint enable_edmg;u8 edmg_channel;u8 acs;

修改apps_proc/src/external/wpa_supplicant_8/src/ap/hw_features.c

ieee80211n_check_scan函数做判断,当开启ht2040_coex_disable时,不再自动降为20MHz

     elseoper40 = ieee80211n_check_40mhz_2g4(iface, scan_res);wpa_scan_results_free(scan_res);
-
+  // force 40MHz
+  if (!oper40 && iface->conf->ht2040_coex_disable) {
+      wpa_printf(MSG_INFO, "Force to 40MHz due to ht2040_coex_disable is 1.");
+      oper40 = 1;
+  }iface->secondary_ch = iface->conf->secondary_channel;if (!oper40) {wpa_printf(MSG_INFO, "20/40 MHz operation not permitted on "

修改apps_proc/src/external/wpa_supplicant_8/src/ap/ieee802_11_ht.c文件

hostapd_2040_coex_action函数增加判断,开启40MHz强制之后,IE字段不在添加20/40自适应

                "Ignore too short 20/40 BSS Coexistence Management frame");return;}
+  if (iface->conf->ht2040_coex_disable) //add force 40MHz
+  {
+      wpa_printf(MSG_DEBUG,
+             "Force 40MHz");
+      return;
+  }/* 20/40 BSS Coexistence element */bc_ie = (struct ieee80211_2040_bss_coex_ie *) data;

参考链接:

linux系统hostapd强制使用40MHz频宽_李迟的博客-CSDN博客https://blog.csdn.net/subfate/article/details/52177035?locationNum=1&fps=1&teamwork_src=1&gcmt=ut_UD7LamwH0C7lFYQnlR9IKecpWb47Kt9XUjB&accessToken=ut_UD7LamwH0C7lFYQnlR9IKecpWb47Kt9XUjB&lang=zh_CN

【sdx62】WCN6855 WCN6856 WiFi 增加强制40MHz频宽的功能实现相关推荐

  1. [sdx12]sdx12平台QCA6174 使用hostapd WiFi 2.4G强制40MHz频宽不生效问题分析及实现

    问题描述 sdx12平台,高通默认hostapd 2.4G不支持强制40MHz的功能,在干扰环境下默认总是协商到20MHz,比方便认证和跑流测试. hostapd版本 / # hostapd host ...

  2. linux内核中hostapd,linux系统hostapd强制使用40MHz频宽

    linux系统实现WIFI热点服务一般是使用hostapd来完成的.802.11n标准可以使用20MHz.40MHz频宽,这在hostapd配置文件中可以指定.另外,还可以使用Short GI使速率提 ...

  3. linux系统hostapd强制使用40MHz频宽

    linux系统实现WIFI热点服务一般是使用hostapd来完成的.802.11n标准可以使用20MHz.40MHz频宽,这在hostapd配置文件中可以指定.另外,还可以使用Short GI使速率提 ...

  4. 荣耀修改WIFI服务器,数码教程资讯:荣耀路由2S怎么修改wifi的802.11n频宽

    现在各种各样的数码设备在我们的生活当中几乎可以说是无处不在,平时我们使用的手机,IP,电脑等等这些都属于数码设备,那么这些数码设备当中会存在着很多的功能,当然在我们使用的过程当中自然也会出现说各种的问 ...

  5. 【SDX62】WCN6856 wifi驱动加载出现cnss: Invalid SBL log data

    问题log modprobe wlan加载驱动出现 [ 3261.283196] cnss: Dump MHI/PBL/SBL debug data every 7s during MHI power ...

  6. H3C 40MHz频宽模式

    转载于:https://www.cnblogs.com/fanweisheng/p/11555792.html

  7. Netgear R6220刷潘多拉盒子后的WIFI配置,20HZ频宽下载速度达9M

  8. wi-fi 频宽设置_为客人设置Wi-Fi的10种方法

    wi-fi 频宽设置 Can you survive the holidays without Wi-Fi? No you cannot. Here's how to prepare your net ...

  9. 【WCN685X】WCN685X WiFi 6E 6G信道与频宽对应关系

    WiFi 6E 6G信道频宽分布图 信道与频宽对应 以下信道及频宽对应关系在WCN6856实测可以正常使用 20MHz信道 5.21.37.53.69.85.101.117.133.149.165.1 ...

最新文章

  1. pytorch多维筛选
  2. MySql:从任何主机授予根用户登录权限
  3. 使用 Azure Web 应用防火墙拦截黑客攻击
  4. mysql already closed._java.sql.SQLException: Already closed.
  5. Google-Guava-EventBus源码解读
  6. 朗读评价语言集锦_干货 | 教师课堂评价规范用语的几点建议,建议收藏!
  7. Github使用之git回退到某个历史版本
  8. vue 第三天(绑定属性)
  9. iOS开发经验总结(二)
  10. 如何用一个废旧的笔记本打造一个家庭网络服务器?
  11. 十进制转bcd码c程序语言,bcd码转换成十进制程序函数
  12. python Process类
  13. 1.20 将多行单元格进行分栏打印 [原创Excel教程]
  14. UI面试常见问题总结
  15. 我是如何从头写一篇顶级论文的
  16. 设计模式 | 原型模式
  17. DFI Update的原理与实现
  18. p2p显示kad能连接 服务器未连接,Vagaa为什么kad(或ed2k)节点总是不能正常连接...
  19. GitChat 是一个怎样的产品?
  20. 7.基础查询(select from)

热门文章

  1. 招行零售金融3.0数字化转型实践
  2. MediaPlayer.isPlaying() IllegalStateException的一种情况
  3. NVIDIA卡和ATI卡的对比,以及如何判断 N卡 和 A卡 每个型号的含义:
  4. 产品模块化设计的前世今生
  5. 【计组期末复习】机器周期和时钟周期、控制单元的功能:取指周期的微操作命令、取数指令的微操作、存数周期的微操作
  6. 基于JAVA的KTV点歌系统,管理系统。
  7. adobe reader XI打开pdf崩溃修复2020.05
  8. Qt高级教程图形视图部分
  9. 页面插件集成:博客详情页
  10. 朋友圈动态折叠严重怎么办?一招教你破解!