Repository navigation
Releases: imbbbbb/celldock-for-mac
Release list
CellDock Modes 0.4.1-modes.2
本项目是 celldock/celldock-for-mac 的二次开发版本。
整个应用的架构、蜂窝网络接管、短信与通话链路、eSIM 管理、SOCKS5 代理都出自原作者之手,
本分支只解决了模块身份单向改写这一类问题。衷心感谢原作者的开源工作。这不是官方版本。相关问题请在本仓库反馈,不要打扰原项目的维护者。
⚠️ 首次打开会提示"已损坏"——这是正常的
本版本没有 Apple 开发者证书签名(ad-hoc 签名)。DMG 经网络下载后会被 macOS 加上
quarantine 标记,打开时提示应用**"已损坏,无法打开"**。
文件是完好的,这只是未签名软件的标准提示,措辞很容易让人以为下载出错了。绕过方法:
- 在「访达」里右键点击 CellDock Modes → 选「打开」→ 在弹窗里再点「打开」;或
- 终端执行
xattr -dr com.apple.quarantine "/Applications/CellDock Modes.app"
镜像内的「请先阅读.txt」也写了同样的说明。
这个版本做了什么
原项目在初始化时会把大疆 QDC507 模块的出厂 USB 身份一次性、不可逆地改写,带来两个后果:
接到 iPhone/iPad 上时模块会枚举成 USB 声卡并抢占 iOS 音频输出;改写后大疆自家的 DJOneHub
再也找不到这块模块。本分支把它改造成三种可逆模式。
| 模式 | USB 身份 | USBCFG | 用途 |
|---|---|---|---|
| Mac 完整模式 | 2C7C:0125 |
1,1,1,1,1,1,1 |
上网 + 短信 + 通话 + 录音 |
| iPhone / iPad 纯数据模式 | 2C7C:0125 |
1,1,1,1,1,1,0 |
仅上网,不枚举声卡 |
| DJI 原厂模式 | 2CA3:4006 |
1,1,1,1,1,0,0 |
恢复出厂身份,DJOneHub 可识别 |
其他主要改动:
- 写入安全 —— 回读未通过则重启在编译期不可达;写入后断线不再当作失败重写(配置很可能已写成功)
- 恢复与诊断页 —— 任何 AT 可达的状态都能进入,含配置无法识别的情形;支持一键恢复上次已验证配置、导出诊断报告
- 修复:麦克风与通讯录权限弹窗根本不出现 —— 缺少 Hardened Runtime entitlements,系统直接拒绝,请求到不了用户面前
- 修复:
audio=0的模块被拦在初始化页之外 - 修复:构建出的 app 启动即被 dyld 终止 —— 未嵌入
Sparkle.framework - 模块备注(按 IMEI 保存)、短信会话右键删除、AT 终端拖选与复制全部
- 停用自动更新 —— 官方更新源的版本不含本分支改动,装上会覆盖
0.4.1-modes.2 相对 0.4.0
修复了一处会让模块无法修复的缺陷:配置不在三模式之列时(例如实测到的
2CA3:4006,1,1,1,1,1,0,1,大疆身份但开着音频),初始化页和模式切换会两次拒绝写入,
恢复页也救不回来。切换写入的是完整的目标 USBCFG,源配置的标志位并不参与写入,因此
不该据此拒绝。现在只要 USB 身份是已知的 QDC507 且 AT 可达就能修复。
验证状态
真机验证:QDC507 模块,固件 QDC507GLEFM21_01.001.01.007。三模式的识别、进入、反复可逆
切换、DJI 原厂模式被 DJOneHub 重新识别,以及上述未验证配置的修复,均已实测通过。
写入失败分支(回读不一致、断线)仅由单元测试覆盖,未在真机制造故障复现。
多模块并发场景未实测。
许可证
沿用上游的非商业使用许可(见镜像内 LICENSE.txt):个人和非商业用途可自由使用、修改与
分发,禁止任何形式的商业使用。商业授权需向原作者申请,本分支无权代为授予。
系统要求
macOS 14+,Apple Silicon(arm64)。