You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

定制AOSP Vendor镜像:Pixel 7a(lynx)刷入后SIM卡无法识别

定制AOSP Vendor镜像后SIM卡无法识别的排查解决指南

背景与操作流程

我通过修改BoardConfigPartial.mk定制AOSP的Vendor镜像以替代预构建镜像,操作步骤如下:

  • 注释预构建Vendor镜像行:
    # BOARD_PREBUILT_VENDORIMAGE := vendor/google_devices/lynx/proprietary/vendor.img
    
  • 添加以下配置启用Vendor镜像生成:
    ENABLE_VENDOR_IMAGE := true
    BOARD_VENDORIMAGE_PARTITION_SIZE := 1073741824 # 1GB
    BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
    TARGET_COPY_OUT_VENDOR := vendor
    ALLOW_MISSING_DEPENDENCIES := true
    
  • 发现初始定制镜像体积偏小,对比预构建镜像后补充了缺失文件,最终生成了包含所有必要文件的定制Vendor镜像。

问题

刷入定制Vendor镜像后设备可正常启动,但SIM卡无法被识别。

设备状态

  • SIM卡设置界面:无SIM卡识别相关显示
  • 快捷设置面板:无移动网络信号图标

排查与解决步骤

1. 校验射频/基带相关文件完整性与一致性

  • 对比预构建vendor.img与定制镜像,检查vendor/lib、vendor/lib64下的RIL(无线接口层)库文件(如libril.so、libsec-ril.so),确保文件名、文件权限、SELinux上下文完全匹配。
  • 核对vendor/etc下的射频配置文件:ril.conf、apns-conf.xml、telephony.properties等,确认文件存在且内容与预构建镜像一致。

2. 检查SELinux权限与日志

  • 执行adb shell getenforce查看SELinux状态,若为Permissive,临时切换为Enforcing(adb shell setenforce 1),观察SIM卡是否恢复识别。
  • 抓取SELinux权限拒绝日志:adb shell dmesg | grep avc: denied,若存在与RIL、Modem相关的权限被拒记录,需补充对应的SEPolicy规则到Vendor侧的SELinux配置中。

3. 验证Modem与RIL进程状态

  • 执行adb shell ps -A | grep ril查看RIL相关进程是否正常启动,若未启动,通过adb logcat -b radio或adb logcat | grep RIL抓取日志,定位进程启动失败原因(如依赖库缺失、配置错误)。
  • 执行adb shell dmesg | grep modem查看Modem固件是否正常加载,确认/dev/modem等设备节点是否初始化成功。

4. 核对Vendor镜像分区配置

  • 执行adb shell df -h /vendor查看分区实际使用情况,若接近BOARD_VENDORIMAGE_PARTITION_SIZE设置的1GB上限,需调大分区参数避免文件写入时被截断。
  • 确认BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE是否与设备硬件要求匹配,部分设备可能要求使用f2fs而非ext4。

5. 检查Modem固件与相关二进制程序

  • 对比预构建镜像,确认vendor/firmware下的Modem固件文件是否完整复制,包括文件名、版本、权限。
  • 检查vendor/bin下的rild等射频相关二进制程序是否存在,且权限设置为755(可执行)。

6. 回测定位问题源

  • 重新刷入预构建vendor.img,确认SIM卡识别正常,排除硬件故障。
  • 逐步添加定制规则,每次构建后刷入测试,定位是哪一项修改导致SIM卡识别异常。

内容的提问来源于stack exchange,提问作者Ilaveni Ranjith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 12:34:52