Files
MemRelay/projects/4f53c06a-c6c3-40ec-b2fc-5f019ea45fc0/oFono 串行调用与数据连接恢复设计.md
T

25 lines
1.2 KiB
Markdown

---
title: oFono 串行调用与数据连接恢复设计
type: decision
permalink: main/projects/4f53c06a-c6c3-40ec-b2fc-5f019ea45fc0/o-fono-串行调用与数据连接恢复设计
stable_id: f0d365e8-4d2c-4d91-bdc0-df4d3d6fa6b3
scope: project
project_id: 4f53c06a-c6c3-40ec-b2fc-5f019ea45fc0
memory_type: decision
status: active
revision: 1
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
created_at: '2026-09-23T14:55:27.031824+00:00'
updated_at: '2026-09-23T14:55:27.031929+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 使用更长的操作级超时。