物理SIM可写入MSISDN,eSIM失败,如何验证EF_MSISDN权限为ADM?
问题背景
已通过USB调试连接手机(启用3GPP AT命令),在实体SIM上成功写入自定义MSISDN,但在eSIM上执行相同操作时失败。怀疑eSIM的EF_MSISDN文件写入权限被设置为仅运营商可修改的“ADM”权限。
实体SIM操作步骤
AT OK AT+CPBS? +CPBS: "SM",0,500 OK AT+CPBS="ON" OK AT+CPBS? +CPBS: "ON",0,3 OK AT+CPBR=1 OK AT+CPBW=,"+123456789" OK AT+CPBR=1 +CPBR: 1,"+123456789",145,"" OK AT+CNUM +CNUM: "","+123456789",145 OK
eSIM操作前置与问题
针对eSIM需先执行命令:AT$QCPBMPREF=3(指向设备中的SIM2即eSIM本地通讯录),执行AT+CPBS="ON"返回OK,但执行AT+CPBW命令时出错。
咨询问题
- 如何验证EF_MSISDN的写入权限是否为“ADM”?
- 是否有对应的AT命令或解决办法?
验证与解决方法
一、验证EF_MSISDN的写入权限是否为ADM
方法1:使用AT+CRSM命令读取文件访问条件
EF_MSISDN的文件ID通常是0x6F40,可通过AT+CRSM命令直接读取该文件的访问控制参数:
AT+CRSM=176,28480,0,0,0
- 参数说明:176为READ BINARY命令;28480是十进制的0x6F40(EF_MSISDN的文件ID);后续0为偏移量、长度等参数。
- 返回结果中,若写入权限对应的字节显示为
0x03或0x0B,则代表权限为ADM(仅运营商管理密钥可写入)。
方法2:尝试ADM密钥认证后写入
若能获取eSIM的ADM密钥(通常由运营商提供),可先通过AT+CSIM发送认证命令,再尝试执行AT+CPBW:
# 替换为实际ADM密钥的认证命令 AT+CSIM=14,"A0000000010100000000000000000000" # 认证成功后再次尝试写入MSISDN AT+CPBW=,"+123456789"
若认证后写入成功,即可证明原权限为ADM。
二、解决办法
- 联系运营商获取ADM权限:eSIM的EF_MSISDN属于运营商管控文件,通常只有持有ADM密钥的运营商可修改。如有合法需求,可向所属运营商申请ADM密钥或请求协助修改MSISDN。
- 查阅设备专属AT命令:部分设备对eSIM操作有专属命令,比如高通设备可能存在
AT$QCPMSISDN这类针对eSIM的MSISDN写入命令,可查阅设备的AT命令手册确认。 - 尝试临时去激活eSIM:若eSIM处于激活状态,运营商可能已锁定EF_MSISDN文件。可尝试临时去激活eSIM后再操作,但该操作会导致服务中断,需谨慎执行。
内容的提问来源于stack exchange,提问作者AlyS
相关产品推荐
相关产品推荐

