手机同时连着 WiFi 和蓝牙耳机,你在打游戏、刷视频、听歌。两个无线电都挤在 2.4GHz 这条窄窄的信道里——WiFi 想发数据帧,蓝牙想传音频,谁先说话?这一章的答案,和本系列反复出现的那个结论惊人地一致:真正管 "谁先说话" 的那个仲裁器,藏在固件里,主机连它的影子都摸不到。但这一次有个不同——这一次,主机虽然插不上手,手上却攥着一大把旋钮:51 种配置类型,从 TDM 占空比到天线隔离度,全是主机定、固件执行的 "策略"。


本章导读

共存(coex)是本系列的最后一个横切主题。全系列一直在讲一件事:一次 WiFi 操作,代码从 Framework 一路沉到 QCOM / MTK 的固件,每层各管什么。一路追下来,有一个结论越来越清晰——管理面在主机、执行面在固件,根源是时间尺度;追到速率自适应时,这个结论被推到更极端——RA 不只执行在固件,决策都在固件,主机只剩 "菜谱、规矩、账本" 三样。

Read more »

手机连上 WiFi,视频开始缓冲,网页一个个打开。每一个数据帧从网卡出去之前,都要回答一个问题:这一帧用哪个速率发?MCS 0 最稳但最慢,MCS 11 最快但信道稍微一抖就丢包(EHT 再扩到 MCS 12-15)。谁在替手机做这个 "看菜下饭" 的决定?很多人会猜——"QCOM 有 RA 引擎,MTK 有 RLM"。但真的追进源码会发现,这话只对了一半:QCOM 主机里并没有一个叫 "RA 引擎" 的东西,MTK 的 RLM 也压根不在选速率。真正掌勺的,两家的固件里各藏着一个不露面的厨师。


本章导读

WiFi 源码分析系列反复在画一张地图:一次 WiFi 操作,代码从 Framework 一路沉到 QCOM / MTK 的固件,每层各管什么。这张地图一路画下来,有一个反复出现的结论——管理面在主机、执行面在固件,根源是时间尺度。这一篇,我们拿 "速率自适应"(Rate Adaptation,简称 RA)再来验一次这句话,而且这次会得到一个更彻底的答案:RA 不只 "执行在固件",连 "决策" 都在固件——主机连算法都看不到,只剩三样东西能碰。

Read more »

你的手机同时连着 2.4G、5G、6G 三条链路。突然 6GHz 链路干扰变大、丢包率飙升,手机要在不中断视频通话的前提下,把这条链路的流量无损搬到 5GHz——这件事,谁来做?数据面的答案是「固件」;但链路本身被搬来搬去、增了又删,谁在管理?本文把答案从数据面翻到管理面——答案是:主机驱动在管,固件在跑。


本章导读

WiFi 源码分析系列走到最后,我们一直沿着一条主线:一次 WiFi 操作,从 Android Framework 一路下沉到 QCOM / MTK 的固件,代码在每一层各自扮演什么角色。MLO 数据面的核心问题——一个帧走哪条链路——答案是「决策权在固件」。但那条主线只覆盖了「帧发出去之后」的世界。

Read more »

你点了一下「投屏」,手机画面就出现在了电视上——中间没有一根线。这 200 毫秒里,你的手机其实临时变成了一座微型电视台:抓屏是摄像机,编码是转码,MPEG2-TS 是电视信号,RTP 是发射塔,而电视那头的 MediaPlayer,就是一台现成的接收机。

前情提要:《P2P(七)高级特性》追完了 P2P 的组网与运维,结尾留了个问题——两台设备直连之后,能拿这条链路做什么「真本事」?WiFi 最直观的答案就是投屏。姊妹系列《Miracast - 无线投屏》已经把协议讲透了(M1-M16、MPEG2-TS、HDCP、UIBC),这篇换一个问题:协议在 Android 老源码里怎么落地? 从 P2P 建连完成的那个瞬间开始,追到画面出现在电视上。


本章导读

投屏这件事,本质上是一个「把手机屏幕变成电视信号」的过程。Wi-Fi Alliance 给它起了个名字叫 WFD(Wi-Fi Display),认证品牌叫 Miracast。它的分工一句话就能说清:source(手机)负责抓屏、编码、打包、发送;sink(电视)负责接收、重排、解包、渲染。

Read more »

手机里没有激光雷达,却能告诉你「离那个 AP 还有 3.2 米」——这句话背后,是整个 WiFi 协议栈里最「头重脚轻」的一条链:Framework 写了上千行代码,却没算过一毫米距离。

前情提要:《NAN(二)数据通路与安全》追完了 NAN 的数据通路,结尾留了个悬念——Aware 的测距只回答了「对方离我几米」,那 Android 里那套更精确、能到厘米级、还带 AP 坐标的室内测距是什么?这篇就从 WifiRttManager.startRanging 追起,看 802.11mc 的 RTT/FTM 怎么从 App 一路测到 AP。


本章导读

你打开一个商场导航 App,它标出「你在 3 楼 A 区星巴克门口」。GPS 在室内基本失灵,这里靠的是 Wi-Fi RTT——802.11mc 引入的 FTM(Fine Timing Measurement,精细时间测量)。原理一句话:发一帧、收一帧、各自掐表,用往返时间乘以光速再除以二,就是距离。

