--- title: oFono 串行调用与数据连接恢复设计 type: decision permalink: main/projects/4f53c06a-c6c3-40ec-b2fc-5f019ea45fc0/o-fono-串行调用与数据连接恢复设计 stable_id: f0d365e8-4d2c-4d91-bdc0-df4d3d6fa6b3 scope: project memory_type: decision project_id: 4f53c06a-c6c3-40ec-b2fc-5f019ea45fc0 usage_profile_id: 7aee455b-24cc-4008-bdaf-443721e6f939 status: active revision: 1 request_id: project-cpe-migration-decision-dbus-recovery-20260819 created_at: '2026-08-19T03:21:22.084341+00:00' updated_at: '2026-08-19T03:21:22.084341+00:00' tags: - decision - dbus - timeout - watchdog - data-connection --- - oFono D-Bus/AT 操作统一通过全局串行锁,避免 org.ofono.Error.InProgress。 - 等待锁最多 5 秒,普通 D-Bus 操作最多 20 秒;运营商扫描使用 90 秒专用超时。超时必须释放锁,避免一个挂起调用拖死全部管理 API。 - 数据连接由单一后台 watchdog 管理:服务启动 3 秒后首次检查,未连接时每 10 秒重新执行注册/APN/激活流程,连接后每 30 秒复查;完整检查上限 25 秒。 - iptables 清理独立运行,不能阻塞数据连接恢复。前端 API 默认 15 秒超时,短信、运营商扫描和 OTA 使用更长的操作级超时。