- 博客(321)
- 资源 (2)
- 收藏
- 关注
原创 OpenWRT & prplOS-- WiFi debug 手册
MaxLinear WIFI STARTMaxLinear WIFI START – createConfigMaxLinear mod_whm START /opt/intel/wave/scripts/debug_toolbox.sh brun_cal wlan0/wlan2/wlan4/all• tftp calibration files into /tmp/wlanconfig folder• Invoke “flash_file_saver.sh” script to tar calibrati
2025-06-07 15:08:54
37
原创 OpenWRT & prplOS-- ubus命令配置参数
ubus微总线架构在prplOS中实现高效进程间通信,支持通过ubus-cli和ubus-call命令管理Wi-Fi配置。通过示例展示了如何查询/设置参数
2025-06-05 14:49:03
174
原创 OpenWRT & prplOS-- 替换射频文件
本文介绍了在prplOS和OpenWRT平台上开发项目时关于无线校准文件的配置方法。主要包括三个步骤:首先将2.4GHz、5GHz和6GHz的bin文件分别重命名为cal_wlan0.bin、cal_wlan2.bin和cal_wlan4.bin;然后通过tftp命令将文件导入lib/firmware目录,并使用chmod 777命令设置权限;最后重启设备生效。操作示例文件路径为C:\Users\user\Desktop\B521。文章欢迎读者就相关问题进行讨论分析。
2025-06-05 10:49:30
29
原创 MTK平台-- wifi 暗屏待机 low power问题分析
本文详细分析了暗屏待机场景下的WiFi耗电问题。关键点包括:1)通过SETSUSPENDMODE指令判断亮暗屏状态,该指令控制WiFi固件的包过滤规则;2)检查CONSYS模块状态和唤醒源,包括WiFi/BT/GPS等模块的状态及唤醒原因;3)分析常见唤醒类型(数据包、事件、管理帧等)及相应的处理方法;4)结合电流波形进行问题定位,如Beacon接收异常、主机频繁唤醒等情况。文章提供了详细的日志分析方法和系统行为判断标准,有助于准确诊断暗屏待机时的异常功耗问题
2025-05-29 16:18:02
88
1
原创 MTK平台-- 如何在屏幕关闭时过滤组播和广播的数据包
本文介绍了MTK平台WiFi功耗优化方法,通过过滤不必要的组播和广播数据包来降低设备在屏幕关闭时的功耗。具体实现方式是创建wifi_fw.cfg配置文件,设置DropPackets参数:将DropPacketsSNAPLow设为0x1EE过滤特定协议数据包,DropPacketsIPV4Low设为0x200过滤IGMP数据包,DropPacketsIPV6Low设为0x2过滤IPv6组播。修改后的配置文件需推送至vendor/firmware目录,重启后生效。文中还指出了相关代码位置及参数对应的结构体说明
2025-05-29 16:04:54
54
1
原创 Wi-Fi 6E/7法规认证的要求
本文摘要介绍了Wi-Fi6E/7产品出口北美和欧盟的认证要求。在北美地区需符合FCC/IC认证,包括FCC频谱分配、测试项目及模块认证要求(如15.212标准、KDB文件指引等)。欧盟则需满足CE RED法规,针对6GHz频段设备按VLP、LPI和Standard Power分类进行不同测试。内容涵盖Wi-Fi技术演进(Wi-Fi4至Wi-Fi7)、频段差异(5GHz/6GHz)及对应认证标准,为相关产品出口提供合规指导。
2025-05-28 18:12:18
72
1
原创 MTK关于HW WCN 蓝牙知识分享
MT6631芯片的蓝牙功能支持情况:搭配MT6761/62/65平台可完全支持BT5.0特性,但搭配MT6771及更早平台仅支持BT5.0标识。该芯片不再支持蓝牙ANT+功能。蓝牙发射功率可通过修改配置文件参数进行调整:BLE功率每降一级约降低4dB,BR/EDR功率支持8级调节。CE适应性测试需注意:干扰发生后3.2秒内Tx累计时间需≤40ms,70秒内不得传输,测试时需提供准确的Tx功率参数。产品认证信息可通过蓝牙官网查询Mediatek相关条目获取。
2025-05-28 11:15:50
144
1
原创 MTK-关于HW WCN的知识讲解
本文总结了MTK硬件开发中的Wi-Fi调试要点:1) MT6631推荐使用并联电容拓扑进行匹配,注意2.495-2.5GHz带外阻抗需匹配至史密斯圆图绿色区域;2) 2.4G默认不开启40MHz带宽,可通过配置文件修改;3) 发射功率调整可通过修改NVRAM或配置文件实现;4) 频谱平坦度问题可通过调整S11参数或shaping filter改善;5) 常见指标问题如频偏、EVM异常、SEM失败等的原因分析和解决方法。文档提供了详细的技术参数修改路径和测试建议。
2025-05-27 17:21:02
494
原创 iperf3 如何测试STA 和wifi direct的 throughput
如果是 PC(192.168.2.101) to STA(192.168.2.100)如果是STA(192.168.2.100) 到 PC(192.168.2.101)iperf –c [另一手机的ip地址] -i 3 –t 180。备注其他: -i 3表示每3s报告一次传输速度。在另一个手机上启iperf的client端。MTK平台需要Enable CTIA.电脑上面安装iperf3.exe工具。-t 180 表示打流量打180s。手机上面安装iperf3 apk。Go和Gc安装iperf3工具。
2025-05-26 14:30:55
40
原创 2.4GHz Wi-Fi Bandwidth and CCA Mechanism
The 2.4GHz Wi-Fi band is divided into multiple channels, each with a width of 20MHz. To achieve higher data rates, Wi-Fi devices can combine two adjacent 20MHz channels to form a 40MHz channel. However, due to the limited number of non-overlapping channels
2025-05-24 15:11:33
55
原创 高通手机抓取sniffer log的方法
echo 4 >/sys/module/wlan/parameters/con_mode //不同的高通基线这块目录存在差异性。iwpriv wlan0 setMonChan 149 2 //设置信道和bandwitdh。adb pull 这个chan149.pcap文件后,通过sniffer的log查看如下。生成的sniffer log在data/chan149.pcap。
2025-04-17 15:36:29
217
原创 MTK平台修改WIFI默认配置参数和如何检查是否生效
最近一直在做MTK平台,经常也会碰到需要修改一些MTK默认配置参数,那么如何修改呢,以及检查是否修改生效的方法。
2025-03-13 17:24:36
186
原创 MTK 平台关于64位和32地址错误导致工具Ap meta无法使用问题
MTK META工具是 MediaTek 公司开发的一款功能强大的工具,涵盖了几乎所有的功能,包括NVRAM Editor、Attestation key Install Tool、BT Tool、DRM Key Install Tool、FM Radio Tool、GPS Tool、Sensor Tool、Special Test Tool、Get Version、WIFI Tool 等多种功能如测试WIfi相关的时候,我们需要选择WIFI Tool测试WiFi 相关数据。
2025-03-06 09:46:15
116
原创 MTK平台 -- 关于HID协议的讲解
The Human Interface Device (HID) ,即人机交互设备。定义了蓝牙在人机接口设备中的协议、特征和使用规程。典型的应用包括蓝牙鼠标、蓝牙键盘、蓝牙游戏手柄等。该协议改编自US HIDProtocolH OST相当于PC主机,device相当于鼠标、键盘这些USB外设ble hid中,可以看做蓝牙设备就是device,手机就是host。
2025-02-19 11:16:31
134
原创 802.1X认证介绍+EAP(PEAP)认证架构和MTK Android手机平台如何客制化EAP模式
IEEE802 LAN/WAN委员会为解决无线局域网网络安全问题,提出了8。后来,802.1X协议作为局域网端口的一个普通接入控制机制在以太网中被广泛应用,主要解决以太网内认证和安全方面的问题。802.1X协议是一种基于端口的网络接入控制协议。“基于端口的网络接入控制”是指,在局域网接入设备的端口这一级,对所接入的用户设备通过认证来控制对网络资源的访问。目前身份验证方面最基础的安全协议就是EAP(Extensible Authentication Protocol),协议文档定义在RFC3748中。
2025-02-15 17:02:20
183
原创 通过HCI log查看配对连接过程
Authentication_Requirements:是否需要 auth(log中为MITM Protection Not Required, No Bonding)这里可以看到slave的Bluetooth Device Address: 0x14-99-3e-5e-19-3b。OOB_Data_Present:是否需要 OOB data(log中为None)IO_Capability:IO能力(log中为DisplayYesNo)手机和手机蓝牙配对连接或者手机与耳机配对连接目前均走以下几个部分。
2025-02-13 11:37:25
199
原创 MTK平台-- 无线AP隔离功能
经对mac80211相关源码进行分析,ap_isolate的真实作用是控制无线AP收到包后,是通过调用dev_queue_xmit将包通过无线网卡直接发送出去(ap_isolate=0),或是通过调用netif_receive_skb交由本机上层网络栈处理(ap_isolate=1)无线AP上大都有一个选项:启用该功能后,连接到同一AP的无线终端之间不能互相通信,但该功能并不限制无线终端和有线终端之间的通信。默认情况下这块功能是不通的,需要找MTK申请这块业务的patch。
2025-01-07 11:06:57
334
原创 蓝牙平台--Framework层到协议之间如何添加参数
3. 上面的截图可以看到,我在 sBluetoothHidInterface->disconnect((RawAddress*)addr, reconnect_allowed);方法中新增了reconnect_allowed参数。这个目录下HidHostService.java方法中disconnectHidNative()方法中新增boolean reconnectAllowed的参数.那么对应的sBluetoothHidInterface对应的结构是bthh_interface_t,可以看如下的代码。
2025-01-03 16:17:38
129
原创 MTK 平台关于WIFI 6E P2P的解说
官方 P2P 6E 设计原理,请查看这个网站配置:p2p_6ghz_disable允许上层指定是否允许6G连接仅允许6G用于WFD–不允许6G用于纯P2P缺点:存在很多 IOT issues如:一些物联网设备无法识别6G类/信道,可能存在物联网问题。
2024-12-31 17:32:46
333
原创 MTK平台--关于CFG_BT_Default.h 文件介绍
1. 存储在NVRAM中。这些设置将通过供应商特定的HCI命令设置。这些设置存储在AP_CFG_RDEB_FILE_BT_ADDR_LID中。▪ TX功率信道偏移补偿。▪ 蓝牙睡眠模式配置。
2024-12-23 13:41:24
173
原创 MTK项目蓝牙电流数据
max interval: 0x0130) 给到 BT, 同时 BT 有回 MSG_ID_BT_GATTC_CONN_PARAM_UPDATE_CNF(result 为 0), 但是 conn interval 还是 20mS.(2), 直接将 mmi_pxpapp_set_adv_pattern() 以及 mmi_pxpapp_set_adv_param_req() 两个 API, 搬到 gattcsrv, 修改一下函数名, 及变量名即可.该问题是 Smart Phone huawei P7 端问题.
2024-11-01 15:27:59
152
原创 wpa_supplicant与nl80211接口
3)wpa_driver_nl80211_send_mlme调用nl80211_send_frame_cmd方法,最终通过send_and_recv_msgs方法发送netlink消息给到nl80211。2)wpa_driver_nl80211_send_action调用wpa_driver_nl80211_send_mlme方法将消息发出去。1)driver_nl80211_send_action调用wpa_driver_nl80211_send_action方法。如auth和assoc关联的事件。
2024-10-28 10:31:11
385
原创 无线网卡知识的学习--nl80211.h核心源码分析
1. 包含了与cfg80211子系统相关的函数声明,这些函数用于Linux内核中的网络配置和状态通知。2. 这些函数用于与用户空间应用程序(如iw、wpa_supplicant等)进行通信,以便它们可以配置和管理无线网络接口。
2024-10-24 11:33:50
237
原创 无线网卡知识的学习--cfg80211.h核心源码分析
用于描述接入点(AP)对于空间重用(spatial reuse)的设置,特别是用于解决非同组用户(OBSS,即Other BSS)之间的干扰。用于描述在 cfg80211(Linux内核中用于配置和管理IEEE 802.11无线网络的一个子系统)中使用的单个无线通道。用于描述AP对于BSS颜色(BSS coloring)的设置,这是一种用于减少干扰的技术。用于表示在IEEE 802.11无线网络中基础服务集(BSS)的类型。用于表示无线基本服务集(BSS)的隐私设置。用于表示无线网络中数据传输速率的标志。
2024-10-24 11:13:30
288
原创 cfg80211-- 修复添加EHT的capabilities能力供驱动使用
添加支持以检索信标模板中用户空间传递的EHT功能和EHT操作元素,并将指针存储在结构cfg80211_ap_settings中供驱动程序使用。在nl80211_calculate_ap_params方法种。
2024-10-23 17:03:07
137
原创 无线网卡知识的学习-- mac80211主要代码流程
mac80211驱动程序作为Linux内核中管理和控制无线网络接口的核心模块,其主要流程涵盖了从数据帧接收到发送的完整过程。主要覆盖了7个方面:1. 数据帧接收流程,2. 数据帧发送流程 3. 频道管理和切换 4. 接口管理 5. 安全和认证 6. 管理和调试 7. 注册和初始化接下来具体根据7个方面具体讲解下。
2024-10-22 10:41:12
415
原创 工厂生成中关于WiFi的一些问题
主要做高通和MTK,工厂生成中通过使用adb wifi,因为这样生产效率高并且避免了新机器有划痕,但是也经常碰到adb wifi无法连接的问题,那么是什么原因导致呢?
2024-10-19 14:15:37
254
原创 无线网卡知识的学习-- wireless基础知识(mac80211)
从某种意义上说,他是一个上层的MAC,负责和驱动、hardware的交互,他已经是wlan软件部分最底层的模块了,mac80211也是Linux内核中用于管理和实现无线局域网(WLAN)协议栈的一个子系统。它负责处理无线网卡的数据包传输、帧生成、管理、网络接口配置以及加解密处理等动作。无线协议栈管理:mac80211负责管理无线数据包的接收、发送和处理。它支持处理多种类型的数据包,如管理帧、控制帧和数据帧。
2024-10-18 16:46:22
383
原创 无线网卡知识的学习-- wireless基础知识(nl80211)
nl80211是Linux内核中用于与用户空间应用程序进行通信的接口。它通常通过Netlink协议与用户空间的网络管理工具和配置程序进行交互,例如iw命令行工具。nl80211提供了一种标准化的方式,使用户空间能够配置和管理无线设备、扫描网络、设置连接参数等。设备配置:允许用户空间配置无线设备的各种属性,如频率、功率、接口模式等。网络扫描:启动和管理对无线网络的扫描,并将结果传送到用户空间。连接管理:处理连接建立、断开和切换等操作。事件通知:向用户空间发送与无线设备状态变化相关的事件。
2024-10-18 16:12:21
373
原创 无线网卡知识的学习-- wireless基础知识(cfg80211)
cfg80211 是Linux 802.11配置API。cfg80211用于代码 wext (Wireless-Extensions),nl80211 用于配置一个cfg80211设备,且用于kernel与userspace间的通信。wext现处理维护状态,没有新的功能被增加,只是修改bug。如果需要通过wext操作,则需要定义CONFIG_CFG80211_WEXT。类似如下的代码需要做这个判断: 基于消息机制,使用netlink接口wext: 基于ioctl机制: 表示硬件信息和状态。
2024-10-18 15:36:05
503
原创 蓝牙HCI的log分析方法
Bluetooth HCI log 的最主要功能是用于分析蓝牙设备之间的交互行为是否符合预期,以及是否符合 蓝牙规范之规定。基本上,在手机应用平台上,除了蓝牙功能无法打开以及蓝牙引起的 system crash 问题之外,蓝牙相 关的问题,均可以通过分析 HCI log 来定位问题。具体主要围绕以下5个方面:1. 搜索不到周围的设备2. 无法和指定设备配对、连接3. 无法连接 profile4. Performance 比较差5. Profile 或者链路异常断开。
2024-10-15 15:46:31
1058
原创 【高通平台】如何移除qcom wlan
文件通过符号链接由 system/etc/firmware/wlan/prima 文件夹复制到 /data/misc/wifi 文件夹。要进行 调试测试,用新设置替换 /data/misc/wifi/WCNSS_qcom_cfg.ini,并重启 WLAN。– 文件通过符号链接由 /system/etc/firmware/wlan/prima 文件夹复制到 /persist 文件夹。– 该文件位于 device /system/etc/firmware/wlan/prima 文件夹中。
2024-10-14 16:36:11
214
原创 [MTK平台] LowLatency模式下 Wifi scan会被拒绝
文件中把#define CFG_SUPPORT_LOWLATENCY_MODE 1。目前在MTK平台中,低延迟模式下 scan 会被 reject 了。抓取的dmesg的log就可以发现。
2024-09-26 11:39:11
205
原创 MTK平台--蓝牙驱动数据加载的过程
先看这张图可以知道架构LinuxKernel层:bluez协议栈、uart驱动, h4协议, hci,l2cap, sco, rfcommLibrary层:libbluedroid.so 等Framework层:实现了Headset /Handsfree 和 A2DP/AVRCP profile,但其实现方式不同Handset/Handfree是直接 在bluez的RFCOMM Socket上开发的,没有利用bluez的audio plugin,而A2DP/AVRCP是在bluez的audio plugin
2024-09-18 17:32:33
363
原创 蓝牙--关于bta_av_ssm.cc文件的讲解
上层在建立A2dp connect连接的时候,先调用到btif层的btif_av.cc中函数src_connect_sink,接着调用bta层bta_av_api.cc中函数BTA_AvOpen,经过内部state machine处理,最终调用Stack层l2c_api.c中的函数L2CA_ErtmConnectReq。这样就在bluedroid中的连接过程就完成了。这里我们重点讲解下bta_av_ssm.cc的代码(BTA AV流状态机的实现)逻辑。BTA:提供各种profile的实现。
2024-09-09 10:31:13
276
原创 蓝牙--关于bta_av_main.cc文件的讲解
上层在建立A2dp connect连接的时候,先调用到btif层的btif_av.cc中函数src_connect_sink,接着调用bta层bta_av_api.cc中函数BTA_AvOpen,经过内部state machine处理,最终调用Stack层l2c_api.c中的函数L2CA_ErtmConnectReq。这样就在bluedroid中的连接过程就完成了。这里我们重点讲解下bta_av_main.cc 的代码(BTA AV的主要实施文件)逻辑。BTA:提供各种profile的实现。
2024-09-09 10:24:53
762
原创 蓝牙--关于bta_av_api.cc 文件的讲解
上层在建立A2dp connect连接的时候,先调用到btif层的btif_av.cc中函数src_connect_sink,接着调用bta层bta_av_api.cc中函数BTA_AvOpen,经过内部state machine处理,最终调用Stack层l2c_api.c中的函数L2CA_ErtmConnectReq。这样就在bluedroid中的连接过程就完成了。这里我们重点讲解下bta_av_api.cc 的代码逻辑。BTIF:提供bluedroid对外的接口。BTA:提供各种profile的实现。
2024-09-06 10:13:01
259
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人