公司动态

骁龙移动平台双卡双待DSDS的技术内幕(8): DSDS场景下的网络注册与PLMN选择策略

📅 2026/7/16 4:31:46
骁龙移动平台双卡双待DSDS的技术内幕(8): DSDS场景下的网络注册与PLMN选择策略
系列文章目录本文是骁龙移动平台双卡双待DSDS的技术内幕系列的第八篇深入分析双卡场景下网络注册的协调机制和PLMN选择策略。1. DSDS网络注册的特殊性1.1 单卡vs双卡注册流程对比单卡注册开机 → PLMN搜索 → 选择最优网络 → Attach → 注册完成简单线性流程双卡注册DSDS开机 → SIM1 PLMN搜索 → SIM2 PLMN搜索RF共享冲突 → SIM1选网 SIM2选网可能选到同一频段 → SIM1 Attach → SIM2 Attach串行处理 → 双卡注册完成挑战RF共享两张卡不能同时搜网频段冲突两卡可能选择相同/邻近频段时间约束用户期望快速注册优先级哪张卡先搜网1.2 注册时间对比场景单卡注册时间DSDS注册时间热启动(SIM未变)2-3s4-6s冷启动(新SIM)5-10s10-15s漫游场景10-20s20-40s弱信号环境15-30s30-60s2. PLMN选择基础2.1 PLMN选择优先级3GPP规范1. RPLMN (Registered PLMN) - 上次注册成功的网络 - 优先尝试避免不必要的搜网 2. HPLMN (Home PLMN) / EHPLMN (Equivalent) - SIM卡的归属网络 - MCC/MNC由IMSI确定 3. User Controlled PLMN List - 用户手动选择的网络 4. Operator Controlled PLMN List - SIM卡中预配置的优先网络列表 5. Available PLMN按信号强度排序 - 搜网发现的所有可用网络2.2 DSDS下的PLMN选择交互┌─────────────────────────────────────────────────────┐ │ 双卡 PLMN 选择的交互约束 │ │ │ │ 约束1: 搜网需要 RF → 串行搜网 │ │ ┌───────────────────────────────────────┐ │ │ │ Sub0 搜网 ██████████ │ │ │ │ Sub1 等待 ░░░░░░ Sub1 搜网 │ │ │ └───────────────────────────────────────┘ │ │ │ │ 约束2: 两张卡不应注册到同一 PLMN 的同一小区 │ │ (特殊情况: 双电信/双移动 可能需要同 PLMN) │ │ │ │ 约束3: 频段互斥 │ │ 如果 Sub0 选择了 Band 3, Sub1 不应选择 │ │ 与 Band 3 的 inter-modulation 干扰频段 │ │ │ │ 约束4: 注册时序 │ │ 数据卡 (DDS) 优先完成注册 │ │ 非 DDS 卡在 DDS 注册后再启动 │ └─────────────────────────────────────────────────────┘3. 高通Modem的双卡搜网策略3.1 搜网模式┌─────────────────────────────────────────────────────┐ │ Modem NAS 搜网模式 │ │ │ │ 模式1: Sequential (串行) │ │ ├── DDS 卡先搜网并完成注册 │ │ ├── 然后非 DDS 卡搜网注册 │ │ ├── 优点: 简单, 无冲突 │ │ └── 缺点: 总时间长 │ │ │ │ 模式2: Interleaved (交错) │ │ ├── DDS 卡搜索一批频点 → 切到非 DDS 卡搜一批 │ │ ├── 交替进行直到都找到网络 │ │ ├── 优点: 两卡并行推进 │ │ └── 缺点: 实现复杂, tune-away 开销 │ │ │ │ 模式3: Priority-based (优先级) │ │ ├── DDS 卡全速搜网 (不被打断) │ │ ├── DDS 注册成功后再给非 DDS 卡搜网机会 │ │ ├── 非 DDS 卡在 DDS 数据间隙搜网 │ │ ├── 优点: DDS 体验最优 │ │ └── 缺点: 非 DDS 卡注册可能很慢 │ └─────────────────────────────────────────────────────┘3.2 频点搜索策略Step 1: History-based Search历史频点优先 读取上次注册的频点信息存储在EFS Sub0EARFCN1650Band3Cell123 Sub1EARFCN38400Band41Cell456 直接尝试这些频点 → 成功率 80% 耗时1s Step 2: Prioritized Band Scan优先频段扫描 如果历史频点失败 按运营商优先级扫描频段 中国移动B41 B3 B1 B39 B5 中国联通B3 B1 B41 N78 中国电信B1 B3 B5 B41 耗时3-10s取决于频段数量 Step 3: Full Band Scan全频段扫描最后手段 扫描所有支持的频段 LTEB1-B43 NR:N1-N258 耗时30-60s极端情况3.3 频段冲突避免两张卡的频段选择需要避免RF干扰┌─────────────────────────────────────────────────┐ │ 干扰类型 │ 示例 │ ├──────────────────────┼──────────────────────────┤ │ 同频干扰 │ Sub0B3, Sub1B3 │ │ 邻频干扰 │ Sub0B3, Sub1B3(邻信道) │ │ Inter-modulation (IM)│ B3B7 产生 B20 干扰 │ │ 谐波干扰 │ B7 的 3 次谐波影响 B41 │ └──────────────────────┴─────────────────────────┘Modem的频段冲突表Coexistence Table频段B1B3B7B41N78B1XVVVVB3VXAVVB7VAXVAB41VVVXVN78VVAVXV可共存X同频不可A需要退避de-sense4. 注册流程详解4.1 LTE Attach 的双卡时序┌──────────┐ ┌──────────┐ ┌───────────┐ ┌──────────┐ │ Sub0 NAS │ │ Sub1 NAS │ │ RF Manager│ │ eNB │ └────┬─────┘ └────┬─────┘ └─────┬─────┘ └────┬─────┘ │ │ │ │ │ 请求搜网(DDS优先) │ │ ├───────────────────────────►│ │ │ │ 分配RF给Sub0│ │ │◄─────────────────────────────┤ │ │ │ │ │ │ PRACH (随机接入) │ │ ├───────────────────────────────────────────►│ │ │ │ RAR │ │◄───────────────────────────────────────────┤ │ Attach Request │ │ ├───────────────────────────────────────────►│ │ │ │ │ │ Attach Accept Activate Default Bearer │ │◄───────────────────────────────────────────┤ │ │ │ │ │ Sub0注册完成 │ │ │ │──────────────┼─────────────►│ │ │ │ 分配RF给Sub1│ │ │ │◄──────────────┤ │ │ │ │ │ │ │ PRACH │ │ │ ├─────────────────────────────►│ │ │ │ RAR │ │ │◄─────────────────────────────┤ │ │ Attach Request│ │ │ ├─────────────────────────────►│ │ │ Attach Accept │ │ │ │◄─────────────────────────────┤ │ │ │ │ │ 双卡注册完成 │ │ │4.2 服务域选择 (CS/PS)DSDS 下的服务域配置: ┌───────────────────────────────────────────────────┐ │ 配置选项 │ Sub0 (DDS) │ Sub1 (非DDS) │ ├───────────────────┼──────────────┼───────────────┤ │ CSPS (传统) │ 语音数据 │ 仅语音 │ │ PS Only (VoLTE) │ VoLTE数据 │ VoLTE │ │ CS Only │ 仅语音 │ 仅语音 │ ├───────────────────┼──────────────┼───────────────┤ │ 实际使用: │ │ │ │ 4G4G VoLTE │ PS(VoLTEData)│ PS(VoLTE) │ │ 4G3G │ PS(VoLTEData)│ CSPS │ │ 5G4G │ PS(VoNRData) │ PS(VoLTE) │ └───────────────────┴──────────────┴───────────────┘4.3 TAU/LAU 的双卡协调Tracking Area Update (TAU) 在 DSDS 中的协调: 场景: 用户移动, 两张卡同时需要 TAU ┌────────────────────────────────────────────┐ │ 传统处理 (有 RF 冲突): │ │ │ │ Sub0 TAU → RF占用 → Sub1 TAU 等待 │ │ → Sub0 完成 → Sub1 执行 │ │ │ │ 优化处理 (合并窗口): │ │ │ │ 检测到两卡都需要 TAU │ │ → 分配 Sub0 TAU 时间窗 │ │ → 紧接着分配 Sub1 TAU 时间窗 │ │ → 两次 TAU 在一个唤醒周期内完成 │ │ → 减少 RF 切换和唤醒次数 │ └────────────────────────────────────────────┘5. 小区重选与移动性管理5.1 DSDS下的小区重选复杂性单卡小区重选 服务小区信号下降 → 测量邻区 → 选择更优小区 → 重选 DSDS小区重选 Sub0服务小区信号下降 → Sub0需要测量邻区需要RF资源 → 但Sub1可能正在被tune-away服务 → 测量中断/延迟 额外复杂性 Sub0重选后的新小区频段可能与Sub1冲突 Sub1可能也需要同时重选 两张卡的SIB读取需要RF时间5.2 邻区测量策略┌─────────────────────────────────────────────────────┐ │ DSDS 邻区测量策略 │ │ │ │ DDS 卡 (高优先级): │ │ ├── 正常测量: 每 DRX 周期进行 │ │ ├── 间隙测量: 利用 measurement gap │ │ └── 不因 Non-DDS tune-away 而延迟 │ │ │ │ Non-DDS 卡 (低优先级): │ │ ├── 减少测量频率 (每 N 个 DRX 周期才测一次) │ │ ├── 利用 tune-away 间隙顺便测量 │ │ └── 延迟重选 (除非服务小区信号极差) │ │ │ │ 特殊处理: │ │ ├── 如果 Non-DDS 卡即将脱网 → 提升优先级 │ │ └── 紧急情况(E911) → 无视优先级,立即处理 │ └─────────────────────────────────────────────────────┘6. 实践指南6.1 注册状态查看# 查看双卡网络注册状态adb shell dumpsys telephony.registry|grep-EmServiceState|mDataRegState# 详细注册信息adb shell cmd phone get-service-state0# SIM1adb shell cmd phone get-service-state1# SIM2# 查看当前 PLMNadb shell getprop gsm.operator.numeric# SIM1adb shell getprop gsm.operator.numeric.2# SIM2部分平台# 查看注册的 RAT接入技术adb shell dumpsys telephony.registry|grepmDataNetworkType# 输出LTE / NR_NSA / NR_SA / HSPA 等6.2 搜网性能测试# 测试搜网时间从开机到注册完成adb logcat-bradio-c# 清除旧日志adbreboot# 等待开机完成adb logcat-bradio|grep-ERegistered|Attach.Accept|SERVICE# 关键时间点# T0: Starting PLMN search开始搜网# T1: Cell found: EARFCNxxx找到小区# T2: Attach Accept received注册成功# 注册时间 T2 - T0# 对比 SIM1 和 SIM2 的注册时间# 强制重新搜网不重启adb shell cmd phone set-network-selection-mode00# SIM1 自动选网adb shell cmd phone set-network-selection-mode01# SIM2 自动选网6.3 PLMN 搜索日志分析# QXDM 日志过滤# LTE NAS EMM State观察注册状态变化相关日志分类具体 log code 见高通 QXDM 文档需 NDA# NAS PLMN Search Request/Result 相关日志分类具体 log code 见高通 QXDM 文档需 NDA# NAS Service Request 相关日志分类具体 log code 见高通 QXDM 文档需 NDA# logcat 关键字adb logcat-bradio|grep-iEplmn|search|register|attach|tau# 典型正常日志序列# [NAS] PLMN search started (Sub0, modeAUTO)# [NAS] Frequency scan: Band3 EARFCN 1650 found# [NAS] Cell selection: Cell_ID[Modem日志分类], RSRP-85dBm# [NAS] Attach Request sent# [NAS] Attach Accept received, TAI46000-1234# [NAS] Registered successfully (Sub0)# [NAS] PLMN search started (Sub1, modeAUTO)# ...# 异常日志# [NAS] Attach Reject: cause15 (No suitable cells)# [NAS] PLMN search timeout (RF busy with other Sub)# [NAS] Registration failed, retrying in 30s6.4 运营商组合兼容性中国市场常见双卡组合与注意事项 移动联通 正常 移动电信 正常 联通联通 同PLMN注册时可能选同一小区 电信电信 CDMA1x频段冲突问题 特殊场景双电信卡 两张卡都需要CDMA1x做语音CSFB场景 CDMA频段可能冲突 需要Modem特殊调度 最新方案双VoLTE避免CDMA依赖6.5 进阶OOS恢复与漫游场景6.5.1 OOSOut of Service恢复策略当一张卡丢失网络服务后Modem需要在不影响另一张卡正常使用的前提下执行服务恢复┌─────────────────────────────────────────────────────────────┐ │ OOS 恢复状态机 (每个 Subscription 独立) │ │ │ │ ┌──────────┐ 信号丢失 ┌──────────────┐ │ │ │IN_SERVICE│─────────────►│ OOS_SEARCH │ │ │ │(正常服务) │ │ (初次搜网) │ │ │ └──────────┘ └──────┬───────┘ │ │ ▲ │ │ │ │ 搜网失败 │ │ 找到网络 ▼ │ │ │ ┌──────────────┐ │ │ │ │ DEEP_SLEEP │ │ │ │ │(指数退避等待) │ │ │ │ └──────┬───────┘ │ │ │ │ │ │ │ 定时器到期 │ │ │ ▼ │ │ │ ┌──────────────┐ │ │ │ │ RETRY_SCAN │ │ │ │◄───────────────────│ (重试搜网) │ │ │ │ 找到网络 └──────┬───────┘ │ │ │ │ │ │ │ 连续失败N次 │ │ │ ▼ │ │ │ ┌──────────────┐ │ │ │ │ BACKGROUND │ │ │ │◄───────────────────│ (后台低频搜网)│ │ │ └──────────────┘ │ │ │ │ 指数退避搜网间隔: │ │ 第1次重试: 30s │ │ 第2次重试: 60s │ │ 第3次重试: 120s │ │ 第4次重试: 240s │ │ 第N次重试: min(30 * 2^(N-1), 600s) 最大 10分钟 │ └─────────────────────────────────────────────────────────────┘DSDS下OOS恢复的特殊约束约束1RF资源竞争 OOS卡的搜网需要RF → 占用另一张卡的tune-away时间 如果另一张卡正在高速数据传输 → OOS搜网被延迟 约束2搜网功耗 频繁搜网增加功耗 → 需要平衡恢复速度和电池寿命 Non-DDS OOS卡搜网间隔更长省电 DDS OOS卡搜网间隔更短用户等待数据恢复 约束3用户通知策略 OOS 30s不通知可能是临时遮挡 OOS 30s-5min状态栏显示弱信号/无信号图标 OOS 5min弹出通知建议检查SIM卡# 观察OOS恢复过程adb logcat-bradio|grep-iEoos|no.service|lost.service|plmn.search# QXDM OOS相关过滤器# NAS PLMN Search相关日志分类具体log code见高通QXDM文档需NDA# EMM State观察DEREGISTERED/REGISTERED变化相关日志分类具体log code见高通QXDM文档需NDA6.5.2 国际漫游下的双卡注册策略国际漫游场景为DSDS带来额外的复杂性┌──────────────────────────────────────────────────────────────┐ │ 国际漫游双卡注册策略 │ │ │ │ 场景: 用户携带两张不同运营商的卡出国 │ │ SIM1: 中国移动 (HPLMN: 46000) │ │ SIM2: 中国联通 (HPLMN: 46001) │ │ 当前位置: 日本 │ │ │ │ 注册流程: │ │ 1. 两张卡各自检测到已离开 HPLMN 覆盖 │ │ 2. 各自查询 EHPLMN/Operator-PLMN List 寻找漫游伙伴 │ │ 3. 可能的结果: │ │ ├── 两卡注册到不同的当地运营商 (如 NTT/SoftBank) │ │ ├── 两卡注册到相同的当地运营商 │ │ └── 一张卡有漫游协议另一张没有 (仅一卡可用) │ │ │ │ 频段差异 (中国→日本): │ │ 中国 LTE: B1/B3/B5/B8/B34/B38/B39/B40/B41 │ │ 日本 LTE: B1/B3/B8/B11/B18/B19/B21/B28/B41/B42 │ │ → 共同频段有限可能需要更长搜网时间 │ │ │ │ Data Roaming Policy (独立控制): │ │ ├── SIM1: 数据漫游开启 (用户设置) │ │ ├── SIM2: 数据漫游关闭 (默认) │ │ └── 互不影响由各自的 SubscriptionInfo.dataRoaming 控制 │ └──────────────────────────────────────────────────────────────┘# 查看漫游状态 adb shell dumpsys telephony.registry | grep -i roaming # 设置漫游策略 (per-subscription) adb shell content update --uri content://telephony/siminfo --where _idsubId --bind data_roaming:i:16.5.3 HPUE (High Power UE) 与双卡HPUE 允许 UE 在特定 TDD 频段如 Band 41以更高功率发射提升上行覆盖HPUE 基本参数 普通UEPower Class 323 dBm 200mW HPUE: Power Class 226 dBm 400mW 功率增加3dB → 上行覆盖提升 ~40% DSDS 下的问题 1. De-sense去灵敏度 SIM1 在 Band41 HPUE 发射2496-2690 MHz SIM2 驻留 Band72620-2690 MHz→ 频率重叠 → SIM1 的强信号干扰 SIM2 的接收 → SIM2 灵敏度下降 5-15 dB → SIM2 可能丢失服务 2. SAR 联动 HPUE 26dBm 另一卡正常 23dBm 总辐射更高 → 可能超过 SAR 限值 → Modem 被迫降低 HPUE 到 23dBm失去 HPUE 优势 3. 解决方案 频段回避SIM2 避免选择与 B41 冲突的频段 功率退避HPUE 期间另一卡降低 Tx 功率 时分复用HPUE 上行期间暂停副卡 tune-away 天线隔离两卡使用距离最远的天线对6.5.4 网络拒绝Reject Cause的双卡处理网络侧可能拒绝UE的注册请求不同reject cause在双卡场景下有不同的处理策略Reject Cause含义双卡处理策略#2 IMSI unknown in HSS卡未开通该卡停止注册不影响另一张#3 Illegal MS非法终端该卡进入 DISABLED 状态#6 Illegal ME设备被锁两张卡都可能受影响#7 EPS not allowed不允许4G该卡回落3G另一卡不受影响#8 EPSnon-EPS not allowed完全拒绝该卡禁止注册SIM可能无效#11 PLMN not allowedPLMN被禁加入该卡 Forbidden PLMN List#12 LA not allowed位置区被禁加入该卡 Forbidden LA List#13 Roaming not allowed禁止漫游仅影响该卡的漫游注册#15 No suitable cells无合适小区该卡在此 TA 等待另一卡不受影响#25 Not authorized未授权运营商特定处理Forbidden List 的独立管理每张 SIM 卡维护独立的 Forbidden 列表 SIM1 Forbidden PLMN List: [310260, 44010] - 仅 SIM1 受限 SIM2 Forbidden PLMN List: [46003] - 仅 SIM2 受限 SIM1 Forbidden TAI List: [46000-[Modem日志分类]] - SIM1 避开此 TA SIM2 Forbidden TAI List: [] - SIM2 无限制 重要一张卡的 Forbidden List 不影响另一张卡 SIM1 被 PLMN X 拒绝 ≠ SIM2 不能注册 PLMN X# 查看 Forbidden PLMN/LA 列表adb logcat-bradio|grep-iEforbidden|fplmn|reject# QXDM 观察 Reject# Filter: [Modem日志分类] (LTE NAS EMM State)# 关注attach_reject_cause, tau_reject_cause# 清除 Forbidden List测试用# 通过 AT 命令或 QXDM 操作 EFS 文件7. 总结本文深入分析了DSDS场景下的网络注册与PLMN选择策略双卡搜网受RF共享约束需要串行或交错处理PLMN选择需要考虑频段冲突和互调干扰Modem通过优先级调度确保DDS卡优先注册小区重选和TAU在双卡场景下需要额外协调运营商组合差异影响实际注册行为下一篇DSDS异常处理Modem Crash Recovery与SSR机制