微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > mt2503如何读取SIM卡的EFspn

mt2503如何读取SIM卡的EFspn

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
如何读取SIM卡的EFspn?
[SOLUTION]
获取SPN值有两种方法:
第一种:通过保存开机时上报的spn值。
因为MMI operator string 显示的时候会用到,所以默认已经会在开机时报给MMI了
PRT_MSG_ID_MMI_CPHS_MMI_INFO_IND
srv_nw_name_cphs_mmi_info_ind_hdlr
srv_nw_name_cphs_mmi_info_ind_hdlr_int
msg->spn 里有带SPN 的值,直接保存这个值。
第二种:用SIM access 的API 去获得SPN。
1)MMI_BOOL srv_sim_get_file_info(
U16 file_index,
U8 *file_path,
mmi_sim_enum sim_id,
SrVSIMCallbackFunc callback,
void *user_data)
获取SIM file 大小等信息 ,file_index :FILE_SPN_IDX callback 函数 是获得了SIM file info之后会被call 到参数 的structure(srv_sim_file_info_struct *)param->data
然后实现call back 函数:主要去做的是 根据获得了file size ,再去读具体的SIM file 的内容。
2)MMI_BOOL srv_sim_read_binary(
U16 file_index,
U8 *file_path,
U16 offset,
U16 length,
mmi_sim_enum sim_id,
SrvSimCallbackFunc callback,
void *user_data)
调用这个去读SIM file 的内容 ,其中file_index FILE_SPN_IDX ,length :用之前第一步获得的file size

注意:
srv_sim_read_record : 用于读取SIM file 类型是 linear fixed 或者 cyCLIc 的sim 文件 ,即 文件的存储内容是一条一条的record 的,每条record 大小一样。例如EFSMS 存sms 的sim file
srv_sim_read_binary :用于读取SIM file 类型是 transparent 的sim 文件即 文件的存储内容 没有record ,只是连续的一串data 。 像SPN就是transparent 的type SIM file 的类型 ,及数据内容各个byte 的含义 都可以在Spec 里找到,可以在网上down到ETSI 51.011

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top