Read more »

前情提要:上一章追完了「发现」这条线——App 的 attach 怎么合并成一个共享引擎、supplicant 怎么在用户态用 USD 收发 SDF、驱动怎么在固件 / 主机里落地发现。但发现只是「对上眼」,供需对上的两个人还要「单独走到一边交换联系方式、真正传数据」。这篇就从上一章状态机里那个没展开的 COMMAND_TYPE_INITIATE_DATA_PATH_SETUP 追起,看 Aware 怎么在发现之后建起一条真正的数据通道。


本章导读

两个人逛同一个集市(发现),举牌对上眼之后,生意才刚开始:得先开一间包厢(建 NDP),互报门牌号(NDPE 换 IPv6 地址),如果谈的是机密生意还得签保密合同(4-way handshake 建 ND-TKSA),有时还想知道对方离自己到底几米(测距)。

Read more »

前情提要:姊妹系列《Wi-Fi Aware(NAN)— 广场上的兴趣广播》已经把 NAN 的协议层讲透了——簇怎么自发 "对表"、Discovery Window 为什么钉死信道 6、Anchor Master 怎么选举、SDF/USD/NDP 各是什么。本篇不再重讲协议,只回答一个问题:这些协议概念,落到 Android 源码里分别由哪一层、哪个函数来实现?


本章导读

你走进一个没有管理员的大广场,想找 "附近哪台打印机能用"。协议告诉你:大家约定每隔 524 ms 聚到广场中央 16 ms,在信道 6 上互相喊话(Discovery Window);供需对上的两个人再单独走到一边交换联系方式(NDP)。

Read more »

你和同事工位就隔一面墙,传个文件却要先送到公司前台、再由前台转过去。手机上那条「TDLS」选项背后,一整套「登记工单 → 双方签合同 → 施工队拉线」的流程是怎么在代码里跑起来的?本文追踪一次 TDLS 直连建立:从 Framework 的 enableTdls 入口,到 supplicant 里 src/rsn_supp/tdls.c 那台 TPK 握手状态机,再到 QCOM 固件卸载与 MTK 主机组帧两条施工队,跨过 Java Framework、supplicant C、驱动 C 三个代码世界。


本章导读

另一个协议系列讲过了——为什么同一 AP 下的两台设备值得建直连(省一跳、提速、减 AP 负载)、「隧道」二字的由来(建立信令封装成普通数据帧借道 AP)、Discovery 与 Setup 三帧握手、TPK(TDLS PeerKey)密钥协商、信道切换与省电。本篇不重讲协议,只做一件事:把每个协议概念映射到 Android 源码里的具体实现,并回答那个协议篇回答不了的问题——这套东西在代码里到底是谁在跑、怎么分工的。

Read more »

你走进机场,手机没碰一下,自己就连上了运营商的 Passpoint 热点——比蜂窝漫游还像漫游。这张「免手动连接」是怎么在代码里跑通的?本文追踪一次 Passpoint 自动连接:从扫描结果里认出 Passpoint 门店招牌,到借道 supplicant 隔空问询(ANQP),到 Java 层比对会员卡,再到提名、打分、连接——跨过 Java Framework、supplicant C、驱动 C 三个代码世界。


本章导读

上一章 DPP 回答的是「无屏设备怎么扫码配网」;这一章换个接入难题——设备在公共 WiFi 之间走动,怎么像蜂窝网一样自动认网、自动认证、全程不点一下? 这正是 Passpoint(Wi-Fi 联盟认证品牌,技术规范名 Hotspot 2.0,简称 HS2.0)要解决的。协议系列讲过了(四状态、GAS/ANQP、Beacon 标志、OSU),本篇不重讲协议,只做一件事:把每个协议概念映射到 AOSP 源码里的具体实现。

Read more »

新搬来的住户没有钥匙,物业也不用上门。住户把自家门上贴的 "门禁凭证"(二维码)给物业扫一下,物业核验身份后发给他一张 "门禁卡"(Connector)和一把 "房门钥匙"(Wi-Fi 密码)——全程没有输过一次密码。本文追踪这场 "无密码配网" 在代码里怎么跑通:从 App 扫码到 wpa_supplicant 把凭据写进网络配置库,跨过 Java Framework 与 supplicant C 两个代码世界。


本章导读

DPP(Device Provisioning Protocol,设备配网协议)是 Wi-Fi Alliance 推出的 "扫码配网" 协议,商标名 Wi-Fi Easy Connect。它要解决的是智能家居最痛的问题:无屏设备(灯泡、插座、摄像头)怎么连上家里的 Wi-Fi。传统 WPS 靠 PIN 码或按按钮,安全性饱受诟病(PIN 可被暴力破解);DPP 换成了一套基于公钥密码学的四阶段流程——扫码拿到对方公钥,用 ECDH(Elliptic Curve Diffie-Hellman,椭圆曲线 Diffie-Hellman)交换出会话密钥,在加密隧道里下发 Wi-Fi 凭据。

Read more »