AirDrop 登陆 Linux:七年接力的最后一棒
Linux 笔记本已能和 iPhone 双向隔空投送,Wi-Fi 不断线。拆解这条七年接力:2018 年协议逆向、MediaTek 踩坑与最后一棒。

2026 年 10 月 9 日,一段一分多钟的实拍视频进了 omdrop-owl 的仓库:一部 iPhone 打开分享面板,选中一台名为 Linux Laptop 的机器,34 MB 的照片穿过空气落进它的 ~/Downloads。那台机器跑的是 Omarchy,顶栏弹出的接受提示和 Mac 上的一模一样;而这台笔记本的 Wi-Fi 自始至终没断过。
这个叫 omdrop-owl 的项目在 10 月 8 日开源,两天收了 954 星(2026-10-10 查)。这个选题最容易写成一个黑客的周末神话;把四个仓库的提交历史翻到底,故事的起点在八年前的一篇论文,中间隔着三次接力。这篇文章讲的,就是最后一棒怎么跑、前面三棒谁跑的,以及这条路到底有多结实。
要点
- AirDrop 的链路层 AWDL 由达姆施塔特工业大学(TU Darmstadt)团队在 MobiCom 2018 论文中公开逆向,OWL 与 OpenDrop 于 2019 年 5 月开源;当时的方案要求外接 Atheros 网卡,且”AWDL 运行时无法保持 AP 连接”这条限制,以 TODO 的形式在 OWL 上游 README 里挂了六年以上。
- 2026 年 7 月 31 日,论坛 id jedbillyb 的开发者在联发科 MT7921 上双向跑通(40–67 kB/s,传输期间断网);9 月,Brent Kearney 为 Apple Silicon 上的 Omarchy 做出固件级方案并进了 Omarchy 内核分支;10 月 8 日,Tristan 发布 omdrop-owl,普通 x86 笔记本双向收发、Wi-Fi 不断,接收约 1.3 MB/s。
- omdrop-owl 两天 954 星(2026-10-10 查);Intel 网卡因固件行为暂不可用,路由器信道须落在 AWDL 的 6、44、149 之一。
从论文到沉寂
AirDrop 从不走路由器。iPhone 和 Mac 之间传文件,走的是 Apple Wireless Direct Link(AWDL)——苹果在标准 Wi-Fi 之上叠的一个私有协议。两台设备像摩尔斯电码一样轮流开关无线电,在约定的时隙里互相喊话。2018 年,TU Darmstadt 的 Milan Stute 等人在 MobiCom 上发表《One Billion Apples’ Secret Sauce》,把这套时隙、选举和同步机制完整摊开。次年同一团队又在 USENIX Security 上演示了对它的中间人、干扰和追踪攻击。协议规范是公开的了,实现也来了:2019 年 5 月,同一个实验室放出 C 语言写的 OWL 和 Python 写的 OpenDrop,当年 8 月冲上 Hacker News 首页,813 分、222 条评论。
当年的体验离”好用”很远。OWL 的 README 写明需要一块支持主动 monitor 模式的网卡。社区实践几乎收敛到一颗 2010 年前后的 Atheros 芯片,最省事的办法是买一个 USB 网卡插上。更根本的限制写在”Current Limitations”一节:OWL 启动后独占无线电,Wi-Fi 必须断开——而破解思路也写在同一段里,造一块 monitor 接口、把 AP 的信道纳入 AWDL 的信道序列就行。此后的故事是漫长的安静:OpenDrop 的最后一个正式版本停在 2021 年 4 月;项目官网 owlink.org 连域名都没续,如今解析到一个博彩站,OpenDrop 的 README 里只好专门加一句”本站与 owlink.org 无关”。
编辑部最初以为”传输时不断 Wi-Fi”是今年才想出的妙招;对照 2019 年的 README 才看清,这是写下七年的已知解法。缺的从来不是思路,是把它做出来的人。
两个月里的三棒
接力的第一棒来自一个如今只有两颗星的仓库。2026 年 7 月 31 日,jedbillyb 公开 airdrop-mt7921:不买 Atheros,用笔记本自带的联发科 MT7921/7922 双向收发 iPhone 文件,iOS 26 也能通。代价写在状态表里——速度 40–67 kB/s,一张照片要等一两分钟;传输期间 Wi-Fi 关闭,传完自动恢复。他给上游 OWL 打的补丁里有两个 mt76 驱动的坑,fork 描述里的原话是”两个都花了一天才找到,而且都不报错”。他还顺手把 OpenDrop 适配 iOS 26 的十五个补丁排成了系列——苹果那边的协议一变,这边就要重新对齐。
第二棒换了条根本路线。Brent Kearney(自我介绍是”加拿大落基山里的 software wrangler”,任职于 @atvenu)在 Apple Silicon Mac 上跑 Omarchy。DHH 的 Arch + Hyprland 发行版有一个专门的 Mac 版分支 omarchy-mac(1,924 星)。他注意到一个被忽略的事实:苹果自家博通固件本来就会讲 AWDL,何必用软件重演一遍?9 月 13 日起,他陆续发布 omdrop-awdl(14 个 brcmfmac 补丁,把固件的 AWDL 能力暴露成一个 awdl0 网卡)和 omdrop-plugin(顶栏面板、雷达图、通知、剪贴板一条龙),9 月 25 日提的内核 PR #24 已被 Omarchy 的 linux-aurora 分支合并。这条路线的短处和长处一样明显:只能在 M1/M2 的博通网卡上用,普通 x86 笔记本无缘。
第三棒把两条路线合流,回到了七年前那行 TODO。Tristan(GitHub id t4t5)对老网民不算陌生:2014 年的 sweetalert 至今挂着 22,251 星,他后来做过比特币浏览器 Ordiscan,GitHub 签名是”open sorcerer and plaintext enthusiast”。2026 年 1 月,他在博文里写自己用 Framework 13 跑 DaVinci Resolve 和 Omarchy。那台 Framework 13 的网卡正是联发科 MT7925。10 月 8 日,他把 OWL 搬回用户态,按 jedbillyb 的 monitor 接口方案加上自己的关键一步:让 AWDL 蹲在接入点自己的信道上(6、44 或 149)。monitor 接口借用站点网卡的 MAC 发帧,站点接口应答手机的单播——无线电不必离开 AP,Wi-Fi 就不会断。omdrop 的 CLI 和面板原样接住这个新后端,Debian/Ubuntu 打包两天内补上。站内已经为它做了完整条目:omdrop-owl:让 Linux 笔记本与 iPhone 双向隔空投送。
| 时间 | 仓库 | 关键的一步 |
|---|---|---|
| 2019-05 | seemoo-lab/owl、opendrop | 协议开源,要求 Atheros 网卡,独占无线电 |
| 2026-07-31 | jedbillyb/airdrop-mt7921 | 自带联发科网卡双向跑通,40–67 kB/s,断网传输 |
| 2026-09-13/15 | brentkearney/omdrop-awdl、omdrop-plugin | 博通固件路线 + Omarchy 产品化 |
| 2026-09-25 | aurora-silicon/linux PR #24 | AWDL 补丁并入 Omarchy 内核分支(已合并) |
| 2026-10-08 | t4t5/omdrop-owl | 用户态 AWDL + 不离 AP,MT7925 双向 1.3 MB/s |
两代用户态方案的性能差距超过一个数量级:
| 方案 | 实测速度 | 传输时 Wi-Fi | 出处 |
|---|---|---|---|
| omdrop-owl(MT7925) | 收约 1.3 MB/s,发约 490 kB/s | 保持连接 | 项目 README,2026-10-10 |
| airdrop-mt7921(MT7921/7922) | 约 40–67 kB/s | 断开,传后恢复 | 该项目 README,2026-10 |
这条路有多结实
先把最硬的限制说清。Intel 网卡(AX200/AX211)确认不可用——连接状态下丢注入帧,固件在 monitor 模式不应答,omdrop-owl 的硬件表里标着叉。这不是谁的技术问题:整个方案依赖网卡”边连着 AP、边从 monitor 接口发帧”的偶然能力,联发科这几代恰好行,别家未必。路由器也得配合,AP 必须停在 6、44、149 三个信道之一,否则 omdrop-owl 直接拒绝启动。兼容表 owl-profiles 目前只有几行,作者把测试脚本和报告流程都准备好了,表格每长一行,可用的机器就多一类。
协议本身的风险更值得掂量。AWDL 是逆向出来的私有协议,苹果没有义务保持它稳定——iOS 26 已经让 jedbillyb 的一个信道策略作废,他把它作为”负结果”留在文档里;苹果下一步再动时隙或握手,这条接力就得重跑一棒。“Contacts Only”模式同样无解:验证对方身份需要苹果签发的证书,开源实现拿不到。手机端必须切到 Everyone 才收得到文件,这在咖啡厅里意味着什么,读者各自掂量。仓库还没挂 LICENSE,想集成进发行版的人得先问作者。
所以我们的判断是:把它当一座好用的桥,别当基础设施。桥断了,绕路的渡口还在——croc 和 Syncthing 不挑网卡、不限苹果,代价是两端都要装;omdrop-owl 的价值恰恰在 iPhone 端零安装,走的是系统自带的那张分享面板。桥本身也有人在维护:omdrop 主程序 10 月 10 日刚发 0.15.0,0.14.2 那次安全修复来自 Omarchy 插件市场的安全审查——这个生态不只有人在写功能,还有人在查账。
现在能做什么
带联发科 MT7921/7922/7925 网卡的笔记本可以现在就试,上手步骤在站内条目里:路由器信道调到 6、44 或 149,装 omdrop 主程序和 omdrop-owl,面板开关一开,iPhone 的分享面板里就会出现你的机器。手头是别的网卡,可以跑一遍项目自带的 test-card.sh,把报告提回上游。也想在 iPhone 和 Linux 之间搭桥、但条件不凑手的人,同一天站内发的不用 Mac 做 iPhone 应用讲了这条生态里的另一座桥,可以对照着读。
值得盯的信号只有一个:owl-profiles 兼容表的行数。它增长的速度,就是这场七年接力还能跑多远的速度。